From 30a542c746e96cedb40790391d91edf92ec3e23b Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Mon, 10 Jul 2023 12:20:49 -0700 Subject: [PATCH 001/627] table lookin good (#105) --- docs/Support/stateOfNetwork.md | 32 +++++++++++++------------------ docs/resources/supportedChains.md | 2 +- 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/docs/Support/stateOfNetwork.md b/docs/Support/stateOfNetwork.md index b994a60b..67446d49 100644 --- a/docs/Support/stateOfNetwork.md +++ b/docs/Support/stateOfNetwork.md @@ -2,22 +2,16 @@ sidebar_position: 1 --- -# State of the Network - -## Jalapeno Mainnet - Default network - -Right now, Lit Protocol is in an alpha mainnet state (the "Jalapeno Mainnet") and we are running all the nodes. It is unaudited and the nodes are not distributed yet. There are various security improvements to be made, and cryptoeconomic guarantees as a result of staking are not in place yet. Data is persistent and we plan to support this network in perpetuity. We are in the active process of decentralizing and working towards a decentralized mainnet release. The Jalapeno network is the default. You can also specify this network via the `litNetwork: "jalapeno"` option in your `LitNodeClient` config. - -### Uptime and Status - -https://jalapeno-status.litprotocol.com/ - -## Serrano Developer Preview - -The Lit Actions and PKP network (the "Serrano Testnet") is in a developer preview state. - -The data on the Serrano Testnet is not persistent and may be erased at any time. Therefore, we do not recommend storing anything of value on the Serrano Testnet. You may use the Serrano testnet by installing the latest `@lit-protocol/lit-node-client` package and specifying `litNetwork: "serrano"` in your `LitNodeClient` config. You can find more info in the [Lit Actions](/LitActions/intro) sections of the docs. - -### Uptime and Status - -https://serrano-status.litprotocol.com/ +# Lit Networks + +You can set your Lit Network in the LitNodeClient config of the Lit SDK, by passing the network name to the `litNetwork` parameter. + +| Name | Supported Algorithms | Supported Features | ETA | Description | Status | +| -------- | -------------------- | -------------------------------- | -------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------- | +| Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | +| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Not persistent. Will likely be turned off in 2024. | https://serrano-status.litprotocol.com/ | +| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | July 2023 | Centralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | +| Manzano | ECDSA | Signing | July 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | +| Habanero | ECDSA | Signing | September 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | +| Datil | BLS | Encryption | October 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | +| Naga | ECDSA | Signing, Lit Actions | November 2023 | Decentralized main network. Persistent, so keys will not be deleted | Coming Soon | diff --git a/docs/resources/supportedChains.md b/docs/resources/supportedChains.md index 1bbd233d..d134aef4 100644 --- a/docs/resources/supportedChains.md +++ b/docs/resources/supportedChains.md @@ -38,7 +38,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - zksync - zksyncTestnet - lineaGoerli -- litprotocol +- chronicleTestnet - chiado - zkEvm - solana From 230996d8f4cde4afc80fd9ae5946a9f2ff3289e0 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Mon, 10 Jul 2023 17:39:55 -0400 Subject: [PATCH 002/627] updates for stytch based otp authentication --- .../sessionSigs/authMethods/email-sms.md | 42 +++++++++---------- docs/resources/supportedChains.md | 3 ++ 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md b/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md index dd1229ae..f4087f70 100644 --- a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md +++ b/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -1,13 +1,17 @@ # Email / SMS -Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. +Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. We have chosen to [Stytch](https://stytch.com) as our supported OTP provider. -Authenticating with OTP codes delivered via email or SMS is a two-step process. First, an OTP code is initiated and sent to the user's registered email or phone number. The user-provided code is then verified. Upon successful verification, a signed JSON Web Token (JWT) is generated. This token will be validated when creating session signatures. +Once you have authenticated your user using Stytch's OTP solutions. You can provide the user session jwt as proof of authentication, along with the `app id` and `user id` which will be validated on the Lit Network. + +For more information on Stytch sessions see [here](https://stytch.com/docs/passcodes#sms_auth) :::note -Codes sent to users via email will be received from `noreply@litprotocol.com`. Codes sent to users via SMS will include `lit-verification` within the SMS message. -::: -### Register user with email or SMS +To recieve a jwt within your session `session_duration_minutes` must be specified within your `Authenticate` request +::: + + +### Register user Stytch session JWT ```javascript const authClient = new LitAuthClient({ @@ -17,14 +21,15 @@ const authClient = new LitAuthClient({ }); // starting a validation session -let session = authClient.initProvider(ProviderType.Otp,{ - userId: '' +let provider = client.initProvider(ProviderType.Otp, { + appId: "", + userId: "" }); -let status = await session.sendOtpCode(); let authMethod = await session.authenticate({ - code: "" + accessToken: "" }); + const txHash = await session.mintPKPThroughRelayer(authMethod); ``` :::note @@ -41,7 +46,7 @@ An alternative to minting the PKP NFT via the Lit Relay Server is to send a tran - `keyType` is `2` - `permittedAuthMethodTypes` is `[7]` -- `permittedAuthMethodIds` is an array with 1 element being the user's email or phone number. +- `permittedAuthMethodIds` is the `keccak256 encoding of "{userId}:{projectId}"`. - `permittedAuthMethodScopes` is an array with 1 zero-initialized element, e.g. `[[ethers.BigNumber.from("0")]]` - `addPkpEthAddressAsPermittedAddress` is `true` - `sendPkpToItself` is `true` @@ -55,15 +60,15 @@ const authClient = new LitAuthClient({ } }); -// starting a validation session -let session = authClient.initProvider(ProviderType.Otp,{ - userId: '' +let provider = client.initProvider(ProviderType.Otp, { + appId: "", + userId: "" }); -let status = await session.sendOtpCode(); let authMethod = await session.authenticate({ - code: "" + accessToken: "" }); + const txHash = await session.fetchPKPThroughRelayer(authMethod); ``` :::note @@ -73,16 +78,11 @@ If the user is using a phone number, the country code must be provided. Below is an example of an authentication method from successful authentication ```javascript { - "accessToken": "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjg0ODc1NTE0NDkxLCJleHAiOjE2ODQ4NzczMTQ0OTEsIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0yM1QyMDo1ODozNC40OTE3ODU5NDUrMDA6MDAifQ.eyJyIjoiZTA0ZDAyNjhjN2ExMzhiNmZiNDJjYTk4NmIxY2I4MWM0N2QyMTc0MzZlOWNlYzc4NGUzNWEyOTZkZmY2YjA4NSIsInMiOiI0NTE5MTVkMDY5YTZhZGE5M2U0OGY3ODUwMGM0MWUzNmMwYzQ4Y2FlODYwMmYxYWM0Njc0MTQ1YTNiMmMyNDU4In0", + "accessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3ay10ZXN0LWZiMjhlYmY2LTQ3NTMtNDdkMS1iMGUzLTRhY2NkMWE1MTc1NyIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicHJvamVjdC10ZXN0LWRlNGUyNjkwLTE1MDYtNGNmNS04YmNlLTQ0NTcxZGRhZWJjOSJdLCJleHAiOjE2ODg1Njc0MTQsImh0dHBzOi8vc3R5dGNoLmNvbS9zZXNzaW9uIjp7ImlkIjoic2Vzc2lvbi10ZXN0LTlkZDI3ZGE1LTVjNjQtNDE5NS04NjdlLWIxNGE3MWE5M2MxMSIsInN0YXJ0ZWRfYXQiOiIyMDIzLTA3LTA1VDE0OjI1OjE0WiIsImxhc3RfYWNjZXNzZWRfYXQiOiIyMDIzLTA3LTA1VDE0OjI1OjE0WiIsImV4cGlyZXNfYXQiOiIyMDIzLTA5LTEzVDAxOjA1OjE0WiIsImF0dHJpYnV0ZXMiOnsidXNlcl9hZ2VudCI6IiIsImlwX2FkZHJlc3MiOiIifSwiYXV0aGVudGljYXRpb25fZmFjdG9ycyI6W3sidHlwZSI6Im90cCIsImRlbGl2ZXJ5X21ldGhvZCI6ImVtYWlsIiwibGFzdF9hdXRoZW50aWNhdGVkX2F0IjoiMjAyMy0wNy0wNVQxNDoyNToxNFoiLCJlbWFpbF9mYWN0b3IiOnsiZW1haWxfaWQiOiJlbWFpbC10ZXN0LTAwMzZmM2YzLTQ0MjQtNDg2My1iYWQ3LTFkNGU3NTM1ZDJiMCIsImVtYWlsX2FkZHJlc3MiOiJqb3NoQGxpdHByb3RvY29sLmNvbSJ9fV19LCJpYXQiOjE2ODg1NjcxMTQsImlzcyI6InN0eXRjaC5jb20vcHJvamVjdC10ZXN0LWRlNGUyNjkwLTE1MDYtNGNmNS04YmNlLTQ0NTcxZGRhZWJjOSIsIm5iZiI6MTY4ODU2NzExNCwic3ViIjoidXNlci10ZXN0LTY4MTAzZTAxLTc0NjgtNGFiZi04M2M4LTg4NWRiMmNhMWM2YyJ9.rZgaunT1UV2pmliZ0V7nYqYtyfdGas4eY6Q6RCzEEBc5y1K66lopUbvvkfNsLJUjSc3vw12NlIX3Q47zm0XEP8AahrJ0QWAC4v9gmZKVYbKiL2JppqnaxtNLZV9Zo1KAiqm9gdqRQSD29222RTC59PI52AOZd4iTv4lSBIPG2J9rUkUwaRI23bGLMQ8XVkTSS7wcd1Ls08Q-VDXuwl8vuoJhssBfNfxFigk7cKHwbbM-o1sh3upEzV-WFgvJrTstPUNbHOBvGnqKDZX6A_45M5zBnHrerifz4-ST771tajiuW2lQXWvocyYlRT8_a0XBsW77UhU-YBTvKVpj3jmH4A", "authMethodType": 7 } ``` -:::note - Tokens expire after 30 minutes, and must be validated for session signature signing within that period -::: - - ## Generating `SessionSigs` After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. diff --git a/docs/resources/supportedChains.md b/docs/resources/supportedChains.md index d134aef4..131fa3e4 100644 --- a/docs/resources/supportedChains.md +++ b/docs/resources/supportedChains.md @@ -41,6 +41,9 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - chronicleTestnet - chiado - zkEvm +- mantleTestnet +- mantle +- klaytn - solana - solanaDevnet - solanaTestnet From b3af89bfe37a732350ecf28cd5ba731f707ac480 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Mon, 10 Jul 2023 17:40:25 -0400 Subject: [PATCH 003/627] Revert "updates for stytch based otp authentication" This reverts commit 230996d8f4cde4afc80fd9ae5946a9f2ff3289e0. --- .../sessionSigs/authMethods/email-sms.md | 42 +++++++++---------- docs/resources/supportedChains.md | 3 -- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md b/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md index f4087f70..dd1229ae 100644 --- a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md +++ b/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -1,17 +1,13 @@ # Email / SMS -Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. We have chosen to [Stytch](https://stytch.com) as our supported OTP provider. +Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. -Once you have authenticated your user using Stytch's OTP solutions. You can provide the user session jwt as proof of authentication, along with the `app id` and `user id` which will be validated on the Lit Network. - -For more information on Stytch sessions see [here](https://stytch.com/docs/passcodes#sms_auth) +Authenticating with OTP codes delivered via email or SMS is a two-step process. First, an OTP code is initiated and sent to the user's registered email or phone number. The user-provided code is then verified. Upon successful verification, a signed JSON Web Token (JWT) is generated. This token will be validated when creating session signatures. :::note -To recieve a jwt within your session `session_duration_minutes` must be specified within your `Authenticate` request -::: - - -### Register user Stytch session JWT +Codes sent to users via email will be received from `noreply@litprotocol.com`. Codes sent to users via SMS will include `lit-verification` within the SMS message. +::: +### Register user with email or SMS ```javascript const authClient = new LitAuthClient({ @@ -21,15 +17,14 @@ const authClient = new LitAuthClient({ }); // starting a validation session -let provider = client.initProvider(ProviderType.Otp, { - appId: "", - userId: "" +let session = authClient.initProvider(ProviderType.Otp,{ + userId: '' }); +let status = await session.sendOtpCode(); let authMethod = await session.authenticate({ - accessToken: "" + code: "" }); - const txHash = await session.mintPKPThroughRelayer(authMethod); ``` :::note @@ -46,7 +41,7 @@ An alternative to minting the PKP NFT via the Lit Relay Server is to send a tran - `keyType` is `2` - `permittedAuthMethodTypes` is `[7]` -- `permittedAuthMethodIds` is the `keccak256 encoding of "{userId}:{projectId}"`. +- `permittedAuthMethodIds` is an array with 1 element being the user's email or phone number. - `permittedAuthMethodScopes` is an array with 1 zero-initialized element, e.g. `[[ethers.BigNumber.from("0")]]` - `addPkpEthAddressAsPermittedAddress` is `true` - `sendPkpToItself` is `true` @@ -60,15 +55,15 @@ const authClient = new LitAuthClient({ } }); -let provider = client.initProvider(ProviderType.Otp, { - appId: "", - userId: "" +// starting a validation session +let session = authClient.initProvider(ProviderType.Otp,{ + userId: '' }); +let status = await session.sendOtpCode(); let authMethod = await session.authenticate({ - accessToken: "" + code: "" }); - const txHash = await session.fetchPKPThroughRelayer(authMethod); ``` :::note @@ -78,11 +73,16 @@ If the user is using a phone number, the country code must be provided. Below is an example of an authentication method from successful authentication ```javascript { - "accessToken": "eyJhbGciOiJSUzI1NiIsImtpZCI6Imp3ay10ZXN0LWZiMjhlYmY2LTQ3NTMtNDdkMS1iMGUzLTRhY2NkMWE1MTc1NyIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicHJvamVjdC10ZXN0LWRlNGUyNjkwLTE1MDYtNGNmNS04YmNlLTQ0NTcxZGRhZWJjOSJdLCJleHAiOjE2ODg1Njc0MTQsImh0dHBzOi8vc3R5dGNoLmNvbS9zZXNzaW9uIjp7ImlkIjoic2Vzc2lvbi10ZXN0LTlkZDI3ZGE1LTVjNjQtNDE5NS04NjdlLWIxNGE3MWE5M2MxMSIsInN0YXJ0ZWRfYXQiOiIyMDIzLTA3LTA1VDE0OjI1OjE0WiIsImxhc3RfYWNjZXNzZWRfYXQiOiIyMDIzLTA3LTA1VDE0OjI1OjE0WiIsImV4cGlyZXNfYXQiOiIyMDIzLTA5LTEzVDAxOjA1OjE0WiIsImF0dHJpYnV0ZXMiOnsidXNlcl9hZ2VudCI6IiIsImlwX2FkZHJlc3MiOiIifSwiYXV0aGVudGljYXRpb25fZmFjdG9ycyI6W3sidHlwZSI6Im90cCIsImRlbGl2ZXJ5X21ldGhvZCI6ImVtYWlsIiwibGFzdF9hdXRoZW50aWNhdGVkX2F0IjoiMjAyMy0wNy0wNVQxNDoyNToxNFoiLCJlbWFpbF9mYWN0b3IiOnsiZW1haWxfaWQiOiJlbWFpbC10ZXN0LTAwMzZmM2YzLTQ0MjQtNDg2My1iYWQ3LTFkNGU3NTM1ZDJiMCIsImVtYWlsX2FkZHJlc3MiOiJqb3NoQGxpdHByb3RvY29sLmNvbSJ9fV19LCJpYXQiOjE2ODg1NjcxMTQsImlzcyI6InN0eXRjaC5jb20vcHJvamVjdC10ZXN0LWRlNGUyNjkwLTE1MDYtNGNmNS04YmNlLTQ0NTcxZGRhZWJjOSIsIm5iZiI6MTY4ODU2NzExNCwic3ViIjoidXNlci10ZXN0LTY4MTAzZTAxLTc0NjgtNGFiZi04M2M4LTg4NWRiMmNhMWM2YyJ9.rZgaunT1UV2pmliZ0V7nYqYtyfdGas4eY6Q6RCzEEBc5y1K66lopUbvvkfNsLJUjSc3vw12NlIX3Q47zm0XEP8AahrJ0QWAC4v9gmZKVYbKiL2JppqnaxtNLZV9Zo1KAiqm9gdqRQSD29222RTC59PI52AOZd4iTv4lSBIPG2J9rUkUwaRI23bGLMQ8XVkTSS7wcd1Ls08Q-VDXuwl8vuoJhssBfNfxFigk7cKHwbbM-o1sh3upEzV-WFgvJrTstPUNbHOBvGnqKDZX6A_45M5zBnHrerifz4-ST771tajiuW2lQXWvocyYlRT8_a0XBsW77UhU-YBTvKVpj3jmH4A", + "accessToken": "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjg0ODc1NTE0NDkxLCJleHAiOjE2ODQ4NzczMTQ0OTEsIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0yM1QyMDo1ODozNC40OTE3ODU5NDUrMDA6MDAifQ.eyJyIjoiZTA0ZDAyNjhjN2ExMzhiNmZiNDJjYTk4NmIxY2I4MWM0N2QyMTc0MzZlOWNlYzc4NGUzNWEyOTZkZmY2YjA4NSIsInMiOiI0NTE5MTVkMDY5YTZhZGE5M2U0OGY3ODUwMGM0MWUzNmMwYzQ4Y2FlODYwMmYxYWM0Njc0MTQ1YTNiMmMyNDU4In0", "authMethodType": 7 } ``` +:::note + Tokens expire after 30 minutes, and must be validated for session signature signing within that period +::: + + ## Generating `SessionSigs` After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. diff --git a/docs/resources/supportedChains.md b/docs/resources/supportedChains.md index 131fa3e4..d134aef4 100644 --- a/docs/resources/supportedChains.md +++ b/docs/resources/supportedChains.md @@ -41,9 +41,6 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - chronicleTestnet - chiado - zkEvm -- mantleTestnet -- mantle -- klaytn - solana - solanaDevnet - solanaTestnet From ff4797988789f42750be1d900153c9c85991f438 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Tue, 11 Jul 2023 09:39:44 -0700 Subject: [PATCH 004/627] Feature/lit 953 fix broken link (#110) * fix broken link --- docs/SDK/Explanation/migration.md | 19 +- docs/resources/supportedChains.md | 3 + package.json | 2 +- yarn.lock | 489 ++++++++++++++++++++++++++++-- 4 files changed, 485 insertions(+), 28 deletions(-) diff --git a/docs/SDK/Explanation/migration.md b/docs/SDK/Explanation/migration.md index d519466c..8caafac5 100644 --- a/docs/SDK/Explanation/migration.md +++ b/docs/SDK/Explanation/migration.md @@ -37,7 +37,7 @@ If you already have `lit-js-sdk` in your app, all you need to do is remove the o import * as LitJsSdk from '@lit-protocol/lit-node-client'; ``` -If you are using TypeScript, be sure to install the `@lit-protocol/types` package. Check out the list of available packages [here]([https://github.com/LIT-Protocol/js-sdk/tree/master#packages](https://github.com/LIT-Protocol/js-sdk/tree/master#packages)). +If you are using TypeScript, be sure to install the `@lit-protocol/types` package. Check out the list of available packages [here](https://github.com/LIT-Protocol/js-sdk/tree/master#packages). ## Notable Changes @@ -47,14 +47,14 @@ If you are using TypeScript, be sure to install the `@lit-protocol/types` packag Some methods have been moved to separate packages and must be accessed from those packages. Below are lists of methods underneath their respective packages. - `@lit-protocol/crypto` +`@lit-protocol/crypto` - decryptWithSymmetricKey - encryptWithSymmetricKey - importSymmetricKey - generateSymmetricKey -`@lit-protocol/misc-browser` +`@lit-protocol/misc-browser` - fileToDataUrl - injectViewerIFrame @@ -64,7 +64,7 @@ Some methods have been moved to separate packages and must be accessed from thos - hashUnifiedAccessControlConditions -`@lit-protocol/misc` +`@lit-protocol/misc` - getVarType - checkType @@ -100,7 +100,7 @@ The following types are now declared in `@lit-protocol/types`: ```js -import * as LitJsSdk from 'lit-js-sdk'; +import * as LitJsSdk from "lit-js-sdk"; const authSig = await LitJsSdk.signAndSaveAuthMessage({ // ... @@ -111,7 +111,7 @@ const authSig = await LitJsSdk.signAndSaveAuthMessage({ ```js -import { ethConnect } from '@lit-protocol/auth-browser'; +import { ethConnect } from "@lit-protocol/auth-browser"; const authSig = await ethConnect.signAndSaveAuthMessage({ // ... @@ -135,7 +135,7 @@ Note: You can also import `cosmosConnect` and `solConnect` for Cosmos and Solana ```js -import * as LitJsSdk from 'lit-js-sdk'; +import * as LitJsSdk from "lit-js-sdk"; LitJsSdk.disconnectWeb3(); ``` @@ -144,7 +144,7 @@ LitJsSdk.disconnectWeb3(); ```js -import { ethConnect } from '@lit-protocol/auth-browser'; +import { ethConnect } from "@lit-protocol/auth-browser"; ethConnect.disconnectWeb3(); ``` @@ -154,7 +154,6 @@ ethConnect.disconnectWeb3();
- **executeJs** `authSig` is a required parameter. @@ -219,4 +218,4 @@ These methods are no longer supported: ## Changelog -Changes to the **Lit JS SDK V2** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). \ No newline at end of file +Changes to the **Lit JS SDK V2** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). diff --git a/docs/resources/supportedChains.md b/docs/resources/supportedChains.md index d134aef4..131fa3e4 100644 --- a/docs/resources/supportedChains.md +++ b/docs/resources/supportedChains.md @@ -41,6 +41,9 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - chronicleTestnet - chiado - zkEvm +- mantleTestnet +- mantle +- klaytn - solana - solanaDevnet - solanaTestnet diff --git a/package.json b/package.json index 8f90eac3..9af0a866 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.2.30", + "@lit-protocol/constants": "^2.2.41", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index db5471d9..b50df8f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1597,6 +1597,348 @@ url-loader "^4.1.1" webpack "^5.73.0" +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" + integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + +"@ethersproject/contracts@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" + integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== + dependencies: + "@ethersproject/abi" "^5.7.0" + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" + integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" + integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== + dependencies: + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/pbkdf2" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== + +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" + integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== + dependencies: + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/providers@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/base64" "^5.7.0" + "@ethersproject/basex" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/networks" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/web" "^5.7.0" + bech32 "1.1.4" + ws "7.4.6" + +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" + integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" + integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" + +"@ethersproject/solidity@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" + integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/sha2" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== + dependencies: + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/rlp" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + +"@ethersproject/units@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" + integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== + dependencies: + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + +"@ethersproject/wallet@5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" + integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== + dependencies: + "@ethersproject/abstract-provider" "^5.7.0" + "@ethersproject/abstract-signer" "^5.7.0" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/hdnode" "^5.7.0" + "@ethersproject/json-wallets" "^5.7.0" + "@ethersproject/keccak256" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/random" "^5.7.0" + "@ethersproject/signing-key" "^5.7.0" + "@ethersproject/transactions" "^5.7.0" + "@ethersproject/wordlists" "^5.7.0" + +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== + dependencies: + "@ethersproject/base64" "^5.7.0" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": + version "5.7.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" + integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== + dependencies: + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/hash" "^5.7.0" + "@ethersproject/logger" "^5.7.0" + "@ethersproject/properties" "^5.7.0" + "@ethersproject/strings" "^5.7.0" + "@hapi/hoek@^9.0.0": version "9.3.0" resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" @@ -1681,32 +2023,34 @@ resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.30": - version "2.2.30" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.30.tgz#a2eea28b9503d56e502c23766b3251dcebe35c1b" - integrity sha512-77oneHJX1Ly9TS+qDyjigx+AHTmOeKyjNRGAtwYT6yJiX03ywIY/v4Gclu1rt4UPyL+I77FaP9w35CtAOXNWog== +"@lit-protocol/auth-helpers@2.2.41": + version "2.2.41" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.41.tgz#a5ef4d07a53bc4d572112b405eb2373ae72b96a6" + integrity sha512-DwEd9jAJRZ1hHF401NLd7HnLjCw2GDtXUNMZGBalzSvLHKrPUPaG64WzYDrPPSkasH7WpoGxiiuP0HRNvMv8/Q== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.30": - version "2.2.30" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.30.tgz#7063c703a7e26f406e37b050b6fa5d07bae3d0a3" - integrity sha512-khmBKEV4hxwiMxqi34tRx/iEX/v5Uz/yL2lFrkaPZiL2zidHA+2X3BJ0P5txonJy/djAiMogYDr8VFdwwWDpfA== +"@lit-protocol/constants@^2.2.41": + version "2.2.41" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.41.tgz#34414fe4efec93bdd58aaa8d1c3070d315bc58b6" + integrity sha512-4roOsxZ6ocJiEbKTZPSpEi7RJW0JbnfmY96bA39jMdKVnxNUOqOrXgXMIPK2zlW6ba2MOkFIwHStcKwCv8om0g== dependencies: - "@lit-protocol/auth-helpers" "2.2.30" - "@lit-protocol/types" "2.2.30" + "@lit-protocol/auth-helpers" "2.2.41" + "@lit-protocol/types" "2.2.41" + ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.30": - version "2.2.30" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.30.tgz#8f244f2e4a848793d0e1428466c541dd1f57f1c8" - integrity sha512-b20NJ+mbM/Y8s2vtytEhfl7eoal0p60E55URKt7QQ40m2TKUKvAG54oy+UTs0txle9I1ChmV0IyxJyslplybew== +"@lit-protocol/types@2.2.41": + version "2.2.41" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.41.tgz#5bee74fb50c67cc9c8d518b85d7e65f335198c99" + integrity sha512-2pz7klTgnllNXRC4pji7FCG+qmYNvH2ohDLpJgLJPKR7Dwad12CjTJxjCjNoIiH1DNh5dcKRMTEIrIHb4yrjpg== dependencies: - "@lit-protocol/auth-helpers" "2.2.30" + "@lit-protocol/auth-helpers" "2.2.41" + ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" @@ -2501,6 +2845,11 @@ address@^1.0.1, address@^1.1.2: resolved "https://registry.npmjs.org/address/-/address-1.2.1.tgz" integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" @@ -2777,6 +3126,11 @@ batch@0.6.1: resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" @@ -2787,6 +3141,16 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + body-parser@1.20.1: version "1.20.1" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" @@ -2863,6 +3227,11 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.20.3, browserslist@^4.21.3, browserslist@^4.21.4: version "4.21.4" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" @@ -3767,6 +4136,19 @@ electron-to-chromium@^1.4.251: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" @@ -3943,6 +4325,42 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== +ethers@^5.7.1: + version "5.7.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + dependencies: + "@ethersproject/abi" "5.7.0" + "@ethersproject/abstract-provider" "5.7.0" + "@ethersproject/abstract-signer" "5.7.0" + "@ethersproject/address" "5.7.0" + "@ethersproject/base64" "5.7.0" + "@ethersproject/basex" "5.7.0" + "@ethersproject/bignumber" "5.7.0" + "@ethersproject/bytes" "5.7.0" + "@ethersproject/constants" "5.7.0" + "@ethersproject/contracts" "5.7.0" + "@ethersproject/hash" "5.7.0" + "@ethersproject/hdnode" "5.7.0" + "@ethersproject/json-wallets" "5.7.0" + "@ethersproject/keccak256" "5.7.0" + "@ethersproject/logger" "5.7.0" + "@ethersproject/networks" "5.7.1" + "@ethersproject/pbkdf2" "5.7.0" + "@ethersproject/properties" "5.7.0" + "@ethersproject/providers" "5.7.2" + "@ethersproject/random" "5.7.0" + "@ethersproject/rlp" "5.7.0" + "@ethersproject/sha2" "5.7.0" + "@ethersproject/signing-key" "5.7.0" + "@ethersproject/solidity" "5.7.0" + "@ethersproject/strings" "5.7.0" + "@ethersproject/transactions" "5.7.0" + "@ethersproject/units" "5.7.0" + "@ethersproject/wallet" "5.7.0" + "@ethersproject/web" "5.7.1" + "@ethersproject/wordlists" "5.7.0" + eval@^0.1.8: version "0.1.8" resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" @@ -4488,6 +4906,14 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + hast-to-hyperscript@^9.0.0: version "9.0.1" resolved "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" @@ -4573,6 +4999,15 @@ history@^4.9.0: tiny-warning "^1.0.0" value-equal "^1.0.1" +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + hoist-non-react-statics@^3.1.0: version "3.3.2" resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" @@ -4780,7 +5215,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5151,6 +5586,11 @@ joi@^17.6.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" +js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" @@ -5514,11 +5954,16 @@ mini-css-extract-plugin@^2.6.1: dependencies: schema-utils "^4.0.0" -minimalistic-assert@^1.0.0: +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + minimatch@3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" @@ -6941,6 +7386,11 @@ schema-utils@^4.0.0: ajv-formats "^2.1.1" ajv-keywords "^5.0.0" +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -8107,6 +8557,11 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +ws@7.4.6: + version "7.4.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + ws@^7.3.1: version "7.5.9" resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" From c88f675fcd3ca23873301e915fca49c39414600f Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 14 Jul 2023 08:43:08 -0700 Subject: [PATCH 005/627] Doc updates (#94) * docs update to pkp section and general language cleanup --------- Co-authored-by: deb --- docs/LitActions/intro.md | 2 +- .../sessionSigs/authMethods/overview.md | 21 --- docs/intro/whatIsLitProtocol.md | 2 +- docs/pkp/authMethods/authHelpers.md | 147 ++++++++++++++++++ .../authMethods/email-sms.md | 0 .../authMethods/socialLogin.md | 0 .../authMethods/webAuthn.md | 0 docs/pkp/intro.md | 10 +- docs/resources/howItWorks.md | 19 +-- netlify.toml | 30 ++++ package.json | 1 + sidebars.js | 24 +-- src/components/SDKCardSections/Actions.jsx | 2 +- 13 files changed, 198 insertions(+), 60 deletions(-) delete mode 100644 docs/SDK/Explanation/authentication/sessionSigs/authMethods/overview.md create mode 100644 docs/pkp/authMethods/authHelpers.md rename docs/{SDK/Explanation/authentication/sessionSigs => pkp}/authMethods/email-sms.md (100%) rename docs/{SDK/Explanation/authentication/sessionSigs => pkp}/authMethods/socialLogin.md (100%) rename docs/{SDK/Explanation/authentication/sessionSigs => pkp}/authMethods/webAuthn.md (100%) diff --git a/docs/LitActions/intro.md b/docs/LitActions/intro.md index 130a0715..9216eb49 100644 --- a/docs/LitActions/intro.md +++ b/docs/LitActions/intro.md @@ -34,7 +34,7 @@ A trivial example would be a Lit Action and associated PKP that checks if a numb 1. [Blockchain Agnostic](/resources/supportedChains#programmable-key-pairs): Lit Actions can be used to write data to blockchains using PKPs 2. Immutable: Once a Lit Action has been published, it cannot be modified -3. Atomicity: Using [Mint/Grant/Burn](/LitActions/mintGrantBurn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set +3. Atomicity: Using [Mint/Grant/Burn](/pkp/pkpsAndActions#using-mintgrantburn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set 4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](/LitActions/workingWithActions/usingFetch) natively, without requiring the use of a third party oracle ## Examples and Use Cases diff --git a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/overview.md b/docs/SDK/Explanation/authentication/sessionSigs/authMethods/overview.md deleted file mode 100644 index 19e5d9ea..00000000 --- a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/overview.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Walletless Signatures - -With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: - -- [Social Login (e.g., Google, Discord)](/SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin) -- [WebAuthn](/SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn) -- [Email / SMS](/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms) - -Support for one-time passcodes (OTPs) through email and SMS is coming soon. - -By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management. - -:::note - -Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit SDK and connect to the `serrano` testnet. - -::: \ No newline at end of file diff --git a/docs/intro/whatIsLitProtocol.md b/docs/intro/whatIsLitProtocol.md index 1f1a514d..cab94bc9 100644 --- a/docs/intro/whatIsLitProtocol.md +++ b/docs/intro/whatIsLitProtocol.md @@ -13,7 +13,7 @@ Lit Protocol provides developers with two core services: 1. Encryption and Access Control: Lit enables the client-side encryption and decryption of data by harnessing on or off-chain conditions, without relying on a centralized key custodian. Use Lit to securely store data on the open Web by getting started with [encryption and access control](/accessControl/intro). -2. Programmable Signing: Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using [Programmable Key Pairs](/pkp/intro) (PKPs) and [Lit Actions](/LitActions/intro). PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](/resources/pkpsAndActions). +2. Programmable Signing: Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using [Programmable Key Pairs](/pkp/intro) (PKPs) and [Lit Actions](/LitActions/intro). PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](/pkp/pkpsAndActions). ## Use Cases diff --git a/docs/pkp/authMethods/authHelpers.md b/docs/pkp/authMethods/authHelpers.md new file mode 100644 index 00000000..45ad851b --- /dev/null +++ b/docs/pkp/authMethods/authHelpers.md @@ -0,0 +1,147 @@ +--- +sidebar_position: 1 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Overview + +Authentication methods are ways of asigning Programmable Key Pairs (PKP) to a specific account resource. This requires individuals to authenticate before performing operations requiring a PKP. This is a powerful feature of the Lit network as it means users can sign up for a wallet the same way they sign up for other types of digital resources, thus lowering the barrier to accessing web3 enabled applications. + +## What is authentication? + +An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. Only the auth method associated with a particular PKP has the ability to combine the underlying shares. You can read more about how authentication works with PKPs on our [blog](https://spark.litprotocol.com/how-authentication-works-with-pkps/). + +Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below. + +## Using Lit Auth Directly + +Several auth methods are supported by Lit directly. These include methods configured using the [PKPPermissions](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol) contract, the user holding the PKP NFT, or assigned via a Lit Action with permission to sign using the PKP. If you use Lit auth directly, you are limited to the auth methods that we support. We provide an easy to use SDK to help you add auth methods to a PKP. You can find the SDK [here](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-auth-client). + +### Existing supported auth methods + +| Auth Method Name | Auth Method Type Number | Description | +| ---------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| NULLMETHOD | 0 | Don't use this one, it's just a placeholder | +| ADDRESS | 1 | An Ethereum address. As long as the user presents an AuthSig with this address, they can sign using the PKP. | +| ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | +| WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | +| DISCORD | 4 | Discord Oauth Login | +| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | +| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | + +### Adding a Permitted Address + +You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. + +### Sending the PKP to itself + +Sending a PKP to itself is possible, because the PKP is an NFT and also a wallet. This is useful if you want to make sure that only the PKP itself can change it's auth methods. You can use our handy auth helper contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and use that contract there is a parameter called `sendPkpToItself` in the `mintNextAndAddAuthMethods` function that you can set to true to send the PKP to itself. + +### Obtaining the PKP Public Key + +After a PKP is generated and assigned an auth method, you can pass the AuthMethodType and AuthMethodId into this [function](https://github.com/LIT-Protocol/LitNodeContracts/blob/ed2adf77e63f371ef864846dc9e92fef42f0ebb1/contracts/PKPPermissions.sol#L99) to obtain the PKP ID. The PKP ID can be used to fetch the PKP's public key by passing it into this [function](https://github.com/LIT-Protocol/LitNodeContracts/blob/ed2adf77e63f371ef864846dc9e92fef42f0ebb1/contracts/PKPPermissions.sol#L78). + +The PKP public key is required to initialize a new 'wallet' object when using [Lit and WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect/blob/main/components/CallRequest.js#L44) together. + +You will also need the PKP public key in order to generate a [sessionSig](/SDK/Explanation/authentication/sessionSigs) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). + +## Custom Auth + +If you would like further customization over your PKP auth methods, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. If you go this route, your auth basically looks like a bunch of if statements inside the Lit Action. + +If you decide to use your own auth, you can still use the PKPPermissions contract to define your method(s) of choice, or deploy your own access control contract. If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). + +## How does authentication differ from authorization? + +Authorization refers to an [auth signature](/SDK/Explanation/authentication/authSig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. + +In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](/SDK/Explanation/authentication/sessionSigs#obtaining-the-sessionsig-when-user-doesnt-have-a-wallet). The flow is as follows: + +1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. +2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. +3. The Lit SDK will use the session key to sign future requests. So instead of signing the session key-pair with a wallet, you can sign it using the PKP by communicating with the Lit nodes and presenting proof that you are authorized. + +## Authentication Helpers + +When you call a Lit Action, you may pass Auth Methods that should be resolved. These could be things like a WebAuthn (Apple Passkey) signature, or an oauth token from a service like Discord or Google. You can see an example of this here. + +Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pre-populated with the resolved Auth Methods, and a few other items. For example, if you pass a Google Oauth Token, then the Lit Nodes will resolve the Oauth Token into a user ID and application ID and those will be available to you in `Lit.Auth`. `Lit.Auth` has the following members: + +- actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. +- authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. +- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](#existing-supported-auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. + +Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. + +## Example: Setting Auth Context with Lit Actions + +This example shows how to assign different auth methods to a PKP using a Lit Action. + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client"; + +// this code will be run on the node +const litActionCode = ` +const go = async () => { + Lit.Actions.setResponse({response: JSON.stringify({"Lit.Auth": Lit.Auth})}) +}; + +go(); +`; + +// you need an AuthSig to auth with the nodes +// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) +const authSig = { + sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", + derivedVia: "web3.eth.personal.sign", + signedMessage: + "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", + address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", +}; + +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + litNetwork: "localhost", + debug: true, + }); + await litNodeClient.connect(); + const results = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + authMethods: [ + // { + // // discord oauth + // accessToken: "M1Y1WnYnavzmSaZ6p1LBLsNFn2iiu0", + // authMethodType: 4, + // }, + // { + // // google oauth + // accessToken: + // "ya29.a0Aa4xrXMCyLStBQzLhC8il8YRPXIkEEgno9nB4PKvjCi6oIu-uIjeIoyfQoR99TcZf0IUMPfJfjRIJyIXtLk_kXLa5BmdUyJcJGP8SB4-UjlebOILidfItC8KR1sQR9LSFX55cw3_GTa5IqCOCTXME38z5ZMZaCgYKATASARASFQEjDvL9HinQH3Mk1UclCD011YbLfQ0163", + // authMethodType: 5, + // }, + // { + // email / sms + // accessToken: "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjgzMjIzNjIyMDg5LCJleHAiOjE2ODMyMjU0MjIwODksIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0wNFQxODowNzowMi4wODkxODgrMDA6MDAifQ.eyJyIjoiOTRiOWE1ODkyODFlYzdlYmZlZTdjOGRjMjU0YTk1NGY5NjY1N2IzZmRkNmFlMWIwZThmMmY1OWIxMWYwNTU1YSIsInMiOiI0NWNlNTA0YTBkZjFlZWFkMWYxMGIyYTQ1MjU4ZjlhOTI5ZTY5ODYzYjIzNDdlZGViMmRkODMxM2Y4NDVhNDA1In0" + // authMethodType: 7, + // } + { + // google oauth JWT + accessToken: + "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc3Y2MwZWY0YzcxODFjZjRjMGRjZWY3YjYwYWUyOGNjOTAyMmM3NmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDg5OTYwNTQyNzMzNjA1NjgxMzIiLCJlbWFpbCI6ImdldmVuc3RlZUBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlVYV1Z1eEJsdGswcEhKclllOEFXTUEiLCJpYXQiOjE2NjcxNjgyMTUsImV4cCI6MTY2NzE3MTgxNX0.ejZu5bADJ6cUsovV7otHAafy0mqWZBAtN860jvBdVe38XUi0v-eB5WWBPMD5zXcJxbXFvaPWCX8nTaE6S24cNNHJw0hq15irjRZeg9D2i7ToitR1LZSQ3rPCDQZPX4xYn7G-FH7C1DQ-7NEDMmr9ge4B6Qs4pT5Mj8ESVlA29yZjKCfk-zL7F5b6W0EOIA6G9rj6-3HgtazkHfIGHAtfBz4dqHjC4HJncHJzqIm9Y8eSBBnN-ZhYUr3cWxGCuFIw3yrGccv5_khfhbbk6TqdSeMO9YNWN3otiVB8Nwu2sb9VsllFoHIE0uGSzVZVbJgSK1GsGbJZe76ubLuObI5YFw", + authMethodType: 6, + }, + ], + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + }, + }); + console.log("results: ", JSON.stringify(results.response, null, 2)); +}; + +runLitAction(); +``` diff --git a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md b/docs/pkp/authMethods/email-sms.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md rename to docs/pkp/authMethods/email-sms.md diff --git a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin.md b/docs/pkp/authMethods/socialLogin.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin.md rename to docs/pkp/authMethods/socialLogin.md diff --git a/docs/SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn.md b/docs/pkp/authMethods/webAuthn.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn.md rename to docs/pkp/authMethods/webAuthn.md diff --git a/docs/pkp/intro.md b/docs/pkp/intro.md index ba5b3ec2..4c18ddc7 100644 --- a/docs/pkp/intro.md +++ b/docs/pkp/intro.md @@ -16,21 +16,21 @@ Ready to jump right in? Quickly learn how you can integrate Programmable Key Pai 1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) 2. Resource: [Testnet Faucet](https://chronicle-faucet-app.vercel.app/) -3. Concept: [Assigning an Authentication Method](/pkp/authHelpers) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) +3. Concept: [Assigning an Authentication Method](/pkp/authMethods/authHelpers) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) 4. SDK Package: [Using PKPs as Wallets](/pkp/usage) ## Overview -Each Programmable Key Pair (PKP) is a versatile [MPC wallet](/resources/pkpsAsWallet) that can be utilized by developers to: +Each Programmable Key Pair (PKP) is a versatile [MPC wallet](/concepts/pkpsAsWallet) that can be utilized by developers to: 1. Provide users of web3 with seamless, ["seed-phraseless" onboarding](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) experiences. -2. Facilitate transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. -3. Build fully [decentralized application backends](/resources/pkpsAndActions#why-is-this-useful). +2. Facilitate automated transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. +3. Build fully [decentralized application backends](/pkp/pkpsAndActions#why-is-this-useful). ## Features 1. [Blockchain Agnostic](/resources/supportedChains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](/LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](/automated-portfolio-rebalancing-uniswap/), handling [authentication](/pkp/authHelpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](/LitActions/workingWithActions/conditionalSigning). +2. Programmable: [Lit Actions](/LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](/pkp/authMethods/authHelpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](/LitActions/workingWithActions/conditionalSigning). 3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 4. Interoperable: Use [WalletConnect](/pkp/walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. diff --git a/docs/resources/howItWorks.md b/docs/resources/howItWorks.md index 66b93746..dfd98d44 100644 --- a/docs/resources/howItWorks.md +++ b/docs/resources/howItWorks.md @@ -22,8 +22,6 @@ Both MPC and TSS originate from the concepts of public key cryptography and exte In the Lit Network, the nodes perform a [distributed key generation](/resources/glossary#distributed-key-generation) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a key share which they can use to sign and decrypt data. The nodes perform each operation (signing or decryption) in parallel and the individual results are aggregated to form the complete signature or decryption key, without exposing the underlying private key itself. By distributing the key among multiple parties, the network becomes more robust and can continue to function even when multiple participating parties may be offline or possess malicious intent. -![networkOverview](/img/networkOverview.png) - ## Secure Encrypted Virtualization (SEV) In addition to the security provided by the decentralized nature of MPC and TSS, Lit leverages AMD’s [Secure Encrypted Virtualization](https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf) (SEV), providing advanced hardware-level protection and an additional layer of security. @@ -49,24 +47,23 @@ This feature empowers individuals to securely store data on the open Web and off Lit exclusively manages and provisions decryption keys, remaining entirely impartial to the storage provider. This means that **Lit does not store any encrypted content directly**, and developers integrating this service can choose a storage provider of their preference. Options include blockchains like Ethereum, open storage networks such as [IPFS](https://spark.litprotocol.com/encrypttoipfs/) or [Ceramic](https://github.com/LIT-Protocol/CeramicIntegration), or centralized providers like AWS or Google Cloud. -The comprehensive process for encrypting content with Lit is as follows: +The comprehensive process for encryption and decryption with Lit is as follows: 1. Alice begins by generating a symmetric key and encrypting some content with it. -2. Alice then encrypts the symmetric key using the Lit BLS key, where each node holds a share. -3. Alice specifies the conditions under which, or to whom, the network should supply the decryption shares for the symmetric key to. -4. When Bob, a separate user, attempts to access the content encrypted by Alice, they connect to each node so that the network can verify whether they meet the requisite conditions using a signed message (or alternatively, by running the defined Lit Action). -5. Each node independently confirms the condition and provides a decryption share to Bob, assuming the conditions are met. -6. Once Bob has gathered more than two-thirds of the decryption shares (validating that a majority has verified the condition), they can decrypt Alice's content on their device using the decrypted symmetric key. +2. Alice then encrypts the symmetric key using the Lit Network BLS key. Each node in the network holds a share of the BLS key. +3. Alice specifies the conditions under which the content should be decrypted (access control conditions). +4. When Bob, a separate user, attempts to access the content encrypted by Alice, they send a request to each node in parallel so that the network can verify whether they meet the requisite conditions. +5. If the conditions are met, each node provisions a decryption share to Bob. Once Bob has aggregated more than two-thirds of the decryption shares, they can decrypt Alice's content on their device using the decrypted symmetric key. ![accessControl](/img/AccessControl.png) ## Decentralized Programmable Signing and MPC Wallets -In addition to access control, Lit provides distributed ECDSA key-pairs that can be used for programmable, [“smart” signing](/LitActions/workingWithActions/conditionalSigning) and a [MPC wallet](/resources/pkpsAsWallet) solution. +In addition to access control, Lit provides distributed ECDSA key-pairs that can be used for programmable, [“smart” signing](/LitActions/workingWithActions/conditionalSigning) and a [MPC wallet](/concepts/pkpsAsWallet) solution. These distributed key pairs are known as [Programmable Key Pairs](/pkp/intro) (PKPs), and the code that dictates their signing and authentication logic is called a [Lit Action](/resources/pkpsAndActions). Lit Actions are JavaScript functions that can be made immutable by storing them on the InterPlanetary File System (IPFS). They can be thought of as the permissionless rules that govern each PKPs signing automation. Every Lit Action is blockchain agnostic and has the ability to use off-chain data in their computation by making HTTP requests. This gives them the inherent ability to read and write data across on and off-chain platforms, facilitating interoperability and automation between previously disconnected ecosystems. -Each PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. A PKP is represented as an ERC-721 NFT, and the [owner of the NFT](/pkp/minting) becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](/pkp/authHelpers) mechanisms to their PKP using Lit Actions. +Each PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. A PKP is represented as an ERC-721 NFT, and the [owner of the NFT](/pkp/minting) becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](/pkp/authMethods/authHelpers) mechanisms to their PKP using Lit Actions. ### Smart Signing @@ -74,7 +71,7 @@ Functionally, PKPs and Lit Actions introduce a capacity for developing distribut ### MPC Wallets -Each PKP is functionally [a wallet](/resources/pkpsAsWallet), where the private key lives across the Lit Network. The two-thirds threshold requirement provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to manage a key share (i.e the provider holds a share and the user holds the other share). This means the goal of a seamless, “web2” style onboarding UX without seed phrases or private key management is not possible, instead delivering the UX of self-custody with additional steps. +Each PKP is functionally [a wallet](/concepts/pkpsAsWallet), where the private key lives across the Lit Network. The two-thirds threshold requirement provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to manage a key share (i.e the provider holds a share and the user holds the other share). This means the goal of a seamless, “web2” style onboarding UX without seed phrases or private key management is not possible, instead delivering the UX of self-custody with additional steps. Lit Actions are used to handle each PKP’s [authentication logic](https://spark.litprotocol.com/how-authentication-works-with-pkps/). Authentication refers to the method used to communicate with and “control” the underlying key pair. As mentioned above, by default each key pair is controlled by the underlying blockchain account (“wallet”) who mints and holds the associated PKP NFT. But what about users who don’t already have a wallet and are attempting to onboard into the ecosystem for the first time? Lit has integrated several “web2” authentication methods to make this onboarding process seamless for the end user, including WebAuthn (Apple Passkey) and oAuth. These credentials can be harnessed as the mechanism(s) associated with ownership of the PKP, [linking familiar web2 accounts to the world of web3](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). diff --git a/netlify.toml b/netlify.toml index a5159806..b117fd1f 100644 --- a/netlify.toml +++ b/netlify.toml @@ -614,6 +614,36 @@ force = false status = 301 force = false +[[redirects]] + from = "/SDK/Explanation/authentication/sessionSigs/authMethods/overview" + to = "/pkp/authMethods/authHelpers" + status = 301 + force = false + +[[redirects]] + from = "/pkp/authHelpers" + to = "/pkp/authMethods/authHelpers" + status = 301 + force = false + +[[redirects]] + from = "/SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin" + to = "/pkp/authMethods/socialLogin" + status = 301 + force = false + +[[redirects]] + from = "/SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn" + to = "/pkp/authMethods/webAuthn" + status = 301 + force = false + +[[redirects]] + from = "/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms" + to = "/pkp/authMethods/email-sms" + status = 301 + force = false + # 6/19/23 [[redirects]] diff --git a/package.json b/package.json index 9af0a866..b849a833 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", + "@lit-protocol/constants": "^2.2.26", "@lit-protocol/constants": "^2.2.41", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", diff --git a/sidebars.js b/sidebars.js index 60be0671..d90a7964 100644 --- a/sidebars.js +++ b/sidebars.js @@ -112,13 +112,12 @@ const sidebars = { { type: "category", label: "Authentication with PKPs", - link: { - type: "doc", - id: "pkp/authHelpers/overview", - }, collapsed: true, items: [ - "pkp/authHelpers/addRemoveAuthMethods", + "pkp/authMethods/authHelpers", + "pkp/authMethods/socialLogin", + "pkp/authMethods/webAuthn", + "pkp/authMethods/email-sms", ], }, "pkp/pkpsAndActions", @@ -198,21 +197,6 @@ const sidebars = { "SDK/Explanation/authentication/sessionSigs/capability-objects", "SDK/Explanation/authentication/sessionSigs/getSessionSigs", "SDK/Explanation/authentication/sessionSigs/usage", - { - type: "category", - label: "Walletless Signatures", - link: { - type: "doc", - id: "SDK/Explanation/authentication/sessionSigs/authMethods/overview", - }, - collapsed: true, - items: [ - "SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin", - "SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn", - "SDK/Explanation/authentication/sessionSigs/authMethods/email-sms", - ], - }, - // "SDK/Explanation/authentication/sessionSigs/use-cases", ], }, "SDK/Explanation/authentication/security", diff --git a/src/components/SDKCardSections/Actions.jsx b/src/components/SDKCardSections/Actions.jsx index a835d2bc..4f63dd1c 100644 --- a/src/components/SDKCardSections/Actions.jsx +++ b/src/components/SDKCardSections/Actions.jsx @@ -25,7 +25,7 @@ export default function LitActionsSection({ title, className }) { Date: Fri, 14 Jul 2023 12:43:37 -0400 Subject: [PATCH 006/627] Update/email sms auth recaptcha (#99) * add email sms to auth helpers and add recaptcha info --------- Co-authored-by: deb --- docs/concepts/pkpsAsWallet.md | 2 +- docs/learningLab/introToLit/progSigning.md | 2 +- docs/pkp/authHelpers/overview.md | 142 ------------------ .../addRemoveAuthMethods.md | 4 +- docs/pkp/authMethods/authHelpers.md | 5 +- docs/pkp/authMethods/email-sms.md | 60 +++++++- netlify.toml | 4 +- sidebars.js | 1 + 8 files changed, 67 insertions(+), 153 deletions(-) delete mode 100644 docs/pkp/authHelpers/overview.md rename docs/pkp/{authHelpers => authMethods}/addRemoveAuthMethods.md (98%) diff --git a/docs/concepts/pkpsAsWallet.md b/docs/concepts/pkpsAsWallet.md index a5db5b9f..2d4bceb2 100644 --- a/docs/concepts/pkpsAsWallet.md +++ b/docs/concepts/pkpsAsWallet.md @@ -43,7 +43,7 @@ The current methods are a work in progress: - Email - SMS -You can read more about how authentication works with PKPs in [this section](/pkp/authHelpers) of the docs. +You can read more about how authentication works with PKPs in [this section](/pkp/authMethods/authHelpers) of the docs. The end goal of this system is to facilitate a simple onboarding experience that helps bridge the next billion users into Web3. diff --git a/docs/learningLab/introToLit/progSigning.md b/docs/learningLab/introToLit/progSigning.md index dce95bdc..714a0fa0 100644 --- a/docs/learningLab/introToLit/progSigning.md +++ b/docs/learningLab/introToLit/progSigning.md @@ -26,7 +26,7 @@ Each Programmable Key Pair (PKP) is a versatile multi-party computation wallet t **Features** 1. [Blockchain Agnostic](/resources/supportedChains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](/LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](/automated-portfolio-rebalancing-uniswap/), handling [authentication](/pkp/authHelpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](/LitActions/workingWithActions/conditionalSigning). +2. Programmable: [Lit Actions](/LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](/automated-portfolio-rebalancing-uniswap/), handling [authentication](/pkp/authMethods/), or generating [conditional proofs](/LitActions/workingWithActions/conditionalSigning). 3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. diff --git a/docs/pkp/authHelpers/overview.md b/docs/pkp/authHelpers/overview.md deleted file mode 100644 index 92a2be37..00000000 --- a/docs/pkp/authHelpers/overview.md +++ /dev/null @@ -1,142 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Authentication with PKPs - -When you call a Lit Action, you may pass Auth Methods that should be resolved. These could be things like a WebAuthn ([Apple Passkey](https://developer.apple.com/passkeys/)) signature, or an oauth token from a service like Discord or Google. You can see an example of this [here](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/authContext.js#L32). - -## What is authentication? - -An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. Only the auth method associated with a particular PKP has the ability to combine the underlying shares. You can read more about how authentication works with PKPs on our [blog](https://spark.litprotocol.com/how-authentication-works-with-pkps/). - -Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below. - -## Using Lit Auth Directly - -Several auth methods are supported by Lit directly. These include methods configured using the [PKPPermissions](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol) contract, the user holding the PKP NFT, or assigned via a Lit Action with permission to sign using the PKP. If you use Lit auth directly, you are limited to the auth methods that we support. We provide an easy to use SDK to help you add auth methods to a PKP. You can find the SDK [here](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-auth-client). - -### Existing supported auth methods - -| Auth Method Name | Auth Method Type Number | Description | -| ---------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| NULLMETHOD | 0 | Don't use this one, it's just a placeholder | -| ADDRESS | 1 | An Ethereum address. As long as the user presents an AuthSig with this address, they can sign using the PKP. | -| ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | -| WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | -| DISCORD | 4 | Discord Oauth Login | -| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | -| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | -| OTP | 7 | Email / SMS Login, verification services provides a JWT, this is token will be within the auth method, this token is verified within the nodes when requesting a session signature | - -### Adding a Permitted Address - -You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. - -### Sending the PKP to itself - -Sending a PKP to itself is possible, because the PKP is an NFT and also a wallet. This is useful if you want to make sure that only the PKP itself can change it's auth methods. You can use our handy auth helper contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and use that contract there is a parameter called `sendPkpToItself` in the `mintNextAndAddAuthMethods` function that you can set to true to send the PKP to itself. - -### Obtaining the PKP Public Key - -After a PKP is generated and assigned an auth method, you can pass the AuthMethodType and AuthMethodId into this [function](https://github.com/LIT-Protocol/LitNodeContracts/blob/ed2adf77e63f371ef864846dc9e92fef42f0ebb1/contracts/PKPPermissions.sol#L99) to obtain the PKP ID. The PKP ID can be used to fetch the PKP's public key by passing it into this [function](https://github.com/LIT-Protocol/LitNodeContracts/blob/ed2adf77e63f371ef864846dc9e92fef42f0ebb1/contracts/PKPPermissions.sol#L78). - -The PKP public key is required to initialize a new 'wallet' object when using [Lit and WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect/blob/main/components/CallRequest.js#L44) together. - -You will also need the PKP public key in order to generate a [sessionSig](/SDK/Explanation/authentication/sessionSigs) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). - -## Custom Auth - -If you would like further customization over your PKP auth methods, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. If you go this route, your auth basically looks like a bunch of if statements inside the Lit Action. - -If you decide to use your own auth, you can still use the PKPPermissions contract to define your method(s) of choice, or deploy your own access control contract. If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). - -## How does authentication differ from authorization? - -Authorization refers to an [auth signature](/SDK/Explanation/authentication/authSig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. - -In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](/SDK/Explanation/authentication/sessionSigs#obtaining-the-sessionsig-when-user-doesnt-have-a-wallet). The flow is as follows: - -1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. -2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. -3. The Lit SDK will use the session key to sign future requests. So instead of signing the session key-pair with a wallet, you can sign it using the PKP by communicating with the Lit nodes and presenting proof that you are authorized. - -## Authentication Helpers - -Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pre-populated with the resolved Auth Methods, and a few other items. For example, if you pass a Google Oauth Token, then the Lit Nodes will resolve the Oauth Token into a user ID and application ID and those will be available to you in `Lit.Auth`. `Lit.Auth` has the following members: - -- actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. -- authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. -- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](#existing-supported-auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. - -Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. - -## Example: Setting Auth Context with Lit Actions - -This example shows how to assign different auth methods to a PKP using a Lit Action. - -```js -import * as LitJsSdk from "@lit-protocol/lit-node-client"; - -// this code will be run on the node -const litActionCode = ` -const go = async () => { - Lit.Actions.setResponse({response: JSON.stringify({"Lit.Auth": Lit.Auth})}) -}; - -go(); -`; - -// you need an AuthSig to auth with the nodes -// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) -const authSig = { - sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", - address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", -}; - -const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClient({ - alertWhenUnauthorized: false, - litNetwork: "localhost", - debug: true, - }); - await litNodeClient.connect(); - const results = await litNodeClient.executeJs({ - code: litActionCode, - authSig, - authMethods: [ - // { - // // discord oauth - // accessToken: "M1Y1WnYnavzmSaZ6p1LBLsNFn2iiu0", - // authMethodType: 4, - // }, - // { - // // google oauth - // accessToken: - // "ya29.a0Aa4xrXMCyLStBQzLhC8il8YRPXIkEEgno9nB4PKvjCi6oIu-uIjeIoyfQoR99TcZf0IUMPfJfjRIJyIXtLk_kXLa5BmdUyJcJGP8SB4-UjlebOILidfItC8KR1sQR9LSFX55cw3_GTa5IqCOCTXME38z5ZMZaCgYKATASARASFQEjDvL9HinQH3Mk1UclCD011YbLfQ0163", - // authMethodType: 5, - // }, - // { - // email / sms - // accessToken: "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjgzMjIzNjIyMDg5LCJleHAiOjE2ODMyMjU0MjIwODksIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0wNFQxODowNzowMi4wODkxODgrMDA6MDAifQ.eyJyIjoiOTRiOWE1ODkyODFlYzdlYmZlZTdjOGRjMjU0YTk1NGY5NjY1N2IzZmRkNmFlMWIwZThmMmY1OWIxMWYwNTU1YSIsInMiOiI0NWNlNTA0YTBkZjFlZWFkMWYxMGIyYTQ1MjU4ZjlhOTI5ZTY5ODYzYjIzNDdlZGViMmRkODMxM2Y4NDVhNDA1In0" - // authMethodType: 7, - // } - { - // google oauth JWT - accessToken: - "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc3Y2MwZWY0YzcxODFjZjRjMGRjZWY3YjYwYWUyOGNjOTAyMmM3NmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDg5OTYwNTQyNzMzNjA1NjgxMzIiLCJlbWFpbCI6ImdldmVuc3RlZUBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlVYV1Z1eEJsdGswcEhKclllOEFXTUEiLCJpYXQiOjE2NjcxNjgyMTUsImV4cCI6MTY2NzE3MTgxNX0.ejZu5bADJ6cUsovV7otHAafy0mqWZBAtN860jvBdVe38XUi0v-eB5WWBPMD5zXcJxbXFvaPWCX8nTaE6S24cNNHJw0hq15irjRZeg9D2i7ToitR1LZSQ3rPCDQZPX4xYn7G-FH7C1DQ-7NEDMmr9ge4B6Qs4pT5Mj8ESVlA29yZjKCfk-zL7F5b6W0EOIA6G9rj6-3HgtazkHfIGHAtfBz4dqHjC4HJncHJzqIm9Y8eSBBnN-ZhYUr3cWxGCuFIw3yrGccv5_khfhbbk6TqdSeMO9YNWN3otiVB8Nwu2sb9VsllFoHIE0uGSzVZVbJgSK1GsGbJZe76ubLuObI5YFw", - authMethodType: 6, - }, - ], - // all jsParams can be used anywhere in your litActionCode - jsParams: { - // this is the string "Hello World" for testing - }, - }); - console.log("results: ", JSON.stringify(results.response, null, 2)); -}; - -runLitAction(); -``` diff --git a/docs/pkp/authHelpers/addRemoveAuthMethods.md b/docs/pkp/authMethods/addRemoveAuthMethods.md similarity index 98% rename from docs/pkp/authHelpers/addRemoveAuthMethods.md rename to docs/pkp/authMethods/addRemoveAuthMethods.md index 8c0030ef..5b582f1a 100644 --- a/docs/pkp/authHelpers/addRemoveAuthMethods.md +++ b/docs/pkp/authMethods/addRemoveAuthMethods.md @@ -1,4 +1,4 @@ -# Adding and Removing Auth Methods +# Add and Remove Auth Methods Configure auth methods for your PKP using the [`@lit-protocol/contracts-sdk`](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) package. @@ -56,7 +56,7 @@ To view more constructor options for `LitContracts`, check out the [API docs](ht To add an auth method, you must pass an `authMethod` object, which should have the following properties: -- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](/pkp/authHelpers#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](/pkp/authMethods/). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method - `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) diff --git a/docs/pkp/authMethods/authHelpers.md b/docs/pkp/authMethods/authHelpers.md index 45ad851b..1c321b31 100644 --- a/docs/pkp/authMethods/authHelpers.md +++ b/docs/pkp/authMethods/authHelpers.md @@ -28,8 +28,9 @@ Several auth methods are supported by Lit directly. These include methods config | ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | | WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | | DISCORD | 4 | Discord Oauth Login | -| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | -| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | +| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | +| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | +| One Time Password (OTP) | 7 | Email / SMS Login, verification services provides a JWT, this is token will be within the auth method, this token is verified within the nodes when requesting a session signature | ### Adding a Permitted Address diff --git a/docs/pkp/authMethods/email-sms.md b/docs/pkp/authMethods/email-sms.md index dd1229ae..cfb0e010 100644 --- a/docs/pkp/authMethods/email-sms.md +++ b/docs/pkp/authMethods/email-sms.md @@ -7,7 +7,7 @@ Authenticating with OTP codes delivered via email or SMS is a two-step process. :::note Codes sent to users via email will be received from `noreply@litprotocol.com`. Codes sent to users via SMS will include `lit-verification` within the SMS message. ::: -### Register user with email or SMS +## Register user with email or SMS ```javascript const authClient = new LitAuthClient({ @@ -35,7 +35,61 @@ If you are using Lit Relay Server, you will need to request an API key [here](ht ::: -### Minting via Contract +## ReCaptcha verification +To send an otp code to the user they must first complete a ReCaptcha verification, to verify a user via ReCaptcha you may either use our embeddable captcha or use our `site key` in our own ReCaptcha package of choice + +### Embedding ReCaptcha +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); +``` +In the above example the `element-id-of-anchor` is id of the html tag to inject the recaptcha view into. +After the user confirms the `response`, it will be added to a global variable `LIT_AUTH_CLIENT_CAPTCHA_RES`. When an `OtpProvider` is created it will look for this variable when initializing. +If you wish to refresh the `response` you can use the `setCaptchaResponse` method on the `OtpProvider` + +**example** +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); +authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); + +// starting a validation session +let session = authClient.initProvider(ProviderType.Otp,{ + userId: '' +}); +session.setCaptchaResponse(window.LIT_AUTH_CLIENT_CAPTCHA_RES); + +let status = await session.sendOtpCode(); +let authMethod = await session.authenticate({ + code: "" +}); +const txHash = await session.mintPKPThroughRelayer(authMethod); +``` +**note** ReCaptcha Responses are valid for 2 minutes. For information on ReCaptcha, [read more](https://developers.google.com/recaptcha/intro). + + +### Using the ReCaptcha Site Key in Another ReCaptcha implementation +If you would like to use another ReCaptcha implementation such as [react google recaptcha](https://www.npmjs.com/package/react-google-recaptcha) you can access the ReCaptcha `site key` shown below: +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +authClient.getSiteKey(); +``` + + +## Minting via Contract An alternative to minting the PKP NFT via the Lit Relay Server is to send a transaction to the smart contract yourself. You can reference the following example data that is passed to the `mintNextAndAddAuthMethods` method of the `PKPHelper` smart contract: @@ -83,7 +137,7 @@ Below is an example of an authentication method from successful authentication ::: -## Generating `SessionSigs` +### Generating `SessionSigs` After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. diff --git a/netlify.toml b/netlify.toml index b117fd1f..8c54b90d 100644 --- a/netlify.toml +++ b/netlify.toml @@ -648,6 +648,6 @@ force = false [[redirects]] from = "/pkp/authHelpers" - to = "/pkp/authHelpers/overview" + to = "/pkp/authMethods/authHelpers" status = 301 - force = false \ No newline at end of file + force = false diff --git a/sidebars.js b/sidebars.js index d90a7964..8a814d90 100644 --- a/sidebars.js +++ b/sidebars.js @@ -115,6 +115,7 @@ const sidebars = { collapsed: true, items: [ "pkp/authMethods/authHelpers", + "pkp/authMethods/addRemoveAuthMethods", "pkp/authMethods/socialLogin", "pkp/authMethods/webAuthn", "pkp/authMethods/email-sms", From 5d28dde757fe89f46cffb36c1f0bb4697637e77b Mon Sep 17 00:00:00 2001 From: deb Date: Sat, 22 Jul 2023 09:29:08 -0400 Subject: [PATCH 007/627] Update helloWorld.md (#114) error in example function --- docs/LitActions/helloWorld.md | 2 +- docs/resources/supportedChains.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/LitActions/helloWorld.md b/docs/LitActions/helloWorld.md index 87444c35..f99f1b1d 100644 --- a/docs/LitActions/helloWorld.md +++ b/docs/LitActions/helloWorld.md @@ -160,7 +160,7 @@ const authSig = { }; const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClient({ litNetwork: "serrano" }); + const litNodeClient = new LitJsSdk.LitNodeClientJs({ litNetwork: "serrano" }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ code: litActionCode, diff --git a/docs/resources/supportedChains.md b/docs/resources/supportedChains.md index 131fa3e4..81900290 100644 --- a/docs/resources/supportedChains.md +++ b/docs/resources/supportedChains.md @@ -44,6 +44,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - mantleTestnet - mantle - klaytn +- publicGoodsNetwork - solana - solanaDevnet - solanaTestnet @@ -54,6 +55,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - cheqdMainnet - cheqdTestnet - juno +- optimismGoerli ## Programmable Key Pairs From 7d95f8991eba2a6fab44eba5baaef20d88ad78c4 Mon Sep 17 00:00:00 2001 From: Anson Date: Sat, 22 Jul 2023 19:17:52 +0100 Subject: [PATCH 008/627] fix: resource and ability should be an array (#115) --- docs/pkp/authMethods/socialLogin.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/pkp/authMethods/socialLogin.md b/docs/pkp/authMethods/socialLogin.md index d95bb544..ede83880 100644 --- a/docs/pkp/authMethods/socialLogin.md +++ b/docs/pkp/authMethods/socialLogin.md @@ -81,10 +81,11 @@ const sessionSigs = await provider.getSessionSigs({ authMethod: '', sessionSigsParams: { chain: 'ethereum', - resourceAbilityRequests: [ - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption + resourceAbilityRequests: [{ + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + } ], }, }); -``` \ No newline at end of file +``` From 552d391e67b8f708abcad1358835fe0d62691192 Mon Sep 17 00:00:00 2001 From: Anson Date: Sat, 22 Jul 2023 23:12:30 +0100 Subject: [PATCH 009/627] fix: resource ability should be an array (#116) --- docs/pkp/authMethods/webAuthn.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/pkp/authMethods/webAuthn.md b/docs/pkp/authMethods/webAuthn.md index 5d633b84..75232dfa 100644 --- a/docs/pkp/authMethods/webAuthn.md +++ b/docs/pkp/authMethods/webAuthn.md @@ -86,8 +86,10 @@ const sessionSigs = await provider.getSessionSigs({ sessionSigsParams: { chain: 'ethereum', resourceAbilityRequests: [ - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + } ], }, }); From c844aaac5942a43a8aae3198e815ecfad720d431 Mon Sep 17 00:00:00 2001 From: deb Date: Mon, 14 Aug 2023 20:15:25 -0400 Subject: [PATCH 010/627] Fix broken linking (#121) --- docs/resources/supportedChains.md | 2 +- docusaurus.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/resources/supportedChains.md b/docs/resources/supportedChains.md index 81900290..85e3f24f 100644 --- a/docs/resources/supportedChains.md +++ b/docs/resources/supportedChains.md @@ -45,6 +45,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - mantle - klaytn - publicGoodsNetwork +- optimismGoerli - solana - solanaDevnet - solanaTestnet @@ -55,7 +56,6 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - cheqdMainnet - cheqdTestnet - juno -- optimismGoerli ## Programmable Key Pairs diff --git a/docusaurus.config.js b/docusaurus.config.js index f2f99582..097b0a91 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -24,7 +24,7 @@ const config = { docs: { sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. - editUrl: "https://github.com/LIT-Protocol/docs/edit/main/website/", + editUrl: "https://github.com/LIT-Protocol/docs/tree/main", routeBasePath: "/", }, // blog: { From 7fb19b82e86d2e9375dd47d12e852dab8b0bf5b5 Mon Sep 17 00:00:00 2001 From: deb Date: Tue, 15 Aug 2023 16:06:54 -0400 Subject: [PATCH 011/627] add in template for each pull req (#118) * add in template for each pull req * fix typo --- .github/pull_request_template.md | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..e73b84a3 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,35 @@ +# Description + +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + +Fixes # (issue) + +## Type of change + +Please delete options that are not relevant. + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] Introducing new feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) + +Link to the relevant updated sections in the Netlify preview + +- [ ] Link 1: [description of change] +- [ ] Link 2: [...] + +# Checklist: + +General +- [ ] I have performed a self-review of my code +- [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice +- [ ] I have checked the additions are concise +- [ ] Language is consistent with existing documentation +- [ ] My changes generate no new warnings +- [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) + + +If I have added a new concept, I have +- [ ] included a beginner friendly explanation +- [ ] included a basic technical introduction and code sample +- [ ] new terms are defined, both in relevant new pages and in the glossary + From 70f699051e411925c52d286ad7eb155c9650e921 Mon Sep 17 00:00:00 2001 From: Derek Anderson Date: Tue, 15 Aug 2023 15:08:58 -0500 Subject: [PATCH 012/627] Update helloWorld.md (#117) corrected nodejs instructions, which use `LitNodeClientNodeJs` instead of `LitNodeClientJs` --- docs/LitActions/helloWorld.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/LitActions/helloWorld.md b/docs/LitActions/helloWorld.md index f99f1b1d..2ed452d9 100644 --- a/docs/LitActions/helloWorld.md +++ b/docs/LitActions/helloWorld.md @@ -160,7 +160,7 @@ const authSig = { }; const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClientJs({ litNetwork: "serrano" }); + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: "serrano" }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ code: litActionCode, From d1e644933d7ff4193b49648254a89cb59a852631 Mon Sep 17 00:00:00 2001 From: sarah z <15064710+sarahzdev@users.noreply.github.com> Date: Mon, 21 Aug 2023 15:20:46 -0700 Subject: [PATCH 013/627] feat: add versioning (#102) * feat: add versioning --------- Co-authored-by: Howard Co-authored-by: debie Co-authored-by: Howard Tam --- .husky/pre-commit | 2 +- {docs/Ecosystem => Ecosystem}/community.md | 0 .../litGrants.md => Ecosystem/lit-grants.md | 2 +- {docs/Ecosystem => Ecosystem}/projects.md | 0 docs/accessControl/intro.md | 40 - docs/concepts/pkps-as-wallet.md | 68 + docs/intro/overview.mdx | 10 +- docs/intro/usecases.md | 17 +- docs/intro/what-is-lit-protocol.md | 48 + docs/migration/changes.md | 151 + docs/migration/overview.md | 213 + docs/network/feature-matrix.md | 24 + docs/network/rollup.mdx | 52 + .../state-of-network.md} | 12 +- docs/pkp/intro.md | 46 - docs/resources/contracts.md | 14 +- docs/resources/glossary.md | 28 +- docs/resources/how-it-works.md | 91 + docs/resources/supported-chains.md | 81 + docs/{SDK => sdk}/_category_.json | 0 .../access-control}/_category_.json | 0 .../condition-types}/_category_.json | 0 .../condition-types/boolean-logic.md} | 0 .../condition-types/lit-action-conditions.md | 50 + .../unified-access-control-conditions.md | 138 + docs/sdk/access-control/encryption.md | 263 + .../access-control/evm}/_category_.json | 0 docs/sdk/access-control/evm/basic-examples.md | 277 + .../evm/custom-contract-calls.md} | 0 .../EVM => sdk/access-control/evm}/poap.md | 0 docs/sdk/access-control/evm/siwe.md | 51 + .../access-control/evm}/timelock.md | 0 docs/sdk/access-control/intro.md | 39 + docs/sdk/access-control/jwt-auth.md | 108 + .../other-chains}/_category_.json | 0 .../other-chains/cosmos-conditions.md} | 0 .../other-chains/sol-rpc-conditions.md} | 0 docs/sdk/authentication/auth-sig.md | 140 + docs/sdk/authentication/overview.md | 23 + .../authentication/security.md | 0 .../auth-methods/add-remove-auth-methods.md | 157 + .../session-sigs/auth-methods}/email-sms.md | 0 .../session-sigs/auth-methods/overview.md | 21 + .../auth-methods/social-login.md} | 0 .../session-sigs/auth-methods/web-authn.md} | 0 .../session-sigs}/capability-objects.md | 0 .../session-sigs/get-session-sigs.md | 83 + docs/sdk/authentication/session-sigs/intro.md | 122 + .../session-sigs}/resources-and-abilities.md | 0 docs/sdk/authentication/session-sigs/usage.md | 85 + .../authentication/session-sigs}/use-cases.md | 0 docs/sdk/installation.md | 164 + docs/sdk/tests.md | 123 + .../wallets/auth-methods.md} | 23 +- docs/sdk/wallets/conditional-signing.md | 95 + docs/sdk/wallets/intro.md | 47 + docs/sdk/wallets/minting.md | 41 + docs/sdk/wallets/walletconnect.md | 112 + docs/{Support => support}/_category_.json | 0 .../bugBounty.md => support/bug-bounty.md} | 0 docs/support/faq.md | 229 + .../Tools => tools}/_category_.json | 0 .../access-control.md} | 0 .../getlitCli.md => tools/getlit-cli.md} | 0 .../Tools => tools}/pkpexplorer.md | 0 docs/tools/share-modal.md | 64 + docusaurus.config.js | 79 +- .../intro-to-lit}/_category_.json | 0 .../intro-to-lit}/acc.md | 11 +- .../intro-to-lit}/intro.mdx | 0 .../intro-to-lit}/network.md | 2 +- .../intro-to-lit}/pok.md | 2 +- .../intro-to-lit/prog-signing.md | 14 +- .../intro-to-lit}/welcome.md | 2 +- {docs/learningLab => learningLab}/intro.mdx | 8 +- netlify.toml | 191 +- package-lock.json | 23692 ---------------- package.json | 4 +- repos.config.json | 2 +- sidebars-ecosystem.js | 8 + sidebars-learning-lab.js | 8 + sidebars.js | 286 +- .../CoreConcepts.jsx | 10 +- .../Ecosystem.jsx | 8 +- .../LearnCode.jsx | 8 +- .../QuickStart.jsx | 12 +- .../CardSectionsV3/CoreConcepts.jsx | 27 + src/components/CardSectionsV3/Ecosystem.jsx | 50 + src/components/CardSectionsV3/LearnCode.jsx | 32 + src/components/CardSectionsV3/QuickStart.jsx | 22 + src/components/LLCardSections/Intro.jsx | 2 +- .../AccessControl.jsx | 6 +- .../Actions.jsx | 10 +- .../QuickStart.jsx | 8 +- .../Resources.jsx | 4 +- src/css/custom.css | 5 + updateChains.js | 2 +- .../version-2.0}/LitActions/_category_.json | 0 .../additionalExamples/_category_.json | 0 .../generatingSessionKey.md | 2 +- .../LitActions/additionalExamples/usingEIP.md | 0 .../version-2.0}/LitActions/bestPractices.md | 8 +- .../version-2.0}/LitActions/getlitCli.md | 0 .../version-2.0}/LitActions/helloWorld.md | 4 +- .../version-2.0}/LitActions/intro.md | 21 +- .../workingWithActions/_category_.json | 0 .../workingWithActions/conditionalSigning.md | 2 +- .../workingWithActions/logAndReturn.md | 0 .../workingWithActions/permissions.md | 0 .../workingWithActions/signingTx.md | 0 .../workingWithActions/singleExecution.md | 0 .../workingWithActions/usingFetch.md | 0 .../Integrations/Ceramic/_category_.json | 0 .../Integrations/Ceramic/installation.md | 0 .../Integrations/Ceramic/intro.md | 0 .../Integrations/_category_.json | 0 .../Integrations/additionalIntegrations.md | 0 .../Integrations/bundlrxarweave.md | 0 .../OnchainMetadata/_category_.json | 0 .../OnchainMetadata/encryptDecrypt.md | 0 .../SDKExamples/OnchainMetadata/frontend.md | 0 .../OnchainMetadata/introduction.md | 12 +- .../OnchainMetadata/polygonMumbai.md | 0 .../SDKExamples/OnchainMetadata/setup.md | 0 .../OnchainMetadata/smartContract.md | 0 .../SDKExamples/_category_.json | 0 .../SDKExamples/dynamicContent.md | 0 .../SDKExamples/signedChainData.md | 0 .../ToolsAndExamples/Tools/_category_.json | 4 + .../ToolsAndExamples/Tools/accessControl.md | 12 + .../ToolsAndExamples/Tools/getlitCli.md | 36 + .../ToolsAndExamples/Tools/jwtverify.md | 0 .../ToolsAndExamples/Tools/pkpexplorer.md | 7 + .../ToolsAndExamples/Tools/shareModal.md | 2 +- .../ToolsAndExamples/_category_.json | 0 .../accessControl/EVM/_category_.json | 4 + .../accessControl/EVM/basicExamples.md | 2 +- .../accessControl/EVM/customContractCalls.md | 192 + .../version-2.0/accessControl/EVM/poap.md | 81 + .../version-2.0}/accessControl/EVM/siwe.md | 2 +- .../version-2.0/accessControl/EVM/timelock.md | 25 + .../version-2.0/accessControl/_category_.json | 4 + .../conditionTypes/_category_.json | 4 + .../conditionTypes/booleanLogic.md | 94 + .../conditionTypes/litActionConditions.md | 0 .../unifiedAccessControlConditions.md | 8 +- .../conditionTypes/updateableConditions.md | 0 .../version-2.0/accessControl/intro.md | 40 + .../accessControl/otherChains/_category_.json | 4 + .../otherChains/cosmosConditions.md | 93 + .../otherChains/solRpcConditions.md | 145 + .../version-2.0}/concepts/pkpsAsWallet.md | 10 +- .../version-2.0/intro/_category_.json | 4 + versioned_docs/version-2.0/intro/overview.mdx | 28 + .../version-2.0}/intro/rollup.mdx | 4 +- versioned_docs/version-2.0/intro/usecases.md | 114 + .../version-2.0}/intro/whatIsLitProtocol.md | 16 +- .../pkp/authHelpers}/addRemoveAuthMethods.md | 8 +- .../version-2.0/pkp/authHelpers/overview.md | 144 + versioned_docs/version-2.0/pkp/intro.md | 46 + .../version-2.0}/pkp/minting.md | 8 +- .../version-2.0}/pkp/pkpsAndActions.md | 2 +- .../version-2.0}/pkp/toolsAndExamples.md | 0 .../version-2.0}/pkp/usage.md | 4 +- .../version-2.0}/pkp/walletconnect.md | 2 +- .../version-2.0/resources/_category_.json | 4 + .../version-2.0/resources/contracts.md | 28 + .../version-2.0/resources/glossary.md | 72 + .../version-2.0}/resources/howItWorks.md | 28 +- .../version-2.0}/resources/supportedChains.md | 2 +- .../version-2.0/sdk/_category_.json | 4 + .../version-2.0/sdk}/examples.md | 0 .../sdk/explanation}/_category_.json | 0 .../explanation}/authentication/authSig.md | 0 .../explanation}/authentication/overview.md | 0 .../explanation/authentication/security.md | 35 + .../sessionSigs/authMethods/email-sms.md | 156 + .../sessionSigs/authMethods/overview.md | 21 + .../sessionSigs/authMethods/socialLogin.md | 90 + .../sessionSigs/authMethods/webAuthn.md | 101 + .../sessionSigs/capability-objects.md | 58 + .../sessionSigs/getSessionSigs.md | 4 +- .../authentication/sessionSigs/intro.md | 4 +- .../sessionSigs/resources-and-abilities.md | 35 + .../authentication/sessionSigs/usage.md | 0 .../authentication/sessionSigs/use-cases.md | 21 + .../sdk/explanation}/encryption.md | 2 +- .../sdk/explanation}/installation.md | 2 +- .../version-2.0/sdk/explanation}/migration.md | 0 .../version-2.0/sdk/explanation}/tests.md | 4 +- .../version-2.0/sdk}/intro.mdx | 8 +- .../version-2.0}/startHere/usecases.md | 0 .../version-2.0/support/_category_.json | 4 + .../version-2.0/support/bugBounty.md | 14 + .../version-2.0/support}/faq.md | 6 +- .../version-2.0/support/stateOfNetwork.md | 23 + versioned_sidebars/version-2.0-sidebars.json | 267 + versions.json | 3 + yarn.lock | 30 +- 199 files changed, 5798 insertions(+), 24295 deletions(-) rename {docs/Ecosystem => Ecosystem}/community.md (100%) rename docs/Ecosystem/litGrants.md => Ecosystem/lit-grants.md (94%) rename {docs/Ecosystem => Ecosystem}/projects.md (100%) delete mode 100644 docs/accessControl/intro.md create mode 100644 docs/concepts/pkps-as-wallet.md create mode 100644 docs/intro/what-is-lit-protocol.md create mode 100644 docs/migration/changes.md create mode 100644 docs/migration/overview.md create mode 100644 docs/network/feature-matrix.md create mode 100644 docs/network/rollup.mdx rename docs/{Support/stateOfNetwork.md => network/state-of-network.md} (72%) delete mode 100644 docs/pkp/intro.md create mode 100644 docs/resources/how-it-works.md create mode 100644 docs/resources/supported-chains.md rename docs/{SDK => sdk}/_category_.json (100%) rename docs/{accessControl => sdk/access-control}/_category_.json (100%) rename docs/{accessControl/conditionTypes => sdk/access-control/condition-types}/_category_.json (100%) rename docs/{accessControl/conditionTypes/booleanLogic.md => sdk/access-control/condition-types/boolean-logic.md} (100%) create mode 100644 docs/sdk/access-control/condition-types/lit-action-conditions.md create mode 100644 docs/sdk/access-control/condition-types/unified-access-control-conditions.md create mode 100644 docs/sdk/access-control/encryption.md rename docs/{accessControl/EVM => sdk/access-control/evm}/_category_.json (100%) create mode 100644 docs/sdk/access-control/evm/basic-examples.md rename docs/{accessControl/EVM/customContractCalls.md => sdk/access-control/evm/custom-contract-calls.md} (100%) rename docs/{accessControl/EVM => sdk/access-control/evm}/poap.md (100%) create mode 100644 docs/sdk/access-control/evm/siwe.md rename docs/{accessControl/EVM => sdk/access-control/evm}/timelock.md (100%) create mode 100644 docs/sdk/access-control/intro.md create mode 100644 docs/sdk/access-control/jwt-auth.md rename docs/{accessControl/otherChains => sdk/access-control/other-chains}/_category_.json (100%) rename docs/{accessControl/otherChains/cosmosConditions.md => sdk/access-control/other-chains/cosmos-conditions.md} (100%) rename docs/{accessControl/otherChains/solRpcConditions.md => sdk/access-control/other-chains/sol-rpc-conditions.md} (100%) create mode 100644 docs/sdk/authentication/auth-sig.md create mode 100644 docs/sdk/authentication/overview.md rename docs/{SDK/Explanation => sdk}/authentication/security.md (100%) create mode 100644 docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md rename docs/{pkp/authMethods => sdk/authentication/session-sigs/auth-methods}/email-sms.md (100%) create mode 100644 docs/sdk/authentication/session-sigs/auth-methods/overview.md rename docs/{pkp/authMethods/socialLogin.md => sdk/authentication/session-sigs/auth-methods/social-login.md} (100%) rename docs/{pkp/authMethods/webAuthn.md => sdk/authentication/session-sigs/auth-methods/web-authn.md} (100%) rename docs/{SDK/Explanation/authentication/sessionSigs => sdk/authentication/session-sigs}/capability-objects.md (100%) create mode 100644 docs/sdk/authentication/session-sigs/get-session-sigs.md create mode 100644 docs/sdk/authentication/session-sigs/intro.md rename docs/{SDK/Explanation/authentication/sessionSigs => sdk/authentication/session-sigs}/resources-and-abilities.md (100%) create mode 100644 docs/sdk/authentication/session-sigs/usage.md rename docs/{SDK/Explanation/authentication/sessionSigs => sdk/authentication/session-sigs}/use-cases.md (100%) create mode 100644 docs/sdk/installation.md create mode 100644 docs/sdk/tests.md rename docs/{pkp/authMethods/authHelpers.md => sdk/wallets/auth-methods.md} (94%) create mode 100644 docs/sdk/wallets/conditional-signing.md create mode 100644 docs/sdk/wallets/intro.md create mode 100644 docs/sdk/wallets/minting.md create mode 100644 docs/sdk/wallets/walletconnect.md rename docs/{Support => support}/_category_.json (100%) rename docs/{Support/bugBounty.md => support/bug-bounty.md} (100%) create mode 100644 docs/support/faq.md rename docs/{ToolsAndExamples/Tools => tools}/_category_.json (100%) rename docs/{ToolsAndExamples/Tools/accessControl.md => tools/access-control.md} (100%) rename docs/{ToolsAndExamples/Tools/getlitCli.md => tools/getlit-cli.md} (100%) rename docs/{ToolsAndExamples/Tools => tools}/pkpexplorer.md (100%) create mode 100644 docs/tools/share-modal.md rename {docs/learningLab/introToLit => learningLab/intro-to-lit}/_category_.json (100%) rename {docs/learningLab/introToLit => learningLab/intro-to-lit}/acc.md (89%) rename {docs/learningLab/introToLit => learningLab/intro-to-lit}/intro.mdx (100%) rename {docs/learningLab/introToLit => learningLab/intro-to-lit}/network.md (98%) rename {docs/learningLab/introToLit => learningLab/intro-to-lit}/pok.md (96%) rename docs/learningLab/introToLit/progSigning.md => learningLab/intro-to-lit/prog-signing.md (80%) rename {docs/learningLab/introToLit => learningLab/intro-to-lit}/welcome.md (96%) rename {docs/learningLab => learningLab}/intro.mdx (81%) delete mode 100644 package-lock.json create mode 100644 sidebars-ecosystem.js create mode 100644 sidebars-learning-lab.js rename src/components/{CardSections => CardSectionsV2}/CoreConcepts.jsx (87%) rename src/components/{CardSections => CardSectionsV2}/Ecosystem.jsx (87%) rename src/components/{CardSections => CardSectionsV2}/LearnCode.jsx (85%) rename src/components/{CardSections => CardSectionsV2}/QuickStart.jsx (79%) create mode 100644 src/components/CardSectionsV3/CoreConcepts.jsx create mode 100644 src/components/CardSectionsV3/Ecosystem.jsx create mode 100644 src/components/CardSectionsV3/LearnCode.jsx create mode 100644 src/components/CardSectionsV3/QuickStart.jsx rename src/components/{SDKCardSections => SDKCardSectionsV2}/AccessControl.jsx (81%) rename src/components/{SDKCardSections => SDKCardSectionsV2}/Actions.jsx (84%) rename src/components/{SDKCardSections => SDKCardSectionsV2}/QuickStart.jsx (77%) rename src/components/{SDKCardSections => SDKCardSectionsV2}/Resources.jsx (83%) rename {docs => versioned_docs/version-2.0}/LitActions/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/LitActions/additionalExamples/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/LitActions/additionalExamples/generatingSessionKey.md (96%) rename {docs => versioned_docs/version-2.0}/LitActions/additionalExamples/usingEIP.md (100%) rename {docs => versioned_docs/version-2.0}/LitActions/bestPractices.md (67%) rename {docs => versioned_docs/version-2.0}/LitActions/getlitCli.md (100%) rename {docs => versioned_docs/version-2.0}/LitActions/helloWorld.md (97%) rename {docs => versioned_docs/version-2.0}/LitActions/intro.md (66%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/conditionalSigning.md (95%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/logAndReturn.md (100%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/permissions.md (100%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/signingTx.md (100%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/singleExecution.md (100%) rename {docs => versioned_docs/version-2.0}/LitActions/workingWithActions/usingFetch.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Integrations/Ceramic/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Integrations/Ceramic/installation.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Integrations/Ceramic/intro.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Integrations/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Integrations/additionalIntegrations.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Integrations/bundlrxarweave.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/encryptDecrypt.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/frontend.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/introduction.md (71%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/polygonMumbai.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/setup.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/OnchainMetadata/smartContract.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/_category_.json (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/dynamicContent.md (100%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/SDKExamples/signedChainData.md (100%) create mode 100644 versioned_docs/version-2.0/ToolsAndExamples/Tools/_category_.json create mode 100644 versioned_docs/version-2.0/ToolsAndExamples/Tools/accessControl.md create mode 100644 versioned_docs/version-2.0/ToolsAndExamples/Tools/getlitCli.md rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Tools/jwtverify.md (100%) create mode 100644 versioned_docs/version-2.0/ToolsAndExamples/Tools/pkpexplorer.md rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/Tools/shareModal.md (96%) rename {docs => versioned_docs/version-2.0}/ToolsAndExamples/_category_.json (100%) create mode 100644 versioned_docs/version-2.0/accessControl/EVM/_category_.json rename {docs => versioned_docs/version-2.0}/accessControl/EVM/basicExamples.md (96%) create mode 100644 versioned_docs/version-2.0/accessControl/EVM/customContractCalls.md create mode 100644 versioned_docs/version-2.0/accessControl/EVM/poap.md rename {docs => versioned_docs/version-2.0}/accessControl/EVM/siwe.md (90%) create mode 100644 versioned_docs/version-2.0/accessControl/EVM/timelock.md create mode 100644 versioned_docs/version-2.0/accessControl/_category_.json create mode 100644 versioned_docs/version-2.0/accessControl/conditionTypes/_category_.json create mode 100644 versioned_docs/version-2.0/accessControl/conditionTypes/booleanLogic.md rename {docs => versioned_docs/version-2.0}/accessControl/conditionTypes/litActionConditions.md (100%) rename {docs => versioned_docs/version-2.0}/accessControl/conditionTypes/unifiedAccessControlConditions.md (89%) rename {docs => versioned_docs/version-2.0}/accessControl/conditionTypes/updateableConditions.md (100%) create mode 100644 versioned_docs/version-2.0/accessControl/intro.md create mode 100644 versioned_docs/version-2.0/accessControl/otherChains/_category_.json create mode 100644 versioned_docs/version-2.0/accessControl/otherChains/cosmosConditions.md create mode 100644 versioned_docs/version-2.0/accessControl/otherChains/solRpcConditions.md rename {docs => versioned_docs/version-2.0}/concepts/pkpsAsWallet.md (73%) create mode 100644 versioned_docs/version-2.0/intro/_category_.json create mode 100644 versioned_docs/version-2.0/intro/overview.mdx rename {docs => versioned_docs/version-2.0}/intro/rollup.mdx (97%) create mode 100644 versioned_docs/version-2.0/intro/usecases.md rename {docs => versioned_docs/version-2.0}/intro/whatIsLitProtocol.md (77%) rename {docs/pkp/authMethods => versioned_docs/version-2.0/pkp/authHelpers}/addRemoveAuthMethods.md (97%) create mode 100644 versioned_docs/version-2.0/pkp/authHelpers/overview.md create mode 100644 versioned_docs/version-2.0/pkp/intro.md rename {docs => versioned_docs/version-2.0}/pkp/minting.md (86%) rename {docs => versioned_docs/version-2.0}/pkp/pkpsAndActions.md (92%) rename {docs => versioned_docs/version-2.0}/pkp/toolsAndExamples.md (100%) rename {docs => versioned_docs/version-2.0}/pkp/usage.md (95%) rename {docs => versioned_docs/version-2.0}/pkp/walletconnect.md (99%) create mode 100644 versioned_docs/version-2.0/resources/_category_.json create mode 100644 versioned_docs/version-2.0/resources/contracts.md create mode 100644 versioned_docs/version-2.0/resources/glossary.md rename {docs => versioned_docs/version-2.0}/resources/howItWorks.md (68%) rename {docs => versioned_docs/version-2.0}/resources/supportedChains.md (98%) create mode 100644 versioned_docs/version-2.0/sdk/_category_.json rename {docs/SDK => versioned_docs/version-2.0/sdk}/examples.md (100%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/_category_.json (100%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/authentication/authSig.md (100%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/authentication/overview.md (100%) create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/security.md create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/overview.md create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/socialLogin.md create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/webAuthn.md create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/capability-objects.md rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/authentication/sessionSigs/getSessionSigs.md (85%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/authentication/sessionSigs/intro.md (95%) create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/authentication/sessionSigs/usage.md (100%) create mode 100644 versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/encryption.md (98%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/installation.md (98%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/migration.md (100%) rename {docs/SDK/Explanation => versioned_docs/version-2.0/sdk/explanation}/tests.md (98%) rename {docs/SDK => versioned_docs/version-2.0/sdk}/intro.mdx (59%) rename {docs => versioned_docs/version-2.0}/startHere/usecases.md (100%) create mode 100644 versioned_docs/version-2.0/support/_category_.json create mode 100644 versioned_docs/version-2.0/support/bugBounty.md rename {docs/Support => versioned_docs/version-2.0/support}/faq.md (98%) create mode 100644 versioned_docs/version-2.0/support/stateOfNetwork.md create mode 100644 versioned_sidebars/version-2.0-sidebars.json create mode 100644 versions.json diff --git a/.husky/pre-commit b/.husky/pre-commit index 2a9c7fbf..0c2e2e08 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -3,4 +3,4 @@ yarn add @lit-protocol/constants yarn update-chains -git add docs/resources/supportedChains.md +git add docs/resources/supported-chains.md diff --git a/docs/Ecosystem/community.md b/Ecosystem/community.md similarity index 100% rename from docs/Ecosystem/community.md rename to Ecosystem/community.md diff --git a/docs/Ecosystem/litGrants.md b/Ecosystem/lit-grants.md similarity index 94% rename from docs/Ecosystem/litGrants.md rename to Ecosystem/lit-grants.md index af3ae226..08631f44 100644 --- a/docs/Ecosystem/litGrants.md +++ b/Ecosystem/lit-grants.md @@ -8,7 +8,7 @@ The Lit grant program is looking to fund projects that improve developer experie ### Grant Criteria 1. Must be open source. -2. Must utilize [Lit Actions](https://developer.litprotocol.com/LitActions/intro) and [Programmable Key Pairs](https://developer.litprotocol.com/pkp/intro). +2. Must utilize [Lit Actions](https://developer.litprotocol.com/lit-actions/intro) and [Programmable Key Pairs](https://developer.litprotocol.com/pkp/intro). Get inspired by taking a look at our [Request for Ecosystem Proposals](https://litprotocol.notion.site/Lit-Request-for-Ecosystem-Proposals-ae3f31e7f32c413cbe0b36c2fe53378d) and [Request for Startups](https://spark.litprotocol.com/request-for-startups/). diff --git a/docs/Ecosystem/projects.md b/Ecosystem/projects.md similarity index 100% rename from docs/Ecosystem/projects.md rename to Ecosystem/projects.md diff --git a/docs/accessControl/intro.md b/docs/accessControl/intro.md deleted file mode 100644 index 9d2b9125..00000000 --- a/docs/accessControl/intro.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Introduction to Decentralized Access Control - -## Quick Start - -Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: - -1. Guide: [Working with Decentralized Access Control](https://spark.litprotocol.com/working-with-decentralized-access-control/) -2. Guide: [Encrypting and Decrypting Content with Lit](/SDK/Explanation/encryption) -3. Tool: [Custom Access Controls Creator](https://custom-access-control-conditions.lit.repl.co/) -4. Example: [Basic EVM Conditions](/accessControl/EVM/basicExamples) - -## Overview - -Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](/resources/glossary#encryption) content for private and permissioned storage on the open Web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions](/accessControl/conditionTypes/unifiedAccessControlConditions) (ACCs) are used to define who can decrypt and access the locked data. - -Lit supports the use of both on and [off-chain data](/accessControl/conditionTypes/litActionConditions) when defining access control conditions. Examples include gating against: - -- [Membership within a particular DAO](/accessControl/EVM/basicExamples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) -- Ownership of a particular [ERC-721](/accessControl/EVM/basicExamples#must-posess-any-token-in-an-erc721-collection-nft-collection) or [ERC-20](/accessControl/EVM/basicExamples#must-posess-at-least-one-erc20-token) token -- The result of [any smart contract call](/accessControl/EVM/customContractCalls) -- The result of [any API call](/accessControl/conditionTypes/litActionConditions), such as a follow on Twitter - -## Features - -1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](/resources/supportedChains). -2. AND + OR operators ([boolean logic](/accessControl/conditionTypes/booleanLogic)) can be used to combine any of the supported conditions listed above. -3. ACCs may be permanent or [updateable](/accessControl/conditionTypes/updateableConditions). -4. Storage provider agnostic: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. - -## Examples and Use Cases - -1. [Private data](https://docs.lens.xyz/docs/gated) for web3 social -2. [Token-gated video](https://github.com/suhailkakar/livepeer-token-gated-vod) streaming -3. [Encrypted token metadata](https://spark.litprotocol.com/semantic/) -4. [Persistent and private data marketplaces](https://blog.streamr.network/streamr-integrates-lit-protocol/) -5. Token-gating access to apps, [such as Streamlit](https://github.com/AlgoveraAI/streamlit-metamask/tree/main#lit-protocol-components) \ No newline at end of file diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md new file mode 100644 index 00000000..5e70f7a0 --- /dev/null +++ b/docs/concepts/pkps-as-wallet.md @@ -0,0 +1,68 @@ +--- +sidebar_position: 3 +--- + +# MPC Wallet Solution + +:::note +**STATE OF THE NETWORK** + +PKPs are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. +::: + +:::note +**SDK DOCUMENTATION** + +For the most up to date SDK documentation, check out the [Lit JS SDK Latest API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. + +Need some `LIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! + +::: + +## Multi-Party Computation (MPC) as a Key Management Solution + +Applied generally, multi-party computation (MPC) allows multiple parties to collectively compute a function over a set of private inputs without ever revealing the inputs themselves. In the context of key management, MPC can be used to generate distributed shares of a public/private key pair (which can be utilized for encryption and signing), without ever exposing the private key in its entirety. This means no one party ever has full control over the underlying key pair, eliminating single points of failure that exist in "centralized" key management ecosystems. An in-depth look at the current state of the MPC wallet space is explored in [this article](https://medium.com/1kxnetwork/wallets-91c7c3457578) published by 1kx. + +## Programmable Key Pairs as Distributed Custody Wallets + +Lit’s [Programmable Key Pairs (PKPs)](../pkp/intro) product can be utilized by app developers to build a white-label MPC wallet solution that delivers a more flexible and seamless onboarding experience to their end users. + +Each PKP is an ECDSA key pair generated collectively by the Lit nodes through a process called [Distributed Key Generation](../resources/how-it-works#threshold-cryptography) (DKG). Operating as a decentralized network, this allows Lit to generate a new key pair where the private key never exists in its entirety. Instead, each node only holds a share of the key. These signature shares must be combined above the threshold (two-thirds of the nodes) to produce the complete signature signed by the PKP. This signature can then be used for instances such as posting a transaction to a blockchain network. Each PKP is represented by an ERC-721 token minted on Chronicle, [you can mint one through the explorer](https://explorer.litprotocol.com/pkps). + +The two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs (e.g. Fireblocks) do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. + +In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../pkp/auth-helpers) can be assigned to that key pair through the use of [Lit Actions](../lit-actions/intro). Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: + +- WebAuthn from [FIDO Alliance](https://fidoalliance.org/fido2-2/fido2-web-authentication-webauthn/) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) +- Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) +- oAuth (Google, Discord) +- Self-custody key (such as a Ledger hardware wallet) + +The current methods are a work in progress: + +- Email +- SMS + +You can read more about how authentication works with PKPs in [this section](../pkp/auth-helpers) of the docs. + +The end goal of this system is to facilitate a simple onboarding experience that helps bridge the next billion users into Web3. + +![authOverview](/img/authOverview.png) + +## Supported Chains + +Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supported-chains#programmable-key-pairs). + +## Examples + +### Using oAuth for "Seed-Phraseless" Onboarding + +The ability to authenticate a Web3 account through oAuth will revolutionize the way we interact with blockchain applications and services, making it easier than ever for users to access the decentralized Web. + +The following [codebase](https://github.com/LIT-Protocol/oauth-pkp-signup-example) walks through an example of using oAuth to generate a Lit-powered MPC wallet, all without a single seed phrase in sight. This flow is supported by the Lit Relay Server, which takes care of the PKP minting request and the linking of the distributed key pair to the Google account, all in a gasless manner for the end user. This relay server is currently set to private by default, but if you would like to use it in your own application, [fill out this form](https://forms.gle/osJfmRR2PuZ46Xf98). + +The complete walkthrough of this example project can be found on our [blog](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). + +### Lit x WalletConnect: Connecting your PKP to the dWeb + +Native support for WalletConnect has been added to PKPs. This means that you can easily connect your PKP cloud wallet to any one of the hundreds of decentralized applications that have enabled support for WalletConnect. You can read the full guide and explore additional examples on our [blog](https://spark.litprotocol.com/connecting-lit-pkps-with-dapps/). diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 556b211b..caf06c16 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -2,10 +2,10 @@ slug: / sidebar_position: 1 --- -import EcosystemSection from '../../src/components/CardSections/Ecosystem'; -import QuickStartSection from '../../src/components/CardSections/QuickStart'; -import CoreConceptsSection from '../../src/components/CardSections/CoreConcepts'; -import LearnCodeSection from '../../src/components/CardSections/LearnCode'; +import EcosystemSection from '@site/src/components/CardSectionsV3/Ecosystem'; +import QuickStartSection from '@site/src/components/CardSectionsV3/QuickStart'; +import CoreConceptsSection from '@site/src/components/CardSectionsV3/CoreConcepts'; +import LearnCodeSection from '@site/src/components/CardSectionsV3/LearnCode'; # Overview @@ -17,7 +17,7 @@ Get started today! **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit, check out the Lit SDK [intro](/SDK/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit, check out the Lit SDK [intro](../sdk/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index ffcb0d78..16e0935e 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -13,7 +13,7 @@ Some examples of applications that can (and have) been built harnessing this fun ### Web3 Apps with Private Data -Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](/SDK/intro). +Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/installation). Examples: @@ -22,7 +22,6 @@ Examples: - [Starling Lab](https://github.com/starlinglab/archive-explorer/): Token-gated data archives. - [Streamr](https://blog.streamr.network/streamr-integrates-lit-protocol/): Private data marketplaces. - [Gather](https://www.gather.town/): Powering private virtual spaces for your team. -- [Headline](https://viaheadline.xyz/): Publish exclusive content for your web3 community. - [IPFS](https://litgateway.com/files): Encrypt content for private storage on IPFS. - [WalletChat.fun](https://lit.walletchat.fun/): Encrypted wallet-to-wallet messaging. - [Nowhere](https://www.urnowhere.com/): Token-gated metaverse spaces. @@ -38,7 +37,7 @@ Use on-chain credentials to gate access to your favorite web2 applications and d ### Unlockable NFTs -Using [HTML NFTs](/ToolsAndExamples/SDKExamples/HTMLNfts), you can create locked content that only owners of the NFT have access to. This includes dynamic content, like websites or metaverse spaces. +Using HTML NFTs, you can create locked content that only owners of the NFT have access to. This includes dynamic content, like websites or metaverse spaces. Here’s an [example](https://twitter.com/LitProtocol/status/1504630741849853954) using our Lit Genesis Canvas NFT. Only holders can access the private canvas site linked within! @@ -77,7 +76,7 @@ Example Projects: - [Yacht Labs](https://yachtlabs.io/blog/yacht-lit-swap): Cross-chain atomic swaps with PKPs and Lit Actions - [Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main): SDK for building privacy-preserving interactions on-chain - [MagicWallet](https://github.com/DustilDawn/Magic): One account, multiple seedless wallets -- More coming soon… 👀 —> [build with us](https://discord.com/invite/nm9aBG8z9w)! +- More coming soon… 👀 —> [build with us](https://litgateway.com/discord)! ### Web3 Social @@ -104,13 +103,9 @@ Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-ga - Condition-based reward systems and achievements. - Private data for multiplayer games. -### Misc -More ideas! +## Additional Resources -- A certification system utilizing [conditional signing](/LitActions/workingWithActions/conditionalSigning). +You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). - -### You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). - -### Have an idea for a project? [Get in touch](https://nut.sh/ell/forms/352580/YEk9vu)! \ No newline at end of file +Have an idea for a project? [Get in touch](https://nut.sh/ell/forms/352580/YEk9vu)! \ No newline at end of file diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md new file mode 100644 index 00000000..958d640d --- /dev/null +++ b/docs/intro/what-is-lit-protocol.md @@ -0,0 +1,48 @@ +--- +slug: /what-is-lit +sidebar_position: 2 +--- + +# What is Lit Protocol + +Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit provides developers with a comprehensive toolkit for managing sovereign identities on the open web. + +## Core Functionality + +Lit Protocol provides developers with two core services: + +1. **Encryption and Access Control** : Lit enables the client-side encryption and decryption of data by utilizing on or off-chain conditions, without relying on a centralized key custodian. Get started with [encryption and access control](../sdk/access-control/intro.md). + +2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](../sdk/wallets/intro.md). + +## Use Cases + +Lit Protocol can be utilized for various web3 applications, including: + +- **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), [recurring payments](https://www.notion.so/OSS-tooling-infrastructure-for-recurring-payments-54b01631e4b14a1cb16b20d14641fe2f), liquid staking solutions, and more. +- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for [off-chain data](lit-actions/working-with-actions/using-fetch), [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [AA wallet signers](https://spark.litprotocol.com/account-abstraction-and-mpc/). +- **Sovereign Data**: [Verifiable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. +- **Web3 Social**: [Private data in social apps](https://docs.lens.xyz/docs/gated), [token-gated video streaming](https://github.com/suhailkakar/livepeer-token-gated-vod), decentralized chatbots, and on-chain reputation building. +- **Gaming**: [Wallet abstraction](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). +- **Token Gating for Web2 Apps**: Token-based access control for [Shopify](https://apps.shopify.com/lit-token-access), [Zoom](https://litgateway.com/apps/zoom), [Google Drive](https://litgateway.com/apps/google-drive), and [WordPress](https://litgateway.com/apps/wordpress). + +Explore more [use cases](usecases.md) and [projects building](../ecosystem/projects) with Lit. + +## Getting Started + +Get started on your developer journey by diving right into the code: + +- [**Lit SDK**](../sdk/installation.md): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. +- [**Encryption Quick Start**](../sdk/access-control/encryption.md): Learn how to encrypt and decrypt content using the SDK. +- [**Lit CLI**](../tools/getlit-cli.md): A command line tool that makes developing Lit Actions easy! +- [**API Reference**](https://js-sdk.litprotocol.com/index.html): An overview of SDK functions and packages. + +## Join the Community + +Join our developer community on [Discord](https://litgateway.com/discord) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at our [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). + +Check out our [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. + +Subscribe to our [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to meet the Lit team! + +Follow us on [Twitter](https://twitter.com/LitProtocol). \ No newline at end of file diff --git a/docs/migration/changes.md b/docs/migration/changes.md new file mode 100644 index 00000000..b712ad53 --- /dev/null +++ b/docs/migration/changes.md @@ -0,0 +1,151 @@ +--- +sidebar_position: 2 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Package Changes + +The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. + + +## `@lit-protocol/bls-sdk` + +:::note + +You should only use this package if you know what you are doing. Otherwise, please use `@lit-protocol/encryption` as a higher-level helper library. + +::: + +### Encryption + +Previously in V2, you would have to: + +- Generate a symmetric key +- Encrypt private data using this symmetric key +- Encrypt this symmetric key using the BLS network key +- Save this encrypted symmetric key with some access control conditions in the BLS network + +Now in V3, all you would have to do is to call the `encrypt` method to perform client-side encryption: + +```javascript +const publicKey = + '8e29447d7b0666fe41c357dbbdbdac0ac8ac973f88439a07f85fa31fa6fa3cea87c2eaa8b367e1c97764800fb5636892'; + +const secretMessage = new Uint8Array([ + 240, 23, 185, 6, 87, 33, 173, 216, 53, 84, 80, 135, 190, 16, 58, 85, 97, 75, + 3, 192, 215, 82, 217, 5, 40, 65, 2, 214, 40, 177, 53, 150, +]); + +const identityParam = new Uint8Array([ + 101, 110, 99, 114, 121, 112, 116, 95, 100, 101, 99, 114, 121, 112, 116, 95, + 119, 111, 114, 107, 115, +]); + +const ciphertext = blsSdk.encrypt( + publicKey, + uint8arrayToString(secretMessage, 'base64'), + uint8arrayToString(identityParam, 'base64') +); +``` + +### Decryption + +Previously in V2, you would have to: + +- Make a request to the BLS network for decryption shares +- Combine decryption shares using `blsSdk.combine_decryption_shares` to get a decryption key +- Use this decryption key to decrypt the ciphertext + +Now in V3, you can use the `verify_and_decrypt_with_signature_shares` method after obtaining BLS network signature shares: + +```javascript +const privateData = blsSdk.decrypt_with_signature_shares( + ciphertext, + sigShares +); +``` + +The signature shares must be obtained via the new BLS network endpoint. + +### Signature Verification + +Previously in V2, you would have to call the `verify` method. + +Now in V3, you can use the `verify_signature` method. The signature must be combined using signature shares obtained via the new BLS network endpoint. + +## `@lit-protocol/crypto` + +:::note + +You should only use this package if you know what you are doing. Otherwise, please use `@lit-protocol/encryption` as a higher-level helper library. + +::: + +### Encryption + +Previously in V2, you would have to: + +- Generate a symmetric key +- Encrypt private data using this symmetric key +- Encrypt this symmetric key using the BLS network key +- Save this encrypted symmetric key with some access control conditions in the BLS network + +Now in V3, you can perform client-side encryption using the `encrypt` method: + +```javascript +const publicKey = + '8e29447d7b0666fe41c357dbbdbdac0ac8ac973f88439a07f85fa31fa6fa3cea87c2eaa8b367e1c97764800fb5636892'; + +const secretMessage = new Uint8Array([ + 240, 23, 185, 6, 87, 33, 173, 216, 53, 84, 80, 135, 190, 16, 58, 85, 97, 75, + 3, 192, 215, 82, 217, 5, 40, 65, 2, 214, 40, 177, 53, 150, +]); + +const identityParam = new Uint8Array([ + 101, 110, 99, 114, 121, 112, 116, 95, 100, 101, 99, 114, 121, 112, 116, 95, + 119, 111, 114, 107, 115, +]); + +const ciphertext = encrypt(publicKey, secretMessage, identityParam); +``` + +### Decryption + +Previously in V2, you would have to: + +- Make a request to the BLS network for decryption shares +- Combine decryption shares using `combineBlsShares` to get a decryption key +- Use this decryption key to decrypt the ciphertext using `decryptWithSymmetricKey` + +Now in V3, you can use the `verifyAndDecryptWithSignatureShares` method after obtaining BLS network signature shares: + +```javascript +const ciphertext = + 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; +const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', +]; + +const plaintext = verifyAndDecryptWithSignatureShares( + publicKey, + identityParam, + ciphertext, + signatureShares.map((s) => ({ + ProofOfPossession: s, + })) +); +``` + +## `@lit-protocol/encryption` + +All of the methods now require `ILitNodeClient` in the function argument. + +## `@lit-protocol/lit-node-client` and `lit-node-client-nodejs` + +All of the functionality for encrypting and decrypting private data is now implemented by the `encrypt` and `decrypt` methods. + +All of the functionality for obtaining a BLS network signature over a JWT is now implemented by the `getSignedToken` method. diff --git a/docs/migration/overview.md b/docs/migration/overview.md new file mode 100644 index 00000000..f886ddd4 --- /dev/null +++ b/docs/migration/overview.md @@ -0,0 +1,213 @@ +--- +sidebar_position: 2 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Overview + +The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. + +## What's Not Migrated? + +All of the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks **will not be migrated** but we will continue to maintain support for them. If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. + +## Per-Package Changes + +### `@lit-protocol/bls-sdk` + +:::note + +You should only use this package if you know what you are doing. Otherwise, please use `@lit-protocol/encryption` as a higher-level helper library. + +::: + +#### Encryption + +Previously in V2, you would have to: + +- Generate a symmetric key +- Encrypt private data using this symmetric key +- Encrypt this symmetric key using the BLS network key +- Save this encrypted symmetric key with some access control conditions in the BLS network + +Now in V3, all you would have to do is to call the `encrypt` method to perform client-side encryption: + +```javascript +const publicKey = + '8e29447d7b0666fe41c357dbbdbdac0ac8ac973f88439a07f85fa31fa6fa3cea87c2eaa8b367e1c97764800fb5636892'; + +const secretMessage = new Uint8Array([ + 240, 23, 185, 6, 87, 33, 173, 216, 53, 84, 80, 135, 190, 16, 58, 85, 97, 75, + 3, 192, 215, 82, 217, 5, 40, 65, 2, 214, 40, 177, 53, 150, +]); + +const identityParam = new Uint8Array([ + 101, 110, 99, 114, 121, 112, 116, 95, 100, 101, 99, 114, 121, 112, 116, 95, + 119, 111, 114, 107, 115, +]); + +const ciphertext = blsSdk.encrypt( + publicKey, + uint8arrayToString(secretMessage, 'base64'), + uint8arrayToString(identityParam, 'base64') +); +``` + +#### Decryption + +Previously in V2, you would have to: + +- Make a request to the BLS network for decryption shares +- Combine decryption shares using `blsSdk.combine_decryption_shares` to get a decryption key +- Use this decryption key to decrypt the ciphertext + +Now in V3, you can use the `verify_and_decrypt_with_signature_shares` method after obtaining BLS network signature shares: + +```javascript +const privateData = blsSdk.decrypt_with_signature_shares( + ciphertext, + sigShares +); +``` + +The signature shares must be obtained via the new BLS network endpoint. + +#### Signature Verification + +Previously in V2, you would have to call the `verify` method. + +Now in V3, you can use the `verify_signature` method. The signature must be combined using signature shares obtained via the new BLS network endpoint. + +### `@lit-protocol/crypto` + +:::note + +You should only use this package if you know what you are doing. Otherwise, please use `@lit-protocol/encryption` as a higher-level helper library. + +::: + +#### Encryption + +Previously in V2, you would have to: + +- Generate a symmetric key +- Encrypt private data using this symmetric key +- Encrypt this symmetric key using the BLS network key +- Save this encrypted symmetric key with some access control conditions in the BLS network + +Now in V3, you can perform client-side encryption using the `encrypt` method: + +```javascript +const publicKey = + '8e29447d7b0666fe41c357dbbdbdac0ac8ac973f88439a07f85fa31fa6fa3cea87c2eaa8b367e1c97764800fb5636892'; + +const secretMessage = new Uint8Array([ + 240, 23, 185, 6, 87, 33, 173, 216, 53, 84, 80, 135, 190, 16, 58, 85, 97, 75, + 3, 192, 215, 82, 217, 5, 40, 65, 2, 214, 40, 177, 53, 150, +]); + +const identityParam = new Uint8Array([ + 101, 110, 99, 114, 121, 112, 116, 95, 100, 101, 99, 114, 121, 112, 116, 95, + 119, 111, 114, 107, 115, +]); + +const ciphertext = encrypt(publicKey, secretMessage, identityParam); +``` + +#### Decryption + +Previously in V2, you would have to: + +- Make a request to the BLS network for decryption shares +- Combine decryption shares using `combineBlsShares` to get a decryption key +- Use this decryption key to decrypt the ciphertext using `decryptWithSymmetricKey` + +Now in V3, you can use the `verifyAndDecryptWithSignatureShares` method after obtaining BLS network signature shares: + +```javascript +const ciphertext = + 'l9a/01WDJB/euKxtbWcuQ8ez/c9eZ+jQryTHZVLN0kfd7XHoLs6FeWUVmk89ovQGkQJnnFDKjq6kgJxvIIrxXd9DaGuRBozLdA1G9Nk413YhTEqsENuHU0nSa4i6F912KltE15sbWKpDfPnZF6CA2UKBAw=='; +const signatureShares = [ + '01b2b44a0bf7184f19efacad98e213818edd3f8909dd798129ef169b877d68d77ba630005609f48b80203717d82092a45b06a9de0e61a97b2672b38b31f9ae43e64383d0375a51c75db8972613cc6b099b95c189fd8549ed973ee94b08749f4cac', + '02a8343d5602f523286c4c59356fdcfc51953290495d98cb91a56b59bd1a837ea969cc521382164e85787128ce7f944de303d8e0b5fc4becede0c894bec1adc490fdc133939cca70fb3f504b9bf7b156527b681d9f0619828cd8050c819e46fdb1', + '03b1594ab0cb56f47437b3720dc181661481ca0e36078b79c9a4acc50042f076bf66b68fbd12a1d55021a668555f0eed0a08dfe74455f557b30f1a9c32435a81479ca8843f5b74b176a8d10c5845a84213441eaaaf2ba57e32581584393541c5aa', +]; + +const plaintext = verifyAndDecryptWithSignatureShares( + publicKey, + identityParam, + ciphertext, + signatureShares.map((s) => ({ + ProofOfPossession: s, + })) +); +``` + +### `@lit-protocol/encryption` + +All of the methods now require `ILitNodeClient` in the function argument. + +### `@lit-protocol/lit-node-client` and `lit-node-client-nodejs` + +All of the functionality for encrypting and decrypting private data is now implemented by the `encrypt` and `decrypt` methods. + +All of the functionality for obtaining a BLS network signature over a JWT is now implemented by the `getSignedToken` method. + +## Notable Changes + +V3 includes the following breaking changes from V2. + +### Supported Lit Networks + +Both `jalapeno` and `serrano` will no longer be supported. `cayenne` is the only supported network and will be the new default moving forward. + +### Types + +#### Removed Types + +- `EncryptedString` +- `ThreeKeys` +- `JsonStoreSigningRequest` +- `JsonSaveEncryptionKeyRequest` + +#### Updated Types + +- `DecryptZipFileWithMetadata` +- `VerifyJWTProps` +- `IJWT` +- `SuccessNodePromises` +- `DecryptFromIpfsProps` +- `LIT_NETWORKS_KEYS` + +### Methods + +#### Removed Methods + +The following methods have been removed from `LitNodeClientNodeJs` and `LitNodeClient`: + +- `getChainDataSigningShare` +- `storeSigningConditionWithNode` +- `saveSigningCondition` +- `getSigningShare` +- `getDecryptions` +- `getSignedChainDataToken` + +#### Updated Methods + +The following methods have their interfaces updated in `LitNodeClientNodeJs` and `LitNodeClient`: + +- `combineSharesAndGetJWT` + +THe following methods have their names updated in `@lit-protocol/encryption` and `@lit-protocol/lit-node-client-nodejs`: + +- `decryptFile` becomes `decryptToFile` +- `decryptString` becomes `decryptToString` +- `decryptZip` becomes `decryptToZip` + +All method interfaces in `@lit-protocol/encryption` have been updated. + +## Changelog + +Changes to the **Lit JS SDK V3** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). \ No newline at end of file diff --git a/docs/network/feature-matrix.md b/docs/network/feature-matrix.md new file mode 100644 index 00000000..45629fdf --- /dev/null +++ b/docs/network/feature-matrix.md @@ -0,0 +1,24 @@ +# Feature Matrix + +Shown below is a matrix illustrating which features are available with each SDK version. + +V1 refers to the deprecated [lit-js-sdk](https://github.com/LIT-Protocol/lit-js-sdk) + +V2 refers to `2.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) + +V3 refers to `3.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) + +| Feature | V1 | V2 | V3 | +| --- | --- | --- | --- | +| `jalapeno` network | ✅ | ✅ | ❌ | +| `serrano` network | ✅ | ✅ | ❌ | +| `cayenne` network | ❌ | ❌ | ✅ | +| ACC-based Encryption | ✅ | ✅ | ✅ | +| ACC-based JWT signing | ✅ | ✅ | ✅ | +| Updateable ACC | ✅ | ✅ | ❌ | +| Programmable Key Pairs | ❌ | ✅ | ✅ | +| Lit Actions | ❌ | ✅ | ✅ | +| Wallet Signatures | ✅ | ✅ | ✅ | +| Session Signatures | ✅ | ✅ | ✅ | + +_ACC stands for Access Control Condition._ \ No newline at end of file diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx new file mode 100644 index 00000000..2369f3a0 --- /dev/null +++ b/docs/network/rollup.mdx @@ -0,0 +1,52 @@ +import AddRollupButton from "@site/src/components/AddRollupButton"; + +# Chronicle: The Lit Rollup + +Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. + + + +## About Chronicle + +Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Chronicle aims to provide a more streamlined and efficient environment for developers and users alike. Note that PKPs minted on Chronicle can still sign transactions on any chain, including any EVM or Cosmos Chains. + +## `LIT` Test Token + +The `LIT` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. + +To obtain the `LIT` test token, please use the faucet at https://faucet.litprotocol.com/. The `LIT` test token will be sent to your wallet address, allowing you to perform test transactions on the rollup. + +Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. + +## Connecting to Chronicle + +To connect to Chronicle, you can click or manually add the network parameters below + +| Parameter Name | Value | +| ------------------ | -------------------------------------- | +| Chain ID | 175177 | +| Name | Chronicle - Lit Protocol Testnet | +| RPC URL | https://chain-rpc.litprotocol.com/http | +| Block Explorer URL | https://chain.litprotocol.com/ | +| Currency Symbol | LIT | +| Currency Decimals | 18 | + +**Note** You must have `Lit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. + +## Block Explorer + +A block explorer is available for Chronicle, providing valuable insights into the network. You can access it at https://chain.litprotocol.com/. The explorer allows you to track transactions, addresses, and other essential data on the rollup. + +## Special Features + +Chronicle includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle. + +## Future Plans + +Soon, each Lit Node operator will also run a Chronicle node. This will provide instant, secure Chronicle data to the Lit Nodes. + +We are also working on a decentralized sequencer for the rollup, such that all Chronicle node operators are able to submit transactions to the rollup. This will allow for a more decentralized and secure rollup. + +## Next Steps + +Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../sdk/wallets/conditional-signing). diff --git a/docs/Support/stateOfNetwork.md b/docs/network/state-of-network.md similarity index 72% rename from docs/Support/stateOfNetwork.md rename to docs/network/state-of-network.md index 67446d49..530577ef 100644 --- a/docs/Support/stateOfNetwork.md +++ b/docs/network/state-of-network.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 1 ---- - # Lit Networks You can set your Lit Network in the LitNodeClient config of the Lit SDK, by passing the network name to the `litNetwork` parameter. @@ -9,9 +5,9 @@ You can set your Lit Network in the LitNodeClient config of the Lit SDK, by pass | Name | Supported Algorithms | Supported Features | ETA | Description | Status | | -------- | -------------------- | -------------------------------- | -------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------- | | Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | -| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Not persistent. Will likely be turned off in 2024. | https://serrano-status.litprotocol.com/ | -| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | July 2023 | Centralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | -| Manzano | ECDSA | Signing | July 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | -| Habanero | ECDSA | Signing | September 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | +| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Not persistent. Will be turned off in early 2024. | https://serrano-status.litprotocol.com/ | +| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | August 2023 | Centralized test network. Persistent, keys will not be deleted. | Coming Soon | +| Manzano | ECDSA | Signing | September 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | +| Habanero | ECDSA | Signing | October 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | | Datil | BLS | Encryption | October 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | | Naga | ECDSA | Signing, Lit Actions | November 2023 | Decentralized main network. Persistent, so keys will not be deleted | Coming Soon | diff --git a/docs/pkp/intro.md b/docs/pkp/intro.md deleted file mode 100644 index 4c18ddc7..00000000 --- a/docs/pkp/intro.md +++ /dev/null @@ -1,46 +0,0 @@ -# Introduction - -:::note -PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! - -Need some `LIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ - -**PKP Developer Preview is Live!** -Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) - -::: - -## Quick Start - -Ready to jump right in? Quickly learn how you can integrate Programmable Key Pairs (PKPs) into your own product: - -1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) -2. Resource: [Testnet Faucet](https://chronicle-faucet-app.vercel.app/) -3. Concept: [Assigning an Authentication Method](/pkp/authMethods/authHelpers) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) -4. SDK Package: [Using PKPs as Wallets](/pkp/usage) - -## Overview - -Each Programmable Key Pair (PKP) is a versatile [MPC wallet](/concepts/pkpsAsWallet) that can be utilized by developers to: - -1. Provide users of web3 with seamless, ["seed-phraseless" onboarding](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) experiences. -2. Facilitate automated transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. -3. Build fully [decentralized application backends](/pkp/pkpsAndActions#why-is-this-useful). - -## Features - -1. [Blockchain Agnostic](/resources/supportedChains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](/LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](/pkp/authMethods/authHelpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](/LitActions/workingWithActions/conditionalSigning). -3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. -4. Interoperable: Use [WalletConnect](/pkp/walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. - -## Examples and Use Cases - -PKPs can be used to power a wide array of potential applications and use cases: - -1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) with Multi-Factor Authentication -2. [Signing Automation](/LitActions/workingWithActions/singleExecution#event-listening) and [Conditional Transaction Execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) -3. [Automated Credential Issuance](https://spark.litprotocol.com/krebitxlitactions/) -4. [Versatile Web3 Wallets](https://github.com/DustilDawn/Magic) -5. [Cross-Chain Messaging and Swaps](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/) -6. [Signer on an AA Wallet](https://spark.litprotocol.com/account-abstraction-and-mpc/) \ No newline at end of file diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index f1647bbe..5d74eb25 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -7,19 +7,19 @@ import TabItem from '@theme/TabItem'; # Contracts -Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](/intro/rollup): +Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](../intro/rollup): -**PKPNFT**: [0x8F75a53F65e31DD0D2e40d0827becAaE2299D111](https://chain.litprotocol.com/address/0x8F75a53F65e31DD0D2e40d0827becAaE2299D111) +**PKPNFT**: [0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153](https://chain.litprotocol.com/address/0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153) -**PubkeyRouterAndPermissions**: [0xB35cC6CaB1501d5F3b6b8fcF3215898C9d03E981](https://chain.litprotocol.com/address/0xB35cC6CaB1501d5F3b6b8fcF3215898C9d03E981) +**PubkeyRouterAndPermissions**: [0x1c5B708A171602A11895D727a64aeE2457E3Ef60](https://chain.litprotocol.com/address/0x1c5B708A171602A11895D727a64aeE2457E3Ef60) -**Rate Limit Increase NFT**: [0x2D0f767eff47b44626832EcD2fda705eB9797c38](https://chain.litprotocol.com/address/0x2D0f767eff47b44626832EcD2fda705eB9797c38) +**Rate Limit Increase NFT**: [0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5](https://chain.litprotocol.com/address/0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5) -**Staking Contract Address**: [0x433357a14c35815E6A32758fe95c93380D194aaf](https://chain.litprotocol.com/address/0x433357a14c35815E6A32758fe95c93380D194aaf) +**Staking Contract Address**: [0x4809A30149958a95b925bb5315cb0F550E166272](https://chain.litprotocol.com/address/0x4809A30149958a95b925bb5315cb0F550E166272) -**PKPHelper**: [0x8bB62077437D918891F12c7F35d9e1B78468bF11](https://chain.litprotocol.com/address/0x8bB62077437D918891F12c7F35d9e1B78468bF11) +**PKPHelper**: [0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6](https://chain.litprotocol.com/address/0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6) -**PKPPermissions**: [0x4Aed2F242E806c58758677059340e29E6B5b7619](https://chain.litprotocol.com/address/0x4Aed2F242E806c58758677059340e29E6B5b7619) +**PKPPermissions**: [0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9](https://chain.litprotocol.com/address/0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9) ## TypeScript Contracts SDK diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index bb543cdd..a7a94c86 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -6,7 +6,7 @@ sidebar_position: 2 ## Definitions of commonly used terms and core concepts. -### **[Auth Sig](/SDK/Explanation/authentication/authSig#authsigs)** +### **[Auth Sig](../sdk/explanation/authentication/auth-sig#authsigs)** In order to use Lit Protocol, you must present a wallet signature obtained from the user. This is referred to as an 'AuthSig' in the documentation. ### **[Boneh-Lynn-Shacham (BLS) Signatures](https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716)** A cryptographic algorithm that can be used for both signing and encryption. BLS allows for signature aggregation and verification at scale using [Elliptic Curve cryptography](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography). @@ -17,9 +17,9 @@ Ethereum uses the BLS signature scheme to facilitate secure cryptography within A (cryptographic) challenge is a piece of data that is used in challenge-response authentication schemes for a verifier to independently assert the authenticity of another entity. Unique and random challenges are used to prevent against replay attacks. -### **[Decentralized Access Control](/accessControl/intro)** -Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](/accessControl/intro), allowing you to securely store data on the open web. -### **[Digital Signature](LitActions/actions/litActions#signing)** +### **[Decentralized Access Control](../access-control/intro)** +Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](../access-control/intro), allowing you to securely store data on the open web. +### **[Digital Signature](lit-actions/actions/litActions#signing)** In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the digital identity provided by the address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner the the wallet associated with it. In working with the Lit network, someone will sign with their wallet when they want to mint a PKP. That is a transaction signature — where someone is sending a transaction (minting). This signature is then used as the method of authentication over the PKP and associated Lit Actions. @@ -27,15 +27,15 @@ In working with the Lit network, someone will sign with their wallet when they w A cryptographic process in which key generation requires participation from above a certain threshold of nodes, where each node only holds a **share** of the complete keypair. ### **[Elliptic Curve Digital Signature Algorithm (ECDSA)](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/)** ECDSA is a cryptographically secure digital signature scheme, based on elliptic-curve cryptography. ECDSA is mainly used for digital signatures. A digital signature is an authentication method used where a public key pair and a digital certificate are used as a signature to verify the identity of a recipient or sender of information. -### **[Encryption](/whatIsLit#encryption)** +### **[Encryption](../what-is-lit#encryption)** The process of encoding data so that it remains hidden or inaccessible to unauthorized parties, the core technology that enables privacy on the Internet. At a high level, encryption converts plaintext (i.e “this is a secret”) into “nonsense” ciphertext (”e5sVVb#bn332J”). You can read a more in-depth explanation [here](https://www.cloudflare.com/learning/ssl/what-is-encryption/). -### **[Ethereum Virtual Machine (EVM)](/accessControl/EVM/basicExamples)** +### **[Ethereum Virtual Machine (EVM)](../access-control/evm/basic-examples)** A stack-based virtual machine that executes [bytecode](https://ethereum.org/en/glossary/#bytecode). In Ethereum, the execution model specifies how the system state is altered given a series of bytecode instructions and a small tuple of environmental data. This is specified through a formal model of a virtual state machine. ### **[Externally Owned Account (EOA)](https://ethereum.org/en/developers/docs/accounts/)** Externally owned accounts (EOAs) are accounts that are controlled by [private keys](https://ethereum.org/en/glossary/#private-key), typically generated using a [seed phrase](https://ethereum.org/en/glossary/#hd-wallet-seed). Unlike smart contracts, externally owned accounts are accounts without any code associated with them. Typically these accounts are managed with a [wallet](https://ethereum.org/en/glossary/#wallet). ### **Key Re-Share** Re-share the private key shares to add a node to the network. The shares before and after the re-share are compatible. -### **[Lit Actions](LitActions/actions/intro)** +### **[Lit Actions](lit-actions/actions/intro)** Immutable Javascript functions stored on IPFS that can use PKPs for programmatic signing and decryption. They can be thought of as Lit’s native version of smart contracts. ### **[Multi-Party Computation (MPC)](https://eprint.iacr.org/2020/300.pdf)** In a general sense, MPC enables multiple parties – each holding their own private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). @@ -43,28 +43,28 @@ In a general sense, MPC enables multiple parties – each holding their own priv In cryptography, a value that can only be used once. An account nonce is a transaction counter in each account, which is used to prevent replay attacks. ### **[Oracle](https://cointelegraph.com/blockchain-for-beginners/what-is-a-blockchain-oracle-and-how-does-it-work)** An oracle is a bridge between the [blockchain](https://ethereum.org/en/glossary/#blockchain) and the real world, querying data from off-chain [APIs](https://ethereum.org/en/glossary/#api) for use in [smart contracts](https://ethereum.org/en/glossary/#smart-contract). -### **[Private Key Share](/resources/howItWorks)** +### **[Private Key Share](../resources/how-it-works)** A share of a private key that can be used to decrypt and sign. Decryption creates “decryption shares” and signing creates “signature shares”. These resultant shares are combined above the threshold to produce the decrypted content or signature. ### **[Proactive Secret Sharing](https://www.youtube.com/watch?v=iOqU2DySmeU&t=594s)** Keep the same overall private key, but change the private key shares, such that private key shares after the PSS operation are incompatible with shares from before the operation. We use PSS for adding and removing nodes from the network during an epoch transition, such that private key shares from the previous epoch are incompatible with private key shares in the next epoch. -### **[Programmable Key Pairs (PKPs)](/pkp/intro)** +### **[Programmable Key Pairs (PKPs)](../pkp/intro)** An ECDSA keypair generated collectively by the Lit nodes. PKPs can be used to read and write data across blockchains (EVM, Cosmos, BTC), storage networks (IPFS, Ceramic), and HTTP endpoints. -### **[Proof](/LitActions/actions/litActions#proofs)** +### **[Proof](../lit-actions/actions/litActions#proofs)** A proof is a particular application for a digitial signature. For example, using a signature to *prove* that a particular interaction took place. Signing through Lit Actions opens up the possibilities of verifying information from external sources, such as from a Weather API. Within the Lit ecosystem this signed information is called a proof. -### **[Public Key Cryptography](/startHere/whatIsLitProtocol#decentralized-cryptography)** +### **Public Key Cryptography** The technology that underpins cryptocurrency and most of the security infrastructure on the web today. It allows you to do two main things: 1. Encrypt information so that it can only be accessed by authorized parties. 2. Sign (write) data to blockchains, databases, storage networks, and other state machines (digital signatures). ### **[Rate Limiting](https://explorer.litprotocol.com/rlis)** By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by purchasing an RLI NFT that comes with "flexible terms" which can be customized by 2 factors, the number of requests/millisecond and the expiry date. -### **[Session Keys](/SDK/Explanation/authentication/sessionSigs)** +### **[Session Keys](../sdk/explanation/authentication/session-sigs/intro)** When the user “signs into” Lit, we generate a random session key for them. They sign that session pubkey as the “URI” of a SIWE message which creates a capability signature. There is a default expiration time of 24 hours, but this is configurable. This signature and the session key are stored in the localstorage of the browser. When the user sends a request, the session key signs it and sends the signature with the request. The capability signature is also sent. Multiple capability signatures can be attached. Therefore, the AuthSig presented to the nodes is actually the session key AuthSig with the capability signatures attached. The SDK will use the session key to scope the AuthSig for each request to the specific resource and node being addressed, preventing replay attacks. -### **[SIWE](/accessControl/evm/siwe/)** +### **[SIWE](../access-control/evm/siwe/)** Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. -### **[Threshold Cryptography](/resources/howItWorks#threshold-cryptography)** +### **[Threshold Cryptography](../resources/how-it-works#threshold-cryptography)** A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. ### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md new file mode 100644 index 00000000..ae70da22 --- /dev/null +++ b/docs/resources/how-it-works.md @@ -0,0 +1,91 @@ +--- +sidebar_position: 1 +--- + +# How Does Lit Protocol Work + +:::note + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit based on your use case, check out the Lit SDK [here](../sdk/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. + +::: + +## Overview + +At its core, Lit is an attempt to decentralize [public key cryptography](https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/) through the use of secure [multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation) and [threshold signature schemes](https://en.wikipedia.org/wiki/Threshold_cryptosystem) (MPC + TSS). When run across a distributed network of nodes (the “Lit Network”), the Lit software supports the secure management of persistent cryptographic keys for signing, encryption, and compute. + +Both MPC and TSS originate from the concepts of public key cryptography and extend their benefits to multi-party and decentralized environments, where the security and privacy of the private key material, data, and computation are critically important. These methods expand upon “traditional” public key infrastructure (PKI), removing the dependence on centralized key custodians, who exist as a single point of failure. This greatly reduces the attack vector for key compromise by distributing ownership among multiple parties, undermining the ability of a single entity to cause widespread harm. In order for an attacker to gain control, they would need to successfully gain control of more than the threshold of participating parties. In the Lit Network, this threshold is set to two-thirds, meaning participation from two-thirds of nodes is required for signing and encryption. + +In the Lit Network, the nodes perform a [distributed key generation](../resources/glossary#distributed-key-generation) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a key share which they can use to sign and decrypt data. The nodes perform each operation (signing or decryption) in parallel and the individual results are aggregated to form the complete signature or decryption key, without exposing the underlying private key itself. By distributing the key among multiple parties, the network becomes more robust and can continue to function even when multiple participating parties may be offline or possess malicious intent. + +![networkOverview](/img/networkOverview.png) + +## Secure Encrypted Virtualization (SEV) + +In addition to the security provided by the decentralized nature of MPC and TSS, Lit leverages AMD’s [Secure Encrypted Virtualization](https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf) (SEV), providing advanced hardware-level protection and an additional layer of security. + +SEV ensures that node operators never have access to any key shares directly, nor the computation processed inside of each node. This robust hardware-level isolation complements the decentralization of cryptographic operations and significantly reduces the risk of unauthorized access to sensitive information. + +In the context user-facing operations — such as when key shares are provisioned for signing and decryption — nodes communicate via independent, encrypted channels. This means that shares are only ever exposed client-side at the exact moment of recombination. + +We believe that the marriage of MPC, threshold signature schemes (TSS), and SEV provides end users with the most robustly secure and versatile custody solution currently available on the market today. + + +## How Lit Protocol works for: + +## Access Control + +Lit offers threshold encryption for regulating access to data stored on the Web through the use of condition-based access control. With Lit, both encryption and decryption happen client-side according to specific rules defined by the end user. These rules are known as [“Access Control Conditions”](../sdk/access-control/evm/basic-examples) which make use of on or off-chain data to define their parameters. + +An example of an Access Control Condition that utilizes on-chain data is gating by token ownership, such as requiring that a user possesses a [specific NFT](../sdk/access-control/evm/basic-examples#must-posess-a-specific-erc721-token-nft) in order to decrypt your content. When a user requests access, each Lit node confirms that the required condition has been satisfied using the user's wallet signature to verify asset ownership. Once verified, each node supplies a decryption share. After accumulating more than two-thirds of these shares, the user can decrypt the content on their device. + +As mentioned above, Access Control Conditions are not limited to "on-chain" data sources. Using JavaScript logic known as [Lit Actions](../sdk/access-control/condition-types/lit-action-conditions), an identical process is supported using off-chain data as input. A simple example would be mandating that a user follows you on Twitter before granting permission to decrypt your content. The Twitter API could be utilized to feed this information into a Lit Action, which gets executed concurrently by each node. If more than two-thirds of nodes verify that the condition has been fulfilled (according to the Lit Action), the shares would be provided, and the content could be decrypted client-side. + +This feature empowers individuals to securely store data on the open Web and offers organizations a convenient method for sharing and distributing content across entire communities. For instance, employing NFTs to designate roles and access levels within a DAO, or using token ownership to grant exclusive discounts to users on an e-commerce platform such as Shopify. The capacity to gate access based on any arbitrary data via Lit Actions expands these possibilities even further, allowing the creation of decryption rules based on any accessible state. + +Lit exclusively manages and provisions decryption keys, remaining entirely impartial to the storage provider. This means that **Lit does not store any encrypted content directly**, and developers integrating this service can choose a storage provider of their preference. Options include blockchains like Ethereum, open storage networks such as [IPFS](https://spark.litprotocol.com/encrypttoipfs/) or [Ceramic](https://github.com/LIT-Protocol/CeramicIntegration), or centralized providers like AWS or Google Cloud. + +The comprehensive process for encrypting content with Lit is outlined [here](../sdk/access-control/encryption#high-level-overview). + +![accessControl](/img/AccessControl.png) + +## Decentralized Programmable Signing and MPC Wallets + +In addition to access control, Lit provides distributed ECDSA key-pairs that can be used for programmable, “smart” signing and a MPC wallet solution. + +These distributed key pairs are known as [Programmable Key Pairs](../sdk/wallets/intro) (PKPs), and the code that dictates their signing and authentication logic is called a Lit Action. Lit Actions are JavaScript functions that can be made immutable by storing them on the InterPlanetary File System (IPFS). They can be thought of as the permissionless rules that govern each PKPs signing automation. Every Lit Action is blockchain agnostic and has the ability to use off-chain data in their computation by making HTTP requests. This gives them the inherent ability to read and write data across on and off-chain platforms, facilitating interoperability and automation between previously disconnected ecosystems. + +Each PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. A PKP is represented as an ERC-721 NFT, and the [owner of the NFT](../sdk/wallets/minting) becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../sdk/authentication/overview) mechanisms to their PKP using Lit Actions. + +### Smart Signing + +Functionally, PKPs and Lit Actions introduce a capacity for developing distributed serverless functions that have the ability to sign data with their own private key. This can be used to facilitate complex, condition-based automation within and across decentralized applications, as well as to generate proofs for verifying data from arbitrary on or off-chain sources. A simple example would be a Lit Action and corresponding PKP that checks if a number is prime. The Lit Action will only return a signed response if the number is prime, kind of like a sort of prime number certification service. In this case, since the Lit Action is immutable, and every signature requires participation from at least two-thirds of nodes, there is a provable chain of trust. Instead of having to do the math to ensure a number is prime, you could simply use the number as an input in your Lit Action and use the signature as proof. + +### MPC Wallets + +Each PKP is functionally [a wallet](../sdk/wallets/intro), where the private key lives across the Lit Network. The two-thirds threshold requirement provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to manage a key share (i.e the provider holds a share and the user holds the other share). This means the goal of a seamless, “web2” style onboarding UX without seed phrases or private key management is not possible, instead delivering the UX of self-custody with additional steps. + +Lit Actions are used to handle each PKP’s [authentication logic](https://spark.litprotocol.com/how-authentication-works-with-pkps/). Authentication refers to the method used to communicate with and “control” the underlying key pair. As mentioned above, by default each key pair is controlled by the underlying blockchain account (“wallet”) who mints and holds the associated PKP NFT. But what about users who don’t already have a wallet and are attempting to onboard into the ecosystem for the first time? Lit has integrated several “web2” authentication methods to make this onboarding process seamless for the end user, including WebAuthn (Apple Passkey) and oAuth. These credentials can be harnessed as the mechanism(s) associated with ownership of the PKP, [linking familiar web2 accounts to the world of web3](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). + +The use of Lit Actions in the wallet context also provides users with the ability to define automated signing logic. For example, setting up an on-chain limit order for the assets held within the wallet, or configuring a [monthly dollar-cost average investment scheme](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). Of course, this signing logic is arbitrary and can be customized based on the specific context and applications being used. + +![cloudSigning](/img/CloudSigning.png) + + +## Supported Chains + +Lit is currently compatible with most EVM blockchains, Cosmos, and Solana. You can find the full list of supported chains [here](../resources/supported-chains). + +## Getting Started + +Learn more by checking out the [Lit blog.](https://spark.litprotocol.com/resources/) + +Getting started with [access control and encryption.](../sdk/access-control/intro) + +Dive into programmatic signing with [PKPs and Lit Actions.](../sdk/wallets/intro) + +Working with the [Lit SDK.](../sdk/installation) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md new file mode 100644 index 00000000..11916694 --- /dev/null +++ b/docs/resources/supported-chains.md @@ -0,0 +1,81 @@ +# Supported Blockchains + +## Access Control Protocol + + Our Access Control Protocol supports most EVM chains, the Cosmos ecosystem, and Solana. + +Don't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7 + +- ethereum +- polygon +- fantom +- xdai +- bsc +- arbitrum +- avalanche +- fuji +- harmony +- mumbai +- goerli +- cronos +- optimism +- celo +- aurora +- eluvio +- alfajores +- xdc +- evmos +- evmosTestnet +- bscTestnet +- baseGoerli +- moonbeam +- moonriver +- moonbaseAlpha +- filecoin +- hyperspace +- sepolia +- scrollAlphaTestnet +- zksync +- zksyncTestnet +- lineaGoerli +- chronicleTestnet +- chiado +- zkEvm +- mantleTestnet +- mantle +- klaytn +- publicGoodsNetwork +- optimismGoerli +- waevEclipseTestnet +- solana +- solanaDevnet +- solanaTestnet +- cosmos +- kyve +- evmosCosmos +- evmosCosmosTestnet +- cheqdMainnet +- cheqdTestnet +- juno + + +## Programmable Key Pairs + + PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently "compatible" with chains that rely on this same cryptographic primitive. This includes: + +- bitcoin + +- ethereum (and many of the EVM chains you see above) + +- binance + +- polygon + +- cosmos + +- filecoin + +- theta + +You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) + \ No newline at end of file diff --git a/docs/SDK/_category_.json b/docs/sdk/_category_.json similarity index 100% rename from docs/SDK/_category_.json rename to docs/sdk/_category_.json diff --git a/docs/accessControl/_category_.json b/docs/sdk/access-control/_category_.json similarity index 100% rename from docs/accessControl/_category_.json rename to docs/sdk/access-control/_category_.json diff --git a/docs/accessControl/conditionTypes/_category_.json b/docs/sdk/access-control/condition-types/_category_.json similarity index 100% rename from docs/accessControl/conditionTypes/_category_.json rename to docs/sdk/access-control/condition-types/_category_.json diff --git a/docs/accessControl/conditionTypes/booleanLogic.md b/docs/sdk/access-control/condition-types/boolean-logic.md similarity index 100% rename from docs/accessControl/conditionTypes/booleanLogic.md rename to docs/sdk/access-control/condition-types/boolean-logic.md diff --git a/docs/sdk/access-control/condition-types/lit-action-conditions.md b/docs/sdk/access-control/condition-types/lit-action-conditions.md new file mode 100644 index 00000000..54e9e042 --- /dev/null +++ b/docs/sdk/access-control/condition-types/lit-action-conditions.md @@ -0,0 +1,50 @@ +--- +sidebar_position: 4 +--- + +# Lit Action Conditions + +You can create a Lit Action Condition to grant access whenever a given Lit Action returns true. Lit Actions are JS code that can be executed on the Lit Protocol network. You can use Lit Actions to create custom access control conditions. + +## Lit Action must return true + +Suppose you wanted to make a Lit Action that returns true if the forecast temperature is below 40 degrees. You could use this to create a document that can only be decrypted when it's cold out. + +This would be your Lit Action code, and is where you choose your conditions. You can talk to any API here: + +```js +const go = async (maxTemp) => { + const url = "https://api.weather.gov/gridpoints/LWX/97,71/forecast"; + try { + const response = await fetch(url).then((res) => res.json()); + const nearestForecast = response.properties.periods[0]; + const temp = nearestForecast.temperature; + return temp < parseInt(maxTemp); + } catch (e) { + console.log(e); + } + return false; +}; +``` + +Save the above code to IPFS. + +In this example, the Lit Action is on IPFS with the CID "QmcgbVu2sJSPpTeFhBd174FnmYmoVYvUFJeDkS7eYtwoFY". The below condition will run the `go()` function of the Lit Action, and check if the return value is true. It will pass a parameter of 40 to the `go()` function. Note that all parameters must be strings so you must use `parseInt()` to convert the string to a number to check it against the forecast temperature. + +```js +var accessControlConditions = [ + { + contractAddress: "ipfs://QmcgbVu2sJSPpTeFhBd174FnmYmoVYvUFJeDkS7eYtwoFY", + standardContractType: "LitAction", + chain: "ethereum", + method: "go", + parameters: ["40"], + returnValueTest: { + comparator: "=", + value: "true", + }, + }, +]; +``` + +You can see a full working example of this here: https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/decrypt.js diff --git a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md new file mode 100644 index 00000000..9fee4773 --- /dev/null +++ b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md @@ -0,0 +1,138 @@ +--- +sidebar_position: 1 +--- + +# Unified Access Control Conditions + +You can mix and match EVM Basic Conditions, EVM Custom Contract Conditions, Solana RPC Conditions, and Cosmos Conditions in the same array. Use the `unifiedAccessControlConditions` parameter to specify the conditions on any of the LitNodeClient methods. + +For each condition, you must add a `conditionType` field that specifies the type of condition. The `conditionType` field can be one of the following: + +- For [EVM Basic Conditions](../../access-control/evm/basic-examples), also known as classic "Access Control Conditions", use the string `evmBasic` +- For [EVM Custom Contract Conditions](../../access-control/evm/custom-contract-calls), use the string `evmContract` +- For [Solana RPC Conditions](../../access-control/other-chains/sol-rpc-conditions), use the string `solRpc` +- For [Cosmos or Kyve Conditions](../../access-control/other-chains/cosmos-conditions), use the string `cosmos` + +## Passing Wallet AuthSigs for unified access control conditions + +All requests to the LitNodeClient API require an AuthSig to be present. The AuthSig is a signature of a message signed by the user's wallet, used to authenticate the request. In the case of unified access control conditions, you may pass an AuthSig for each chain ecosystem that you are using. Meaning, you can pass an EVM wallet signature and a Solana wallet signature at the same time. You can do this by passing an object as the `authSig` parameter with keys of `ethereum` for all EVM chains and `solana` for all Solana chains, an example of which you can see below: + +```js +// first, obtain auth sigs from both chains +var solAuthSig = await LitJsSdk.checkAndSignAuthMessage({ + chain: "solana", +}); + +var ethAuthSig = await LitJsSdk.checkAndSignAuthMessage({ + chain: "ethereum", +}); + +var cosmosAuthSig = await LitJsSdk.checkAndSignAuthMessage({ + chain: "cosmos", +}); + +var kyveAuthSig = await LitJsSdk.checkAndSignAuthMessage({ + chain: "kyve", +}); + +// now, when you want to use the auth sigs, pass them as an object, with the key being the chain name. +await litNodeClient.encryptString({ + unifiedAccessControlConditions, + authSig: { + cosmos: cosmosAuthSig, + kyve: kyveAuthSig, + solana: solAuthSig, + ethereum: ethAuthSig, // note that the key here is "ethereum" for any and all EVM chains. If you're using Polygon, for example, you should still have "ethereum" here. + }, + dataToEncrypt: "blah", +}); +``` + +## Combining all 4 types of conditions + +In this example, we use the `unifiedAccessControlConditions` parameter to combine all 3 types of conditions with "or" operators. The user must meet at least one of the conditions: + +- Posess at least 0.1 SOL on Solana +- Posess at least 0.00001 ETH on Ethereum +- Posess at least 1 ERC1155 token with id 8 and at contract 0x7C7757a9675f06F3BE4618bB68732c4aB25D2e88 on Polygon +- Posess at least 1 ATOM on Cosmos + +```js +var unifiedAccessControlConditions = [ + { + conditionType: "solRpc", + method: "getBalance", + params: [":userAddress"], + chain: "solana", + pdaParams: [], + pdaInterface: { offset: 0, fields: {} }, + pdaKey: "", + returnValueTest: { + key: "", + comparator: ">=", + value: "100000000", // equals 0.1 SOL + }, + }, + { operator: "or" }, + { + conditionType: "evmBasic", + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "10000000000000", // equals 0.00001 ETH + }, + }, + { operator: "or" }, + { + conditionType: "evmContract", + contractAddress: "0x7C7757a9675f06F3BE4618bB68732c4aB25D2e88", + functionName: "balanceOf", + functionParams: [":userAddress", "8"], + functionAbi: { + type: "function", + stateMutability: "view", + outputs: [ + { + type: "uint256", + name: "", + internalType: "uint256", + }, + ], + name: "balanceOf", + inputs: [ + { + type: "address", + name: "account", + internalType: "address", + }, + { + type: "uint256", + name: "id", + internalType: "uint256", + }, + ], + }, + chain: "polygon", + returnValueTest: { + key: "", + comparator: ">", + value: "0", + }, + }, + { operator: "or" }, + { + conditionType: "cosmos", + path: "/cosmos/bank/v1beta1/balances/:userAddress", + chain: "cosmos", + returnValueTest: { + key: "$.balances[0].amount", + comparator: ">=", + value: "1000000", // equals 1 ATOM + }, + }, +]; +``` diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md new file mode 100644 index 00000000..4a4be6b5 --- /dev/null +++ b/docs/sdk/access-control/encryption.md @@ -0,0 +1,263 @@ +# Encryption + +Access control conditions can be used to encrypt any static content such that its decryption is "gated". + +The Lit network uses an identity-based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. + +This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). + +The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. + +Refer to the [SDK docs](../sdk/explanation/jwt-auth) for more details and code examples. + +## High-Level Overview + +Here is a high-level, step-by-step breakdown of encryption and decryption: + +### Encryption + +1. Alice chooses some access control condition and private data and constructs the identity parameter +2. Alice encrypts the private data using the BLS network public key and the identity parameter to get a ciphertext +3. Alice stores the encryption metadata - set of access control conditions, hash of the private data etc. - and the ciphertext wherever she wants + +### Decryption + +1. Bob fetches the ciphertext and corresponding encryption metadata from the public data store +2. Bob presents the encryption metadata to the BLS network and requests for signature shares over the identity parameter +3. The BLS network nodes checks whether the user satisfies the access control conditions before signing the constructed identity parameter +4. Bob assembles the signature shares into a decryption key and successfully decrypts the ciphertext + +## Technical Walkthrough + +You can use Lit to encrypt and store any static content. This could be a file, a string, or anything that won't change. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. + +If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](../explanation/encryption#encrypttoipfs). + +Check out [this example](https://github.com/LIT-Protocol/js-sdk/blob/master/apps/demo-encrypt-decrypt-react/README.md) for a full-fledged **React** application that encrypts and decrypts a **string** using Lit SDK. + +In the example below we will show you the step-by-step process of how to encrypt and decrypt static data using the Lit JS SDK on the client side. + +### Setup + +At the top of your file, instantiate your Lit Node client like so: + +```js +const client = new LitJsSdk.LitNodeClient(); +const chain = "ethereum"; +``` + +Create a Lit class and set the litNodeClient. + +```js +class Lit { + private litNodeClient + + async connect() { + await client.connect() + this.litNodeClient = client + } +} + +export default new Lit() +``` + +### Encrypting + +Get more info on functions in the [API docs](https://js-sdk.litprotocol.com/index.html). + +Steps to Encrypt +1. Obtain an `authSig` and create an access control condition. +2. Encrypt the static content (string, file, etc.) using `LitJsSdk.encryptString` to get the `ciphertext`, for example. This ties the `accessControlConditions` with the static content. +3. Finally, we have to store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. IPFS is generally used to store these values. + +#### Access Control & AuthSig + +In this example, we will set the accessControlConditions on if a wallet has at least 0.000001 ETH: + +```js +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, +]; +``` + +#### AuthSig + +First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. + +```js +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); +``` + +#### Encrypting Content + +- If you are encrypting a string, use `encryptString()`. You could also use `zipAndEncryptString()` if you wanted to zip the string before encrypting it (saves space, but takes time to zip) +- If you are encrypting a large file (more than 20mb) then you should use `encryptFile()` because it is fast (a 1gb file only takes 2 seconds to encrypt). +- If you are encrypting a small file (less than 20mb) then you can use `encryptFileAndZipWithMetadata()` which will zip the file, and include all metadata in the zip, so you don't have to store anything else. If you want to store the metadata yourself, manually, you can use `zipAndEncryptFiles()` instead. + +In the example, we are using `encryptString()`. All encryption methods will output the ciphertext and a hash of the plaintext data, which are used during decryption. + +```js +const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + authSig, + chain: 'ethereum', + dataToEncrypt: 'this is a secret message', + }, + litNodeClient, +); +``` + +**Note**: Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. + +#### Putting it all together + +The encryption function should look like: + +```js +async encrypt(message: string) { + if (!this.litNodeClient) { + await this.connect() + } + + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }) + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + authSig, + chain: 'ethereum', + dataToEncrypt: 'this is a secret message', + }, + window.litNodeClient, + ); + + return { + ciphertext, + dataToEncryptHash, + }; +} +``` + +### Decrypting + +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` variables we created when encrypting content. +An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. + +There is just one step: + +1. Obtain the decrypted data in plaintext using the `authSig`, `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. + +#### AuthSig + +First, obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain used here is ethereum. + +```js +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); +``` + +#### Obtaining the Decrypted Data + +In the example, we used `encryptString()` so we will use `decryptToString()` to decrypt. Note that if you used something else to encrypt the content, you will need to use the appropriate decrypt method. + +```js +const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions, + ciphertext, + dataToEncryptHash, + authSig, + chain: 'ethereum', + }, + litNodeClient, +); +``` + +#### Putting it all together + +The full decryption process should look like: + +```js +async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlConditions: any) { + if (!this.litNodeClient) { + await this.connect() + } + + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }) + const decryptedString = LitJsSdk.decryptToString( + { + accessControlConditions, + ciphertext, + dataToEncryptHash, + authSig, + chain: 'ethereum', + }, + window.litNodeClient, + ); + return { decryptedString } +} +``` + +## Encryption & Upload to IPFS + +To simplify encrypting and uploading to IPFS, there is a method within the SDK to help encrypt and store data on IPFS. + +### encryptToIPFS + +Now, let's take a look at the simplified encryption-decryption & IPFS storing functionality. + +:::note + +The `encryptToIpfs` function internally uses the ipfs-http-client which requires the Infura Project Id & API Secret Key. + +::: + +#### Encryption + +1. For encrypting the static content (string, file) simply pass it to our function `encryptToIpfs` along with the other params: `accessControlConditions`, `chain`, `infuraId`, `infuraSecretKey` & the instance of the connected `LitNodeClient`. Note we're using the Infura client to add the strings/files to IPFS hence you have to provide your credentials. + +That's all! All the steps will be taken care of for you & the `ipfsCid` for your encrypted metadata will be returned to you. + +#### Decryption + +1. For decrypting the encrypted content (string, file) simply pass the returned `ipfsCid` to our function `decryptFromIpfs` & the instance of the connected `LitNodeClient`. + +That's all! You will get the decrypted string or the file as an ArrayBuffer. + +#### Putting it all together + +```js +async encrypt() { + const ipfsCid = await LitJsSdk.encryptToIpfs({ + authSig, + accessControlConditions, + chain, + string: "Encrypt & store on IPFS seamlessly with Lit 😎", + // file, // If you want to encrypt a file instead of a string + litNodeClient: this.litNodeClient, + infuraId: 'YOUR INFURA PROJECT ID', + infuraSecretKey: 'YOUR INFURA API-SECRET-KEY', + }); +} + +async decrypt(ipfsCid) { + const decryptedString = await LitJsSdk.decryptFromIpfs({ + authSig, + ipfsCid, // This is returned from the above encryption + litNodeClient: this.litNodeClient, + }); +} +``` + +#### How to encrypt & decrypt a file instead? + +For encryption use the same function params as above with the string param replaced with a file. For decryption nothing changes. The returned value in that case will be a `Uint8Array` instead of a string since it's a decrypted file. \ No newline at end of file diff --git a/docs/accessControl/EVM/_category_.json b/docs/sdk/access-control/evm/_category_.json similarity index 100% rename from docs/accessControl/EVM/_category_.json rename to docs/sdk/access-control/evm/_category_.json diff --git a/docs/sdk/access-control/evm/basic-examples.md b/docs/sdk/access-control/evm/basic-examples.md new file mode 100644 index 00000000..28938196 --- /dev/null +++ b/docs/sdk/access-control/evm/basic-examples.md @@ -0,0 +1,277 @@ +--- +sidebar_position: 2 +--- + +# Basic Examples + +This page defines some basic access control conditions (referred to as `accessControlConditions` in the code) based on standard contract types like ERC20, ERC721, and ERC1155 for EVM (Ethereum) chains. Also included are some conditions like wallet address ownership, proof of humanity, and POAP possession. You may set your conditions, and define the `returnValueTest` under which access should be granted. + +If you would like to use a contract call for a contract type that is not here, refer to the [custom contract calls](../../access-control/evm/custom-contract-calls) page, which will let you pass a function ABI and call any smart contract function. These are referred to as `evmContractConditions` in the code. + +## Must posess at least one ERC1155 token with a given token id + +In this example, the token contract's address is 0x3110c39b428221012934A7F617913b095BC1078C and the token id we are checking for is 9541. + +```js +const accessControlConditions = [ + { + contractAddress: '0x3110c39b428221012934A7F617913b095BC1078C', + standardContractType: 'ERC1155', + chain, + method: 'balanceOf', + parameters: [ + ':userAddress', + '9541' + ], + returnValueTest: { + comparator: '>', + value: '0' + } + } +] +``` + +## Must posess at least one ERC1155 token from a batch of token ids + +In this example, the token contract's address is 0x10daa9f4c0f985430fde4959adb2c791ef2ccf83 and the token ids we are checking for are either 1, 2, 10003, or 10004. + +```js +const accessControlConditions = [ + { + contractAddress: '0x10daa9f4c0f985430fde4959adb2c791ef2ccf83', + standardContractType: 'ERC1155', + chain, + method: 'balanceOfBatch', + parameters: [ + ':userAddress,:userAddress,:userAddress,:userAddress', + '1,2,10003,10004' + ], + returnValueTest: { + comparator: '>', + value: '0' + } + } +] +``` + +## Must posess a specific ERC721 token (NFT) + +In this example, the token contract's address is 0x89b597199dAc806Ceecfc091e56044D34E59985c and the token id we are checking for is 3112. + +```js +const accessControlConditions = [ + { + contractAddress: '0x89b597199dAc806Ceecfc091e56044D34E59985c', + standardContractType: 'ERC721', + chain, + method: 'ownerOf', + parameters: [ + '3112' + ], + returnValueTest: { + comparator: '=', + value: ':userAddress' + } + } +] +``` + +## Must posess any token in an ERC721 collection (NFT Collection) + +In this example, the token contract's address is 0xA80617371A5f511Bf4c1dDf822E6040acaa63e71. + +```js +const accessControlConditions = [ + { + contractAddress: '0xA80617371A5f511Bf4c1dDf822E6040acaa63e71', + standardContractType: 'ERC721', + chain, + method: 'balanceOf', + parameters: [ + ':userAddress' + ], + returnValueTest: { + comparator: '>', + value: '0' + } + } +] +``` + +## Must posess at least one ERC20 token + +In this example, the token contract's address is for Maker: 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2. + +```js +const accessControlConditions = [ + { + contractAddress: '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2', + standardContractType: 'ERC20', + chain, + method: 'balanceOf', + parameters: [ + ':userAddress' + ], + returnValueTest: { + comparator: '>', + value: '0' + } + } +] +``` + +## Must posess at least 0.00001 ETH + +In this example, we are checking the ETH balance of the user's address and making sure it's above 0.00001 ETH. Note that the return value is in Wei, so we specified 0.00001 ETH as 10000000000000 Wei. + +```js +const accessControlConditions = [ + { + contractAddress: '', + standardContractType: '', + chain, + method: 'eth_getBalance', + parameters: [ + ':userAddress', + 'latest' + ], + returnValueTest: { + comparator: '>=', + value: '10000000000000' + } + } +] +``` + +## Must be a member of a DAO (MolochDAOv2.1, also supports DAOHaus) + +In this example, we are checking that the user is a member of a MolochDAOv2.1. DAOHaus DAOs are also MolochDAOv2.1 and therefore are also supported. This checks that the user is a member of the DAO and also that they are not jailed. This example checks the DAO contract at 0x50D8EB685a9F262B13F28958aBc9670F06F819d9 on the xDai chain. + +```js +const accessControlConditions = [ + { + contractAddress: '0x50D8EB685a9F262B13F28958aBc9670F06F819d9', + standardContractType: 'MolochDAOv2.1', + chain, + method: 'members', + parameters: [ + ':userAddress', + ], + returnValueTest: { + comparator: '=', + value: 'true' + } + } +] +``` + +## Must be a subscriber to a creator on creaton.io + +In this example, we are checking that the user is a subscriber to a creator on creaton.io. This example checks the Creator contract at 0x50D8EB685a9F262B13F28958aBc9670F06F819d9 on the Mumbai chain. + +```js +const accessControlConditions = [ + { + contractAddress: '0x77c0612bb672a52c60c7a71b898853570bd2bbbb', + standardContractType: 'Creaton', + chain, + method: 'subscribers', + parameters: [ + ':userAddress', + ], + returnValueTest: { + comparator: '=', + value: 'true' + } + } +] +``` + +## A specific wallet address + +In this example, we are checking that the user is in posession of a specific wallet address 0x50e2dac5e78B5905CB09495547452cEE64426db2 + +```js +const accessControlConditions = [ + { + contractAddress: '', + standardContractType: '', + chain, + method: '', + parameters: [ + ':userAddress', + ], + returnValueTest: { + comparator: '=', + value: '0x50e2dac5e78B5905CB09495547452cEE64426db2' + } + } +] +``` + +## Proof of Humanity + +Here, we are checking that the user is registered with Proof Of Humanity https://www.proofofhumanity.id/ + +```js +const accessControlConditions = [ + { + contractAddress: "0xC5E9dDebb09Cd64DfaCab4011A0D5cEDaf7c9BDb", + standardContractType: "ProofOfHumanity", + chain: "ethereum", + method: "isRegistered", + parameters: [":userAddress"], + returnValueTest: { + comparator: "=", + value: "true" + } + } +] +``` + +## Must be an active subscriber (using Cask Protocol) + +In this example, we are checking that the user is either the provider or an active subscriber to one of the service provider +plans, as powered by the Cask Protocol https://www.cask.fi/ + +Parameters to the `getActiveSubscriptionCount` method are the users address (represented in the Lit Protocol as :userAddress), +the provider address that is registered in the Cask Protocol, and the Cask Plan ID in which the user must have an +active subscription. + +If you are not using the [Lit Share Modal](https://github.com/LIT-Protocol/lit-share-modal-v3), you will need the contract +address of the Cask Protocol `CaskSubscriptions` contract, which can be found in the Cask Documentation at +https://docs.cask.fi/protocol-deployments/production + +``` +const accessControlConditions = [ + { + conditionType: "evmBasic", + contractAddress: "", + standardContractType: "", + chain: "polygon", + method: "", + parameters: [":userAddress"], + returnValueTest: { + comparator: "=", + value: '0xCdcE8CD89e4B29193874Acc677D5ae6624524bFd', + }, + }, + {operator: "or"}, + { + conditionType: "evmBasic", + contractAddress: "0x4A6f232552E0fd76787006Bb688bFBCB931cc3d0", + standardContractType: "CASK", + chain: "polygon", + method: 'getActiveSubscriptionCount', + parameters: [ + ':userAddress', + '0xCdcE8CD89e4B29193874Acc677D5ae6624524bFd', + '100' + ], + returnValueTest: { + comparator: '>', + value: '0' + } + } +] +``` diff --git a/docs/accessControl/EVM/customContractCalls.md b/docs/sdk/access-control/evm/custom-contract-calls.md similarity index 100% rename from docs/accessControl/EVM/customContractCalls.md rename to docs/sdk/access-control/evm/custom-contract-calls.md diff --git a/docs/accessControl/EVM/poap.md b/docs/sdk/access-control/evm/poap.md similarity index 100% rename from docs/accessControl/EVM/poap.md rename to docs/sdk/access-control/evm/poap.md diff --git a/docs/sdk/access-control/evm/siwe.md b/docs/sdk/access-control/evm/siwe.md new file mode 100644 index 00000000..49859e4c --- /dev/null +++ b/docs/sdk/access-control/evm/siwe.md @@ -0,0 +1,51 @@ +--- +sidebar_position: 5 +--- + +# Sign In With Ethereum Parameters + +A EIP-4631 compliant Sign in with Ethereum message is signed by the user's wallet and presented with every request to the Lit Nodes. This signed message is used to authenticate the user's wallet, but you can also create access control conditions based on the content of this message. Specifically, you can create access control conditions based on the Domain and Resources parameters of the Sign in with Ethereum message. You can learn more about Sign in with Ethereum here: [https://docs.login.xyz/](https://docs.login.xyz/). + +## Domain + +This will check the domain of the Sign in with Ethereum message and compare it to the domain specified in the `returnValueTest`. In this case, the domain must match "localhost:3050". This condition is useful to prevent signature reuse across domains. You can use the "AND" operator with Boolean Logic to add this condition to any other condition which will prevent using signatures from other domains. + +```js +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "SIWE", + chain: "ethereum", + method: "", + parameters: [":domain"], + returnValueTest: { + comparator: "=", + value: "localhost:3050", + }, + }, +]; +``` + +## Resources + +This will check the resources field of the Sign in with Ethereum message and compare it to the resource specified in the `returnValueTest`. In this case, the resources array must contain `ipfs://someTestId`. + +```js +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "SIWE", + chain: "ethereum", + method: "", + parameters: [":resources"], + returnValueTest: { + comparator: "contains", + value: "ipfs://someTestId", + }, + }, +]; +``` + +## Using SIWE params in Custom Contract Calls + +See the [Custom Contract Calls](../../access-control/evm/custom-contract-calls#using-siwe-params-in-custom-contract-calls) page for more information on how to use SIWE params in custom contract calls. diff --git a/docs/accessControl/EVM/timelock.md b/docs/sdk/access-control/evm/timelock.md similarity index 100% rename from docs/accessControl/EVM/timelock.md rename to docs/sdk/access-control/evm/timelock.md diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md new file mode 100644 index 00000000..1be6e9a1 --- /dev/null +++ b/docs/sdk/access-control/intro.md @@ -0,0 +1,39 @@ +--- +sidebar_position: 1 +--- + +# Intro + +## Quick Start + +Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: + +1. Guide: [Working with Decentralized Access Control](https://spark.litprotocol.com/working-with-decentralized-access-control/) +2. Guide: [Encrypting and Decrypting Content with Lit](../sdk/explanation/encryption) +3. Tool: [Custom Access Controls Creator](https://custom-access-control-conditions.lit.repl.co/) +4. Example: [Basic EVM Conditions](../access-control/evm/basic-examples) + +## Overview + +Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../resources/glossary#encryption) content for private and permissioned storage on the open Web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) are used to define who can decrypt and access the locked data. + +Lit supports the use of both on and [off-chain data](../access-control/condition-types/lit-action-conditions) when defining access control conditions. Examples include gating against: + +- [Membership within a particular DAO](../access-control/evm/basic-examples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) +- Ownership of a particular [ERC-721](../access-control/evm/basic-examples#must-posess-any-token-in-an-erc721-collection-nft-collection) or [ERC-20](../access-control/evm/basic-examples#must-posess-at-least-one-erc20-token) token +- The result of [any smart contract call](../access-control/evm/custom-contract-calls) +- The result of [any API call](../access-control/condition-types/lit-action-conditions), such as a follow on Twitter + +## Features + +1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](../resources/supported-chains). +2. AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. +3. Storage provider agnostic: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. + +## Examples and Use Cases + +1. [Private data](https://docs.lens.xyz/docs/gated) for web3 social +2. [Token-gated video](https://github.com/suhailkakar/livepeer-token-gated-vod) streaming +3. [Encrypted token metadata](https://spark.litprotocol.com/semantic/) +4. [Persistent and private data marketplaces](https://blog.streamr.network/streamr-integrates-lit-protocol/) +5. Token-gating access to apps, [such as Streamlit](https://github.com/AlgoveraAI/streamlit-metamask/tree/main#lit-protocol-components) \ No newline at end of file diff --git a/docs/sdk/access-control/jwt-auth.md b/docs/sdk/access-control/jwt-auth.md new file mode 100644 index 00000000..cd6987de --- /dev/null +++ b/docs/sdk/access-control/jwt-auth.md @@ -0,0 +1,108 @@ +# JWT Auth + +Access control conditions can be used to "gate" the signing of JWTs that are used to load dynamic content from a server. + +Dapp developers can declare which URLs require certain access control conditions before proceeding to serve content when developing their application, and this can either be done statically (explicitly declared) or programmatically (declared on-the-fly). + +The BLS network attest to a user meeting certain access control conditions by checking that they satisfy these conditions before signing a JWT with claims containing these access control conditions. + +## High-Level Overview + +Here is a high-level, step-by-step breakdown of generating a signed JWT: + +1. Client requests BLS network to produce signature shares for a JWT with the claims containing the matching access control conditions for a particular dapp URL. +2. The BLS network nodes checks whether the user satisfies the access control conditions before constructing the JWT payload and signing it. +3. Client recombines the signature shares to assemble the fully formed JWT using the signature and presents the JWT to the dapp URL. +4. The dapp web page would verify that the JWT was signed by the BLS network and check that the access control conditions in the JWT claims matches that which is required for that dapp web page. + +## Technical Walkthrough + +The Lit Network can be used to specify access control conditions for signing JWTs that are used to load dynamic content from a server. + +Check out [this example](https://github.com/LIT-Protocol/js-sdk/blob/master/apps/demo-locked-express-app/README.md) for a simple Express application that gates a server-provided web page with an access control condition. + +### Provisioning access to a resource + +You can use dynamic content provisioning to put some dynamic content behind an on-chain / off-chain condition. As a dapp developer, it is your responsibility to declare the conditions per each of your dapp's web pages either statically / explicitly or programmatically. + +### Verifying a JWT that was signed by the Lit network + +Verifying a JWT would typically be done on the server side (Node.js), but should work in the browser too. + +First, import the Lit JS SDK Node.js package: + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +``` + +Now, you must have a JWT to verify. Usually this comes from the user who is trying to access the resource. You can try the JWT harcoded in the example below, which may be expired but should at least return a proper header and payload. In the real world, you should use a JWT presented by the user. + +In addition to using `LitJsSdk.verifyJwt` to verify that the signature was produced by the BLS network, you must to check that the access control conditions within the JWT claims match those that you have either statically or programmatically declared in your application. If they do not match, you sohuld reject the request. + - In the example below, we will demonstrate verification against a statically declared set of access control conditions. + +```js +const jwt = + "eyJhbGciOiJCTFMxMi0zODEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQiLCJzdWIiOiIweGRiZDM2MGYzMDA5N2ZiNmQ5MzhkY2M4YjdiNjI4NTRiMzYxNjBiNDUiLCJjaGFpbiI6ImZhbnRvbSIsImlhdCI6MTYyODAzMTM1OCwiZXhwIjoxNjI4MDc0NTU4LCJiYXNlVXJsIjoiaHR0cHM6Ly9teS1keW5hbWljLWNvbnRlbnQtc2VydmVyLmNvbSIsInBhdGgiOiIvYV9wYXRoLmh0bWwiLCJvcmdJZCI6IiJ9.lX_aBSgGVYWd2FL6elRHoPJ2nab0IkmmX600cwZPCyK_SazZ-pzBUGDDQ0clthPVAtoS7roHg14xpEJlcSJUZBA7VTlPiDCOrkie_Hmulj765qS44t3kxAYduLhNQ-VN"; +const { verified, header, payload } = LitJsSdk.verifyJwt({ + jwt, + publicKey: litNodeClient.networkPubKey, +}); + +// Statically declare the access control conditions that gate this web page. +const accessControlCondtionsForProtectedPath1: MultipleAccessControlConditions = { + accessControlConditions: [{ + chain: 'polygon', + contractAddress: '', + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: MY_OWN_WALLET_ADDRESS, + }, + standardContractType: '', + }] +}; + +// Verify the access control conditions in the JWT claims are as expected. +const expectedAccessControlConditionsHash = (await litNodeClient.getHashedAccessControlConditions(accessControlCondtionsForProtectedPath1))!.toString(); +const actualAccessControlConditionsHash = (await litNodeClient.getHashedAccessControlConditions(payload))!.toString(); +if (expectedAccessControlConditionsHash !== actualAccessControlConditionsHash) { + // Reject this request! + return false; +} +``` + +The `verified` variable is a boolean that indicates whether or not the signature verified properly to be signed by the BLS network key. + +### Accessing a resource via a JWT + +Obtaining a signed JWT from the Lit network can be done via the `getSignedToken` function of the [`LitNodeClient`](https://js-sdk.litprotocol.com/classes/lit_node_client_src.LitNodeClientNodeJs.html#getSignedToken). The BLS network effectively attests to the user satisfying certain access control conditions by producing signature shares over a JWT with claims containing these access control conditions. + +:::note +An active connection to the Lit Protocol nodes is needed to use this function. +::: + +This connection can be made with the following code: + +```js +const litNodeClient = new LitJsSdk.LitNodeClient(); +await litNodeClient.connect(); +``` + +First, obtain an `authSig` from the user. This will ask their metamask to sign a message proving they own the crypto address in their wallet. Remember to pass the chain you're using! + +```js +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "polygon" }); +``` + +Now, using the `accessControlConditions` you can use the `getSignedToken` function to get the token: + +```js +const jwt = await litNodeClient.getSignedToken({ + accessControlConditions, + chain, + authSig, +}); +``` + +You can then present this JWT to a server, which can verify it using the [`verifyJwt` function](https://js-sdk.litprotocol.com/functions/encryption_src.verifyJwt.html). diff --git a/docs/accessControl/otherChains/_category_.json b/docs/sdk/access-control/other-chains/_category_.json similarity index 100% rename from docs/accessControl/otherChains/_category_.json rename to docs/sdk/access-control/other-chains/_category_.json diff --git a/docs/accessControl/otherChains/cosmosConditions.md b/docs/sdk/access-control/other-chains/cosmos-conditions.md similarity index 100% rename from docs/accessControl/otherChains/cosmosConditions.md rename to docs/sdk/access-control/other-chains/cosmos-conditions.md diff --git a/docs/accessControl/otherChains/solRpcConditions.md b/docs/sdk/access-control/other-chains/sol-rpc-conditions.md similarity index 100% rename from docs/accessControl/otherChains/solRpcConditions.md rename to docs/sdk/access-control/other-chains/sol-rpc-conditions.md diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md new file mode 100644 index 00000000..f67aac78 --- /dev/null +++ b/docs/sdk/authentication/auth-sig.md @@ -0,0 +1,140 @@ +--- +sidebar_position: 2 +--- + +# Wallet Signatures + +An `AuthSig` is a wallet signature obtained from a user. Wallet signatures are required to communicate with the Lit Nodes and authorize requests. + +## Format of an `AuthSig` + +You can use any signature compliant with EIP-4361, also known as Sign in with Ethereum (SIWE), for the `AuthSig`. However, the signature must be presented in an `AuthSig` object formatted like so: + +```json +{ + "sig": "0x18720b54cf0d29d618a90793d5e76f4838f04b559b02f1f01568d8e81c26ae9536e11bb90ad311b79a5bc56149b14103038e5e03fee83931a146d93d150eb0f61c", + "derivedVia": "web3.eth.personal.sign", + "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a\n\nThis is a test statement. You can put anything you want here.\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: gzdlw7mR57zMcGFzz\nIssued At: 2022-04-15T22:58:44.754Z", + "address": "0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a" +} +``` + +In the `AuthSig` data structure: + +- `sig` is the signature produced by signing the `signedMessage` +- `derivedVia` is the method used to derive the signature (e.g., "web3.eth.personal.sign") +- `signedMessage` is the original message that was signed +- `address` is the public key address that was used to create the signature + +You can refer to the `AuthSig` type definition in the [Lit JS SDK Latest Version](https://js-sdk.litprotocol.com/interfaces/auth_browser_src.authsig.html). + +## Obtaining an `AuthSig` in the browser + +### Using `checkAndSignAuthMessage` + +The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. + +```js +import { checkAndSignAuthMessage } from '@lit-protocol/lit-node-client'; + +const authSig = await checkAndSignAuthMessage({ + chain: "ethereum", +}); +``` + +When called, `checkAndSignAuthMessage` triggers a wallet selection popup in the user's browser. The user is then asked to sign a message, confirming ownership of their crypto address. The signature of the signed message is returned as the `authSig` variable. + +The function also stores the `AuthSig` in local storage, removing the need for the user to sign the message again. However, if the signature expires or becomes too old, the user may be prompted to sign the message again. + +`checkAndSignAuthMessage` checks the currently selected chain in the user's wallet. If user's wallet supports it, the function sends a request to the user's wallet to change to the chain specified in the `checkAndSignAuthMessage()` function call. This ensures that the user is interacting with the correct blockchain network. + +### Using `signAndSaveAuthMessage` + +If you prefer to implement your own wallet selection interface, you can call the `signAndSaveAuthMessage()` function, which offers more customization. To use this function, pass in an instance of an [ethers.js `Web3Provider` object](https://docs.ethers.org/v5/api/providers/other/#Web3Provider), the wallet address, the chain ID, and the signature expiration time. + +```js +import { ethConnect } from '@lit-protocol/auth-browser'; + +const authSig = await ethConnect.signAndSaveAuthMessage({ + web3: web3Provider, + account: walletAddress, + chainId: 1, + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), +}); +``` + +:::note +Be sure to import `cosmosConnect` and `solConnect` for Cosmos and Solana respectively. +::: + +### Using EIP-1271 for Account Abstraction + +In general, smart contracts can't produce an `AuthSig` since they don't possess a private key. However, you can generate an `AuthSig` for smart contracts using [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271), a standard for verifying signatures when the account is a smart contract. + +Following the same data structure as above, you can format your smart contract `AuthSig` like so: + +- `sig` is the actual hex-encoded signature +- `derivedVia` must be "EIP1271" to inform the nodes that this `AuthSig` is for smart contracts +- `signedMessage` is any string that you want to pass to the `isValidSignature(bytes32 _hash, bytes memory _signature)` as the `_hash` argument +- `address` is the address of the smart contract + +:::note +The smart contract must implement the `isValidSignature(bytes32 _hash, bytes memory _signature)` function since the Lit Nodes will call this function to validate the `AuthSig`. Refer to the [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271) docs to understand the `isValidSignature` function. +::: + +You can present the smart contract `AuthSig` object to the Lit Nodes just like any other `AuthSig`. + +Check out this [**React** project](https://replit.com/@lit/Smart-Contract-Authsig-EIP1271#smart-contract-authsig/src/App.js) for an example of how to generate and use a smart contract `AuthSig`. + +### Clearing Local Storage + +If you want to clear the `AuthSig` stored in local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). + +## Obtaining an `AuthSig` on the server-side + +If you want to obtain an `AuthSig` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `AuthSig` object. + +```js +const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); +const { ethers } = require("ethers"); +const siwe = require('siwe'); + +async function main() { + // Initialize LitNodeClient + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs(); + await litNodeClient.connect(); + + // Initialize the signer + const wallet = new ethers.Wallet(''); + const address = ethers.utils.getAddress(await wallet.getAddress()); + + // Craft the SIWE message + const domain = 'localhost'; + const origin = 'https://localhost/login'; + const statement = + 'This is a test statement. You can put anything you want here.'; + const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: '1', + }); + const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + + const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, + }; + + console.log(authSig); +} + +main(); +``` diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md new file mode 100644 index 00000000..0ffcfa11 --- /dev/null +++ b/docs/sdk/authentication/overview.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 1 +--- + +# Overview + +To interact with the nodes in the Lit Network, you will need to generate and present signatures. Currently, there are two ways to do this: + +## Obtain an `AuthSig` + +A wallet signature, also referred to as `AuthSig`, is a signature that proves you own a particular public key. Learn more about wallet signatures [here](../../../sdk/explanation/authentication/auth-sig). + +## Generate `SessionSigs` (Recommended) + +Session signatures, or `SessionSigs`, are signatures that are scoped to specific capabilities and resources. For example, you can set up `SessionSigs` to permit only the encryption and decryption of data during a particular time frame. + +`SessionSigs` are designed to be ephemeral and limited in scope, allowing for fine-grained control and enabling secure, seamless interactions with any platform integrating Lit. Get started with `SessionSigs` [here](../../../sdk/explanation/authentication/session-sigs/intro). + +:::note + +`SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. + +::: diff --git a/docs/SDK/Explanation/authentication/security.md b/docs/sdk/authentication/security.md similarity index 100% rename from docs/SDK/Explanation/authentication/security.md rename to docs/sdk/authentication/security.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md new file mode 100644 index 00000000..5d615377 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -0,0 +1,157 @@ +# Adding and Removing Auth Methods + +Configure auth methods for your PKP using the [`@lit-protocol/contracts-sdk`](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) package. + +To write to the blockchain, the `LitContracts` instance must be created with a `ethers.Signer` that is authorized to sign transactions using the PKP. The [`@lit-protocol/pkp-ethers` package](https://js-sdk.litprotocol.com/modules/pkp_ethers_src.html) provides a convenient class, `PKPEthersWallet`, which can be used as a signer. + +## Initialize `PKPEthersWallet` + +`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../sdk/explanation/authentication/overview). + +```js +import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; + +const pkpWallet = new PKPEthersWallet({ + controllerAuthSig: "", + // Or you can also pass in controllerSessionSigs + pkpPubKey: "", + rpc: "https://chain-rpc.litprotocol.com/http", +}); +await pkpWallet.init(); +``` + +To view more constructor options for `PKPEthersWallet`, check out the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPEthersWalletProp.html). + +:::note + +**Passing `SessionSigs`** + +When generating session signatures for `PKPEthersWallet`, be sure to request the ability to execute Lit Actions by passing the following object in the `resourceAbilityRequests` array: + +```js +{ + resource: new LitActionResource('*'), + ability: LitAbility.LitActionExecution, +} +``` + +::: + +## Initialize `LitContracts` + +Create an instance of `LitContracts` and pass in your `PKPEthersWallet`. + +```js +import { LitContracts } from "@lit-protocol/contracts-sdk"; + +const litContracts = new LitContracts({ + signer: pkpWallet, +}); +await litContracts.connect(); +``` + +To view more constructor options for `LitContracts`, check out the [API docs](https://js-sdk.litprotocol.com/classes/contracts_sdk_src.LitContracts.html#constructor). + +## Construct the `AuthMethod` Object + +To add an auth method, you must pass an `authMethod` object, which should have the following properties: + +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../pkp/auth-helpers/overview#existing-supported-auth-methods). +- `id`: Bytes that represent a hash of a string that uniquely identifies the auth method +- `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) + +The auth method ID should be a hash of a string that uniquely identifies the auth method. For example, if adding Discord as an auth method, the auth method ID could be a hash of the Discord user ID and your Discord client ID. + +```js +import { utils } from "ethers"; + +// You can fetch the Discord user ID by calling the Discord API: https://discord.com/developers/docs/resources/user +const userId = ""; +// Upon creating a Discord application, you will be given a client ID: https://discord.com/developers/docs/topics/oauth2 +const clientId = ""; +// The id can be a hash of the Discord user ID and the Discord client ID +const authMethodId = utils.keccak256( + utils.toUtf8Bytes(`${user.id}:${this.clientId}`) +); +``` + +## Add an Auth Method + +Auth methods can be modified by interacting with the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol). To add an auth method, call the `addPermittedAuthMethod` function on the `PKPPermissions` contract. + +```js +const transaction = + await litContracts.pkpPermissionsContract.write.addPermittedAuthMethod( + "", + "", + [], + { gasPrice: utils.parseUnits("0.001", "gwei"), gasLimit: 400000 } + ); +const result = await transaction.wait(); +``` + +The `addPermittedAuthMethod` function takes the following arguments: + +- `tokenId`: The token ID of the PKP you want to add an auth method to +- `authMethod`: The auth method you want to add +- `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) + +## Remove an Auth Method + +To remove an auth method, call the `removePermittedAuthMethod` function on the `PKPPermissions` contract. + +```js +const transaction = + await litContracts.pkpPermissionsContract.write.removePermittedAuthMethod( + "", + "", + { gasPrice: utils.parseUnits("0.001", "gwei"), gasLimit: 400000 } + ); +``` + +The `removePermittedAuthMethod` function takes the following arguments: + +- `tokenId`: The token ID of the PKP you want to remove an auth method from +- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../pkp/auth-helpers/overview#existing-supported-auth-methods). +- `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove +- `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) + +## Estimating Gas + +To estimate of the amount of gas that would be required to add and remove auth methods, you can first mock the transaction using `populateTransaction` to create an unsigned transaction and then call `estimateGas` on the unsigned transaction. + +```js +// First, mock the transaction to add an auth method +const mockTransaction = + await litContracts.pkpPermissionsContract.write.populateTransaction.addPermittedAuthMethod( + "", + "", + [] + ); + +// Then, estimate gas on the unsigned transaction +const gas = await litContracts.signer.estimateGas(mockTransaction); + +// Now, you can use the gas value to set the gas limit +const transaction = + await litContracts.pkpPermissionsContract.write.addPermittedAuthMethod( + "", + "", + [], + { gasLimit: gas } + ); +``` + +## Fetch Auth Methods + +To check that the auth method was added or removed successfully, call the `getPermittedAuthMethods` function on the `PKPPermissions` contract. + +```js +const authMethods = + await litContracts.pkpPermissionsContract.read.getPermittedAuthMethods( + "" + ); +``` + +The `getPermittedAuthMethods` function returns an array of `authMethod` objects, each of which will include `authMethodType`, `id`, and `userPubkey` values. diff --git a/docs/pkp/authMethods/email-sms.md b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md similarity index 100% rename from docs/pkp/authMethods/email-sms.md rename to docs/sdk/authentication/session-sigs/auth-methods/email-sms.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/overview.md b/docs/sdk/authentication/session-sigs/auth-methods/overview.md new file mode 100644 index 00000000..08e571e2 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/auth-methods/overview.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +--- + +# Overview + +With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: + +- [Social Login (e.g., Google, Discord)](../../../../../sdk/explanation/authentication/session-sigs/auth-methods/social-login) +- [WebAuthn](../../../../../sdk/explanation/authentication/session-sigs/auth-methods/web-authn) +- [Email / SMS](../../../../../sdk/explanation/authentication/session-sigs/auth-methods/email-sms) + +Support for one-time passcodes (OTPs) through email and SMS is coming soon. + +By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management. + +:::note + +Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit JS SDK. + +::: \ No newline at end of file diff --git a/docs/pkp/authMethods/socialLogin.md b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md similarity index 100% rename from docs/pkp/authMethods/socialLogin.md rename to docs/sdk/authentication/session-sigs/auth-methods/social-login.md diff --git a/docs/pkp/authMethods/webAuthn.md b/docs/sdk/authentication/session-sigs/auth-methods/web-authn.md similarity index 100% rename from docs/pkp/authMethods/webAuthn.md rename to docs/sdk/authentication/session-sigs/auth-methods/web-authn.md diff --git a/docs/SDK/Explanation/authentication/sessionSigs/capability-objects.md b/docs/sdk/authentication/session-sigs/capability-objects.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/capability-objects.md rename to docs/sdk/authentication/session-sigs/capability-objects.md diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md new file mode 100644 index 00000000..e9447219 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -0,0 +1,83 @@ +--- +sidebar_position: 2 +--- + +# Generating SessionSigs + +You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. + +```javascript +import { LitNodeClient } from '@lit-protocol/lit-node-client'; +import { LitAccessControlConditionResource, LitAbility } from '@lit-protocol/auth-helpers'; + +// Create a new ethers.js Wallet instance +const wallet = new Wallet(process.env.YOUR_PRIVATE_KEY); + +// Instantiate a LitNodeClient +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: true, +}); +await litNodeClient.connect(); + +/** + * When the getSessionSigs function is called, it will generate a session key + * and sign it using a callback function. The authNeededCallback parameter + * in this function is optional. If you don't pass this callback, + * then the user will be prompted to authenticate with their wallet. + */ +const authNeededCallback = async ({ chain, resources, expiration, uri }) => { + const domain = "localhost:3000"; + const message = new SiweMessage({ + domain, + address: wallet.address, + statement: "Sign a session key to use with Lit Protocol", + uri, + version: "1", + chainId: "1", + expirationTime: expiration, + resources, + }); + const toSign = message.prepareMessage(); + const signature = await wallet.signMessage(toSign); + + const authSig = { + sig: signature, + derivedVia: "web3.eth.personal.sign", + signedMessage: toSign, + address: wallet.address, + }; + + return authSig; +}; + +// Create an access control condition resource +const litResource = new LitAccessControlConditionResource( + hashedEncryptedSymmetricKeyString +); + +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlDescription + } + ], + authNeededCallback, +}); +``` + +The `getSessionSigs()` function will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key to `getSessionSigs()` as the `sessionKey` param. + +In the example above, we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. + +## Resources You Can Request + +You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../../../../sdk/explanation/authentication/session-sigs/resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. + +When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../../../../sdk/explanation/authentication/session-sigs/capability-objects) about how to create custom session capability objects. + +## Clearing Local Storage + +If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md new file mode 100644 index 00000000..a0b1322f --- /dev/null +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -0,0 +1,122 @@ +--- +sidebar_position: 1 +--- + +# Session Signatures + +:::note + +`SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. + +::: + +We refer to a session signature obtained from the user via session keys as a `SessionSig`. + +`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. The first step to producing `SessionSigs` is to first obtain an `AuthSig` through an authentication method like Google OAuth (example [here](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L398)). By specifying the session keypair's public key in the signature payload of the `AuthSig` - the `uri` field of the SIWE - users can choose which specific actions to delegate to the session keypair for operating upon certain resources. + +The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. + +## Capability Objects + +Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. + +Read more [here](../../../../sdk/explanation/authentication/session-sigs/capability-objects) on the session capability objects that we use. + +## Format of `SessionSigs` + +Given the following example `AuthSig`: + +```json +{ + "sig": "0xef8f88fb285f006594637257034226923e3bbf7c6c69f8863be213e50a1c1d7f18124eefdc595b4f50a0e242e8e132c5078dc3c52bda55376ba314e08da862e21a", + "derivedVia": "web3.eth.personal.sign", + "signedMessage": "localhost:3000 wants you to sign in with your Ethereum account: + 0x5259E44670053491E7b4FE4A120C70be1eAD646b + + + URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a + Version: 1 + Chain ID: 1 + Nonce: ZfYjGsNyaDDFlaftP + Issued At: 2022-10-30T08:25:33.371Z + Expiration Time: 2022-11-06T08:25:33.348Z + Resources: + - urn:recap:eyJkZWYiOlsibGl0U2lnbmluZ0NvbmRpdGlvbiJdLCJ0YXIiOnsicmVzb3VyY2VJZCI6WyJsaXRFbmNyeXB0aW9uQ29uZGl0aW9uIl19fQ==", + "address":"0x5259E44670053491E7b4FE4A120C70be1eAD646b" +} +``` + +
+ +Here is an example `SessionSig` that uses a session keypair to sign the `AuthSig` above: + +```json +{ + "sig": "0196a7e5b8271e287fc376af3ae35955cac1009149b9b9eab4c5f8c845ca20658f937a42b7c03a8884573b801de1c36f9fa8a6d2f3ba432dc4326443c114c40c", + "derivedVia": "litSessionSignViaNacl", + "signedMessage": '{ + "sessionKey": "6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a", + "resourceAbilityRequest": [ + { + "resource": "lit-accesscontrolcondition://524a697a410a417fb95a9f52d57cba5fa7c87b3acd3b408cf14560fa52691251", + "ability": "access-control-condition-decryption" + } + ], + "capabilities": [{ + "sig": "0xef8f88fb285c0065946f7257034226923e3bbf7c6c69f8863be213e50a1c1d7f18124eefdc595b4f50a0e242e8e132c5078dc3c52bda55376ba314e08da862e21a", + "derivedVia": "web3.eth.personal.sign", + "signedMessage": "localhost:3000 wants you to sign in with your Ethereum account: + 0x5259E44670053491E7b4FE4A120C70be1eAD646b + + + URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a + Version: 1 + Chain ID: 1 + Nonce: ZfYjGsNyaDDFlaftP + Issued At: 2022-10-30T08:25:33.371Z + Expiration Time: 2022-11-06T08:25:33.348Z + Resources: + - urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly81MjRhNjk3YTQxMGE0MTdmYjk1YTlmNTJkNTdjYmE1ZmE3Yzg3YjNhY2QzYjQwOGNmMTQ1NjBmYTUyNjkxMjUxIjp7IiovKiI6W3t9XX19LCJwcmYiOltdfQo=", + "address":"0x5259E44670053491E7b4FE4A120C70be1eAD646b" + }], + "issuedAt": "2022-10-30T08:27:01.667Z", + "expiration": "2022-10-30T08:32:01.667Z", + "nodeAddress": "https://node2.litgateway.com:7370" + }', + "address": "6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a", + "algo": "ed25519" +} +``` + +
+ +Here is what each field means: + +- `sig` is the signature produced by the ed25519 keypair signing the `signedMessage` payload +- `derivedVia` should be `litSessionSignViaNacl` and specifies that the SessionSig object was created via the `NaCl` library. +- `signedMessage` is the payload that was signed by the session keypair. +- `address` is the session keypair public key. +- `algo` is the signing algorithm used to generate the session signature. + +### Signed Message + +Here is what each field in `signedMessage` means: + +- `sessionKey` is the session keypair public key. +- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](../../../../sdk/explanation/authentication/session-sigs/resources-and-abilities) about Lit Resources and Abilities. +- `capabilities` is an array of one or more AuthSigs. +- `issuedAt` is the time the SessionSig was issued. +- `expiration` is the time the SessionSig becomes invalid. +- `nodeAddress` is the specific URL the SessionSig is meant for. + +#### Capabilities + +The `capabilities` field is an array of one or more signatures. These capabilities authorize this AuthSig address to utilize the resources specified in the capabilities SIWE messages. These signatures would have the address from the top level AuthSig in their URI field. For example, notice the following in the AuthSig above: + +``` +URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a +``` + +#### Node Address + +The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. \ No newline at end of file diff --git a/docs/SDK/Explanation/authentication/sessionSigs/resources-and-abilities.md b/docs/sdk/authentication/session-sigs/resources-and-abilities.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/resources-and-abilities.md rename to docs/sdk/authentication/session-sigs/resources-and-abilities.md diff --git a/docs/sdk/authentication/session-sigs/usage.md b/docs/sdk/authentication/session-sigs/usage.md new file mode 100644 index 00000000..c7b044b1 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/usage.md @@ -0,0 +1,85 @@ +--- +sidebar_position: 3 +--- + +# Authenticate with SessionSigs + +Once you have obtained `SessionSigs`, you can replace where you provide an `AuthSig` with the `SessionSigs` object. Below are some examples using the Lit SDK. + +## Making Signing Requests + +```javascript +var unifiedAccessControlConditions = [ + { + conditionType: "evmBasic", + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "10000000000000", + }, + }, +]; + +// Retrieving a signature +let jwt = await litNodeClient.getSignedToken({ + unifiedAccessControlConditions, + sessionSigs, +}); +``` + +## Making Encryption Requests + +```javascript +var unifiedAccessControlConditions = [ + { + conditionType: "evmBasic", + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "10000000000000", + }, + }, +]; +const chain = "ethereum"; + +// encrypt +const { ciphertext, dataToEncryptHash } = + await LitJsSdk.zipAndEncryptString( + { + unifiedAccessControlConditions, + chain, + sessionSigs, + dataToEncrypt: "this is a secret message", + }, + litNodeClient, + ); + +sessionSigs = await LitJsSdk.getSessionSigs({ + chain, + litNodeClient, + resourceAbilityRequests: [] +}); + +const decryptedFiles = await LitJsSdk.decryptToZip( + { + unifiedAccessControlConditions, + chain, + sessionSigs, + ciphertext, + dataToEncryptHash, + }, + litNodeClient, +); +const decryptedString = await decryptedFiles["string.txt"].async( + "text" +); +console.log("decrypted string", decryptedString); +``` \ No newline at end of file diff --git a/docs/SDK/Explanation/authentication/sessionSigs/use-cases.md b/docs/sdk/authentication/session-sigs/use-cases.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/use-cases.md rename to docs/sdk/authentication/session-sigs/use-cases.md diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md new file mode 100644 index 00000000..f1bee992 --- /dev/null +++ b/docs/sdk/installation.md @@ -0,0 +1,164 @@ +--- +sidebar_position: 1 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Installation + +## Installing And Importing The SDK + + + + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```sh +yarn add @lit-protocol/lit-node-client +``` + +Use the **Lit JS SDK**: + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +``` + + + + + +```js + +``` + +If you decide to import the SDK with the script tag, we provide a web-ready package with the dependencies you need. You can use the SDK functions via `LitJsSdk_litNodeClient`, for example `LitJsSdk_litNodeClient.encryptString()` + + + + +Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: + +```sh +yarn add @lit-protocol/lit-node-client-nodejs +``` + +Use the **Lit JS SDK**: + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +``` + + + + +:::note +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +::: + +## Connection to the Lit Network + +The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. + +### SDK installed via yarn or the script tag (browser usage) + + + + +```js +const client = new LitJsSdk.LitNodeClient(); +await client.connect(); +window.litNodeClient = client; +``` + +In the **yarn / NPM** example: + +:::note + +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. You may also listen for the `lit-ready` event. + +In the code examples we make the `litNodeClient` available as a global variable so that it can be used throughout the web app. + +::: + + + + +```js +function litJsSdkLoaded() { + var litNodeClient = new LitJsSdk_litNodeClient(); + litNodeClient.connect(); + window.litNodeClient = litNodeClient; +} +``` + +In the **script tag** example: + +If you're using the script tag, you can put your own connection code in a `litJsSdkLoaded()` function and call it yourself with `onload=litJsSdkLoaded()`. + + + + +### SDK installed via yarn / NPM (NodeJS / serverside usage) + +In this example, we store the litNodeClient in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by Express for this purpose. You may have to use what your own server framework provides for this purpose, instead. + +```js +app.locals.litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, +}); +await app.locals.litNodeClient.connect(); +``` + +:::note +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. +::: + +### SDK installed via yarn / NPM (client side usage) + +Within a file (we like to call ours `lit.js`), set up your Lit object. + +```js +const client = new LitJsSdk.LitNodeClient() + +class Lit { + private litNodeClient + async connect() { + await client.connect() + this.litNodeClient = client + } +} +export default new Lit() +``` + +## Listening for the lit-ready event + +To listen for the "lit-ready" event which is fired when the network is fully connected: + +```js +document.addEventListener( + "lit-ready", + function (e) { + console.log("LIT network is ready"); + setNetworkLoading(false); // replace this line with your own code that tells your app the network is ready + }, + false +); +``` + +## Debug Logging and Lit Node Client configuration + +The `LitNodeClient` object has a number of config params you can pass, documented here: https://js-sdk.litprotocol.com/classes/lit_node_client_src.LitNodeClientNodeJs.html#config + +For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md new file mode 100644 index 00000000..da34fe53 --- /dev/null +++ b/docs/sdk/tests.md @@ -0,0 +1,123 @@ +--- +sidebar_position: 5 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Testing and Error Handling + +Currently we have manual tests that you can run in the browser in `manual_tests.html`. To run these, set up a HTTP server in the build folder. We use python for this with the built in SimpleHTTPServer module by running `python2 -m SimpleHTTPServer` and then going to `http://localhost:8000/manual_tests.html` in a browser. + +There is also an attempt at automated tests in the tests folder but running it with nodejs does not work because this project is bundled. An attempt at bundling the tests as well is in `esbuild-tests.js` which should work someday, but more work needs to be done. + +## SDK Error Handling + +Errors are thrown as exceptions when something has gone wrong. Errors are objects with a message, name, and errorCode. Possible codes are documented below. + + + + +|error code |reason | +|-|----| +|access_control_conditions_check_failed|The Lit nodes failed to check the condition. This means that the Lit nodes could not talk to the chain to check the condition. This could be because the RPC servers are down, or because the condition is making an incorrect smart contract call that reverts.| +|encrypted_symmetric_key_not_found|Could not find the encrypted symmetric key you passed in. You should have already called saveEncryptionKey which returned the encrypted symmetric key.| +|exp_wrong_or_too_large|When signing a JWT, the EXP is too large or wrong. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. +|iat_outside_grace_period|When signing a JWT, the IAT is outside the grace period. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. +|incorrect_access_control_conditions|The access control conditions you passed in do not match the ones that were set by the condition creator for this resourceId or encryptedSymmetricKey. +|invalid_auth_sig|The auth_sig passed to the nodes is invalid or could not be verified. Make sure that you are passing the correct auth_sig. +|invalid_unified_condition_type|In a unified access control condition, you passed an invalid `conditionType`. Check the docs to see what valid types [here](https://developer.litprotocol.com/docs/accesscontrolconditions/unifiedaccesscontrolconditions/). +|lit_node_client_not_ready|The Lit node client is not ready. This means that the Lit node client is not connected to the Lit network. You should run `await litNodeClient.connect()` before calling any other methods that use the Lit Node Client. +|missing_access_control_conditions|You must pass either access_control_conditions or evm_contract_conditions or sol_rpc_conditions, and you did not pass these things to the nodes. +|not_authorized|Thrown when the user does not have access to decrypt or is unauthorized to receive a JWT for an item. +|resource_id_not_found|Could not find the resource ID you passed in. You should have already called saveSigningCondition with the exact same resource ID. +|rpc_error|The Lit Node(s) could not complete the RPC call. This could be because the RPC servers are down, or because the RPC call is making an incorrect smart contract call that reverts. +|storage_error|An error occurred storing the condition. This usually means that you tried to update a permanent condition, or you tried to update a non-permanent condition from the wrong account. Only the creator of a condition can update it, and only if \"permanent\": false was originally passed in when storing the condition. +|wrong_network|The user is on the wrong network. For example, this may mean the user has ethereum selected in their wallet but they were trying to use polygon for the current operation. +|unknown_error|An unknown error has occurred. Please contact us on Discord to report this error.| + + + + +|error code |reason | +|-|----| +|NodeSystemFault|An internal node error occured. Please try again. If this error persists contact us on Discord.| +|NodeAccessControlConditionsCheckFailed|The provided Authsig doesn't meet the access conditions.| +|NodeEncryptedSymmetricKeyNotFound|The provided encryptedSymmetricKey doesn't exist.| +|NodeExpWrongOrTooLarge|The provided exp param is either expired or is too much in the future.| +|NodeIatOutsideGracePeriod|The provided iat param is either outside the grace_period or the issue time is in the future.| +|NodeAuthFailed|The authMethod isn't allowed for the provided PKP.| +|NodeInvalidAuthSig|The provided Authsig is invalid. Please ensure that the Authsig is in the required format as provided [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| +|NodeAuthSigNotSupported|Multiple Authsigs not supported for the function.| +|NodeInvalidEthereumSolanaAuthSig|Either the Authsig isn't provided or all the provided Authsigs are invalid.| +|NodeInvalidED25519AuthSig|The provided Authsig isn't Ed25519 compliant. Please ensure that the Authsig is in the required format as provided [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| +|NodeInvalidAuthSigSigningAlgo|The provided algo param in the sessionSigs isn't supported. The ONLY supported algo is "ed25519".| +|NodeInvalidUnifiedAuthSig|Either no Authsig is provided in the unified conditions or all the provided Authsigs in the are invalid.| +|NodeInvalidEthereumAuthSig|Either no Ethereum Authsig isn't provided or is invalid.| +|NodeInvalidCosmosAuthSig|Either no Cosmos Authsig isn't provided or is invalid.| +|NodeInvalidCosmosSDKSignature|Invalid chain for the provided Cosmos signature. The ONLY supported chains are "cosmos" & "kyve".| +|NodeInvalidKyveAuthSig|Either no Kyve Authsig isn't provided or is invalid.| +|NodeInvalidSolanaAuthSig|Either no Solana Authsig isn't provided or is invalid.| +|NodeAuthSigAddressConversionError|Couldn't convert the Authsig address to Ethereum address. Please ensure that the Authsig address is Ethereum compliant.| +|NodeConditionAddressConversionError|Couldn't convert the provided accessControlCondition param from hex string to bytes.| +|NodeConditionTokenIdParsingError|Couldn't parse the provided accessControlCondition's tokenId. Please look at the returned error for more info.| +|NodeInvalidIPFSID|Invalid IPFS CID.| +|NodeAuthSigSignatureConversionError|Invalid Authsig.sig param. Please look at the returned error for more info & ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| +|NodeAuthSigSessionKeyConversionError|Invalid Authsig.address param. Please look at the returned error for more info ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| +|NodeAuthSigSignedMessageConversionError|Invalid Authsig.signedMessage param. Please look at the returned error for more info ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| +|NodeInvalidAuthSigSessionKeySignature|The provided sessionSig is invalid. Please look at the error for more info.| +|NodeMissingAccessControlConditions|No Access Control Condition provided. You have to provide at least one of the accessControlCondition, evmContractConditions, solRpConditions| +|NodeNotAuthorized|The Lit node requested isn't a validator in the current epoch. Please try again. If this error persists contact us on Discord.| +|NodeResourceIdNotFound|Invalid resourceId param.| +|NodeRpcError|Error making the call to RPC url for the passed chain param. Please ensure that the contract call that you're making is correct including the contract address & it's passed params. Especially ensure the correctness of the functionAbi if you're using Custom Contract calls.| +|NodeStorageError|An error occured while storing the encryption condition. Please look at the returned error for more info.| +|NodeWrongNetwork|Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../resources/supported-chains/)| +|NodeHTTPConversionError|Internal error with the RPC url for the provided chain param. Please try again. If this error persists contact us on Discord.| +|NodeUnknownError|An unknow error occured. Please try again. If this error persists contact us on Discord.| +|NodeParserError|Error parsing a provided param. Please look at the returned error for more info.| +|NodeSIWECapabilityInvalid|Either the SIWE capability param isn't provided or is invalid. Please look at the returned error for more info.| +|NodeSIWECapabilityActionInvalid|Invalid SIWE capability's permittedAction param. Please look at the returned error for more info.| +|NodeSIWESigConversionError|Invalid SIWE capability's sig param. Please look at the returned error for more info.| +|NodeSIWESessionKeySignatureInvalid|session.pubkey isn't signed in the wallet-signed SIWE message.| +|NodeBlockchainError|Error making an on-chain call. Please look at the returned error for more info.| +|NodeBlockchainChainUnknown|Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../resources/supported-chains/)]| +|NodeWalletSignatureJSONError|Error parsing Authsig. Please look at the returned error for more info.| +|NodePOAPJSONError|Internal error parsing POAP as a JSON. Please try again. If this error persists contact us on Discord.| +|NodeCosmosJSONError|Error parsing Cosmos result. Please ensure that the Cosmos condition passed is correct.| +|NodeSIWEMessageError|Invalid SIWE message. Please look at the returned error for more info.| +|NodeInvalidSIWEResource|Invalid SIWE resource params. Please look at the returned error for more info.| +|NodeInvalidSIWESpecialParam|Invalid SIWE special resource params. Please look at the returned error for more info.| +|NodeSIWESpecialParamAddressConversionError|The passed SIWE special param ":userAddress" is invalid. Ensure that the passed address is Ethereum compatible.| +|NodeInvalidACCReturnValueTest|Invalid returnValueTest. Please look at the returned error for more info.| +|NodeRecoveryIdError|Invalid "recovery id" for Cosmos. Please ensure the correctness of the Cosmos Authsig.| +|NodeCosmosResponseBodyError|Invalid Cosmos access control conditions.| +|NodeMismatchParameters|Number of function params doesn't match the number of the condition params.| +|NodeConditionTokenizingError|The substituted param isn't compatible with the function param. Please look at the returned error for more info.| +|NodeInvalidConditionTokenType|Invalid comparison with returned EVM token. Please look at the returned error for more info.| +|NodeTokenEncodingDecodingError|Error with the accessControlConditions involving EVM token. Please look at the returned error for more info.| +|NodeInvalidSolanaRpcMethod|Unsupported Solana RPC method. The ONLY supported solanaRPCMethods are: "getBlock", "getBalance", "getAccountInfo", "getTokenAccountBalance", "getTokenAccountsByDelegate", "getTokenAccountsByOwner", "getHealth".| +|NodeInvalidMetaplexCollectionAddress|Incorrect Metaplex collection address.| +|NodeSolanaNFTMetadataError|Unable to retrieve metadata for the Solana NFT. Please ensure the correctness of the solRpcConditions.| +|NodeTimestampConversionError|Error converting Rate Limiting timestamp to u64. Please try again. If this error persists contact us on Discord.| +|NodeOfflinePublicKeyConversionError|Internal error with ECDSA publicKey. Please try again. If this error persists contact us on Discord.| +|NodeUpdatePermanentCondition|Can't update permanant encryption condition!| +|NodeInvalidUpdatingUser|Only the user can update the encryption condition. You're not the user!| +|NodeTooManyConditions|Number of provided accessControlCondition exceeds the maximum permitted value of 30.| +|NodeActionNotAllowed|Lit Action isn't allowed to be executed. You have to permit the Lit Action first to execute it on the nodes.| +|NodeJsExecutionError|Error executing code on the Lit nodes. Note, the maximum execution time for a code is 1s, the nodes will time out after this. Please try again. If this error persists contact us on Discord.| +|NodeBlsNoKeyGenError|Internal error with BLS keygen. Please try again. If this error persists contact us on Discord.| +|NodeBlsWrongKeyGenEpochError|Internal error with BLS epoch sync. Please try again AFTER a while. If this error persists contact us on Discord.| +|NodeContractFunctionParamsEncodingError|Couldn't encode the provided Authsig into the isValidSignature function. Please ensure that it is compatible with the isValidSignature params.| +|NodeContractAuthsigUnauthorized|EIP1271 Authsig failed for the passed Authsig.| + + + +## Wallet Error Handling + +MetaMask and other wallets throw errors themselves. The format for those exceptions can be found [here](https://docs.metamask.io/guide/ethereum-provider.html#errors). diff --git a/docs/pkp/authMethods/authHelpers.md b/docs/sdk/wallets/auth-methods.md similarity index 94% rename from docs/pkp/authMethods/authHelpers.md rename to docs/sdk/wallets/auth-methods.md index 1c321b31..9b2db976 100644 --- a/docs/pkp/authMethods/authHelpers.md +++ b/docs/sdk/wallets/auth-methods.md @@ -1,11 +1,7 @@ ---- -sidebar_position: 1 ---- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Overview +# Auth Methods Authentication methods are ways of asigning Programmable Key Pairs (PKP) to a specific account resource. This requires individuals to authenticate before performing operations requiring a PKP. This is a powerful feature of the Lit network as it means users can sign up for a wallet the same way they sign up for other types of digital resources, thus lowering the barrier to accessing web3 enabled applications. @@ -27,11 +23,14 @@ Several auth methods are supported by Lit directly. These include methods config | ADDRESS | 1 | An Ethereum address. As long as the user presents an AuthSig with this address, they can sign using the PKP. | | ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | | WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | -| DISCORD | 4 | Discord Oauth Login | -| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | -| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | +| DISCORD | 4 | Discord Oauth Login | +| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | +| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | | One Time Password (OTP) | 7 | Email / SMS Login, verification services provides a JWT, this is token will be within the auth method, this token is verified within the nodes when requesting a session signature | +Check out the implementation details within the SDK section [here](../../sdk/authentication/session-sigs/auth-methods/overview). + + ### Adding a Permitted Address You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. @@ -46,7 +45,7 @@ After a PKP is generated and assigned an auth method, you can pass the AuthMetho The PKP public key is required to initialize a new 'wallet' object when using [Lit and WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect/blob/main/components/CallRequest.js#L44) together. -You will also need the PKP public key in order to generate a [sessionSig](/SDK/Explanation/authentication/sessionSigs) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). +You will also need the PKP public key in order to generate a [sessionSig](../../sdk/authentication/session-sigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). ## Custom Auth @@ -56,9 +55,9 @@ If you decide to use your own auth, you can still use the PKPPermissions contrac ## How does authentication differ from authorization? -Authorization refers to an [auth signature](/SDK/Explanation/authentication/authSig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. +Authorization refers to an [auth signature](../../sdk/authentication/auth-sig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. -In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](/SDK/Explanation/authentication/sessionSigs#obtaining-the-sessionsig-when-user-doesnt-have-a-wallet). The flow is as follows: +In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](../../sdk/authentication/session-sigs/auth-methods/overview). The flow is as follows: 1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. 2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. @@ -66,8 +65,6 @@ In the case that a user doesn’t own a wallet (and therefore cannot produce a v ## Authentication Helpers -When you call a Lit Action, you may pass Auth Methods that should be resolved. These could be things like a WebAuthn (Apple Passkey) signature, or an oauth token from a service like Discord or Google. You can see an example of this here. - Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pre-populated with the resolved Auth Methods, and a few other items. For example, if you pass a Google Oauth Token, then the Lit Nodes will resolve the Oauth Token into a user ID and application ID and those will be available to you in `Lit.Auth`. `Lit.Auth` has the following members: - actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. diff --git a/docs/sdk/wallets/conditional-signing.md b/docs/sdk/wallets/conditional-signing.md new file mode 100644 index 00000000..21ba6f3a --- /dev/null +++ b/docs/sdk/wallets/conditional-signing.md @@ -0,0 +1,95 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Conditional Signing + +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for [generating proofs](/LitActions/intro#proofs). This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. + +The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. + +```js +import * as LitJsSdk from '@lit-protocol/lit-node-client'; + +// this code will be run on the node +const litActionCode = ` +const go = async () => { + // test an access control condition + const testResult = await Lit.Actions.checkConditions({conditions, authSig, chain}) + + console.log('testResult', testResult) + + // only sign if the access condition is true + if (!testResult){ + return; + } + + // this is the string "Hello World" for testing + const toSign = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]; + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + const sigShare = await LitActions.signEcdsa({ toSign, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1" }); +}; + + + +go(); +`; + +// you need an AuthSig to auth with the nodes +// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) +const authSig = { + sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", + derivedVia: "web3.eth.personal.sign", + signedMessage: + "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", + address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", +}; + +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + litNetwork: "serrano", + }); + await litNodeClient.connect(); + const signatures = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + jsParams: { + conditions: [ + { + conditionType: "evmBasic", + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1", + }, + }, + ], + authSig: { + sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", + derivedVia: "web3.eth.personal.sign", + signedMessage: + "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", + address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", + }, + chain: "ethereum", + }, + }); + console.log("signatures: ", signatures); +}; + +runLitAction(); +``` + +## Example Project: Conditional Signing + +Below is an example project demonstrating how to program a conditionally signed response using Lit Actions. + +The app will display the returned JSON if Ether balance >= Min balance entered AND if you signed the transaction within 2 mins of the set time. + +Here is the complete [**React** project](https://replit.com/@lit/Lit-Actions-Conditional-Signing#lit-actions_sign_api_response/src/App.js). + + \ No newline at end of file diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md new file mode 100644 index 00000000..eaadca28 --- /dev/null +++ b/docs/sdk/wallets/intro.md @@ -0,0 +1,47 @@ +# Introduction + +:::note +PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! + +Need some `LIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ + +**PKP Developer Preview is Live!** +Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) + +::: + +## Quick Start + +Ready to jump right in? Quickly learn how you can integrate Programmable Key Pairs (PKPs) into your own product: + +1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) +2. Resource: [Testnet Faucet](https://chronicle-faucet-app.vercel.app/) +3. Concept: [Assigning an Authentication Method](../pkp/auth-methods/auth-helpers) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) +4. SDK Package: [Using PKPs as Wallets](../pkp/usage) + +## Overview + +Each Programmable Key Pair (PKP) is a versatile [MPC wallet](../resources/pkps-as-wallet) that can be utilized by developers to: + +1. Provide users of web3 with seamless, ["seed-phraseless" onboarding](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) experiences. +2. Facilitate transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. +3. Build fully [decentralized application backends](../resources/pkps-and-actions#why-is-this-useful). + +## Features + +1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: [Lit Actions](../lit-actions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](../automated-portfolio-rebalancing-uniswap/), handling [authentication](../pkp/auth-helpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](../lit-actions/working-with-actions/conditional-signing). +3. Atomicity: Using [Mint/Grant/Burn](../pkp/pkps-and-actions#using-mintgrantburn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. +4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. +5. Interoperable: Use [WalletConnect](../pkp/walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. + +## Examples and Use Cases + +PKPs can be used to power a wide array of potential applications and use cases: + +1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) with Multi-Factor Authentication +2. [Signing Automation](../lit-actions/working-with-actions/single-execution#event-listening) and [Conditional Transaction Execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) +3. [Automated Credential Issuance](https://spark.litprotocol.com/krebitxlitactions/) +4. [Versatile Web3 Wallets](https://github.com/DustilDawn/Magic) +5. [Cross-Chain Messaging and Swaps](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/) +6. [Signer on an AA Wallet](https://spark.litprotocol.com/account-abstraction-and-mpc/) \ No newline at end of file diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md new file mode 100644 index 00000000..12843a11 --- /dev/null +++ b/docs/sdk/wallets/minting.md @@ -0,0 +1,41 @@ +# Minting a PKP + +## Mint via Contracts + +You can mint an NFT from our PKP contract on Chronicle - Lit's custom EVM rollup testnet - [here](https://explorer.litprotocol.com/mint-pkp). This NFT represents the root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. + +You can also use our handy auth helper contract on Chronicle [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and you can find the contract addresses [here](https://explorer.litprotocol.com/contracts). + +## Mint via Social + +You can mint a PKP by presenting a valid OAuth token as an authentication method to the Lit Relay server. Currently, only Google OAuth tokens are supported, but we plan to support Discord in the near term. + +Read more about this process [here](../pkp/auth-helpers/add-remove-auth-methods). + +## Mint via Email / SMS (OTP) + +You can mint a PKP by presenting a generated token from sucessful OTP code confirmation, which will be returned by the `lit-auth-client` in the `AuthMethod` return from successful code confirmation. +Read more [here](sdk/explanation/authentication/session-sigs/auth-methods/email-sms.md). + +## Mint via WebAuthn + +You can mint a PKP by presenting a valid WebAuthn credential generated by your browser to the Lit Relay server. + +We have a frontend that helps with this process at https://pkp-walletconnect.vercel.app/. + +We currently support both username-based and username-less WebAuthn registration, and usernames are purely used for your convenience / reference on the client-side. + +### Technical Details + +#### Contract Specifics + +- The `authMethodId` is derived from the credential's [rawId](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-rawid) parameter. +- The `authMethodPubkey` is the [COSE credential public key](https://datatracker.ietf.org/doc/html/rfc8812). **We currently only support Elliptic Curve COSE Key Type IDs**. + +#### Relying Parties and Supported Origins + +In order to allow for various frontends to integrate with our platform, we plan to support any domain to act as a [Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party) in the long run. However, we are in the process of slowly rolling out this authentication method currently maintain an allowlist of origins / domains that can integrate with the Lit network. + +#### Challenge-Free Registration + +We do not currently use [challenges](../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md new file mode 100644 index 00000000..183f42a5 --- /dev/null +++ b/docs/sdk/wallets/walletconnect.md @@ -0,0 +1,112 @@ +# Connecting PKPs to dApps + +Leverage Lit Protocol and WalletConnect V2 to seamlessly connect PKPs to hundreds of dApps. WalletConnect enables secure communication between wallets and dApps through QR code scanning and deep linking. With WalletConnect, PKPs act as MPC wallets, interacting with dApps without ever exposing private keys. + +To connect a PKP and a dApp, you will need to: + +1. Create a `PKPClient` +2. Initialize `PKPWalletConnect` with the `PKPClient` +3. Subscribe and respond to events + +## 1. Create a `PKPClient` + +`PKPClient` represents a PKP and initializes signers for use across multiple blockchains (note: EVM-only at the moment). + +```js +import { PKPClient } from '@lit-protocol/pkp-client'; + +const pkpClient = new PKPClient({ + controllerAuthSig: '', + // Or you can also pass in controllerSessionSigs + pkpPubKey: '', +}); +await pkpClient.connect(); +``` + +The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../sdk/explanation/authentication/overview). + +To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). + +## 2. Initialize `PKPWalletConnect` with the `PKPClient` + +`PKPWalletConnect` wraps [`@walletconnect/web3wallet`](https://docs.walletconnect.com/2.0/web/web3wallet/wallet-usage) to manage WalletConnect session proposals and requests using the given PKPClient. + +```js +import { PKPWalletConnect } from '@lit-protocol/pkp-walletconnect'; + +const config = { + projectId: '', + metadata: { + name: 'Test Lit Wallet', + description: 'Test Lit Wallet', + url: 'https://litprotocol.com/', + icons: ['https://litprotocol.com/favicon.png'], + }, +}; +const wcClient = new PKPWalletConnect(); +await wcClient.initWalletConnect(config); +wcClient.addPKPClient(pkpWallet) +``` + +## 3. Subscribe and respond to events + +### Session Proposal + +Once the WalletConnect client is initialized, the PKP is ready to connect to dApps. The dApp will request to connect to your PKP through a session proposal. To respond to session proposals, subscribe to the `session_proposal` event. + +```js +pkpWalletConnect.on('session_proposal', async (proposal) => { + console.log('Received session proposal: ', proposal); + + // Accept session proposal + await pkpWalletConnect.approveSessionProposal(proposal); + + // Log active sessions + const sessions = Object.values(pkpWalletConnect.getActiveSessions()); + for (const session of sessions) { + const { name, url } = session.peer.metadata; + console.log(`Active Session: ${name} (${url})`); + } +}); +``` + +To trigger the session proposal, visit any WalletConnect V2 compatible dApp to obtain an URI. For an example, navigate to WalletConnect's [test dApp](https://react-app.walletconnect.com/), choose 'Ethereum' network, and click "Connect". A "Connect wallet" modal should appear with a copy icon located at the top right. Click on the icon to copy the URI. + +```js +// Pair using the given URI +await pkpWalletConnect.pair({ uri: uri }); +``` + +### Session Request + +Once the session proposal is approved, the dApp can then request your PKP to perform actions, such as signing, via a session request. To acknowledge and respond to these session requests, set up an event listener for the `session_request` event. + +```js +pkpWalletConnect.on('session_request', async (requestEvent) => { + console.log('Received session request: ', requestEvent); + + const { topic, params } = requestEvent; + const { request } = params; + const requestSession = signClient.session.get(topic); + const { name, url } = requestSession.peer.metadata; + + // Accept session request + console.log( + `\nApproving ${request.method} request for session ${name} (${url})...\n` + ); + await pkpWalletConnect.approveSessionRequest(requestEvent); + console.log( + `Check the ${name} dapp to confirm whether the request was approved` + ); +}); +``` + +## Using `SignClient` + +The `@lit-protocol/pkp-walletconnect` library exposes base functionality needed to pair PKPs to dApps, approve and reject session proposals, and respond to session requests. For extended capabilities, you can retrieve WalletConnect's `SignClient` from the `PKPWalletConnect` instance. + +```js +const signClient = pkpWalletConnect.getSignClient(); +``` + +Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. \ No newline at end of file diff --git a/docs/Support/_category_.json b/docs/support/_category_.json similarity index 100% rename from docs/Support/_category_.json rename to docs/support/_category_.json diff --git a/docs/Support/bugBounty.md b/docs/support/bug-bounty.md similarity index 100% rename from docs/Support/bugBounty.md rename to docs/support/bug-bounty.md diff --git a/docs/support/faq.md b/docs/support/faq.md new file mode 100644 index 00000000..aae3def9 --- /dev/null +++ b/docs/support/faq.md @@ -0,0 +1,229 @@ +--- +sidebar_position: 2 +--- + +# FAQ + +## General Questions + +### 1. Does the SDK work with Typescript? + +Yes, you can find the latest Lit JS SDK version [here](https://github.com/LIT-Protocol/js-sdk). The older JavaScript library [lit-js-sdk](https://github.com/LIT-Protocol/lit-js-sdk) has been deprecated as of March 2023. + +### 2. Are there fees for using Lit? What about rate limits? + +Currently access control conditions aren’t very expensive in terms of compute & storage, so we’ve been working under the premise that the “artificial” rate limiting of web3 (i.e., RPC endpoints aren’t lightning fast right now) will provide all users with an equal opportunity of excellent network performance. Our payment model, when it becomes active, is predicated on payment being made to store access control conditions - not to read & evaluate them. + +So while we don’t have plans for access control rate limiting yet, it could help with scaling up; Lit could envision a project that stores a single access control conditions, and then effectively attempts to “read” it a thousand times a second … obviously this starts to add up, and takes from other projects. This could create a rate limiting scenario - though we’d prefer to scale up first! + +In the end, rate limiting (if applied correctly and in good faith!) is a reasonable economic measure that falls into the web3 ethos of paying for what gets used - and only what gets used. 🙂 + +
+ +## Auth Sigs & Session Sigs + +### 1. Can’t use checkAndSignAuthMessage in a backend project? + +`checkAndSignAuthMessage` can only be used in browsers as it pops up Metamask or other crypto wallets for you to sign & generate the Authsig. In a backend project, you have to use hot wallet signing to generate the AuthSig. Check out this project: https://github.com/LIT-Protocol/hotwallet-signing-example/blob/main/sign.js + +### 2. My AuthSig was working before but now I get the error: Error getting auth context: Signature is not valid + +We’ve enforced [EIP-55](https://eips.ethereum.org/EIPS/eip-55) compliance so now it’s necessary to use a SIWE message if you’re using hot wallet signing. + +### 3. Why don’t I get a MetaMask popup for signing? + +The signature is stored in your browser local storage for convenience. You can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html) to delete it from the local storage. + +### 4. How would this work if we wanted to use a custodial wallet instead? + +With a custodial wallet, there is no need to store the signature. the reason it's stored is to prevent the user from having to sign the MetaMask popup a dozen times if they're doing a dozen operations. but with a custodial wallet, there is no MetaMask popup, so you can just create the signature fresh each time. + +
+ +## PKPs & Lit Actions + +### 1. What is the difference between authorization and authentication? + +An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. + +Authorization is through auth signatures - an auth sig is always required when making a request to Lit, whether it be decrypting some piece of content or sending a transaction with a PKP. + +### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? + +You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../access-control/evm/basic-examples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. + +We are currently working on implementing a more direct solution for using Lit Actions and ACCs together, allowing users to define ACCs that provision access based on the result of any Lit Action. This will enable the generation of more complex ACCs and the use of off-chain data in your conditions. + +Before this solution has been released (ETA ~1 month) make sure you set the expiration time in the SIWE Auth Sig to something short so that the user can't take it and pass it around to others who shouldn’t have access. + +### 3. How to get the BTC address for a PKP? + +There are 2 ways of getting the BTC address associated with a PKP. First, you may get it from the [PKP Explorer](https://explorer.litprotocol.com/pkps). If you want that programmatically you may use the public key of the PKP to get the BTC address as demonstrated below: + +```js +import * as bitcoinjs from "bitcoinjs-lib"; + +if (publicKey.startsWith("0x")) { + publicKey = publicKey.slice(2); +} +pubkeyBuffer = Buffer.from(publicKey, "hex"); + +// get the btc address from the public key +const pkpBTCAddress = bitcoinjs.payments.p2pkh({ + pubkey: pubkeyBuffer, +}).address; +``` + +### 3. "Internal JSON-RPC error" When attempting to mint a PKP +You must have `Lit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. + +### 4. “Error: Invalid arrayify value”upon passing IPFS CID to functions (isPermittedActions, etc.) while interacting with PKPPermissions contract? + +The error is because the expected data type for IPFS CID in the contract is bytes. You have to use the conversion function below to convert your IPFS to bytes: + +```js +function getBytesFromMultihash(ipfsId) { + const decoded = bs58.decode(ipfsId); + + return `0x${Buffer.from(decoded).toString("hex")}`; +} +``` + +### 5. How to import an npm package inside a LitAction? + +You have to use `esbuild` to create a bundle & use that. See example [here](https://github.com/LIT-Protocol/js-serverless-function-test/tree/main/bundleTests/siwe). + +### 6. I’ve permitted LitAction for my PKP, do I still need to pass a valid authSig? + +Yes, the AuthSig is required to authenticate with the nodes. If you pass an empty object, the nodes will throw an error. You can use a global AuthSig if it’s not being used for auth hence it can be made available to all the users. Alternatively you may produce an AuthSig on the fly using hot wallet signing. + +### 7. What should be the value of keyType when interacting directly with the PKPNFT Contract? + +The value should be `2` as it represents ECDSA which supports the PKP. + +### 8. I want to understand how the PKP works internally. + +Check out our [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/) on how authentication works with PKPs. + +### 9. Can I use PKP to sign/send transactions as a regular Ethers Wallet object? + +Yes, please check out the [pkp-ethers package](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-ethers). + +### 10. But how can I use Ethereum JSON RPC requests for signing and sending transactions? + +Check out this PKP x WalletConnect example [here](https://github.com/LIT-Protocol/pkp-walletconnect) to see how one can use PKP to connect to dApps and sign and send Ethereum requests through WalletConnect. + +### 11. Is Web Assembly supported in LitActions? + +Yes! Check out this [sample project.](https://github.com/dOrgJelli/lit-protocol-wasm-test/blob/d4b8873f9a5bceaf98e7f7a1bf325bf597cbfa40/src/App.js#L6-L51.) + +
+ +## Access Control & Encryption + +### 1. Can more than one condition be added for access control? + +Yes! See [boolean logic](../access-control/condition-types/boolean-logic) for examples. + +### 2. What’s the maximum number of accessControlConditions allowed at once? + +30 + +### 3. Where can I save the ciphertext & dataToEncryptHash? + +The Lit network doesn’t store these encrypted contents for you. You can store these anywhere you want; in a database, in an on-chain smart contract, IPFS, anywhere else you like. + +### 4. How to construct an accessControlCondition to authorize only a specific wallet address? + +Check out the solution [here](../access-control/evm/basic-examples#a-specific-wallet-address). + +### 5. How to use a time-lock based accessControlCondition? + +Check out the solution [here](../access-control/evm/timelock). + +
+ +## Design Patterns + +### 1. How to allow only permitted users to execute a LitAction? + +Use the `PKPPermission.addPermittedAddress()` to allow only specific users to execute a LitAction. Note, this will allow these users to execute any LitAction. + +For other permissions, please see the contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol). + +### 2. How to allow permitted users to execute only specific LitActions? + +Assign the PKP to itself as we don’t want the PKP owner to arbitrarily change the functioning of the LitAction. Use the PKPHelper.`mintNextAndAddAuthMethods()` for that & to initially setup allow only specific IPFS CIDs to execute. + +But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction, can fetch it from there or put that in the LitAction itself and use `conditional-signing` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../lit-actions/working-with-actions/conditional-signing). + +### 3. But I want to upgrade the permitted lit-actions/users? + +Since the PKP is assigned to itself in the setup stage as described above, we can’t directly permit any new users/LitActions. Thus we have to lay down the upgrade logic in the LitAction itself. We can have an admin user that can satisfy the update AuthSig check & upgrade the LitAction to a new IPFS CID which will have the new permitted addresses/code. + +### 4. I want to create multiple different AuthSigs but don't want my users to sign multiple times? + +Firstly, if you are using Lit in a browser, the AuthSig is stored in its local storage so you don’t need to sign multiple times as the stored AuthSig will be used subsequently. This design pattern is specifically applicable to when you want to sign different SIWE resources or messages which is generally required in [Custom Contract Calls](https://developer.litprotocol.com/coreConcepts/access-control/evm/custom-contract-calls#using-siwe-params-in-custom-contract-calls). + +For different resources you’ll be required to sign each time since the signed message is different. One way to get around this is to use a PKP to do the signing for you. This is how it works: The user owns a PKP & uses it to sign a message in a LitAction with `Lit.Actions.signEcdsa()`. Then return all the sigShares from the LitAction to the app. Here the user can loop through & craft AuthSigs for each returned sigShare and process the required access control operation like decryption. Another way is to return the crafted AuthSigs from the LitActions directly. + +### 5. Out of the above two approaches, which one is preferred? + +A key point to note here is that the LitAction can execute only for 60 seconds after which it times out. Hence it makes sense to reduce complexity in the LitActions code. Also if you want to create a lot of AuthSigs process those in batches. This will require multiple calls to execute the LitAction. You may also parallelize these promises using a package like [p-queue](https://www.npmjs.com/package/p-queue). + +
+ +## Security & Trust Implications + +### 1. What encryption algorithm are you using? AES? + +Yes. AES-GCM webcrypto for the symmetric encryption. then that key is encrypted to the Lit network's BLS public key. the BLS private key shares are used by the nodes to decrypt. + +### 2. How does Lit handles key management? + +There is only one key, created with distributed key generation. The nodes all know the public key but nobody knows the whole private key. + +### 3. What's to prevent a Lit node operator from discovering all the symmetric keys stored on the network and being able to decrypt anything? + +**(cont'd) It says that it uses BLS threshold signatures so that the decryption key is split into multiple pieces, but that doesn't really totally explain how the key management works? How nodes learn about the various keys being managed by the network? How you prevent one node operator from accumulating all the component keys needed to reconstruct any of the symmetric decryption keys?** + +Each node only holds a private key share. When a user wants to decrypt something, he presents the thing to decrypt, and proof that he meets the conditions (a wallet signature). Each node independently checks that the user meets the condition with a RPC call to an ETH node. If the user meets the condition, the node uses its private key share to create a decryption share. The user collects the decryption shares and accumulates them above the threshold, and is then able to decrypt the content. + +So, you can see, the nodes don't talk to each other when decrypting the content. Each node's private key share never leaves the node. + +### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? Or is each key fragment tied to a single node lifetime? + +**(cont'd) If the latter, then doesn't that mean that there's no redundancy on the key fragments and you're very susceptible to nodes going offline? Like if too many nodes go offline then you might no longer have enough key fragments in the online nodes to decrypt some pieces of content?** + +Right now, we're running all the nodes, so the nodes and shares don't change. soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. we use a process called proactive secret sharing to share the private key shares with new nodes as they come online. the shares given to new nodes are incompatible with any nodes that have left the network. we use threshold encryption with a 2/3 threshold so redundancy is built in. + +### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? + +In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node. so, you can do the math there to figure out the cryptoeconomic guarantees depending on the number of nodes and the staking cost, which are parameters we will tune. We also intend to use probabilistic guarantees that make it difficult for a given node operator to actually know which private key shares they have and which public keys they correspond to. Meaning, a node operator doesn't actually know what stuff the key share they are holding will unlock. the goal here is to make it difficult to amass 2/3 of the private key shares for a given private key. + +### 6. Orphaned and unreachable data due to nodes rotating + +**(cont'd) Even with the redundancy that 2/3 threshold encryption gives you, that's 2/3 of the number of shares at the time of the encryption right? So over a long enough time horizon, isn't it fairly likely that after a few years you'll have had enough nodes rotate off the network that more than a third of the shares for some early content encrypted by the network are now lost, leaving that data orphaned and unable to ever be decrypted?** + +Nope! you're probably thinking of shares in the context of shamir's secret sharing? We use threshold encryption which is different. Nodes all share one big private key generated via a distributed key generation operation. Nobody knows the whole private key. As nodes join and leave the network, through a process called proactive secret sharing, the private key shares are regenerated and each node gets a new private key share. But the shares, together, still represent the original private key. + +So the entire network could turnover (all nodes that were there when you encrypted content are gone) but you can still decrypt the content, becuause the private key itself is persisted + +### 7. So you need 2/3 of the entire network to decrypt content? not 2/3 of some fixed constant number of key fragments? + +Yup! those are the default params we are launching with. Over time, we want to let users launch their own "subnets" with their own parameters. + +### 8. As the number of nodes on the network grows, it gets more secure, but also slower to decrypt content? + +Yeah that's correct. we plan to tune the network to have the max number of nodes while still remaining within some performance bounds. like if we can have 100 nodes and it takes less than 2 seconds to unlock something, that would be acceptable. when the network grows beyond that size, we support the automatic creation of subnets, which are basically just parallel networks. and then when someone goes to store some content, automatically load balance between those subnets + +### 9. So long as that an attack on the network remains impractical then the system is pretty robust? +**(cont'd) One operator runs enough nodes to gather sufficient fragments to decrypt stuff - is sufficiently difficult and costly to execute so as to be impractical. That still seems like the most likely attack vector if things aren't designed just right. ** + +Yeah you nailed it - there are lots of little tricks we can use there. like suppose there are 10 subnets each with their own private key, each with 100 nodes. if you wanted to break one of those private keys, you would need to run 66 of 100 of those nodes. but, when you join the network, the subnet you are assigned to is uniformly random. so now, you need to run 666 of 1000 nodes to amass those 66 shares for a single given subnet (maybe technically less due to the birthday problem). we could give out fake shares. we could make it difficult to discover which public key goes with which private key share, so as a node operator can't even tell which shares will unlock a given piece of data. It's a hard problem to solve but we have a lot of tools. + +
+ +## I have a question that isn't answered here. Where can I get help? + +Join our [Discord](https://litgateway.com/discord) and post your question in our forums! \ No newline at end of file diff --git a/docs/ToolsAndExamples/Tools/_category_.json b/docs/tools/_category_.json similarity index 100% rename from docs/ToolsAndExamples/Tools/_category_.json rename to docs/tools/_category_.json diff --git a/docs/ToolsAndExamples/Tools/accessControl.md b/docs/tools/access-control.md similarity index 100% rename from docs/ToolsAndExamples/Tools/accessControl.md rename to docs/tools/access-control.md diff --git a/docs/ToolsAndExamples/Tools/getlitCli.md b/docs/tools/getlit-cli.md similarity index 100% rename from docs/ToolsAndExamples/Tools/getlitCli.md rename to docs/tools/getlit-cli.md diff --git a/docs/ToolsAndExamples/Tools/pkpexplorer.md b/docs/tools/pkpexplorer.md similarity index 100% rename from docs/ToolsAndExamples/Tools/pkpexplorer.md rename to docs/tools/pkpexplorer.md diff --git a/docs/tools/share-modal.md b/docs/tools/share-modal.md new file mode 100644 index 00000000..18da69f1 --- /dev/null +++ b/docs/tools/share-modal.md @@ -0,0 +1,64 @@ +--- +sidebar_position: 2 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Share Modal + +The Lit Share Modal is a tool for creating access control conditions for securing content with Lit Protocol. + +- Secure content based on wallet address, token/NFT holdings, POAP ownership, or DAO membership. +- Create multiple paths for unlocking content by using AND/OR operators. +- Set your most used tokens/NFTs as defaults for quick and easy access. + +![Share Modal Image](../../static/img/shareModalCover.png) + +For an in-depth explanation of how to use the share modal, please follow the [README.md](https://github.com/LIT-Protocol/lit-share-modal-v3#readme). + +## Installation + + + + +```js +yarn add lit-share-modal-v3 +``` + + + + +```js +npm install --save lit-share-modal-v3 +``` + + + +## Usage in React + +Use this UI library to allow users to setup custom blockchain based access control. This library can be used in any React app. + +https://github.com/LIT-Protocol/lit-share-modal-v3 + +A playground for experimenting with the modal is available here: https://lit-share-modal-v3-playground.netlify.app/. + + +## Usage in Vanilla JS (No React) + +A version of this library without React will be available soon. + +[//]: # (To use this library without React, you can use the following package, which wraps the react library up in vanilla JS.) + +[//]: # () +[//]: # (https://github.com/LIT-Protocol/lit-share-modal-v2-vanilla-js) + +## Usage in Next.js + +If you are using NextJS, the CSS injection will not work. Set the `injectCSS` prop to false, and import the CSS file directly from `node_modules/lit-share-modal-v3/dist/ShareModal.css` in `_app.tsx` or `_app.jsx`. +More information is available in the docs. https://github.com/LIT-Protocol/lit-share-modal-v3. + diff --git a/docusaurus.config.js b/docusaurus.config.js index 097b0a91..3a013d49 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -7,7 +7,7 @@ const darkCodeTheme = require("prism-react-renderer/themes/dracula"); /** @type {import('@docusaurus/types').Config} */ const config = { title: "Lit Protocol", - tagline: "Blockchain based access control for the web", + tagline: "Blockchain based access control and programmatic signing for the web", url: "https://developer.litprotocol.com", baseUrl: "/", onBrokenLinks: "warn", @@ -22,17 +22,27 @@ const config = { /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { + breadcrumbs: false, + lastVersion: "2.0", sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. editUrl: "https://github.com/LIT-Protocol/docs/tree/main", routeBasePath: "/", + versions: { + "2.0": { + badge: true, + label: "v2.x.x", + path: "v2", + banner: "none", + }, + current: { + badge: true, + label: "v3.x.x", + path: "v3", + banner: "unreleased", + }, + }, }, - // blog: { - // showReadingTime: true, - // // Please change this to your repo. - // editUrl: - // 'https://github.com/facebook/docusaurus/edit/main/website/blog/', - // }, theme: { customCss: require.resolve("./src/css/custom.css"), }, @@ -44,6 +54,27 @@ const config = { ], ], + plugins: [ + [ + "content-docs", + { + id: "learningLab", + path: "learningLab", + routeBasePath: "learningLab", + sidebarPath: require.resolve("./sidebars-learning-lab.js"), + }, + ], + [ + "content-docs", + { + id: "Ecosystem", + path: "Ecosystem", + routeBasePath: "Ecosystem", + sidebarPath: require.resolve("./sidebars-ecosystem.js"), + }, + ], + ], + themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ @@ -55,28 +86,30 @@ const config = { }, items: [ { - type: 'doc', - position: 'left', - docId: 'intro/overview', - label: 'Docs', + type: "doc", + position: "left", + docId: "intro/overview", + label: "Docs", }, { - type: 'docSidebar', - position: 'left', - sidebarId: 'learningLab', - label: 'Learning Lab', + to: "learningLab/intro", + position: "left", + label: "Learning Lab", }, { - type: 'docSidebar', - position: 'left', - sidebarId: 'ecosystem', - label: 'Ecosystem', + to: "ecosystem/lit-grants", + position: "left", + label: "Ecosystem", + }, + { + type: "docsVersionDropdown", + position: "right", }, { href: "https://github.com/LIT-Protocol/js-sdk", position: "right", - className: 'header-github-link', - 'aria-label': 'Lit JS SDK V2 GitHub repository', + className: "header-github-link", + "aria-label": "Lit JS SDK GitHub repository", }, ], }, @@ -123,10 +156,6 @@ const config = { label: "Support", to: "/support", }, - // { - // label: "JS SDK", - // to: "/docs/SDK/intro", - // }, ], }, ], diff --git a/docs/learningLab/introToLit/_category_.json b/learningLab/intro-to-lit/_category_.json similarity index 100% rename from docs/learningLab/introToLit/_category_.json rename to learningLab/intro-to-lit/_category_.json diff --git a/docs/learningLab/introToLit/acc.md b/learningLab/intro-to-lit/acc.md similarity index 89% rename from docs/learningLab/introToLit/acc.md rename to learningLab/intro-to-lit/acc.md index 9f4328d9..b93f7649 100644 --- a/docs/learningLab/introToLit/acc.md +++ b/learningLab/intro-to-lit/acc.md @@ -2,9 +2,9 @@ sidebar_position: 4 --- # 3. Access Control -![image](../../../static/img/ll_acc.png) +![image](../../static/img/ll_acc.png) -Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](https://developer.litprotocol.com/resources/glossary#encryption) content for private and permissioned storage on the open web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions (ACCs)](https://developer.litprotocol.com/accessControl/conditionTypes/unifiedAccessControlConditions) are used to define who can decrypt and access the locked data. +Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](https://developer.litprotocol.com/resources/glossary#encryption) content for private and permissioned storage on the open web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions (ACCs)](https://developer.litprotocol.com/access-control/condition-types/unified-access-control-conditions) are used to define who can decrypt and access the locked data. --- @@ -27,10 +27,9 @@ Some example conditions: ## Supported Logic -- Supports many EVM chains and Solana. Full list [here](https://developer.litprotocol.com/support/supportedChains). +- Supports many EVM chains and Solana. Full list [here](https://developer.litprotocol.com/support/supported-chains). - Supports many standard contracts, with plans to support any RPC call soon. If you need to interact with a contract that we don't support yet, ask us, and we will implement it. - *Boolean conditions*: "And" or "Or" are currently supported. -- *Updateable conditions*: Only the creator can update the condition. - *Permanent conditions*: When a condition is stored as permanent, it becomes impossible to update it, forever. ## Use Cases @@ -39,7 +38,7 @@ Some examples of applications that can (and have) been built harnessing this fun **Web3 Apps with Private Data** -Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](https://developer.litprotocol.com/SDK/intro). +Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](https://developer.litprotocol.com/sdk/intro). Examples: @@ -83,4 +82,4 @@ const accessControlConditions = [ ## Learn More -Read the [Lit developer docs](https://developer.litprotocol.com/accessControl/intro#overview) on access control to learn more! +Read the [Lit developer docs](https://developer.litprotocol.com/access-control/intro#overview) on access control to learn more! diff --git a/docs/learningLab/introToLit/intro.mdx b/learningLab/intro-to-lit/intro.mdx similarity index 100% rename from docs/learningLab/introToLit/intro.mdx rename to learningLab/intro-to-lit/intro.mdx diff --git a/docs/learningLab/introToLit/network.md b/learningLab/intro-to-lit/network.md similarity index 98% rename from docs/learningLab/introToLit/network.md rename to learningLab/intro-to-lit/network.md index 644dfa23..d456e7dd 100644 --- a/docs/learningLab/introToLit/network.md +++ b/learningLab/intro-to-lit/network.md @@ -4,7 +4,7 @@ sidebar_position: 3 # 2. The Lit Network -![image](../../../static/img/networkOverview.png) +![image](../../static/img/networkOverview.png) The Lit network operates through a distributed federation of nodes, where each node plays a vital role in key generation, consensus, and the execution of Lit Actions. What sets Lit apart is its foundation on threshold cryptography. With this approach, Lit ensures that no single node possesses complete control or executive authority over the network. This decentralized structure guarantees enhanced security, resilience, and trustworthiness for all participants in the Lit ecosystem. diff --git a/docs/learningLab/introToLit/pok.md b/learningLab/intro-to-lit/pok.md similarity index 96% rename from docs/learningLab/introToLit/pok.md rename to learningLab/intro-to-lit/pok.md index c2d2e42e..571d90b4 100644 --- a/docs/learningLab/introToLit/pok.md +++ b/learningLab/intro-to-lit/pok.md @@ -3,7 +3,7 @@ sidebar_position: 6 --- # Proof of Knowledge -![image](../../../static/img/ll_pok.png) +![image](../../static/img/ll_pok.png) Congratulations on completing this Intro to Lit Protocol lesson! Now it's time to put your newly acquired knowledge to the test and showcase your understanding of Lit. diff --git a/docs/learningLab/introToLit/progSigning.md b/learningLab/intro-to-lit/prog-signing.md similarity index 80% rename from docs/learningLab/introToLit/progSigning.md rename to learningLab/intro-to-lit/prog-signing.md index 714a0fa0..8f744036 100644 --- a/docs/learningLab/introToLit/progSigning.md +++ b/learningLab/intro-to-lit/prog-signing.md @@ -2,7 +2,7 @@ sidebar_position: 5 --- # 4. Programmatic Signing -![image](../../../static/img/ll_progSigning.png) +![image](../../static/img/ll_progSigning.png) As a distributed key management network, Lit provides developers with the ability to add programmable signing to their applications and wallets. These distributed wallets are known as Programmable Key Pairs (PKP) and the application logic that dictates when and why that key-pair will sign is known as a Lit Action. @@ -25,8 +25,8 @@ Each Programmable Key Pair (PKP) is a versatile multi-party computation wallet t - Build fully decentralized application backends. **Features** -1. [Blockchain Agnostic](/resources/supportedChains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](/LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](/automated-portfolio-rebalancing-uniswap/), handling [authentication](/pkp/authMethods/), or generating [conditional proofs](/LitActions/workingWithActions/conditionalSigning). +1. [Blockchain Agnostic](/v2/resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: [Lit Actions](/v2/lit-actions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](/v2/automated-portfolio-rebalancing-uniswap/), handling [authentication](/v2/pkp/auth-helpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](/v2/lit-actions/working-with-actions/conditional-signing). 3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. @@ -40,10 +40,10 @@ Lit Actions are stored on the InterPlanetary File System (IPFS). **Features** -1. [Blockchain Agnostic](/resources/supportedChains#programmable-key-pairs): Lit Actions can be used to write data to blockchains using PKPs +1. [Blockchain Agnostic](/v2/resources/supported-chains#programmable-key-pairs): Lit Actions can be used to write data to blockchains using PKPs 2. Immutable: Once a Lit Action has been published, it cannot be modified -3. Atomicity: Using [Mint/Grant/Burn](/LitActions/usingPKPsAndActions#what-is-mintgrantburn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set -4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](/LitActions/workingWithActions/usingFetch) natively, without requiring the use of a third party oracle +3. Atomicity: Using [Mint/Grant/Burn](/v2/lit-actions/usingPKPsAndActions#what-is-mintgrantburn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set +4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](/v2/lit-actions/working-with-actions/using-fetch) natively, without requiring the use of a third party oracle ## How do Lit Actions and PKPs work together? A user can create a new PKP and grant a Lit Action the right to sign using it. This means the distributed key has the ability to sign and decrypt arbitrary data based on pre-defined logic and conditions. @@ -110,6 +110,6 @@ Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-g --- ## Learn More -Read the Lit developer docs on [Programmable Key Pairs](https://developer.litprotocol.com/pkp/intro) and [Lit Actions](https://developer.litprotocol.com/LitActions/intro). +Read the Lit developer docs on [Programmable Key Pairs](https://developer.litprotocol.com/pkp/intro) and [Lit Actions](https://developer.litprotocol.com/lit-actions/intro). In order to utilize the Lit functions for PKPs and Lit Actions, you'll need the [Lit JS SDK](https://github.com/LIT-Protocol/js-sdk). diff --git a/docs/learningLab/introToLit/welcome.md b/learningLab/intro-to-lit/welcome.md similarity index 96% rename from docs/learningLab/introToLit/welcome.md rename to learningLab/intro-to-lit/welcome.md index 999a71aa..d8042baa 100644 --- a/docs/learningLab/introToLit/welcome.md +++ b/learningLab/intro-to-lit/welcome.md @@ -4,7 +4,7 @@ sidebar_label: Welcome title: '' --- -![image](../../../static/img/ll_welcome.png) +![image](../../static/img/ll_welcome.png) Welcome to the beginning of your journey into the world of Lit! This 'Introduction to Lit' module is your first step towards gaining a high level understanding of Lit's encryption, access control, and programmatic signing capabilities. diff --git a/docs/learningLab/intro.mdx b/learningLab/intro.mdx similarity index 81% rename from docs/learningLab/intro.mdx rename to learningLab/intro.mdx index 208af311..b7cb2105 100644 --- a/docs/learningLab/intro.mdx +++ b/learningLab/intro.mdx @@ -1,13 +1,13 @@ --- sidebar_position: 1 --- -import IntroSection from '../../src/components/LLCardSections/Intro'; -import CodebreakerSection from '../../src/components/LLCardSections/Codebreaker'; -import EcosystemSection from '../../src/components/CardSections/Ecosystem'; +import IntroSection from '@site/src/components/LLCardSections/Intro'; +import CodebreakerSection from '@site/src/components/LLCardSections/Codebreaker'; +import EcosystemSection from '@site/src/components/CardSectionsV3/Ecosystem'; # Introduction to the Learning Lab -![image](../../static/img/learningLab.png) +![image](../static/img/learningLab.png) Welcome to Lit Protocol's Learning Lab! Our curriculum has been designed to empower you with the necessary skills and expertise to excel in building and implementing decentralized access control and programmatic signing. Additionally, by completing each module, you'll have the opportunity to earn exclusive NFTs, demonstrating your expertise in the subject matter. diff --git a/netlify.toml b/netlify.toml index 8c54b90d..2abfeb0e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -6,121 +6,121 @@ [[redirects]] from = "/docs/accessControlModal" - to = "/docs/ToolsAndExamples/shareModal" + to = "/docs/tools-and-examples/share-modal" status = 302 force = true [[redirects]] from = "/docs/LitTools/shareModal" - to = "/docs/ToolsAndExamples/shareModal" + to = "/docs/tools-and-examples/share-modal" status = 302 force = true [[redirects]] from = "/docs/jwtVerifier" - to = "/docs/ToolsAndExamples/additionalIntegrations#js-jwt-verifier" + to = "/docs/tools-and-examples/additional-integrations#js-jwt-verifier" status = 302 force = false [[redirects]] from = "/docs/LitTools/jwtVerifier" - to = "/docs/ToolsAndExamples/additionalIntegrations#js-jwt-verifier" + to = "/docs/tools-and-examples/additional-integrations#js-jwt-verifier" status = 302 force = false [[redirects]] from = "/docs/examples" - to = "/docs/ToolsAndExamples/SDKExamples/EncryptAndDecrypt/installation" + to = "/docs/tools-and-examples/sdk-examples/EncryptAndDecrypt/installation" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/examples" - to = "/docs/ToolsAndExamples/SDKExamples/EncryptAndDecrypt/installation" + to = "/docs/tools-and-examples/sdk-examples/EncryptAndDecrypt/installation" status = 302 force = false [[redirects]] from = "/docs/oauth" - to = "/docs/ToolsAndExamples/additionalIntegrations#oauth-integrations" + to = "/docs/tools-and-examples/additional-integrations#oauth-integrations" status = 302 force = false [[redirects]] from = "/docs/LitTools/oauth" - to = "/docs/ToolsAndExamples/additionalIntegrations#oauth-integrations" + to = "/docs/tools-and-examples/additional-integrations#oauth-integrations" status = 302 force = false [[redirects]] from = "/docs/ceramicIntegration" - to = "/docs/ToolsAndExamples/Ceramic/intro" + to = "/docs/tools-and-examples/Ceramic/intro" status = 302 force = false [[redirects]] from = "/docs/LitTools/ceramicIntegration" - to = "/docs/ToolsAndExamples/Ceramic/intro" + to = "/docs/tools-and-examples/Ceramic/intro" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/intro" - to = "/docs/SDK/intro" + to = "/docs/sdk/intro" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/installation" - to = "/docs/SDK/installation" + to = "/docs/sdk/installation" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/staticContent" - to = "/docs/ToolsAndExamples/SDKExamples/EncryptAndDecrypt/installation" + to = "/docs/tools-and-examples/sdk-examples/EncryptAndDecrypt/installation" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/SDKExamples/EncryptAndDecrypt/installation" - to = "/docs/ToolsAndExamples/SDKExamples/EncryptAndDecrypt/installation" + to = "/docs/tools-and-examples/sdk-examples/EncryptAndDecrypt/installation" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/dynamicContent" - to = "/docs/ToolsAndExamples/SDKExamples/dynamicContent" + to = "/docs/tools-and-examples/sdk-examples/dynamicContent" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/SDKExamples/dynamicContent" - to = "/docs/ToolsAndExamples/SDKExamples/dynamicContent" + to = "/docs/tools-and-examples/sdk-examples/dynamicContent" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/authSig" - to = "/docs/SDK/authSig" + to = "/docs/sdk/auth-sig" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/errorHandling" - to = "/docs/SDK/errorHandling" + to = "/docs/sdk/errorHandling" status = 302 force = false [[redirects]] from = "/docs/LitTools/JSSDK/tests" - to = "/docs/SDK/tests" + to = "/docs/sdk/tests" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/examples" -to = "/docs/ExamplesAndGuides/SDKExamples/examples" +to = "/docs/ExamplesAndGuides/sdk-examples/examples" status = 302 force = false @@ -132,49 +132,49 @@ force = false [[redirects]] from = "/docs/WhatIsLit/howItWorks" - to = "/docs/Introduction/howItWorks" + to = "/docs/Introduction/how-it-works" status = 302 force = false [[redirects]] from = "/docs/intro" - to = "/whatIsLit" + to = "/what-is-lit" status = 302 force = false [[redirects]] from = "/docs/AccessControlConditions/evmBasicExamples" - to = "/docs/AccessControlConditions/EVM/basicExamples" + to = "/docs/AccessControlConditions/evm/basic-examples" status = 302 force = false [[redirects]] from = "/docs/AccessControlConditions/evmCustomContractCalls" - to = "/docs/AccessControlConditions/EVM/customContractCalls" + to = "/docs/AccessControlConditions/evm/custom-contract-calls" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/Ceramic/installation" - to = "/docs/ToolsAndExamples/Ceramic/installation" + to = "/docs/tools-and-examples/Ceramic/installation" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/Ceramic/encryption" - to = "/docs/ToolsAndExamples/Ceramic/encryption" + to = "/docs/tools-and-examples/Ceramic/encryption" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/Ceramic/decryption" - to = "/docs/ToolsAndExamples/Ceramic/decryption" + to = "/docs/tools-and-examples/Ceramic/decryption" status = 302 force = false [[redirects]] from = "/docs/ExamplesAndGuides/bundlrxarweave" - to = "/docs/ToolsAndExamples/bundlrxarweave" + to = "/docs/tools-and-examples/bundlrxarweave" status = 302 force = false @@ -182,7 +182,7 @@ force = false [[redirects]] from = "/docs/Introduction/whatIsLitProtocol" - to = "/" + to = "/docs/what-is-lit" status = 302 force = false @@ -196,145 +196,145 @@ force = false [[redirects]] from = "/LitActionsAndPKPs/whatAreLitActionsAndPKPs" - to = "/coreConcepts/LitActionsAndPKPs/intro" + to = "/lit-actions/intro" status = 302 force = false [[redirects]] from = "/LitActionsAndPKPs/workingWithLitActions" - to = "/coreConcepts/LitActionsAndPKPs/workingWithLitActions" + to = "/lit-actions/hello-world" status = 302 force = false [[redirects]] from = "/LitActionsAndPKPs/ToolsAndExamples" - to = "/coreConcepts/LitActionsAndPKPs/ToolsAndExamples" + to = "/pkp/tools-and-examples" status = 302 force = false [[redirects]] from = "/SDK/installation" - to = "/SDK/Explanation/installation" + to = "/sdk/explanation/installation" status = 302 force = false [[redirects]] from = "/SDK/authSig" - to = "/SDK/Explanation/authSig" + to = "/sdk/explanation/auth-sig" status = 302 force = false [[redirects]] from = "/SDK/sessionKeys" - to = "/SDK/Explanation/authSig" + to = "/sdk/explanation/auth-sig" status = 302 force = false [[redirects]] from = "/SDK/errorHandling" - to = "/SDK/Explanation/tests" + to = "/sdk/explanation/tests" status = 302 force = false [[redirects]] from = "/SDK/tests" - to = "/SDK/Explanation/tests" + to = "/sdk/explanation/tests" status = 302 force = false [[redirects]] from = "/AccessControlConditions/intro" - to = "/coreConcepts/accessControl/intro" + to = "/coreConcepts/access-control/intro" status = 302 force = false [[redirects]] from = "/AccessControlConditions/EVM/basicExamples" - to = "/coreConcepts/accessControl/EVM/:splat" + to = "/coreConcepts/access-control/evm/:splat" status = 302 force = false [[redirects]] from = "/AccessControlConditions/EVM/*" - to = "/coreConcepts/accessControl/:splat" + to = "/coreConcepts/access-control/:splat" status = 302 force = false [[redirects]] from = "/AccessControlConditions/solRpcConditions" - to = "/coreConcepts/accessControl/otherChains/solRpcConditions" + to = "/coreConcepts/access-control/other-chains/sol-rpc-conditions" status = 302 force = false [[redirects]] from = "/AccessControlConditions/cosmosConditions" - to = "/coreConcepts/accessControl/otherChains/cosmosConditions" + to = "/coreConcepts/access-control/other-chains/cosmos-conditions" status = 302 force = false [[redirects]] from = "/AccessControlConditions/unifiedAccessControlConditions" - to = "/coreConcepts/accessControl/conditionTypes/unifiedAccessControlConditions" + to = "/coreConcepts/access-control/condition-types/unified-access-control-conditions" status = 302 force = false [[redirects]] from = "/AccessControlConditions/booleanLogic" - to = "/accessControl/conditionTypes/booleanLogic" + to = "/access-control/condition-types/boolean-logic" status = 302 force = false [[redirects]] from = "/AccessControlConditions/updateableConditions" - to = "/coreConcepts/accessControl/conditionTypes/updateableConditions" + to = "/coreConcepts/access-control/condition-types/updateableConditions" status = 302 force = false [[redirects]] from = "/ToolsAndExamples/Ceramic/*" - to = "/ToolsAndExamples/Integrations/Ceramic/intro" + to = "/tools-and-examples/Integrations/Ceramic/intro" status = 302 force = false [[redirects]] from = "/ToolsAndExamples/bundlrxarweave" - to = "/ToolsAndExamples/Integrations/bundlrxarweave" + to = "/tools-and-examples/Integrations/bundlrxarweave" status = 302 force = false [[redirects]] from = "/ToolsAndExamples/additionalIntegrations" - to = "/ToolsAndExamples/Integrations/additionalIntegrations" + to = "/tools-and-examples/Integrations/additional-integrations" status = 302 force = false [[redirects]] from = "/ToolsAndExamples/shareModal" - to = "/ToolsAndExamples/Tools/shareModal" + to = "/tools-and-examples/Tools/share-modal" status = 302 force = false [[redirects]] - from = "/ToolsAndExamples/sdkexamples/dynamiccontent/" - to = "/ToolsAndExamples/Tools/jwtverify" + from = "/tools-and-examples/sdkexamples/dynamiccontent/" + to = "/tools-and-examples/Tools/jwtverify" status = 302 force = false [[redirects]] from = "/ToolsAndExamples/SDKExamples/examples" - to = "/ToolsAndExamples/SDKExamples/dynamicContent" + to = "/tools-and-examples/sdk-examples/dynamicContent" status = 302 force = false [[redirects]] from = "/litGrants" - to = "/Ecosystem/litGrants" + to = "/ecosystem/lit-grants" status = 302 force = false [[redirects]] from = "/Introduction/whatIsLitProtocol#join-the-community" - to = "/Ecosystem/community" + to = "/ecosystem/community" status = 302 force = false @@ -346,7 +346,7 @@ force = false [[redirects]] from = "/supportedChains" - to = "/resources/supportedChains" + to = "/resources/supported-chains" status = 302 force = false @@ -358,7 +358,7 @@ force = false [[redirects]] from = "/accesscontrolconditions/*" - to = "/coreConcepts/accessControl/intro" + to = "/coreConcepts/access-control/intro" status = 302 force = false @@ -366,26 +366,26 @@ force = false [[redirects]] from = "/coreconcepts/litactionsandpkps/workingwithlitactions" - to = "/SDK/Explanation/litActions" + to = "/sdk/explanation/litActions" status = 302 force = false [[redirects]] from = "/SDK/Explanation/EncryptionCategory/*" - to = "/SDK/Explanation/encryption" + to = "/sdk/explanation/encryption" status = 302 force = false # 01/12/23 - Lit Actions into it's own section [[redirects]] from = "/SDK/Explanation/litActions" - to = "/SDK/Explanation/LitActions/helloWorld" + to = "/sdk/explanation/lit-actions/hello-world" status = 302 force = false [[redirects]] from = "/ToolsAndExamples/SDKExamples/EncryptAndDecrypt/*" - to = "/SDK/Explanation/encryption" + to = "/sdk/explanation/encryption" status = 302 force = false @@ -393,19 +393,19 @@ force = false # 02/14/23 - Move up Lit Actions sections from within SDK to the core concepts / programmatic signing section [[redirects]] from = "/SDK/Explanation/LitActions/conditionalSigning/*" - to = "/LitActions/workingWithActions/workingWithActions/conditionalSigning" + to = "/lit-actions/working-with-actions/working-with-actions/conditional-signing" status = 302 force = false [[redirects]] from = "/SDK/Explanation/LitActions/usingFetch" - to = "/LitActions/workingWithActions/usingFetch" + to = "/lit-actions/working-with-actions/using-fetch" status = 302 force = false [[redirects]] from = "/SDK/Explanation/LitActions/authHelpers/*" - to = "/LitActions/authHelpers" + to = "/lit-actions/auth-helpers" status = 302 force = false @@ -413,13 +413,13 @@ force = false [[redirects]] from = "/Introduction/whatIsLitProtocol" - to = "/whatIsLit" + to = "/what-is-lit" status = 301 force = false [[redirects]] from = "/Introduction/howItWorks" - to = "/resources/howItWorks" + to = "/resources/how-it-works" status = 301 force = false @@ -427,19 +427,19 @@ force = false [[redirects]] from = "/Introduction/stateOfNetwork" - to = "/Support/stateOfNetwork" + to = "/support/state-of-network" status = 301 force = false [[redirects]] from = "/introduction/stateofnetwork" - to = "/Support/stateOfNetwork" + to = "/support/state-of-network" status = 301 force = false [[redirects]] from = "/introduction/stateOfNetwork" - to = "/Support/stateOfNetwork" + to = "/support/state-of-network" status = 301 force = false @@ -451,7 +451,7 @@ force = false [[redirects]] from = "/coreConcepts/accessControl/*" - to = "/accessControl/:splat" + to = "/access-control/:splat" status = 301 force = false @@ -469,25 +469,25 @@ force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/authHelpers" - to = "/LitActions/authHelpers" + to = "/lit-actions/auth-helpers" status = 301 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/litActions" - to = "/LitActions/intro" + to = "/lit-actions/intro" status = 301 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/conditionalSigning" - to = "/LitActions/workingWithActions/conditionalSigning" + to = "/lit-actions/working-with-actions/conditional-signing" status = 301 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/usingFetch" - to = "/LitActions/workingWithActions/usingFetch" + to = "/lit-actions/working-with-actions/using-fetch" status = 301 force = false @@ -499,13 +499,13 @@ force = false [[redirects]] from = "/SDK/Explanation/LitActions/usingEIP" - to = "/LitActions/usingEIP" + to = "/lit-actions/using-eip" status = 301 force = false [[redirects]] from = "/SDK/Explanation/LitActions/logAndReturn" - to = "/LitActions/workingWithActions/logAndReturn" + to = "/lit-actions/working-with-actions/log-and-return" status = 301 force = false @@ -516,45 +516,45 @@ force = false force = false [[redirects]] - from = "/Support/glossary" + from = "/support/glossary" to = "/resources/glossary" status = 301 force = false [[redirects]] from = "/LitActions/logAndReturn" - to = "/LitActions/workingWithActions/logAndReturn" + to = "/lit-actions/working-with-actions/log-and-return" status = 301 force = false [[redirects]] from = "/LitActions/usingEIP" - to = "/LitActions/additionalExamples/usingEIP" + to = "/lit-actions/additional-examples/using-eip" status = 301 force = false # 3/28 - continue adding support for links missing from initial pass [[redirects]] from = "/support/supportedchains/" - to = "/resources/supportedChains" + to = "/resources/supported-chains" status = 302 force = false [[redirects]] from = "/introduction/stateofnetwork" - to = "/Support/stateOfNetwork" + to = "/support/state-of-network" status = 301 force = false [[redirects]] from = "/introduction/stateofnetwork/*" - to = "/Support/stateOfNetwork" + to = "/support/state-of-network" status = 301 force = false [[redirects]] from = "/coreconcepts/litactionsandpkps/actions/*" - to = "/LitActions/intro" + to = "/lit-actions/intro" status = 301 force = false @@ -566,19 +566,19 @@ force = false [[redirects]] from = "/SDK/Explanation/WalletSigs/*" - to = "/SDK/Explanation/authentication/*" + to = "/sdk/explanation/authentication/*" status = 301 force = false [[redirects]] from = "/pkp/wallets/intro" - to = "/resources/pkpsAsWallet" + to = "/resources/pkps-as-wallet" status = 301 force = false [[redirects]] from = "/pkp/wallets/examples" - to = "/resources/pkpsAsWallet" + to = "/resources/pkps-as-wallet" status = 301 force = false @@ -592,25 +592,25 @@ force = false [[redirects]] from = "/LitActions/usingPKPsAndActions" - to = "/resources/pkpsAndActions" + to = "/resources/pkps-and-actions" status = 301 force = false [[redirects]] from = "/resources/pkpsAndActions" - to = "/pkp/pkpsAndActions" + to = "/pkp/pkps-and-actions" status = 301 force = false [[redirects]] from = "/LitActions/mintGrantBurn" - to = "/pkp/pkpsAndActions" + to = "/pkp/pkps-and-actions" status = 301 force = false [[redirects]] from = "/resources/pkpsAsWallet" - to = "/concepts/pkpsAsWallet" + to = "/concepts/pkps-as-wallet" status = 301 force = false @@ -644,10 +644,17 @@ force = false status = 301 force = false -# 6/19/23 +# 6/28/23 [[redirects]] - from = "/pkp/authHelpers" - to = "/pkp/authMethods/authHelpers" + from = "/*" + to = "/v2/:splat" + status = 301 + force = false + +# home redirect 7/11/23 +[[redirects]] + from = "/" + to = "/v2/" status = 301 force = false diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index bb05d032..00000000 --- a/package-lock.json +++ /dev/null @@ -1,23692 +0,0 @@ -{ - "name": "lit-docs", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "lit-docs", - "version": "0.0.0", - "dependencies": { - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-google-analytics": "^2.1.0", - "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.1.90", - "@mdx-js/react": "^1.6.21", - "@svgr/webpack": "^5.5.0", - "clsx": "^1.1.1", - "file-loader": "^6.2.0", - "prism-react-renderer": "^1.2.1", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "url-loader": "^4.1.1" - }, - "devDependencies": { - "husky": "^7.0.4" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz", - "integrity": "sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.7.1" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz", - "integrity": "sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-shared": "1.7.1" - }, - "peerDependencies": { - "@algolia/client-search": "^4.9.1", - "algoliasearch": "^4.9.1" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz", - "integrity": "sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg==", - "license": "MIT" - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz", - "integrity": "sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.14.2" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz", - "integrity": "sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==", - "license": "MIT" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz", - "integrity": "sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.14.2" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz", - "integrity": "sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.14.2", - "@algolia/client-search": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz", - "integrity": "sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.14.2", - "@algolia/client-search": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "node_modules/@algolia/client-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz", - "integrity": "sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz", - "integrity": "sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "node_modules/@algolia/client-search": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz", - "integrity": "sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==", - "license": "MIT", - "dependencies": { - "@algolia/client-common": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "node_modules/@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", - "license": "MIT" - }, - "node_modules/@algolia/logger-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz", - "integrity": "sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==", - "license": "MIT" - }, - "node_modules/@algolia/logger-console": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz", - "integrity": "sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==", - "license": "MIT", - "dependencies": { - "@algolia/logger-common": "4.14.2" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz", - "integrity": "sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.14.2" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz", - "integrity": "sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==", - "license": "MIT" - }, - "node_modules/@algolia/requester-node-http": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz", - "integrity": "sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==", - "license": "MIT", - "dependencies": { - "@algolia/requester-common": "4.14.2" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz", - "integrity": "sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==", - "license": "MIT", - "dependencies": { - "@algolia/cache-common": "4.14.2", - "@algolia/logger-common": "4.14.2", - "@algolia/requester-common": "4.14.2" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", - "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", - "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.3", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.3", - "@babel/types": "^7.21.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/@babel/generator": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", - "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", - "dependencies": { - "@babel/types": "^7.21.3", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dependencies": { - "@babel/types": "^7.20.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "license": "MIT", - "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", - "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", - "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", - "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", - "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", - "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", - "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.18.6", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", - "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", - "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", - "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/@babel/types": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", - "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", - "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@docsearch/css": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.2.1.tgz", - "integrity": "sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g==", - "license": "MIT" - }, - "node_modules/@docsearch/react": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.2.1.tgz", - "integrity": "sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ==", - "license": "MIT", - "dependencies": { - "@algolia/autocomplete-core": "1.7.1", - "@algolia/autocomplete-preset-algolia": "1.7.1", - "@docsearch/css": "3.2.1", - "algoliasearch": "^4.0.0" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - } - }, - "node_modules/@docusaurus/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", - "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.6", - "@babel/generator": "^7.18.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@babel/runtime": "^7.18.6", - "@babel/runtime-corejs3": "^7.18.6", - "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.2.1", - "autoprefixer": "^10.4.7", - "babel-loader": "^8.2.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.0", - "cli-table3": "^0.6.2", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.23.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "del": "^6.1.1", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^1.12.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^6.1.0", - "html-tags": "^3.2.0", - "html-webpack-plugin": "^5.5.0", - "import-fresh": "^3.3.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.6.1", - "postcss": "^8.4.14", - "postcss-loader": "^7.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.3", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.3", - "rtl-detect": "^1.0.4", - "semver": "^7.3.7", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.3", - "tslib": "^2.4.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^6.0.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-dev-server": "^4.9.3", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.2" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz", - "integrity": "sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.4", - "entities": "^4.3.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/plugin-jsx": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz", - "integrity": "sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/hast-util-to-babel-ast": "^6.5.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/plugin-svgo": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.0.tgz", - "integrity": "sha512-8Zv1Yyv6I7HlIqrqGFM0sDKQrhjbfNZJawR8UjIaVWSb0tKZP1Ra6ymhqIFu6FT6kDRD0Ct5NlQZ10VUujSspw==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/webpack": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.0.tgz", - "integrity": "sha512-rM/Z4pwMhqvAXEHoHIlE4SeTb0ToQNmJuBdiHwhP2ZtywyX6XqrgCv2WX7K/UCgNYJgYbekuylgyjnuLUHTcZQ==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@babel/plugin-transform-react-constant-elements": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "@svgr/core": "^6.5.0", - "@svgr/plugin-jsx": "^6.5.0", - "@svgr/plugin-svgo": "^6.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/core/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", - "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", - "license": "MIT", - "dependencies": { - "cssnano-preset-advanced": "^5.3.8", - "postcss": "^8.4.14", - "postcss-sort-media-queries": "^4.2.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/logger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", - "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", - "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.18.8", - "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@mdx-js/mdx": "^1.6.22", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "image-size": "^1.0.1", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.2.0", - "stringify-object": "^3.3.0", - "tslib": "^2.4.0", - "unified": "^9.2.2", - "unist-util-visit": "^2.0.3", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/mdx-loader/node_modules/unified": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", - "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@docusaurus/module-type-aliases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", - "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", - "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "cheerio": "^1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "tslib": "^2.4.0", - "unist-util-visit": "^2.0.3", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", - "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@types/react-router-config": "^5.0.6", - "combine-promises": "^1.1.0", - "fs-extra": "^10.1.0", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", - "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "tslib": "^2.4.0", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", - "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "fs-extra": "^10.1.0", - "react-json-view": "^1.21.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", - "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", - "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", - "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "sitemap": "^7.1.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", - "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/plugin-debug": "2.1.0", - "@docusaurus/plugin-google-analytics": "2.1.0", - "@docusaurus/plugin-google-gtag": "2.1.0", - "@docusaurus/plugin-sitemap": "2.1.0", - "@docusaurus/theme-classic": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-search-algolia": "2.1.0", - "@docusaurus/types": "2.1.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/react-loadable": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/@docusaurus/theme-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", - "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", - "license": "MIT", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@mdx-js/react": "^1.6.22", - "clsx": "^1.2.1", - "copy-text-to-clipboard": "^3.0.1", - "infima": "0.2.0-alpha.42", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.14", - "prism-react-renderer": "^1.3.5", - "prismjs": "^1.28.0", - "react-router-dom": "^5.3.3", - "rtlcss": "^3.5.0", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", - "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", - "license": "MIT", - "dependencies": { - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^1.2.1", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^1.3.5", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", - "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", - "license": "MIT", - "dependencies": { - "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "algoliasearch": "^4.13.1", - "algoliasearch-helper": "^3.10.0", - "clsx": "^1.2.1", - "eta": "^1.12.3", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-translations": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", - "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", - "license": "MIT", - "dependencies": { - "fs-extra": "^10.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", - "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "2.1.0", - "@svgr/webpack": "^6.2.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", - "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", - "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", - "license": "MIT", - "dependencies": { - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "joi": "^17.6.0", - "js-yaml": "^4.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz", - "integrity": "sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.4", - "entities": "^4.3.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-jsx": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz", - "integrity": "sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/hast-util-to-babel-ast": "^6.5.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-svgo": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.0.tgz", - "integrity": "sha512-8Zv1Yyv6I7HlIqrqGFM0sDKQrhjbfNZJawR8UjIaVWSb0tKZP1Ra6ymhqIFu6FT6kDRD0Ct5NlQZ10VUujSspw==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/webpack": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.0.tgz", - "integrity": "sha512-rM/Z4pwMhqvAXEHoHIlE4SeTb0ToQNmJuBdiHwhP2ZtywyX6XqrgCv2WX7K/UCgNYJgYbekuylgyjnuLUHTcZQ==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@babel/plugin-transform-react-constant-elements": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "@svgr/core": "^6.5.0", - "@svgr/plugin-jsx": "^6.5.0", - "@svgr/plugin-svgo": "^6.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.0.tgz", - "integrity": "sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q==", - "license": "MIT", - "dependencies": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "license": "MIT" - }, - "node_modules/@lit-protocol/constants": { - "version": "2.1.90", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.90.tgz", - "integrity": "sha512-o+EbbnGd1p7CIDEGa9udAunzXknJV1pkqCAHaCE+AKc1UNkP+TSZtpoX8FN7llHxDMEn4bx30LdzLS6hG5YMmA==", - "license": "MIT", - "dependencies": { - "@lit-protocol/types": "2.1.90", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/constants/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "license": "0BSD" - }, - "node_modules/@lit-protocol/types": { - "version": "2.1.90", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.1.90.tgz", - "integrity": "sha512-VzGAxFwizNRdVePDnf+8LHSPIexPhzvISX3ePZT/JSCdtrcEPQKWD4ifVu4g7dDfA3mKWqNEgObdPcNbBILX4g==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", - "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "license": "MIT", - "dependencies": { - "@babel/core": "7.12.9", - "@babel/plugin-syntax-jsx": "7.12.1", - "@babel/plugin-syntax-object-rest-spread": "7.8.3", - "@mdx-js/util": "1.6.22", - "babel-plugin-apply-mdx-type-prop": "1.6.22", - "babel-plugin-extract-import-names": "1.6.22", - "camelcase-css": "2.0.1", - "detab": "2.0.4", - "hast-util-raw": "6.0.1", - "lodash.uniq": "4.5.0", - "mdast-util-to-hast": "10.0.1", - "remark-footnotes": "2.0.0", - "remark-mdx": "1.6.22", - "remark-parse": "8.0.3", - "remark-squeeze-paragraphs": "4.0.0", - "style-to-object": "0.3.0", - "unified": "9.2.0", - "unist-builder": "2.0.3", - "unist-util-visit": "2.0.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx/node_modules/babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@babel/core": "^7.11.6" - } - }, - "node_modules/@mdx-js/mdx/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@mdx-js/mdx/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/@mdx-js/mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@mdx-js/mdx/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@mdx-js/react": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0" - } - }, - "node_modules/@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "license": "MIT" - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==", - "license": "BSD-3-Clause" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", - "license": "BSD-3-Clause" - }, - "node_modules/@sinclair/typebox": { - "version": "0.24.46", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.46.tgz", - "integrity": "sha512-ng4ut1z2MCBhK/NwDVwIQp3pAUOCs/KNaW3cBxdFB2xTDrOuo1xuNmpr/9HHFhxqIvHrs1NTH3KJg6q+JSy1Kw==", - "license": "MIT" - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@slorber/static-site-generator-webpack-plugin": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", - "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", - "license": "MIT", - "dependencies": { - "eval": "^0.1.8", - "p-map": "^4.0.0", - "webpack-sources": "^3.2.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.0.tgz", - "integrity": "sha512-Cp1JR1IPrQNvPRbkfcPmax52iunBC+eQDyBce8feOIIbVH6ZpVhErYoJtPWRBj2rKi4Wi9HvCm1+L1UD6QlBmg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz", - "integrity": "sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz", - "integrity": "sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.0.tgz", - "integrity": "sha512-XWm64/rSPUCQ+MFyA9lhMO+w8bOZvkTvovRIU1lpIy63ysPaVAFtxjQiZj+S7QaLaLGUXkSkf8WZsaN+QPo/gA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.0.tgz", - "integrity": "sha512-JIF2D2ltiWFGlTw2fJ9jJg1fNT9rWjOD2Cf0/xzeW6Z2LIRQTHcRHxpZq359+SRWtEPsCXEWV2Xmd+DMBj6dBw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.0.tgz", - "integrity": "sha512-uuo0FfLP4Nu2zncOcoUFDzZdXWma2bxkTGk0etRThs4/PghvPIGaW8cPhCg6yJ8zpaauWcKV0wZtzKlJRCtVzg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.0.tgz", - "integrity": "sha512-VMRWyOmrV+DaEFPgP3hZMsFgs2g87ojs3txw0Rx8iz6Nf/E3UoHUwTqpkSCWd3Hsnc9gMOY9+wl6+/Ycleh1sw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.0.tgz", - "integrity": "sha512-b67Ul3SelaqvGEEG/1B3VJ03KUtGFgRQjRLCCjdttMQLcYa9l/izQFEclNFx53pNqhijUMNKHPhGMY/CWGVKig==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.0.tgz", - "integrity": "sha512-UWM98PKVuMqw2UZo8YO3erI6nF1n7/XBYTXBqR0QhZP7HTjYK6QxFNvPfIshddy1hBdzhVpkf148Vg8xiVOtyg==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^6.5.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.5.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.0", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.0", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.0", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.0", - "@svgr/babel-plugin-transform-svg-component": "^6.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@svgr/core": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.0.tgz", - "integrity": "sha512-jIbu36GMjfK8HCCQitkfVVeQ2vSXGfq0ef0GO9HUxZGjal6Kvpkk4PwpkFP+OyCzF+skQFT9aWrUqekT3pKF8w==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/plugin-jsx": "^6.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz", - "integrity": "sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.4", - "entities": "^4.3.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core/node_modules/@svgr/plugin-jsx": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz", - "integrity": "sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/hast-util-to-babel-ast": "^6.5.0", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx/node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "license": "MIT", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/@svgr/plugin-svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/@svgr/plugin-svgo/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "license": "BSD-2-Clause" - }, - "node_modules/@svgr/plugin-svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "license": "CC0-1.0" - }, - "node_modules/@svgr/plugin-svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "license": "MIT", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "license": "MIT", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack/node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "license": "MIT", - "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "license": "MIT", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "license": "MIT", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "license": "MIT" - }, - "node_modules/@types/express": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", - "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.31", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", - "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", - "license": "MIT" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", - "license": "MIT" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "license": "MIT" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "license": "MIT", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", - "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "18.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz", - "integrity": "sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w==", - "license": "MIT" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "license": "MIT" - }, - "node_modules/@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "license": "MIT" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==", - "license": "MIT" - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.0.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", - "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.19", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz", - "integrity": "sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-config": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz", - "integrity": "sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "license": "MIT", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "license": "MIT" - }, - "node_modules/@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "license": "MIT" - }, - "node_modules/@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "license": "MIT", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", - "license": "MIT", - "dependencies": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", - "license": "MIT" - }, - "node_modules/@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "license": "MIT", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "license": "MIT", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "license": "Apache-2.0", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "license": "MIT", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "license": "BSD-3-Clause" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "license": "Apache-2.0" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "license": "MIT", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", - "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "license": "MIT", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/algoliasearch": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz", - "integrity": "sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==", - "license": "MIT", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.14.2", - "@algolia/cache-common": "4.14.2", - "@algolia/cache-in-memory": "4.14.2", - "@algolia/client-account": "4.14.2", - "@algolia/client-analytics": "4.14.2", - "@algolia/client-common": "4.14.2", - "@algolia/client-personalization": "4.14.2", - "@algolia/client-search": "4.14.2", - "@algolia/logger-common": "4.14.2", - "@algolia/logger-console": "4.14.2", - "@algolia/requester-browser-xhr": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/requester-node-http": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz", - "integrity": "sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==", - "license": "MIT", - "dependencies": { - "@algolia/events": "^4.0.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "license": "Apache-2.0", - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", - "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", - "license": "MIT" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.12", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", - "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001407", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.7" - } - }, - "node_modules/babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "license": "MIT", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "7.10.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "license": "MIT" - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==", - "license": "MIT" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "license": "MIT" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/bonjour-service": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", - "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", - "license": "MIT", - "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/bonjour-service/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "license": "MIT" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "license": "MIT", - "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" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/boxen/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "license": "MIT", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001420", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz", - "integrity": "sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "license": "BSD-2-Clause", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cheerio-select/node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "license": "MIT", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "license": "MIT" - }, - "node_modules/clean-css": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", - "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", - "license": "MIT", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "license": "MIT", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/coa/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", - "license": "MIT" - }, - "node_modules/combine-promises": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", - "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "license": "MIT" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "license": "MIT", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "license": "BSD-2-Clause", - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", - "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "license": "MIT", - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", - "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", - "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.21.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", - "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "license": "MIT", - "dependencies": { - "node-fetch": "2.6.7" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.7", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", - "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", - "license": "MIT", - "dependencies": { - "cssnano": "^5.1.8", - "jest-worker": "^29.1.2", - "postcss": "^8.4.17", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/jest-worker": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.0.tgz", - "integrity": "sha512-mluOlMbRX1H59vGVzPcVg2ALfCausbBpxC8a2KWOzInhYHZibbHH8CB0C1JkmkpfurrkOYgF7FPmypuom1OM9A==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.2.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "license": "MIT" - }, - "node_modules/css-select/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/css-select/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/css-select/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz", - "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", - "license": "MIT", - "dependencies": { - "cssnano-preset-default": "^5.2.12", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-advanced": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.8.tgz", - "integrity": "sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg==", - "license": "MIT", - "dependencies": { - "autoprefixer": "^10.3.7", - "cssnano-preset-default": "^5.2.12", - "postcss-discard-unused": "^5.1.0", - "postcss-merge-idents": "^5.1.1", - "postcss-reduce-idents": "^5.2.0", - "postcss-zindex": "^5.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", - "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", - "license": "MIT", - "dependencies": { - "css-declaration-sorter": "^6.3.0", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.2", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.6", - "postcss-merge-rules": "^5.1.2", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.3", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "license": "MIT", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "license": "BSD-2-Clause", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "license": "MIT" - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "license": "MIT", - "dependencies": { - "repeat-string": "^1.5.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "license": "MIT" - }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "license": "MIT", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/detect-port/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", - "license": "MIT" - }, - "node_modules/dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "license": "MIT", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "license": "MIT", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "license": "MIT" - }, - "node_modules/duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==", - "license": "BSD-3-Clause" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "license": "MIT" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", - "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "license": "MIT" - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "license": "MIT" - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz", - "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "license": "MIT" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "license": "MIT" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "license": "MIT", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "license": "Apache-2.0", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "license": "BSD-3-Clause", - "dependencies": { - "fbjs": "^3.0.0" - } - }, - "node_modules/fbjs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", - "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", - "license": "MIT", - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==", - "license": "MIT" - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "license": "MIT", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flux": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz", - "integrity": "sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==", - "license": "BSD-3-Clause", - "dependencies": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.1" - }, - "peerDependencies": { - "react": "^15.0.2 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", - "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "license": "Unlicense" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "license": "MIT" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "license": "ISC" - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/github-slugger": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", - "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==", - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "license": "BSD-2-Clause" - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "license": "MIT", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "license": "MIT", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/got/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "license": "ISC" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "license": "MIT" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "license": "MIT", - "dependencies": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "license": "MIT" - }, - "node_modules/hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "license": "MIT", - "dependencies": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "license": "MIT", - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "license": "MIT", - "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" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "license": "MIT", - "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" - } - }, - "node_modules/hpack.js/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", - "license": "MIT" - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "license": "MIT", - "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" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-tags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", - "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "entities": "^4.3.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "license": "BSD-2-Clause" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "license": "MIT" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "license": "MIT" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "license": "MIT", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true, - "license": "MIT", - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "license": "MIT", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/immer": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", - "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.42", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", - "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==", - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "license": "MIT" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "license": "MIT", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "license": "MIT" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", - "license": "MIT" - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.0.tgz", - "integrity": "sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw==", - "license": "MIT", - "dependencies": { - "@jest/types": "^29.2.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", - "license": "MIT" - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/joi": { - "version": "17.6.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.3.tgz", - "integrity": "sha512-YlQsIaS9MHYekzf1Qe11LjTkNzx9qhYluK3172z38RxYoAUf82XMX1p1DG1H4Wtk2ED/vPdSn9OggqtDu+aTow==", - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==", - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "license": "MIT", - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "license": "MIT", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "license": "MIT", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "license": "MIT" - }, - "node_modules/lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "license": "MIT", - "dependencies": { - "unist-util-remove": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "license": "MIT", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "license": "CC0-1.0" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "license": "MIT" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", - "license": "Unlicense", - "dependencies": { - "fs-monkey": "^1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", - "license": "MIT", - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "license": "ISC" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "license": "MIT", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "license": "MIT", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "license": "MIT" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "license": "MIT", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", - "license": "MIT" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", - "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", - "license": "MIT", - "dependencies": { - "array.prototype.reduce": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "license": "MIT" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "license": "MIT", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "license": "MIT", - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parse5": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz", - "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==", - "license": "MIT", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "license": "MIT", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", - "license": "(WTFPL OR MIT)" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "license": "MIT", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", - "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.20.3", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-unused": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", - "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-loader": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", - "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", - "license": "MIT", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.7" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-merge-idents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", - "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", - "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", - "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "license": "MIT", - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", - "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "license": "ISC", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "license": "MIT", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "license": "ISC", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "license": "ISC", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", - "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "license": "MIT", - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "license": "MIT", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-idents": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", - "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", - "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sort-media-queries": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.3.0.tgz", - "integrity": "sha512-jAl8gJM2DvuIJiI9sL1CuiHtKM4s5aEIomkU8G3LFvbP+p8i7Sz8VV63uieTgoewGqKbi+hxBTiOKJlB35upCg==", - "license": "MIT", - "dependencies": { - "sort-css-media-queries": "2.1.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.16" - } - }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/postcss-zindex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", - "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", - "license": "MIT", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", - "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", - "license": "MIT", - "peerDependencies": { - "react": ">=0.14.9" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "license": "MIT", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "license": "MIT", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "license": "MIT", - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==", - "license": "MIT" - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "license": "MIT", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", - "license": "MIT", - "dependencies": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==", - "license": "MIT" - }, - "node_modules/react-fast-compare": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==", - "license": "MIT" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "license": "Apache-2.0", - "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" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-json-view": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", - "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", - "license": "MIT", - "dependencies": { - "flux": "^4.0.1", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^8.3.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^16.3.0 || ^15.5.4", - "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" - } - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", - "license": "MIT" - }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "license": "MIT", - "dependencies": { - "@types/react": "*", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "license": "MIT", - "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" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "license": "MIT", - "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" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router/node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "license": "MIT", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/react-textarea-autosize": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", - "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.2", - "use-composed-ref": "^1.3.0", - "use-latest": "^1.2.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", - "license": "MIT" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "license": "MIT", - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==", - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "license": "MIT", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "license": "MIT", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "license": "MIT" - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-emoji": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", - "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", - "license": "MIT", - "dependencies": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.3" - } - }, - "node_modules/remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "license": "MIT", - "dependencies": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "license": "MIT" - }, - "node_modules/remark-mdx/node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/remark-mdx/node_modules/@babel/plugin-proposal-object-rest-spread/node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/remark-mdx/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/remark-mdx/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/remark-mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/remark-mdx/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "license": "MIT", - "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", - "license": "MIT", - "dependencies": { - "mdast-squeeze-paragraphs": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "license": "MIT", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "MIT", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "license": "MIT" - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==", - "license": "MIT" - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "license": "MIT", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rtl-detect": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", - "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==", - "license": "BSD-3-Clause" - }, - "node_modules/rtlcss": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", - "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", - "license": "MIT", - "dependencies": { - "find-up": "^5.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.3.11", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "license": "ISC" - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "license": "MIT" - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "license": "MIT" - }, - "node_modules/selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "license": "MIT", - "dependencies": { - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "license": "MIT", - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", - "license": "MIT", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "license": "MIT", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "license": "MIT", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "license": "ISC" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "license": "MIT" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", - "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "license": "BSD-3-Clause", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "license": "ISC" - }, - "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "license": "MIT" - }, - "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "license": "MIT", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "license": "MIT" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "license": "MIT", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sort-css-media-queries": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", - "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", - "license": "MIT", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "license": "MIT", - "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" - } - }, - "node_modules/spdy-transport/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy-transport/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/spdy/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/spdy/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "license": "MIT" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.0.tgz", - "integrity": "sha512-cNNS+VYsXIs5gI6gJipO4qZ8YYT274JHvNnQ1/R/x8Q8mdP0qj0zoMchRXmBNPqp/0eOEhX+3g7g6Fgb7meLIQ==", - "license": "MIT" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", - "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", - "license": "MIT", - "dependencies": { - "browserslist": "^4.16.6", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", - "license": "MIT" - }, - "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "license": "MIT" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "license": "0BSD" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=12.20" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", - "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "license": "MIT", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "license": "MIT", - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "license": "MIT", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", - "license": "MIT" - }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "license": "BSD-2-Clause", - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "license": "MIT", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "license": "MIT", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "license": "MIT", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "license": "MIT", - "dependencies": { - "use-isomorphic-layout-effect": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", - "license": "MIT" - }, - "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==", - "license": "MIT" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", - "license": "MIT", - "dependencies": { - "axios": "^0.25.0", - "joi": "^17.6.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "license": "MIT", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "license": "MIT", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" - }, - "node_modules/webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", - "license": "MIT", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "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.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz", - "integrity": "sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==", - "license": "MIT", - "dependencies": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "license": "MIT", - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "license": "MIT", - "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.1", - "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", - "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.4.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", - "license": "MIT", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "license": "MIT", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", - "license": "MIT" - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.3", - "pretty-time": "^1.1.0", - "std-env": "^3.0.1" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "license": "Apache-2.0", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "license": "Apache-2.0", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/widest-line/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", - "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "license": "MIT", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, - "dependencies": { - "@algolia/autocomplete-core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz", - "integrity": "sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg==", - "requires": { - "@algolia/autocomplete-shared": "1.7.1" - } - }, - "@algolia/autocomplete-preset-algolia": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz", - "integrity": "sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg==", - "requires": { - "@algolia/autocomplete-shared": "1.7.1" - } - }, - "@algolia/autocomplete-shared": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz", - "integrity": "sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg==" - }, - "@algolia/cache-browser-local-storage": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz", - "integrity": "sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==", - "requires": { - "@algolia/cache-common": "4.14.2" - } - }, - "@algolia/cache-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz", - "integrity": "sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg==" - }, - "@algolia/cache-in-memory": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz", - "integrity": "sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==", - "requires": { - "@algolia/cache-common": "4.14.2" - } - }, - "@algolia/client-account": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz", - "integrity": "sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==", - "requires": { - "@algolia/client-common": "4.14.2", - "@algolia/client-search": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "@algolia/client-analytics": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz", - "integrity": "sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==", - "requires": { - "@algolia/client-common": "4.14.2", - "@algolia/client-search": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "@algolia/client-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz", - "integrity": "sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==", - "requires": { - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "@algolia/client-personalization": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz", - "integrity": "sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==", - "requires": { - "@algolia/client-common": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "@algolia/client-search": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz", - "integrity": "sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==", - "requires": { - "@algolia/client-common": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" - }, - "@algolia/logger-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz", - "integrity": "sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA==" - }, - "@algolia/logger-console": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz", - "integrity": "sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==", - "requires": { - "@algolia/logger-common": "4.14.2" - } - }, - "@algolia/requester-browser-xhr": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz", - "integrity": "sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==", - "requires": { - "@algolia/requester-common": "4.14.2" - } - }, - "@algolia/requester-common": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz", - "integrity": "sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg==" - }, - "@algolia/requester-node-http": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz", - "integrity": "sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==", - "requires": { - "@algolia/requester-common": "4.14.2" - } - }, - "@algolia/transporter": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz", - "integrity": "sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==", - "requires": { - "@algolia/cache-common": "4.14.2", - "@algolia/logger-common": "4.14.2", - "@algolia/requester-common": "4.14.2" - } - }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", - "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==" - }, - "@babel/core": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz", - "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.3", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.3", - "@babel/types": "^7.21.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/generator": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz", - "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==", - "requires": { - "@babel/types": "^7.21.3", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", - "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", - "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.1.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==" - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", - "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", - "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.2", - "@babel/types": "^7.21.2" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", - "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.18.9", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.19.1", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", - "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", - "requires": { - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==" - }, - "@babel/helper-wrap-function": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", - "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - } - }, - "@babel/helpers": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", - "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.0", - "@babel/types": "^7.21.0" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz", - "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", - "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-proposal-optional-chaining": "^7.18.9" - } - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", - "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", - "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", - "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", - "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.8" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", - "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", - "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", - "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", - "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", - "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", - "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", - "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", - "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-replace-supers": "^7.18.9", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", - "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", - "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", - "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", - "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-identifier": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", - "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", - "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.18.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz", - "integrity": "sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - }, - "dependencies": { - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - } - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", - "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "regenerator-transform": "^0.15.0" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", - "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", - "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz", - "integrity": "sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.19.0", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-typescript": "^7.18.6" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz", - "integrity": "sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg==", - "requires": { - "@babel/compat-data": "^7.19.4", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.19.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.19.4", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.18.6", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.19.4", - "@babel/plugin-transform-classes": "^7.19.0", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.19.4", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.18.6", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.0", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.8", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.19.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-react-display-name": "^7.18.6", - "@babel/plugin-transform-react-jsx": "^7.18.6", - "@babel/plugin-transform-react-jsx-development": "^7.18.6", - "@babel/plugin-transform-react-pure-annotations": "^7.18.6" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/runtime": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", - "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/runtime-corejs3": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", - "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", - "requires": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz", - "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==", - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.3", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.3", - "@babel/types": "^7.21.3", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "@babel/types": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz", - "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==", - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "optional": true - }, - "@docsearch/css": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.2.1.tgz", - "integrity": "sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g==" - }, - "@docsearch/react": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.2.1.tgz", - "integrity": "sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ==", - "requires": { - "@algolia/autocomplete-core": "1.7.1", - "@algolia/autocomplete-preset-algolia": "1.7.1", - "@docsearch/css": "3.2.1", - "algoliasearch": "^4.0.0" - } - }, - "@docusaurus/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", - "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", - "requires": { - "@babel/core": "^7.18.6", - "@babel/generator": "^7.18.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@babel/runtime": "^7.18.6", - "@babel/runtime-corejs3": "^7.18.6", - "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.2.1", - "autoprefixer": "^10.4.7", - "babel-loader": "^8.2.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.0", - "cli-table3": "^0.6.2", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.23.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "del": "^6.1.1", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^1.12.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^6.1.0", - "html-tags": "^3.2.0", - "html-webpack-plugin": "^5.5.0", - "import-fresh": "^3.3.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.6.1", - "postcss": "^8.4.14", - "postcss-loader": "^7.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.3", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.3", - "rtl-detect": "^1.0.4", - "semver": "^7.3.7", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.3", - "tslib": "^2.4.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^6.0.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-dev-server": "^4.9.3", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.2" - }, - "dependencies": { - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz", - "integrity": "sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA==", - "requires": { - "@babel/types": "^7.18.4", - "entities": "^4.3.0" - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz", - "integrity": "sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw==", - "requires": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/hast-util-to-babel-ast": "^6.5.0", - "svg-parser": "^2.0.4" - } - }, - "@svgr/plugin-svgo": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.0.tgz", - "integrity": "sha512-8Zv1Yyv6I7HlIqrqGFM0sDKQrhjbfNZJawR8UjIaVWSb0tKZP1Ra6ymhqIFu6FT6kDRD0Ct5NlQZ10VUujSspw==", - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - } - }, - "@svgr/webpack": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.0.tgz", - "integrity": "sha512-rM/Z4pwMhqvAXEHoHIlE4SeTb0ToQNmJuBdiHwhP2ZtywyX6XqrgCv2WX7K/UCgNYJgYbekuylgyjnuLUHTcZQ==", - "requires": { - "@babel/core": "^7.18.5", - "@babel/plugin-transform-react-constant-elements": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "@svgr/core": "^6.5.0", - "@svgr/plugin-jsx": "^6.5.0", - "@svgr/plugin-svgo": "^6.5.0" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@docusaurus/cssnano-preset": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", - "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", - "requires": { - "cssnano-preset-advanced": "^5.3.8", - "postcss": "^8.4.14", - "postcss-sort-media-queries": "^4.2.1", - "tslib": "^2.4.0" - } - }, - "@docusaurus/logger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", - "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", - "requires": { - "chalk": "^4.1.2", - "tslib": "^2.4.0" - } - }, - "@docusaurus/mdx-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", - "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", - "requires": { - "@babel/parser": "^7.18.8", - "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@mdx-js/mdx": "^1.6.22", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "image-size": "^1.0.1", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.2.0", - "stringify-object": "^3.3.0", - "tslib": "^2.4.0", - "unified": "^9.2.2", - "unist-util-visit": "^2.0.3", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "dependencies": { - "unified": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", - "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - } - } - }, - "@docusaurus/module-type-aliases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", - "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", - "requires": { - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" - } - }, - "@docusaurus/plugin-content-blog": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", - "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "cheerio": "^1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "tslib": "^2.4.0", - "unist-util-visit": "^2.0.3", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - } - }, - "@docusaurus/plugin-content-docs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", - "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@types/react-router-config": "^5.0.6", - "combine-promises": "^1.1.0", - "fs-extra": "^10.1.0", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - } - }, - "@docusaurus/plugin-content-pages": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", - "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "tslib": "^2.4.0", - "webpack": "^5.73.0" - } - }, - "@docusaurus/plugin-debug": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", - "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "fs-extra": "^10.1.0", - "react-json-view": "^1.21.3", - "tslib": "^2.4.0" - } - }, - "@docusaurus/plugin-google-analytics": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", - "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - } - }, - "@docusaurus/plugin-google-gtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", - "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - } - }, - "@docusaurus/plugin-sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", - "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "sitemap": "^7.1.1", - "tslib": "^2.4.0" - } - }, - "@docusaurus/preset-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", - "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/plugin-debug": "2.1.0", - "@docusaurus/plugin-google-analytics": "2.1.0", - "@docusaurus/plugin-google-gtag": "2.1.0", - "@docusaurus/plugin-sitemap": "2.1.0", - "@docusaurus/theme-classic": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-search-algolia": "2.1.0", - "@docusaurus/types": "2.1.0" - } - }, - "@docusaurus/react-loadable": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "requires": { - "@types/react": "*", - "prop-types": "^15.6.2" - } - }, - "@docusaurus/theme-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", - "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@mdx-js/react": "^1.6.22", - "clsx": "^1.2.1", - "copy-text-to-clipboard": "^3.0.1", - "infima": "0.2.0-alpha.42", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.14", - "prism-react-renderer": "^1.3.5", - "prismjs": "^1.28.0", - "react-router-dom": "^5.3.3", - "rtlcss": "^3.5.0", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - } - }, - "@docusaurus/theme-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", - "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", - "requires": { - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^1.2.1", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^1.3.5", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - } - }, - "@docusaurus/theme-search-algolia": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", - "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", - "requires": { - "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "algoliasearch": "^4.13.1", - "algoliasearch-helper": "^3.10.0", - "clsx": "^1.2.1", - "eta": "^1.12.3", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - } - }, - "@docusaurus/theme-translations": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", - "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", - "requires": { - "fs-extra": "^10.1.0", - "tslib": "^2.4.0" - } - }, - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - }, - "@docusaurus/utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", - "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", - "requires": { - "@docusaurus/logger": "2.1.0", - "@svgr/webpack": "^6.2.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "dependencies": { - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz", - "integrity": "sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA==", - "requires": { - "@babel/types": "^7.18.4", - "entities": "^4.3.0" - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz", - "integrity": "sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw==", - "requires": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/hast-util-to-babel-ast": "^6.5.0", - "svg-parser": "^2.0.4" - } - }, - "@svgr/plugin-svgo": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.0.tgz", - "integrity": "sha512-8Zv1Yyv6I7HlIqrqGFM0sDKQrhjbfNZJawR8UjIaVWSb0tKZP1Ra6ymhqIFu6FT6kDRD0Ct5NlQZ10VUujSspw==", - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - } - }, - "@svgr/webpack": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.0.tgz", - "integrity": "sha512-rM/Z4pwMhqvAXEHoHIlE4SeTb0ToQNmJuBdiHwhP2ZtywyX6XqrgCv2WX7K/UCgNYJgYbekuylgyjnuLUHTcZQ==", - "requires": { - "@babel/core": "^7.18.5", - "@babel/plugin-transform-react-constant-elements": "^7.17.12", - "@babel/preset-env": "^7.18.2", - "@babel/preset-react": "^7.17.12", - "@babel/preset-typescript": "^7.17.12", - "@svgr/core": "^6.5.0", - "@svgr/plugin-jsx": "^6.5.0", - "@svgr/plugin-svgo": "^6.5.0" - } - } - } - }, - "@docusaurus/utils-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", - "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", - "requires": { - "tslib": "^2.4.0" - } - }, - "@docusaurus/utils-validation": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", - "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", - "requires": { - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "joi": "^17.6.0", - "js-yaml": "^4.1.0", - "tslib": "^2.4.0" - } - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/types": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.2.0.tgz", - "integrity": "sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q==", - "requires": { - "@jest/schemas": "^29.0.0", - "@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": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@lit-protocol/constants": { - "version": "2.1.90", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.90.tgz", - "integrity": "sha512-o+EbbnGd1p7CIDEGa9udAunzXknJV1pkqCAHaCE+AKc1UNkP+TSZtpoX8FN7llHxDMEn4bx30LdzLS6hG5YMmA==", - "requires": { - "@lit-protocol/types": "2.1.90", - "tslib": "^2.3.0" - }, - "dependencies": { - "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" - } - } - }, - "@lit-protocol/types": { - "version": "2.1.90", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-2.1.90.tgz", - "integrity": "sha512-VzGAxFwizNRdVePDnf+8LHSPIexPhzvISX3ePZT/JSCdtrcEPQKWD4ifVu4g7dDfA3mKWqNEgObdPcNbBILX4g==" - }, - "@mdx-js/mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", - "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "requires": { - "@babel/core": "7.12.9", - "@babel/plugin-syntax-jsx": "7.12.1", - "@babel/plugin-syntax-object-rest-spread": "7.8.3", - "@mdx-js/util": "1.6.22", - "babel-plugin-apply-mdx-type-prop": "1.6.22", - "babel-plugin-extract-import-names": "1.6.22", - "camelcase-css": "2.0.1", - "detab": "2.0.4", - "hast-util-raw": "6.0.1", - "lodash.uniq": "4.5.0", - "mdast-util-to-hast": "10.0.1", - "remark-footnotes": "2.0.0", - "remark-mdx": "1.6.22", - "remark-parse": "8.0.3", - "remark-squeeze-paragraphs": "4.0.0", - "style-to-object": "0.3.0", - "unified": "9.2.0", - "unist-builder": "2.0.3", - "unist-util-visit": "2.0.3" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "requires": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "@mdx-js/react": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "requires": {} - }, - "@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "@sinclair/typebox": { - "version": "0.24.46", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.46.tgz", - "integrity": "sha512-ng4ut1z2MCBhK/NwDVwIQp3pAUOCs/KNaW3cBxdFB2xTDrOuo1xuNmpr/9HHFhxqIvHrs1NTH3KJg6q+JSy1Kw==" - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@slorber/static-site-generator-webpack-plugin": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", - "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", - "requires": { - "eval": "^0.1.8", - "p-map": "^4.0.0", - "webpack-sources": "^3.2.2" - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.0.tgz", - "integrity": "sha512-Cp1JR1IPrQNvPRbkfcPmax52iunBC+eQDyBce8feOIIbVH6ZpVhErYoJtPWRBj2rKi4Wi9HvCm1+L1UD6QlBmg==", - "requires": {} - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz", - "integrity": "sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA==", - "requires": {} - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz", - "integrity": "sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw==", - "requires": {} - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.0.tgz", - "integrity": "sha512-XWm64/rSPUCQ+MFyA9lhMO+w8bOZvkTvovRIU1lpIy63ysPaVAFtxjQiZj+S7QaLaLGUXkSkf8WZsaN+QPo/gA==", - "requires": {} - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.0.tgz", - "integrity": "sha512-JIF2D2ltiWFGlTw2fJ9jJg1fNT9rWjOD2Cf0/xzeW6Z2LIRQTHcRHxpZq359+SRWtEPsCXEWV2Xmd+DMBj6dBw==", - "requires": {} - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.0.tgz", - "integrity": "sha512-uuo0FfLP4Nu2zncOcoUFDzZdXWma2bxkTGk0etRThs4/PghvPIGaW8cPhCg6yJ8zpaauWcKV0wZtzKlJRCtVzg==", - "requires": {} - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.0.tgz", - "integrity": "sha512-VMRWyOmrV+DaEFPgP3hZMsFgs2g87ojs3txw0Rx8iz6Nf/E3UoHUwTqpkSCWd3Hsnc9gMOY9+wl6+/Ycleh1sw==", - "requires": {} - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.0.tgz", - "integrity": "sha512-b67Ul3SelaqvGEEG/1B3VJ03KUtGFgRQjRLCCjdttMQLcYa9l/izQFEclNFx53pNqhijUMNKHPhGMY/CWGVKig==", - "requires": {} - }, - "@svgr/babel-preset": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.0.tgz", - "integrity": "sha512-UWM98PKVuMqw2UZo8YO3erI6nF1n7/XBYTXBqR0QhZP7HTjYK6QxFNvPfIshddy1hBdzhVpkf148Vg8xiVOtyg==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^6.5.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^6.5.0", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.0", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.0", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.0", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.0", - "@svgr/babel-plugin-transform-svg-component": "^6.5.0" - } - }, - "@svgr/core": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.0.tgz", - "integrity": "sha512-jIbu36GMjfK8HCCQitkfVVeQ2vSXGfq0ef0GO9HUxZGjal6Kvpkk4PwpkFP+OyCzF+skQFT9aWrUqekT3pKF8w==", - "requires": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/plugin-jsx": "^6.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "dependencies": { - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz", - "integrity": "sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA==", - "requires": { - "@babel/types": "^7.18.4", - "entities": "^4.3.0" - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz", - "integrity": "sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw==", - "requires": { - "@babel/core": "^7.18.5", - "@svgr/babel-preset": "^6.5.0", - "@svgr/hast-util-to-babel-ast": "^6.5.0", - "svg-parser": "^2.0.4" - } - } - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - } - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - } - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - } - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", - "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", - "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", - "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" - }, - "@types/express": { - "version": "4.17.14", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", - "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.31", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz", - "integrity": "sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "requires": { - "@types/unist": "*" - } - }, - "@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-proxy": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", - "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" - }, - "@types/mdast": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", - "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", - "requires": { - "@types/unist": "*" - } - }, - "@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" - }, - "@types/node": { - "version": "18.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz", - "integrity": "sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w==" - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" - }, - "@types/react": { - "version": "18.0.21", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz", - "integrity": "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-router": { - "version": "5.1.19", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz", - "integrity": "sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "@types/react-router-config": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz", - "integrity": "sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", - "requires": { - "@types/node": "*" - } - }, - "@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "@types/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", - "requires": { - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.33", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", - "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", - "requires": { - "@types/node": "*" - } - }, - "@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" - }, - "@types/ws": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", - "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "17.0.13", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz", - "integrity": "sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" - }, - "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "requires": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==" - }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "requires": {} - }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - }, - "address": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.1.tgz", - "integrity": "sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==" - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "algoliasearch": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz", - "integrity": "sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==", - "requires": { - "@algolia/cache-browser-local-storage": "4.14.2", - "@algolia/cache-common": "4.14.2", - "@algolia/cache-in-memory": "4.14.2", - "@algolia/client-account": "4.14.2", - "@algolia/client-analytics": "4.14.2", - "@algolia/client-common": "4.14.2", - "@algolia/client-personalization": "4.14.2", - "@algolia/client-search": "4.14.2", - "@algolia/logger-common": "4.14.2", - "@algolia/logger-console": "4.14.2", - "@algolia/requester-browser-xhr": "4.14.2", - "@algolia/requester-common": "4.14.2", - "@algolia/requester-node-http": "4.14.2", - "@algolia/transporter": "4.14.2" - } - }, - "algoliasearch-helper": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz", - "integrity": "sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw==", - "requires": { - "@algolia/events": "^4.0.1" - } - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "requires": { - "string-width": "^4.1.0" - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.reduce": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz", - "integrity": "sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "autoprefixer": { - "version": "10.4.12", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", - "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-lite": "^1.0.30001407", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", - "requires": { - "follow-redirects": "^1.14.7" - } - }, - "babel-loader": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", - "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "requires": { - "@babel/helper-plugin-utils": "7.10.4" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - } - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "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" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - } - } - }, - "bonjour-service": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz", - "integrity": "sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "requires": { - "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" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" - } - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001420", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz", - "integrity": "sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==" - }, - "ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - }, - "cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "requires": { - "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" - } - }, - "cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "requires": { - "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" - }, - "dependencies": { - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - } - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "clean-css": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz", - "integrity": "sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==", - "requires": { - "source-map": "~0.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" - }, - "cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==" - }, - "combine-promises": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", - "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==" - }, - "comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "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" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "copy-text-to-clipboard": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", - "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==" - }, - "copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "requires": { - "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" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "globby": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", - "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - } - } - }, - "core-js": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz", - "integrity": "sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw==" - }, - "core-js-compat": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz", - "integrity": "sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA==", - "requires": { - "browserslist": "^4.21.4" - } - }, - "core-js-pure": { - "version": "3.25.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz", - "integrity": "sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "requires": { - "node-fetch": "2.6.7" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "requires": {} - }, - "css-loader": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", - "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.7", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.5" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "css-minimizer-webpack-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", - "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", - "requires": { - "cssnano": "^5.1.8", - "jest-worker": "^29.1.2", - "postcss": "^8.4.17", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "jest-worker": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.0.tgz", - "integrity": "sha512-mluOlMbRX1H59vGVzPcVg2ALfCausbBpxC8a2KWOzInhYHZibbHH8CB0C1JkmkpfurrkOYgF7FPmypuom1OM9A==", - "requires": { - "@types/node": "*", - "jest-util": "^29.2.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - } - } - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "dependencies": { - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - } - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz", - "integrity": "sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ==", - "requires": { - "cssnano-preset-default": "^5.2.12", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-advanced": { - "version": "5.3.8", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.8.tgz", - "integrity": "sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg==", - "requires": { - "autoprefixer": "^10.3.7", - "cssnano-preset-default": "^5.2.12", - "postcss-discard-unused": "^5.1.0", - "postcss-merge-idents": "^5.1.1", - "postcss-reduce-idents": "^5.2.0", - "postcss-zindex": "^5.1.0" - } - }, - "cssnano-preset-default": { - "version": "5.2.12", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz", - "integrity": "sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew==", - "requires": { - "css-declaration-sorter": "^6.3.0", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.2", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.6", - "postcss-merge-rules": "^5.1.2", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.3", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.0", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.0", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - } - }, - "csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "requires": { - "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": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "requires": { - "repeat-string": "^1.5.4" - } - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "requires": { - "address": "^1.0.1", - "debug": "4" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", - "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - }, - "dependencies": { - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - } - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "emoticon": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", - "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", - "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", - "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.5", - "string.prototype.trimstart": "^1.0.5", - "unbox-primitive": "^1.0.2" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==" - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "eta": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz", - "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "requires": { - "@types/node": "*", - "require-like": ">= 0.1.1" - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "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": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "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" - }, - "dependencies": { - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "requires": { - "@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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "requires": { - "punycode": "^1.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - } - } - }, - "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "requires": { - "fbjs": "^3.0.0" - } - }, - "fbjs": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", - "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", - "requires": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" - } - }, - "fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "requires": { - "xml-js": "^1.6.11" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "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": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flux": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz", - "integrity": "sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw==", - "requires": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.1" - } - }, - "follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz", - "integrity": "sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==", - "requires": { - "@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" - }, - "dependencies": { - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@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" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - } - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "github-slugger": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", - "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - }, - "dependencies": { - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "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" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "dependencies": { - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - } - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, - "hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "requires": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" - } - }, - "hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "requires": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" - } - }, - "hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" - }, - "hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - } - } - }, - "hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "requires": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - } - }, - "hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "requires": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@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": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "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" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "requires": { - "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" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - } - } - }, - "html-tags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz", - "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==" - }, - "html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" - }, - "html-webpack-plugin": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz", - "integrity": "sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==", - "requires": { - "@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": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "entities": "^4.3.0" - } - }, - "http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "requires": { - "@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" - }, - "dependencies": { - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - } - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" - }, - "image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "requires": { - "queue": "6.0.2" - } - }, - "immer": { - "version": "9.0.15", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz", - "integrity": "sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "infima": { - "version": "0.2.0-alpha.42", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", - "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==" - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", - "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "jest-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.2.0.tgz", - "integrity": "sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw==", - "requires": { - "@jest/types": "^29.2.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "dependencies": { - "ci-info": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", - "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==" - } - } - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "joi": { - "version": "17.6.3", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.3.tgz", - "integrity": "sha512-YlQsIaS9MHYekzf1Qe11LjTkNzx9qhYluK3172z38RxYoAUf82XMX1p1DG1H4Wtk2ED/vPdSn9OggqtDu+aTow==", - "requires": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "klona": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", - "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==" - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", - "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" - }, - "mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "requires": { - "unist-util-remove": "^2.0.0" - } - }, - "mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", - "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", - "requires": { - "fs-monkey": "^1.0.3" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "mini-css-extract-plugin": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", - "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", - "requires": { - "schema-utils": "^4.0.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "requires": { - "lodash": "^4.17.21" - } - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz", - "integrity": "sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ==", - "requires": { - "array.prototype.reduce": "^1.0.4", - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.1" - } - }, - "object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - } - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - } - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - }, - "parse5": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz", - "integrity": "sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg==", - "requires": { - "entities": "^4.4.0" - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "requires": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", - "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", - "requires": { - "browserslist": "^4.20.3", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} - }, - "postcss-discard-unused": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", - "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-loader": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", - "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.7" - }, - "dependencies": { - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "postcss-merge-idents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", - "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-merge-longhand": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz", - "integrity": "sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw==", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.0" - } - }, - "postcss-merge-rules": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", - "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", - "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", - "requires": { - "browserslist": "^4.16.6", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", - "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", - "requires": { - "browserslist": "^4.16.6", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-idents": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", - "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", - "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-sort-media-queries": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.3.0.tgz", - "integrity": "sha512-jAl8gJM2DvuIJiI9sL1CuiHtKM4s5aEIomkU8G3LFvbP+p8i7Sz8VV63uieTgoewGqKbi+hxBTiOKJlB35upCg==", - "requires": { - "sort-css-media-queries": "2.1.0" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "postcss-zindex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", - "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", - "requires": {} - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" - }, - "prism-react-renderer": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", - "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", - "requires": {} - }, - "prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "requires": { - "xtend": "^4.0.0" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "requires": { - "escape-goat": "^2.0.0" - } - }, - "pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "requires": { - "inherits": "~2.0.3" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - } - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", - "requires": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@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" - }, - "dependencies": { - "loader-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", - "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==" - } - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-fast-compare": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" - }, - "react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "requires": { - "@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": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-json-view": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", - "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", - "requires": { - "flux": "^4.0.1", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^8.3.2" - } - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-loadable": { - "version": "npm:@docusaurus/react-loadable@5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "requires": { - "@types/react": "*", - "prop-types": "^15.6.2" - } - }, - "react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "requires": { - "@babel/runtime": "^7.10.3" - } - }, - "react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "requires": { - "@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" - }, - "dependencies": { - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "requires": { - "@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-textarea-autosize": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", - "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", - "requires": { - "@babel/runtime": "^7.10.2", - "use-composed-ref": "^1.3.0", - "use-latest": "^1.2.1" - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.10", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", - "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" - }, - "regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpu-core": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", - "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - } - }, - "registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "requires": { - "rc": "1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==" - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "remark-emoji": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", - "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", - "requires": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.3" - } - }, - "remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" - }, - "remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "requires": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==" - } - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } - } - }, - "remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "requires": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - } - }, - "remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", - "requires": { - "mdast-squeeze-paragraphs": "^4.0.0" - } - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - } - } - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rtl-detect": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz", - "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" - }, - "rtlcss": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", - "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", - "requires": { - "find-up": "^5.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.3.11", - "strip-json-comments": "^3.1.1" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz", - "integrity": "sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", - "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.8.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", - "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", - "requires": { - "node-forge": "^1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "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" - }, - "dependencies": { - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - } - } - }, - "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", - "requires": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - }, - "dependencies": { - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "~1.33.0" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" - } - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "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" - }, - "dependencies": { - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", - "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "requires": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "dependencies": { - "@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" - } - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "sort-css-media-queries": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", - "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "std-env": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.0.tgz", - "integrity": "sha512-cNNS+VYsXIs5gI6gJipO4qZ8YYT274JHvNnQ1/R/x8Q8mdP0qj0zoMchRXmBNPqp/0eOEhX+3g7g6Fgb7meLIQ==" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "requires": { - "inline-style-parser": "0.1.1" - } - }, - "stylehacks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", - "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", - "requires": { - "browserslist": "^4.16.6", - "postcss-selector-parser": "^6.0.4" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "terser": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz", - "integrity": "sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==", - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", - "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", - "requires": { - "@jridgewell/trace-mapping": "^0.3.14", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "terser": "^5.14.1" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" - }, - "trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - }, - "trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - }, - "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.2.tgz", - "integrity": "sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==", - "peer": true - }, - "ua-parser-js": { - "version": "0.7.32", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", - "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "requires": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" - }, - "unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" - }, - "unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" - }, - "unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" - }, - "unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "requires": { - "@types/unist": "^2.0.2" - } - }, - "unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - } - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - } - }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "requires": {} - }, - "use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "requires": {} - }, - "use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "requires": { - "use-isomorphic-layout-effect": "^1.1.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - }, - "vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", - "requires": { - "axios": "^0.25.0", - "joi": "^17.6.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "webpack": { - "version": "5.74.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", - "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^0.0.51", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.10.0", - "es-module-lexer": "^0.9.0", - "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.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.51", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", - "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz", - "integrity": "sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==", - "requires": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "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": { - "version": "4.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz", - "integrity": "sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==", - "requires": { - "@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.1", - "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", - "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.4.2" - }, - "dependencies": { - "ws": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz", - "integrity": "sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==", - "requires": {} - } - } - }, - "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", - "requires": { - "chalk": "^4.1.0", - "consola": "^2.15.3", - "pretty-time": "^1.1.0", - "std-env": "^3.0.1" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "requires": { - "string-width": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - }, - "wrap-ansi": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz", - "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==", - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } - }, - "strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - }, - "xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "requires": { - "sax": "^1.2.4" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, - "zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" - } - } -} diff --git a/package.json b/package.json index b849a833..0d7ec6df 100644 --- a/package.json +++ b/package.json @@ -16,13 +16,13 @@ "prepare": "husky install", "tools": "node tools.mjs" }, + "packageManager": "yarn@1.22.19", "dependencies": { "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.2.26", - "@lit-protocol/constants": "^2.2.41", + "@lit-protocol/constants": "^2.2.49", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/repos.config.json b/repos.config.json index 2a1c4038..d9f9af41 100644 --- a/repos.config.json +++ b/repos.config.json @@ -2,6 +2,6 @@ { "sidebarPosition": 5, "copyFrom": "https://raw.githubusercontent.com/LIT-Protocol/getlit/main/README.md", - "pasteTo": "/docs/ToolsAndExamples/Tools/getlitCli.md" + "pasteTo": "/docs/tools-and-examples/Tools/getlit-cli.md" } ] diff --git a/sidebars-ecosystem.js b/sidebars-ecosystem.js new file mode 100644 index 00000000..cffb4d43 --- /dev/null +++ b/sidebars-ecosystem.js @@ -0,0 +1,8 @@ +module.exports = { + ecosystem: [ + { + type: 'autogenerated', + dirName: '.', + }, + ], +}; \ No newline at end of file diff --git a/sidebars-learning-lab.js b/sidebars-learning-lab.js new file mode 100644 index 00000000..e4c6e11c --- /dev/null +++ b/sidebars-learning-lab.js @@ -0,0 +1,8 @@ +module.exports = { + learningLab: [ + { + type: "autogenerated", + dirName: ".", + }, + ], +}; diff --git a/sidebars.js b/sidebars.js index 8a814d90..ab9b92e9 100644 --- a/sidebars.js +++ b/sidebars.js @@ -26,19 +26,19 @@ const sidebars = { }, ], */ - learningLab: [ - { - type: 'autogenerated', - dirName: 'learningLab', - }, - ], + // learningLab: [ + // { + // type: 'autogenerated', + // dirName: 'learningLab', + // }, + // ], - ecosystem: [ - { - type: 'autogenerated', - dirName: 'Ecosystem', - }, - ], + // ecosystem: [ + // { + // type: 'autogenerated', + // dirName: 'Ecosystem', + // }, + // ], docs: [ { @@ -48,9 +48,8 @@ const sidebars = { className: "category-not-collapsible", items: [ "intro/overview", - "intro/whatIsLitProtocol", - "intro/rollup", - "intro/usecases", + "intro/what-is-lit-protocol", + "intro/usecases" ], }, { @@ -58,107 +57,13 @@ const sidebars = { label: "Concepts", collapsible: false, className: "category-not-collapsible", - items: [ - "concepts/pkpsAsWallet", - ], - }, - { - type: "category", - label: "Access Control", - collapsible: true, - items: [ - "accessControl/intro", - { - type: "category", - label: "Types of Conditions", - collapsed: true, - items: [ - "accessControl/conditionTypes/unifiedAccessControlConditions", - "accessControl/conditionTypes/booleanLogic", - "accessControl/conditionTypes/updateableConditions", - "accessControl/conditionTypes/litActionConditions", - ], - }, - { - type: "category", - label: "EVM", - collapsed: true, - items: [ - "accessControl/EVM/basicExamples", - "accessControl/EVM/customContractCalls", - "accessControl/EVM/poap", - "accessControl/EVM/timelock", - "accessControl/EVM/siwe", - ], - }, - { - type: "category", - label: "Other Chains", - collapsed: true, - items: [ - "accessControl/otherChains/solRpcConditions", - "accessControl/otherChains/cosmosConditions", - ], - }, - ], - }, - { - type: "category", - label: "Programmable Key Pairs", - collapsible: true, - items: [ - "pkp/intro", - "pkp/minting", - { - type: "category", - label: "Authentication with PKPs", - collapsed: true, - items: [ - "pkp/authMethods/authHelpers", - "pkp/authMethods/addRemoveAuthMethods", - "pkp/authMethods/socialLogin", - "pkp/authMethods/webAuthn", - "pkp/authMethods/email-sms", - ], - }, - "pkp/pkpsAndActions", - "pkp/usage", - "pkp/walletconnect", - "pkp/toolsAndExamples", - ], + items: ["concepts/pkps-as-wallet"], }, { type: "category", - label: "Lit Actions", + label: "Migration to V3", collapsible: true, - items: [ - "LitActions/intro", - "LitActions/getlitCli", - "LitActions/helloWorld", - "LitActions/bestPractices", - { - type: "category", - label: "Working With Lit Actions", - collapsed: true, - items: [ - "LitActions/workingWithActions/conditionalSigning", - "LitActions/workingWithActions/usingFetch", - "LitActions/workingWithActions/singleExecution", - "LitActions/workingWithActions/signingTx", - "LitActions/workingWithActions/permissions", - "LitActions/workingWithActions/logAndReturn", - ], - }, - { - type: "category", - label: "More Examples", - collapsed: true, - items: [ - "LitActions/additionalExamples/generatingSessionKey", - "LitActions/additionalExamples/usingEIP", - ], - }, - ], + items: ["migration/overview", "network/feature-matrix", "migration/changes"], }, { type: "category", @@ -166,115 +71,138 @@ const sidebars = { collapsible: false, className: "category-not-collapsible", items: [ - "SDK/intro", - "SDK/Explanation/installation", - "SDK/Explanation/migration", - { - type: "category", - label: "Working with the SDK", - collapsed: true, - items: [ - "SDK/Explanation/encryption", + "sdk/installation", { type: "category", label: "Authentication", link: { type: "doc", - id: "SDK/Explanation/authentication/overview", + id: "sdk/authentication/overview", }, collapsed: true, items: [ - "SDK/Explanation/authentication/authSig", + "sdk/authentication/auth-sig", { type: "category", label: "Session Signatures", link: { type: "doc", - id: "SDK/Explanation/authentication/sessionSigs/intro", + id: "sdk/authentication/session-sigs/intro", }, collapsed: true, items: [ - "SDK/Explanation/authentication/sessionSigs/resources-and-abilities", - "SDK/Explanation/authentication/sessionSigs/capability-objects", - "SDK/Explanation/authentication/sessionSigs/getSessionSigs", - "SDK/Explanation/authentication/sessionSigs/usage", + "sdk/authentication/session-sigs/resources-and-abilities", + "sdk/authentication/session-sigs/capability-objects", + "sdk/authentication/session-sigs/get-session-sigs", + "sdk/authentication/session-sigs/usage", + { + type: "category", + label: "Walletless Signatures", + link: { + type: "doc", + id: "sdk/authentication/session-sigs/auth-methods/overview", + }, + collapsed: true, + items: [ + "sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods", + "sdk/authentication/session-sigs/auth-methods/social-login", + "sdk/authentication/session-sigs/auth-methods/web-authn", + "sdk/authentication/session-sigs/auth-methods/email-sms", + ], + }, ], }, - "SDK/Explanation/authentication/security", - ], - }, - "SDK/Explanation/tests", - ], - }, - { - type: "category", - label: "Tools & Integrations", - collapsed: true, - items: [ - { - type: "category", - label: "Tools", - collapsed: true, - items: [ - "ToolsAndExamples/Tools/accessControl", - "ToolsAndExamples/Tools/shareModal", - "ToolsAndExamples/Tools/jwtverify", - "ToolsAndExamples/Tools/pkpexplorer", + "sdk/authentication/security", ], }, { type: "category", - label: "Integrations", - collapsed: true, + label: "Access Control", + link: { + type: "doc", + id: "sdk/access-control/intro", + }, + collapsible: true, items: [ + "sdk/access-control/encryption", + "sdk/access-control/jwt-auth", { type: "category", - label: "Ceramic Integration", + label: "Types of Conditions", collapsed: true, items: [ - "ToolsAndExamples/Integrations/Ceramic/intro", - "ToolsAndExamples/Integrations/Ceramic/installation", + "sdk/access-control/condition-types/unified-access-control-conditions", + "sdk/access-control/condition-types/boolean-logic", + "sdk/access-control/condition-types/lit-action-conditions", + ], + }, + { + type: "category", + label: "EVM", + collapsed: true, + items: [ + "sdk/access-control/evm/basic-examples", + "sdk/access-control/evm/custom-contract-calls", + "sdk/access-control/evm/poap", + "sdk/access-control/evm/timelock", + "sdk/access-control/evm/siwe", ], }, - "ToolsAndExamples/Integrations/bundlrxarweave", - "ToolsAndExamples/Integrations/additionalIntegrations", - ], - }, - { - type: "category", - label: "Additional Examples", - collapsed: true, - items: [ { type: "category", - label: "Encrypting and Decrypting On-chain Metadata", + label: "Other Chains", collapsed: true, items: [ - "ToolsAndExamples/SDKExamples/OnchainMetadata/introduction", - "ToolsAndExamples/SDKExamples/OnchainMetadata/setup", - "ToolsAndExamples/SDKExamples/OnchainMetadata/encryptDecrypt", - "ToolsAndExamples/SDKExamples/OnchainMetadata/smartContract", - "ToolsAndExamples/SDKExamples/OnchainMetadata/frontend", - "ToolsAndExamples/SDKExamples/OnchainMetadata/polygonMumbai", + "sdk/access-control/other-chains/sol-rpc-conditions", + "sdk/access-control/other-chains/cosmos-conditions", ], }, - "ToolsAndExamples/SDKExamples/dynamicContent", - "ToolsAndExamples/SDKExamples/signedChainData", ], }, - ], - }, - "SDK/examples", + { + type: "category", + label: "Programmable Wallets", + link: { + type: "doc", + id: "sdk/wallets/intro", + }, + collapsible: true, + items: [ + "sdk/wallets/auth-methods", + "sdk/wallets/minting", + "sdk/wallets/conditional-signing", + "sdk/wallets/walletconnect", + ], + }, + "sdk/tests", ], }, + { + type: "category", + label: "Tools", + collapsed: true, + items: [ + "tools/access-control", + "tools/getlit-cli", + "tools/share-modal", + "tools/pkpexplorer", + ], + }, + { + type: "category", + label: "Network", + collapsible: false, + className: "category-not-collapsible", + items: ["network/state-of-network", "network/feature-matrix", "network/rollup"], + }, { type: "category", label: "Resources", collapsible: false, className: "category-not-collapsible", items: [ - "resources/howItWorks", - "resources/supportedChains", + "resources/how-it-works", + "resources/supported-chains", "resources/contracts", "resources/glossary", ], @@ -284,9 +212,9 @@ const sidebars = { label: "Support", collapsible: false, className: "category-not-collapsible", - items: ["Support/faq", "Support/bugBounty", "Support/stateOfNetwork"], - }, + items: ["support/faq", "support/bug-bounty"], + } ], }; -module.exports = sidebars; \ No newline at end of file +module.exports = sidebars; diff --git a/src/components/CardSections/CoreConcepts.jsx b/src/components/CardSectionsV2/CoreConcepts.jsx similarity index 87% rename from src/components/CardSections/CoreConcepts.jsx rename to src/components/CardSectionsV2/CoreConcepts.jsx index 1b2fb557..27000f72 100644 --- a/src/components/CardSections/CoreConcepts.jsx +++ b/src/components/CardSectionsV2/CoreConcepts.jsx @@ -10,27 +10,27 @@ export default function CoreConceptsSection({ title, className }) { ); diff --git a/src/components/CardSections/Ecosystem.jsx b/src/components/CardSectionsV2/Ecosystem.jsx similarity index 87% rename from src/components/CardSections/Ecosystem.jsx rename to src/components/CardSectionsV2/Ecosystem.jsx index f3073199..cc1b8b9e 100644 --- a/src/components/CardSections/Ecosystem.jsx +++ b/src/components/CardSectionsV2/Ecosystem.jsx @@ -10,7 +10,7 @@ export default function EcosystemSection({ title, className }) { ); diff --git a/src/components/CardSections/LearnCode.jsx b/src/components/CardSectionsV2/LearnCode.jsx similarity index 85% rename from src/components/CardSections/LearnCode.jsx rename to src/components/CardSectionsV2/LearnCode.jsx index 65b12e7f..815935dd 100644 --- a/src/components/CardSections/LearnCode.jsx +++ b/src/components/CardSectionsV2/LearnCode.jsx @@ -10,17 +10,17 @@ export default function LearnCodeSection({ title, className }) { ); diff --git a/src/components/CardSections/QuickStart.jsx b/src/components/CardSectionsV2/QuickStart.jsx similarity index 79% rename from src/components/CardSections/QuickStart.jsx rename to src/components/CardSectionsV2/QuickStart.jsx index f9f61e52..1291d392 100644 --- a/src/components/CardSections/QuickStart.jsx +++ b/src/components/CardSectionsV2/QuickStart.jsx @@ -10,32 +10,32 @@ export default function QuickStartSection({ title, className }) { ); diff --git a/src/components/CardSectionsV3/CoreConcepts.jsx b/src/components/CardSectionsV3/CoreConcepts.jsx new file mode 100644 index 00000000..a8482367 --- /dev/null +++ b/src/components/CardSectionsV3/CoreConcepts.jsx @@ -0,0 +1,27 @@ +import React from "react"; +import { + HomepageCard as Card, + HomepageSection as Section, +} from "../HomepageComponents"; + +export default function CoreConceptsSection({ title, className }) { + return ( +
+ + + +
+ ); +} diff --git a/src/components/CardSectionsV3/Ecosystem.jsx b/src/components/CardSectionsV3/Ecosystem.jsx new file mode 100644 index 00000000..749cf521 --- /dev/null +++ b/src/components/CardSectionsV3/Ecosystem.jsx @@ -0,0 +1,50 @@ +import React from "react"; +import { + HomepageCard as Card, + HomepageSection as Section, +} from "../HomepageComponents"; + +export default function EcosystemSection({ title, className }) { + return ( +
+ + + + + + +
+ ); +} + +/** TODO: Add in this section once Tools and Integrations have their separate landing spots + * + */ diff --git a/src/components/CardSectionsV3/LearnCode.jsx b/src/components/CardSectionsV3/LearnCode.jsx new file mode 100644 index 00000000..8324988e --- /dev/null +++ b/src/components/CardSectionsV3/LearnCode.jsx @@ -0,0 +1,32 @@ +import React from "react"; +import { + HomepageCard as Card, + HomepageSection as Section, +} from "../HomepageComponents"; + +export default function LearnCodeSection({ title, className }) { + return ( +
+ + + + +
+ ); +} diff --git a/src/components/CardSectionsV3/QuickStart.jsx b/src/components/CardSectionsV3/QuickStart.jsx new file mode 100644 index 00000000..5d951cfc --- /dev/null +++ b/src/components/CardSectionsV3/QuickStart.jsx @@ -0,0 +1,22 @@ +import React from "react"; +import { + HomepageCard as Card, + HomepageSection as Section, +} from "../HomepageComponents"; + +export default function QuickStartSection({ title, className }) { + return ( +
+ + +
+ ); +} diff --git a/src/components/LLCardSections/Intro.jsx b/src/components/LLCardSections/Intro.jsx index 55662cae..a8c3e144 100644 --- a/src/components/LLCardSections/Intro.jsx +++ b/src/components/LLCardSections/Intro.jsx @@ -10,7 +10,7 @@ export default function IntroSection({ title, className }) { ); diff --git a/src/components/SDKCardSections/AccessControl.jsx b/src/components/SDKCardSectionsV2/AccessControl.jsx similarity index 81% rename from src/components/SDKCardSections/AccessControl.jsx rename to src/components/SDKCardSectionsV2/AccessControl.jsx index b9c289ba..0ad73a5d 100644 --- a/src/components/SDKCardSections/AccessControl.jsx +++ b/src/components/SDKCardSectionsV2/AccessControl.jsx @@ -10,17 +10,17 @@ export default function AccessControlSection({ title, className }) { ); diff --git a/src/components/SDKCardSections/Actions.jsx b/src/components/SDKCardSectionsV2/Actions.jsx similarity index 84% rename from src/components/SDKCardSections/Actions.jsx rename to src/components/SDKCardSectionsV2/Actions.jsx index 4f63dd1c..af0aeede 100644 --- a/src/components/SDKCardSections/Actions.jsx +++ b/src/components/SDKCardSectionsV2/Actions.jsx @@ -10,27 +10,27 @@ export default function LitActionsSection({ title, className }) { ); diff --git a/src/components/SDKCardSections/Resources.jsx b/src/components/SDKCardSectionsV2/Resources.jsx similarity index 83% rename from src/components/SDKCardSections/Resources.jsx rename to src/components/SDKCardSectionsV2/Resources.jsx index 0641dae3..e16d1416 100644 --- a/src/components/SDKCardSections/Resources.jsx +++ b/src/components/SDKCardSectionsV2/Resources.jsx @@ -8,8 +8,8 @@ export default function ResourcesSection({ title, className }) { return (
]` | 📝 Create a new Lit Action | +| `test` | `getlit test []` | 🧪 Test a Lit Action | +| `watch` | `getlit watch []` | 🔧 Simultaneously build and test a Lit Action | +| `setup` | `getlit setup` | 🔑 Setup config for authSig and PKP | +| `docs` \| `doc` | `getlit docs` | 📖 Open the Lit Protocol documentation | +| `help` \| `show` | `getlit help` | 🆘 Show the help menu | \ No newline at end of file diff --git a/docs/ToolsAndExamples/Tools/jwtverify.md b/versioned_docs/version-2.0/ToolsAndExamples/Tools/jwtverify.md similarity index 100% rename from docs/ToolsAndExamples/Tools/jwtverify.md rename to versioned_docs/version-2.0/ToolsAndExamples/Tools/jwtverify.md diff --git a/versioned_docs/version-2.0/ToolsAndExamples/Tools/pkpexplorer.md b/versioned_docs/version-2.0/ToolsAndExamples/Tools/pkpexplorer.md new file mode 100644 index 00000000..031829d6 --- /dev/null +++ b/versioned_docs/version-2.0/ToolsAndExamples/Tools/pkpexplorer.md @@ -0,0 +1,7 @@ +--- +sidebar_position: 4 +--- + +# PKP Explorer + +Mint a PKP, create and manage Lit Actions, and more. Visit https://explorer.litprotocol.com/mint-pkp \ No newline at end of file diff --git a/docs/ToolsAndExamples/Tools/shareModal.md b/versioned_docs/version-2.0/ToolsAndExamples/Tools/shareModal.md similarity index 96% rename from docs/ToolsAndExamples/Tools/shareModal.md rename to versioned_docs/version-2.0/ToolsAndExamples/Tools/shareModal.md index 89fe3f1f..9d8b111d 100644 --- a/docs/ToolsAndExamples/Tools/shareModal.md +++ b/versioned_docs/version-2.0/ToolsAndExamples/Tools/shareModal.md @@ -12,7 +12,7 @@ The Lit Share Modal is a tool for creating access control conditions for securin - Create multiple paths for unlocking content by using AND/OR operators. - Set your most used tokens/NFTs as defaults for quick and easy access. -![Share Modal Image](../../../static/img/shareModalCover.png) +![Share Modal Image](../../../../static/img/shareModalCover.png) For an in-depth explanation of how to use the share modal, please follow the [README.md](https://github.com/LIT-Protocol/lit-share-modal-v3#readme). diff --git a/docs/ToolsAndExamples/_category_.json b/versioned_docs/version-2.0/ToolsAndExamples/_category_.json similarity index 100% rename from docs/ToolsAndExamples/_category_.json rename to versioned_docs/version-2.0/ToolsAndExamples/_category_.json diff --git a/versioned_docs/version-2.0/accessControl/EVM/_category_.json b/versioned_docs/version-2.0/accessControl/EVM/_category_.json new file mode 100644 index 00000000..b17ce32c --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/EVM/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "EVM", + "position": 4 +} diff --git a/docs/accessControl/EVM/basicExamples.md b/versioned_docs/version-2.0/accessControl/EVM/basicExamples.md similarity index 96% rename from docs/accessControl/EVM/basicExamples.md rename to versioned_docs/version-2.0/accessControl/EVM/basicExamples.md index 5642bf02..f1ccc34b 100644 --- a/docs/accessControl/EVM/basicExamples.md +++ b/versioned_docs/version-2.0/accessControl/EVM/basicExamples.md @@ -6,7 +6,7 @@ sidebar_position: 2 This page defines some basic access control conditions (referred to as `accessControlConditions` in the code) based on standard contract types like ERC20, ERC721, and ERC1155 for EVM (Ethereum) chains. Also included are some conditions like wallet address ownership, proof of humanity, and POAP possession. You may set your conditions, and define the `returnValueTest` under which access should be granted. -If you would like to use a contract call for a contract type that is not here, refer to the [custom contract calls](/accessControl/EVM/customContractCalls) page, which will let you pass a function ABI and call any smart contract function. These are referred to as `evmContractConditions` in the code. +If you would like to use a contract call for a contract type that is not here, refer to the [custom contract calls](../../accessControl/EVM/customContractCalls) page, which will let you pass a function ABI and call any smart contract function. These are referred to as `evmContractConditions` in the code. ## Must posess at least one ERC1155 token with a given token id diff --git a/versioned_docs/version-2.0/accessControl/EVM/customContractCalls.md b/versioned_docs/version-2.0/accessControl/EVM/customContractCalls.md new file mode 100644 index 00000000..f4b3712a --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/EVM/customContractCalls.md @@ -0,0 +1,192 @@ +--- +sidebar_position: 3 +--- + +# Custom Contract Calls + +This page defines how to create access control conditions (referred to as `evmContractConditions` in the code) based on any smart contract call on an EVM (Ethereum) compatible network. You may pass any function ABI, and define the `returnValueTest` under which access should be granted. + +## Must have at least 1 share in a given MolochDAOv2.1 DAO + +```js +const evmContractConditions = [ + { + contractAddress: "0xb71a679cfff330591d556c4b9f21c7739ca9590c", + functionName: "members", + functionParams: [":userAddress"], + functionAbi: { + constant: true, + inputs: [ + { + name: "", + type: "address", + }, + ], + name: "members", + outputs: [ + { + name: "delegateKey", + type: "address", + }, + { + name: "shares", + type: "uint256", + }, + { + name: "loot", + type: "uint256", + }, + { + name: "exists", + type: "bool", + }, + { + name: "highestIndexYesVote", + type: "uint256", + }, + { + name: "jailed", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + chain: "xdai", + returnValueTest: { + key: "shares", + comparator: ">=", + value: "1", + }, + }, +]; +``` + +## Must posess at least one ERC1155 token with a given token id + +```js +var evmContractConditions = [ + { + contractAddress: "0x7C7757a9675f06F3BE4618bB68732c4aB25D2e88", + functionName: "balanceOf", + functionParams: [":userAddress", "8"], + functionAbi: { + type: "function", + stateMutability: "view", + outputs: [ + { + type: "uint256", + name: "", + internalType: "uint256", + }, + ], + name: "balanceOf", + inputs: [ + { + type: "address", + name: "account", + internalType: "address", + }, + { + type: "uint256", + name: "id", + internalType: "uint256", + }, + ], + }, + chain, + returnValueTest: { + key: "", + comparator: ">", + value: "0", + }, + }, +]; +``` + +## Using SIWE params in Custom Contract Calls + +You can use a SIWE resource parameter in an access control condition. Below is an example of using a SIWE param for a tokenId of "8", indicated with the `litParam:tokenId:` param in a custom contract call. This means that anywhere that ":litParam:tokenId" appears in the `functionParams`, it will be substituted with the number "8" from the SIWE resource parameter. Note that the actual value of the SIWE param needs to be base64url encoded. The nodes will base64url decode the value before substituting it into the `functionParams`. + +Creating the AuthSig with the SIWE param: + +``` + let tokenId = "8"; +// base64url encode the param +let encodedSiweResource = LitJsSdk.uint8arrayToString( + LitJsSdk.uint8arrayFromString(tokenId, "utf8"), + "base64url" +); +const authSig = await LitJsSdk.checkAndSignAuthMessage({ + chain, + resources: [`litParam:tokenId:${encodedSiweResource}`], +}); +``` + +Creating the evmContractCondition: + +``` +var evmContractConditions = [ + { + contractAddress: "0x7C7757a9675f06F3BE4618bB68732c4aB25D2e88", + functionName: "balanceOf", + functionParams: [":userAddress", ":litParam:tokenId"], + functionAbi: { + type: "function", + stateMutability: "view", + outputs: [ + { + type: "uint256", + name: "", + internalType: "uint256", + }, + ], + name: "balanceOf", + inputs: [ + { + type: "address", + name: "account", + internalType: "address", + }, + { + type: "uint256", + name: "id", + internalType: "uint256", + }, + ], + }, + chain, + returnValueTest: { + key: "", + comparator: ">", + value: "0", + }, + }, +]; +``` + +## Encoding arrays in functionParams + +The following condition uses a function that accepts an array of bytes32 objects. To pass these objects, you should remove the 0x prefix from the hex string. You can view the function being called in this example for reference here: https://gnosisscan.io/address/0xc7BA08FB2546cA2198F6C69e5c4B15252D90A347#code + +```js +var evmContractConditions = [ + { + contractAddress: "0xc7BA08FB2546cA2198F6C69e5c4B15252D90A347", + functionName: "sumBytes32", + functionParams: [ + "[0000000000000000000000000000000000000000000000000000000000000002,0000000000000000000000000000000000000000000000000000000000000003]", + ], + functionAbi: { + name: "sumBytes32", + inputs: [{ internalType: "bytes32[]", name: "vals", type: "bytes32[]" }], + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + constant: true, + stateMutability: "view", + }, + chain: "xdai", + returnValueTest: { key: "", comparator: "=", value: "5" }, + }, +]; +``` diff --git a/versioned_docs/version-2.0/accessControl/EVM/poap.md b/versioned_docs/version-2.0/accessControl/EVM/poap.md new file mode 100644 index 00000000..9cab8f06 --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/EVM/poap.md @@ -0,0 +1,81 @@ +--- +sidebar_position: 3 +--- + +# POAP Examples + +## Must posess a POAP with a specific name + +This is an integration with https://poap.xyz + +It checks that a user holds a specific POAP. Enter the POAP name in the final returnValueTest value. In this example the POAP is "Burning Man 2021". + +This actually performs two checks, so there are two access control conditions tested. The first checks that the name of any of the user's POAPs is a match to the returnValueTest value and uses the xDai chain. The second does the same but with ethereum. Since POAPs live on both xDai and Ethereum chains both need to be checked, separated by an 'or' operator. **Both conditions should be identical other than the chain.** + +You may use "contains" or "=" for the final returnValueTest comparator. For example, if there are POAPs issued every year for Burning Man, with names in the format of "Burning Man 2021" and "Burning Man 2022" but you just want to check that the user holds any Burning Man POAP, you could use "contains" "Burning Man" and all Burning Man POAPs would pass the test. If you wanted to check for a specific year like 2021, you could use "=" "Burning Man 2021" + +```js +var accessControlConditions = [ + { + contractAddress: "0x22C1f6050E56d2876009903609a2cC3fEf83B415", + standardContractType: "POAP", + chain: "xdai", + method: "tokenURI", + parameters: [], + returnValueTest: { + comparator: "contains", + value: "Burning Man 2021", + }, + }, + {"operator": "or"}, + { + contractAddress: "0x22C1f6050E56d2876009903609a2cC3fEf83B415", + standardContractType: "POAP", + chain: "ethereum", + method: "tokenURI", + parameters: [], + returnValueTest: { + comparator: "contains", + value: "Burning Man 2021", + }, + }, +]; +``` + +## Must posess a POAP with a specific POAP Event ID + +This is an integration with https://poap.xyz + +It checks that a user holds a specific POAP. Enter the POAP id number in the final returnValueTest value. In this example the POAP ID is "37582". + +This actually performs two checks, so there are two access control conditions tested. The first checks that the event ID of any of the user's POAPs is a match to the returnValueTest value and uses the xDai chain. The second does the same but with ethereum. Since POAPs live on both xDai and Ethereum chains both need to be checked, separated by an 'or' operator. **Both conditions should be identical other than the chain.** + +```js +var accessControlConditions = [ + { + contractAddress: "0x22C1f6050E56d2876009903609a2cC3fEf83B415", + standardContractType: "POAP", + chain: "xdai", + method: "eventId", + parameters: [], + returnValueTest: { + comparator: "=", + value: "37582", + }, + }, + { + operator: "or", + }, + { + contractAddress: "0x22C1f6050E56d2876009903609a2cC3fEf83B415", + standardContractType: "POAP", + chain: "ethereum", + method: "eventId", + parameters: [], + returnValueTest: { + comparator: "=", + value: "37582", + }, + }, +]; +``` diff --git a/docs/accessControl/EVM/siwe.md b/versioned_docs/version-2.0/accessControl/EVM/siwe.md similarity index 90% rename from docs/accessControl/EVM/siwe.md rename to versioned_docs/version-2.0/accessControl/EVM/siwe.md index 97d6eb95..3c055ba9 100644 --- a/docs/accessControl/EVM/siwe.md +++ b/versioned_docs/version-2.0/accessControl/EVM/siwe.md @@ -48,4 +48,4 @@ const accessControlConditions = [ ## Using SIWE params in Custom Contract Calls -See the [Custom Contract Calls](/accessControl/EVM/customContractCalls#using-siwe-params-in-custom-contract-calls) page for more information on how to use SIWE params in custom contract calls. +See the [Custom Contract Calls](../../accessControl/EVM/customContractCalls#using-siwe-params-in-custom-contract-calls) page for more information on how to use SIWE params in custom contract calls. diff --git a/versioned_docs/version-2.0/accessControl/EVM/timelock.md b/versioned_docs/version-2.0/accessControl/EVM/timelock.md new file mode 100644 index 00000000..973ef2ee --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/EVM/timelock.md @@ -0,0 +1,25 @@ +--- +sidebar_position: 4 +--- + +# Timelock Example + +## Timelock (Time-based Access Control) + +This will get the latest block from your blockchain of choice, and compare it to the unix timestamp that was specified in the `returnValueTest`. In this example, the user will be able to unlock after unix timestamp `1651276942`. Make sure to pass the unix timestamp as a string. + +```js +var accessControlConditions = [ + { + contractAddress: "", + standardContractType: "timestamp", + chain: "ethereum", + method: "eth_getBlockByNumber", + parameters: ["latest"], + returnValueTest: { + comparator: ">=", + value: "1651276942" + }, + }, +]; +``` diff --git a/versioned_docs/version-2.0/accessControl/_category_.json b/versioned_docs/version-2.0/accessControl/_category_.json new file mode 100644 index 00000000..2fae46f2 --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Access Control", + "position": 2 +} diff --git a/versioned_docs/version-2.0/accessControl/conditionTypes/_category_.json b/versioned_docs/version-2.0/accessControl/conditionTypes/_category_.json new file mode 100644 index 00000000..f77944a7 --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/conditionTypes/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Types of Conditions", + "position": 3 + } \ No newline at end of file diff --git a/versioned_docs/version-2.0/accessControl/conditionTypes/booleanLogic.md b/versioned_docs/version-2.0/accessControl/conditionTypes/booleanLogic.md new file mode 100644 index 00000000..c15e337a --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/conditionTypes/booleanLogic.md @@ -0,0 +1,94 @@ +--- +sidebar_position: 2 +--- + +# Boolean Logic + +Lit Protocol supports boolean logic when checking conditions. Use an object with the "operator" property set to "and" or "or" to combine conditions. + +If you wanted to check that the user is a member of a DAO or that they hold more than 0.00001 ETH, you could use the following: + +```js +const accessControlConditions = [ + { + contractAddress: "0x50D8EB685a9F262B13F28958aBc9670F06F819d9", + standardContractType: "MolochDAOv2.1", + chain, + method: "members", + parameters: [":userAddress"], + returnValueTest: { + comparator: "=", + value: "true", + }, + }, + { operator: "or" }, + { + contractAddress: "", + standardContractType: "", + chain, + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "10000000000000", + }, + }, +]; +``` + +## Boolean nesting + +You can also nest boolean conditions. For example, if you want to check that the user is a member of a DAO and that they either hold more than 0.00001 ETH or 10 of an ERC20 token, you can use the following: + +```js +const accessControlConditions = [ + { + "contractAddress":"0x50D8EB685a9F262B13F28958aBc9670F06F819d9", + "standardContractType":"MolochDAOv2.1", + "chain", + "method":"members", + "parameters":[ + ":userAddress" + ], + "returnValueTest":{ + "comparator":"=", + "value":"true" + } + }, + { + "operator":"and" + }, + [ + { + "contractAddress":"", + "standardContractType":"", + "chain", + "method":"eth_getBalance", + "parameters":[ + ":userAddress", + "latest" + ], + "returnValueTest":{ + "comparator":">=", + "value":"10000000000000" + } + }, + { + "operator":"or" + }, + { + "contractAddress":"0xc0ad7861fe8848002a3d9530999dd29f6b6cae75", + "standardContractType":"ERC20", + "chain", + "method":"balanceOf", + "parameters":[ + ":userAddress" + ], + "returnValueTest":{ + "comparator":">", + "value":"10" + } + } + ] +] +``` diff --git a/docs/accessControl/conditionTypes/litActionConditions.md b/versioned_docs/version-2.0/accessControl/conditionTypes/litActionConditions.md similarity index 100% rename from docs/accessControl/conditionTypes/litActionConditions.md rename to versioned_docs/version-2.0/accessControl/conditionTypes/litActionConditions.md diff --git a/docs/accessControl/conditionTypes/unifiedAccessControlConditions.md b/versioned_docs/version-2.0/accessControl/conditionTypes/unifiedAccessControlConditions.md similarity index 89% rename from docs/accessControl/conditionTypes/unifiedAccessControlConditions.md rename to versioned_docs/version-2.0/accessControl/conditionTypes/unifiedAccessControlConditions.md index a3cdc159..ffa842e0 100644 --- a/docs/accessControl/conditionTypes/unifiedAccessControlConditions.md +++ b/versioned_docs/version-2.0/accessControl/conditionTypes/unifiedAccessControlConditions.md @@ -8,10 +8,10 @@ You can mix and match EVM Basic Conditions, EVM Custom Contract Conditions, Sola For each condition, you must add a `conditionType` field that specifies the type of condition. The `conditionType` field can be one of the following: -- For [EVM Basic Conditions](/accessControl/EVM/basicExamples), also known as classic "Access Control Conditions", use the string `evmBasic` -- For [EVM Custom Contract Conditions](/accessControl/EVM/customContractCalls), use the string `evmContract` -- For [Solana RPC Conditions](/accessControl/otherChains/solRpcConditions), use the string `solRpc` -- For [Cosmos or Kyve Conditions](/accessControl/otherChains/cosmosConditions), use the string `cosmos` +- For [EVM Basic Conditions](../../accessControl/EVM/basicExamples), also known as classic "Access Control Conditions", use the string `evmBasic` +- For [EVM Custom Contract Conditions](../../accessControl/EVM/customContractCalls), use the string `evmContract` +- For [Solana RPC Conditions](../../accessControl/otherChains/solRpcConditions), use the string `solRpc` +- For [Cosmos or Kyve Conditions](../../accessControl/otherChains/cosmosConditions), use the string `cosmos` ## Passing Wallet AuthSigs for unified access control conditions diff --git a/docs/accessControl/conditionTypes/updateableConditions.md b/versioned_docs/version-2.0/accessControl/conditionTypes/updateableConditions.md similarity index 100% rename from docs/accessControl/conditionTypes/updateableConditions.md rename to versioned_docs/version-2.0/accessControl/conditionTypes/updateableConditions.md diff --git a/versioned_docs/version-2.0/accessControl/intro.md b/versioned_docs/version-2.0/accessControl/intro.md new file mode 100644 index 00000000..2073cdc6 --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/intro.md @@ -0,0 +1,40 @@ +--- +sidebar_position: 1 +--- + +# Introduction to Decentralized Access Control + +## Quick Start + +Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: + +1. Guide: [Working with Decentralized Access Control](https://spark.litprotocol.com/working-with-decentralized-access-control/) +2. Guide: [Encrypting and Decrypting Content with Lit](../SDK/Explanation/encryption) +3. Tool: [Custom Access Controls Creator](https://custom-access-control-conditions.lit.repl.co/) +4. Example: [Basic EVM Conditions](../accessControl/EVM/basicExamples) + +## Overview + +Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../resources/glossary#encryption) content for private and permissioned storage on the open Web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions](../accessControl/conditionTypes/unifiedAccessControlConditions) (ACCs) are used to define who can decrypt and access the locked data. + +Lit supports the use of both on and [off-chain data](../accessControl/conditionTypes/litActionConditions) when defining access control conditions. Examples include gating against: + +- [Membership within a particular DAO](../accessControl/EVM/basicExamples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) +- Ownership of a particular [ERC-721](../accessControl/EVM/basicExamples#must-posess-any-token-in-an-erc721-collection-nft-collection) or [ERC-20](../accessControl/EVM/basicExamples#must-posess-at-least-one-erc20-token) token +- The result of [any smart contract call](../accessControl/EVM/customContractCalls) +- The result of [any API call](../accessControl/conditionTypes/litActionConditions), such as a follow on Twitter + +## Features + +1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](../resources/supportedChains). +2. AND + OR operators ([boolean logic](../accessControl/conditionTypes/booleanLogic)) can be used to combine any of the supported conditions listed above. +3. ACCs may be permanent or [updateable](../accessControl/conditionTypes/updateableConditions). +4. Storage provider agnostic: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. + +## Examples and Use Cases + +1. [Private data](https://docs.lens.xyz/docs/gated) for web3 social +2. [Token-gated video](https://github.com/suhailkakar/livepeer-token-gated-vod) streaming +3. [Encrypted token metadata](https://spark.litprotocol.com/semantic/) +4. [Persistent and private data marketplaces](https://blog.streamr.network/streamr-integrates-lit-protocol/) +5. Token-gating access to apps, [such as Streamlit](https://github.com/AlgoveraAI/streamlit-metamask/tree/main#lit-protocol-components) \ No newline at end of file diff --git a/versioned_docs/version-2.0/accessControl/otherChains/_category_.json b/versioned_docs/version-2.0/accessControl/otherChains/_category_.json new file mode 100644 index 00000000..878de4cb --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/otherChains/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Other Chains", + "position": 6 + } \ No newline at end of file diff --git a/versioned_docs/version-2.0/accessControl/otherChains/cosmosConditions.md b/versioned_docs/version-2.0/accessControl/otherChains/cosmosConditions.md new file mode 100644 index 00000000..bc49012b --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/otherChains/cosmosConditions.md @@ -0,0 +1,93 @@ +--- +sidebar_position: 5 +--- + +# Cosmos Examples + +Cosmos Access Control conditions work a little different than EVM access control conditions. Cosmos conditions let you make a Cosmos or KYVE RPC call, and then filter and parse the response. This is useful for checking the balance of an account, checking the owner of an account, or checking the number of tokens a user has. + +Note that Cosmos Conditions can only be used via the `unifiedAccessControlConditions` parameter. + +## Must posess at least 1 ATOM + +In this example, we are checking if the user's wallet contains more than 1 ATOM. The parameter of ":userAddress" will be automatically substituted with the user's wallet address which was verified by checking the message signed by their wallet. + +```js +var unifiedAccessControlConditions = [ + { + conditionType: "cosmos", + path: "/cosmos/bank/v1beta1/balances/:userAddress", + chain, + returnValueTest: { + key: "$.balances[0].amount", + comparator: ">=", + value: "1000000", // equals 1 ATOM + }, + }, +]; +``` + +## A specific wallet address + +In this example, we are checking that the user is in posession of a specific wallet address `cosmos1vn6zl0924yj86jrp330wcwjclzdharljq03a8h`. The parameter of ":userAddress" will be automatically substituted with the user's wallet address which was verified by checking the message signed by their wallet. + +```js +var unifiedAccessControlConditions = [ + { + conditionType: "cosmos", + path: ":userAddress", + chain, + returnValueTest: { + key: "", + comparator: "=", + value: "cosmos1vn6zl0924yj86jrp330wcwjclzdharljq03a8h", + }, + }, +]; +``` + +# Other Cosmos SDK Chains + +Want to use a Cosmos chain that you don't see on the list already? Ask us in Discord and we can usually add it for you. + +## KYVE Network + +## Must be on the KYVE funders list + +This example checks if the user is a current KYVE funder. The parameter of ":userAddress" will be automatically substituted with the user's wallet address which was verified by checking the message signed by their wallet. Pay special attention to the "key" in the returnValueTest. The key is a JSONPath that pulls out all the funder addresses. + +```js +var unifiedAccessControlConditions = [ + { + conditionType: "cosmos", + path: "/kyve/registry/v1beta1/funders_list/0", + chain: "kyve", + returnValueTest: { + key: "$.funders.*.account", + comparator: "contains", + value: ":userAddress", + }, + }, +]; +``` + +## Juno Network + +## A specific wallet address + +In this example, we are checking that the user is in posession of a specific wallet address `juno1vn6zl0924yj86jrp330wcwjclzdharljkajxqt`. The parameter of ":userAddress" will be automatically substituted with the user's wallet address which was verified by checking the message signed by their wallet. + +```js +var unifiedAccessControlConditions = [ + { + conditionType: "cosmos", + path: ":userAddress", + chain: "juno", + returnValueTest: { + key: "", + comparator: "=", + value: "juno1vn6zl0924yj86jrp330wcwjclzdharljkajxqt", + }, + }, +]; +``` diff --git a/versioned_docs/version-2.0/accessControl/otherChains/solRpcConditions.md b/versioned_docs/version-2.0/accessControl/otherChains/solRpcConditions.md new file mode 100644 index 00000000..95abc5bc --- /dev/null +++ b/versioned_docs/version-2.0/accessControl/otherChains/solRpcConditions.md @@ -0,0 +1,145 @@ +--- +sidebar_position: 4 +--- + +# Solana Examples + +Solana Access Control conditions work a little different than EVM access control conditions. Solana conditions let you make a Solana RPC call, and then filter and parse the response. This is useful for things like checking the balance of an account, checking the owner of an account, or checking the number of tokens a user has. + +Note that you can use Solana RPC Conditions in the same way you would use EVM conditions, but you should pass a `solRpcConditions` array instead of a `accessControlConditions` or `evmContractConditions` array. + +## Must posess an NFT in a Metaplex collection + +In this example, we are checking if the user owns one or more NFTs in the Metaplex collection with address `FfyafED6kiJUFwEhogyTRQHiL6NguqNg9xcdeoyyJs33`. The collection must be verified. Note that "balanceOfMetaplexCollection" is not a real Solana RPC call. It is a custom RPC call that is specific to Lit Protocol. + +```js +var solRpcConditions = [ + { + method: "balanceOfMetaplexCollection", + params: ["FfyafED6kiJUFwEhogyTRQHiL6NguqNg9xcdeoyyJs33"], + pdaParams: [], + pdaInterface: { offset: 0, fields: {} }, + pdaKey: "", + chain, + returnValueTest: { + key: "", + comparator: ">", + value: "0", + }, + }, +]; +``` + +## Must posess at least 0.1 SOL + +In this example, we are checking if the user's wallet contains more than 0.1 SOL. The parameter of ":userAddress" will be automatically substituted with the user's wallet address which was verified by checking the message signed by their wallet. + +```js +var solRpcConditions = [ + { + method: "getBalance", + params: [":userAddress"], + pdaParams: [], + pdaInterface: { offset: 0, fields: {} }, + pdaKey: "", + chain: "solana", + returnValueTest: { + key: "", + comparator: ">=", + value: "100000000", // equals 0.1 SOL + }, + }, +]; +``` + +## A specific wallet address + +In this example, we are checking that the user is in posession of a specific wallet address `88PoAjLoSqrTjH2cdRWq4JEezhSdDBw3g7Qa6qKQurxA`. The parameter of ":userAddress" will be automatically substituted with the user's wallet address which was verified by checking the message signed by their wallet. + +```js +var solRpcConditions = [ + { + method: "", + params: [":userAddress"], + pdaParams: [], + pdaInterface: { offset: 0, fields: {} }, + pdaKey: "", + chain: "solana", + returnValueTest: { + key: "", + comparator: "=", + value: "88PoAjLoSqrTjH2cdRWq4JEezhSdDBw3g7Qa6qKQurxA", + }, + }, +]; +``` + +## Must posess a balance of a specific token (Fungible or NFT) + +This example checks if the user owns at least 1 token with address `FrYwrqLcGfmXrgJKcZfrzoWsZ3pqQB9pjjUC9PxSq3xT`. This is done by deriving the user's token account address for the token contract with the user's wallet address, validated via the message signed by the user's wallet. Then, `getTokenAccountBalance` is run on the user's token account address and the result is checked against the `returnValueTest`. Note that "balanceOfToken" is not a real Solana RPC call. It is a custom RPC call that is specific to Lit Protocol. + +```js +var solRpcConditions = [ + { + method: "balanceOfToken", + params: ["FrYwrqLcGfmXrgJKcZfrzoWsZ3pqQB9pjjUC9PxSq3xT"], + pdaParams: [], + pdaInterface: { offset: 0, fields: {} }, + pdaKey: "", + chain, + returnValueTest: { + key: "$.amount", + comparator: ">", + value: "0", + }, + }, +]; +``` + +## A specific token account balance + +This is useful if you already know the token account address and want to check the balance of that account. Note that putting the user's wallet address in here will NOT work, because the user's wallet owns the token account, which is a separate on-chain account that owns the token itself. In this example, we re checking the token account `E7aAccig7X3X4pSWjf1eqqUJkV3EbzG6DrtyM2gbuuhH`. + +```js +var solRpcConditions = [ + { + method: "getTokenAccountBalance", + params: ["E7aAccig7X3X4pSWjf1eqqUJkV3EbzG6DrtyM2gbuuhH"], + pdaParams: [], + pdaInterface: { offset: 0, fields: {} }, + pdaKey: "", + chain: "solana", + returnValueTest: { + key: "amount", + comparator: ">", + value: "0", + }, + }, +]; +``` + +## Get a Program Derived Address (PDA) and use that as a parameter in a RPC call + +The condition below will derive a PDA using pdaParams, pdaInterface, and pdaKey. The PDA is then used as a parameter in the getBalance RPC call. + +```js +[ + { + method: "getBalance(getPDA)", + params: [], + pdaParams: [ + "chatGL6yNgZT2Z3BeMYGcgdMpcBKdmxko4C5UhEX4To", + "delegate-wallet", + ":userAddress", + ], + pdaInterface: { offset: 8, fields: { owner_wallet: 32 } }, + pdaKey: "owner_wallet", + chain: "solana", + returnValueTest: { + key: "", + comparator: ">=", + value: "100000000", // equals 0.1 SOL + }, + }, +]; +``` diff --git a/docs/concepts/pkpsAsWallet.md b/versioned_docs/version-2.0/concepts/pkpsAsWallet.md similarity index 73% rename from docs/concepts/pkpsAsWallet.md rename to versioned_docs/version-2.0/concepts/pkpsAsWallet.md index 2d4bceb2..9a0a44e4 100644 --- a/docs/concepts/pkpsAsWallet.md +++ b/versioned_docs/version-2.0/concepts/pkpsAsWallet.md @@ -25,13 +25,13 @@ Applied generally, multi-party computation (MPC) allows multiple parties to coll ## Programmable Key Pairs as Distributed Custody Wallets -Lit’s [Programmable Key Pairs (PKPs)](/pkp/intro) product can be utilized by app developers to build a white-label MPC wallet solution that delivers a more flexible and seamless onboarding experience to their end users. +Lit’s [Programmable Key Pairs (PKPs)](../pkp/intro.md) product can be utilized by app developers to build a white-label MPC wallet solution that delivers a more flexible and seamless onboarding experience to their end users. -Each PKP is an ECDSA key pair generated collectively by the Lit nodes through a process called [Distributed Key Generation](/resources/howItWorks#threshold-cryptography) (DKG). Operating as a decentralized network, this allows Lit to generate a new key pair where the private key never exists in its entirety. Instead, each node only holds a share of the key. These signature shares must be combined above the threshold (two-thirds of the nodes) to produce the complete signature signed by the PKP. This signature can then be used for instances such as posting a transaction to a blockchain network. Each PKP is represented by an ERC-721 token minted on Chronicle, [you can mint one through the explorer](https://explorer.litprotocol.com/pkps). +Each PKP is an ECDSA key pair generated collectively by the Lit nodes through a process called [Distributed Key Generation](../resources/howItWorks#threshold-cryptography) (DKG). Operating as a decentralized network, this allows Lit to generate a new key pair where the private key never exists in its entirety. Instead, each node only holds a share of the key. These signature shares must be combined above the threshold (two-thirds of the nodes) to produce the complete signature signed by the PKP. This signature can then be used for instances such as posting a transaction to a blockchain network. Each PKP is represented by an ERC-721 token minted on Chronicle, [you can mint one through the explorer](https://explorer.litprotocol.com/pkps). The two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs (e.g. Fireblocks) do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. -In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](/pkp/authHelpers) can be assigned to that key pair through the use of [Lit Actions](/LitActions/intro). Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: +In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../pkp/authHelpers/overview) can be assigned to that key pair through the use of [Lit Actions](../LitActions/intro). Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: - WebAuthn from [FIDO Alliance](https://fidoalliance.org/fido2-2/fido2-web-authentication-webauthn/) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) @@ -43,7 +43,7 @@ The current methods are a work in progress: - Email - SMS -You can read more about how authentication works with PKPs in [this section](/pkp/authMethods/authHelpers) of the docs. +You can read more about how authentication works with PKPs in [this section](../pkp/authHelpers/overview) of the docs. The end goal of this system is to facilitate a simple onboarding experience that helps bridge the next billion users into Web3. @@ -51,7 +51,7 @@ The end goal of this system is to facilitate a simple onboarding experience that ## Supported Chains -Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](/resources/supportedChains#programmable-key-pairs). +Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supportedChains#programmable-key-pairs). ## Examples diff --git a/versioned_docs/version-2.0/intro/_category_.json b/versioned_docs/version-2.0/intro/_category_.json new file mode 100644 index 00000000..4bdf8366 --- /dev/null +++ b/versioned_docs/version-2.0/intro/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Getting Started", + "position": 1 + } \ No newline at end of file diff --git a/versioned_docs/version-2.0/intro/overview.mdx b/versioned_docs/version-2.0/intro/overview.mdx new file mode 100644 index 00000000..25fa15ba --- /dev/null +++ b/versioned_docs/version-2.0/intro/overview.mdx @@ -0,0 +1,28 @@ +--- + slug: / + sidebar_position: 1 +--- +import EcosystemSection from '@site/src/components/CardSectionsV2/Ecosystem'; +import QuickStartSection from '@site/src/components/CardSectionsV2/QuickStart'; +import CoreConceptsSection from '@site/src/components/CardSectionsV2/CoreConcepts'; +import LearnCodeSection from '@site/src/components/CardSectionsV2/LearnCode'; + +# Overview + +Lit Protocol lets you create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing. A decentralized key management network, Lit can be used in place of centralized key custodians and other key management solutions. + +Get started today! + +:::note + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../SDK/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + + + + + diff --git a/docs/intro/rollup.mdx b/versioned_docs/version-2.0/intro/rollup.mdx similarity index 97% rename from docs/intro/rollup.mdx rename to versioned_docs/version-2.0/intro/rollup.mdx index 6553c718..d52cd453 100644 --- a/docs/intro/rollup.mdx +++ b/versioned_docs/version-2.0/intro/rollup.mdx @@ -1,4 +1,4 @@ -import AddRollupButton from "../../src/components/AddRollupButton"; +import AddRollupButton from "@site/src/components/AddRollupButton"; # Chronicle: The Lit Rollup @@ -49,4 +49,4 @@ We are also working on a decentralized sequencer for the rollup, such that all C ## Next Steps -Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](/LitActions/intro). +Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../LitActions/intro). diff --git a/versioned_docs/version-2.0/intro/usecases.md b/versioned_docs/version-2.0/intro/usecases.md new file mode 100644 index 00000000..a5db707b --- /dev/null +++ b/versioned_docs/version-2.0/intro/usecases.md @@ -0,0 +1,114 @@ +--- +sidebar_position: 4 +--- + +# Use Cases + +## Access Control + +Introduce private and permissioned data to the open web using decentralized encryption. Use Lit to provision decryption "keys" to users based on on-chain conditions, such as ownership over a specific NFT or membership within a DAO. + +Some examples of applications that can (and have) been built harnessing this functionality: + +### Web3 Apps with Private Data + +Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/intro). + +Examples: + +- [Orbis Club](https://orbis.club/): Enabling “friends-only” content and encrypted messaging. +- [Lens](https://docs.lens.xyz/docs/gated): Permissioned data for web3 social. +- [Starling Lab](https://github.com/starlinglab/archive-explorer/): Token-gated data archives. +- [Streamr](https://blog.streamr.network/streamr-integrates-lit-protocol/): Private data marketplaces. +- [Gather](https://www.gather.town/): Powering private virtual spaces for your team. +- [IPFS](https://litgateway.com/files): Encrypt content for private storage on IPFS. +- [WalletChat.fun](https://lit.walletchat.fun/): Encrypted wallet-to-wallet messaging. +- [Nowhere](https://www.urnowhere.com/): Token-gated metaverse spaces. + +### Add Token Gating to Web2 Apps + +Use on-chain credentials to gate access to your favorite web2 applications and data. + +- [Shopify](https://apps.shopify.com/lit-token-access): Blockchain-based access control for your online store. +- [Zoom](https://litgateway.com/apps/zoom): Token-gated Zoom calls. +- [Google Drive](https://litgateway.com/apps/google-drive): Add access control requirements to your Google Drive files. +- [WordPress](https://litgateway.com/apps/wordpress): Gate access to WordPress sites and pages. + +### Unlockable NFTs + +Using [HTML NFTs](../ToolsAndExamples/SDKExamples/HTMLNfts.md), you can create locked content that only owners of the NFT have access to. This includes dynamic content, like websites or metaverse spaces. + +Here’s an [example](https://twitter.com/LitProtocol/status/1504630741849853954) using our Lit Genesis Canvas NFT. Only holders can access the private canvas site linked within! + + +## Programmatic Signing: Lit Actions and PKPs + +Introduce automation and interoperability to the dWeb with Lit Actions and PKPs. + +Below you will find some example projects and other potential ideas and use cases. You can check out even more examples [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md#guides-and-examples). + +### DeFi Automation + +Use PKPs and Actions to automate your interactions across decentralized finance. + +- Condition-based transactions (ex. on-chain limit orders). +- Recurring payments. +- Automated vault applications for seamlessly trading asset bundles. + +Example Projects: + +- [Sling Protocol](https://github.com/Sling-Protocol/pkp-dex-sdk): An SDK for automating transactions on popular DEXs. Currently supports Uniswap V3 and 1inch. +- [Cask](https://www.cask.fi/): Automated, recurring payments. + +### Infrastructure + +Build powerful infrastructure that harnesses the power of Lit! + +- Cross-chain bridges. +- Oracles for off-chain data. +- Event listening and condition-based execution. +- Privacy-preserving transactions. +- Decentralized key custodians. + +Example Projects: + +- [Yacht Labs](https://yachtlabs.io/blog/yacht-lit-swap): Cross-chain atomic swaps with PKPs and Lit Actions +- [Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main): SDK for building privacy-preserving interactions on-chain +- [MagicWallet](https://github.com/DustilDawn/Magic): One account, multiple seedless wallets +- More coming soon… 👀 —> [build with us](https://discord.com/invite/nm9aBG8z9w)! + +### Web3 Social + +Social applications that empower users with privacy and true data ownership. + +- Credentialing systems for privacy-preserving web3 login. +- User owned social graphs. +- Account abstraction with support for web2 auth methods (i.e. Apple Passkey). +- Decentralized chat bots. +- Verifiable, on-chain reputation building. + +Example Projects: + +- [Ceramic Integration](https://github.com/LIT-Protocol/lit-action-ceramic-signing-demo): Write and permission access to your own private Ceramic data store. +- [Krebit](https://spark.litprotocol.com/krebitxlitactions/): Automated Verifiable Credential issuance. +- [Wallet Abstraction demo](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/): Using Google oAuth to create a Lit MPC wallet. + +### Gaming + +Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-gaming/). + +- Signing and wallet abstraction for blockchain-based games. +- NPCs! +- Condition-based reward systems and achievements. +- Private data for multiplayer games. + +### Misc + +More ideas! + +- A certification system utilizing [conditional signing](../LitActions/workingWithActions/conditionalSigning.md). + + +### You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). + +### Have an idea for a project? [Get in touch](https://nut.sh/ell/forms/352580/YEk9vu)! \ No newline at end of file diff --git a/docs/intro/whatIsLitProtocol.md b/versioned_docs/version-2.0/intro/whatIsLitProtocol.md similarity index 77% rename from docs/intro/whatIsLitProtocol.md rename to versioned_docs/version-2.0/intro/whatIsLitProtocol.md index cab94bc9..8cbaa0b5 100644 --- a/docs/intro/whatIsLitProtocol.md +++ b/versioned_docs/version-2.0/intro/whatIsLitProtocol.md @@ -5,15 +5,15 @@ sidebar_position: 2 # What is Lit Protocol -Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit provides developers with a comprehensive toolkit for managing sovereign identities on the open Web. +Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit providers developers with a comprehensive toolkit for managing sovereign identities on the open Web. ## Core Functionality Lit Protocol provides developers with two core services: -1. Encryption and Access Control: Lit enables the client-side encryption and decryption of data by harnessing on or off-chain conditions, without relying on a centralized key custodian. Use Lit to securely store data on the open Web by getting started with [encryption and access control](/accessControl/intro). +1. Encryption and Access Control: Lit enables the client-side encryption and decryption of data by harnessing on or off-chain conditions, without relying on a centralized key custodian. Use Lit to securely store data on the open Web by getting started with [encryption and access control](accessControl/intro). -2. Programmable Signing: Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using [Programmable Key Pairs](/pkp/intro) (PKPs) and [Lit Actions](/LitActions/intro). PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](/pkp/pkpsAndActions). +2. Programmable Signing: Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using [Programmable Key Pairs](pkp/intro) (PKPs) and [Lit Actions](LitActions/intro). PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. ## Use Cases @@ -26,16 +26,16 @@ Lit Protocol can be utilized for various web3 applications, including: - **Gaming**: [Wallet abstraction](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). - **Token Gating for Web2 Apps**: Token-based access control for [Shopify](https://apps.shopify.com/lit-token-access), [Zoom](https://litgateway.com/apps/zoom), [Google Drive](https://litgateway.com/apps/google-drive), and [WordPress](https://litgateway.com/apps/wordpress). -Explore more [use cases](/usecases) and [projects building](/Ecosystem/projects) with Lit. +Explore more [use cases](usecases) and [projects building](../Ecosystem/projects) with Lit. ## Getting Started Get started on your developer journey by diving right into the code: -- [**Lit SDK**](/SDK/Explanation/installation): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. -- [**Encryption Quick Start**](/SDK/Explanation/encryption): Learn how to encrypt and decrypt content using the SDK. -- [**Hello World with Lit Actions**](/LitActions/helloWorld): Create your first Lit Action in this example walkthrough. -- [**Lit CLI**](/LitActions/getlitCli): A command line tool that makes developing Lit Actions easy! +- [**Lit SDK**](SDK/Explanation/installation): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. +- [**Encryption Quick Start**](SDK/Explanation/encryption): Learn how to encrypt and decrypt content using the SDK. +- [**Hello World with Lit Actions**](LitActions/helloWorld): Create your first Lit Action in this example walkthrough. +- [**Lit CLI**](LitActions/getlitCli): A command line tool that makes developing Lit Actions easy! - [**API Reference**](https://js-sdk.litprotocol.com/index.html): An overview of SDK functions and packages. ## Join the Community diff --git a/docs/pkp/authMethods/addRemoveAuthMethods.md b/versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md similarity index 97% rename from docs/pkp/authMethods/addRemoveAuthMethods.md rename to versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md index 5b582f1a..8a4b4023 100644 --- a/docs/pkp/authMethods/addRemoveAuthMethods.md +++ b/versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md @@ -1,4 +1,4 @@ -# Add and Remove Auth Methods +# Adding and Removing Auth Methods Configure auth methods for your PKP using the [`@lit-protocol/contracts-sdk`](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) package. @@ -6,7 +6,7 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](/SDK/Explanation/authentication/overview). +`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../SDK/Explanation/authentication/overview). ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; @@ -56,7 +56,7 @@ To view more constructor options for `LitContracts`, check out the [API docs](ht To add an auth method, you must pass an `authMethod` object, which should have the following properties: -- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](/pkp/authMethods/). +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../authHelpers/overview#using-lit-auth-directly). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method - `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) @@ -113,7 +113,7 @@ const transaction = The `removePermittedAuthMethod` function takes the following arguments: - `tokenId`: The token ID of the PKP you want to remove an auth method from -- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](/pkp/authHelpers#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../authHelpers/overview#using-lit-auth-directly). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) diff --git a/versioned_docs/version-2.0/pkp/authHelpers/overview.md b/versioned_docs/version-2.0/pkp/authHelpers/overview.md new file mode 100644 index 00000000..cf939fe4 --- /dev/null +++ b/versioned_docs/version-2.0/pkp/authHelpers/overview.md @@ -0,0 +1,144 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Authentication with PKPs + +When you call a Lit Action, you may pass Auth Methods that should be resolved. These could be things like a WebAuthn ([Apple Passkey](https://developer.apple.com/passkeys/)) signature, or an oauth token from a service like Discord or Google. You can see an example of this [here](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/authContext.js#L32). + +## What is authentication? + +An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. Only the auth method associated with a particular PKP has the ability to combine the underlying shares. You can read more about how authentication works with PKPs on our [blog](https://spark.litprotocol.com/how-authentication-works-with-pkps/). + +Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below. + +## Using Lit Auth Directly + +Several auth methods are supported by Lit directly. These include methods configured using the [PKPPermissions](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol) contract, the user holding the PKP NFT, or assigned via a Lit Action with permission to sign using the PKP. If you use Lit auth directly, you are limited to the auth methods that we support. We provide an easy to use SDK to help you add auth methods to a PKP. You can find the SDK [here](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-auth-client). + +### Existing supported auth methods + +| Auth Method Name | Auth Method Type Number | Description | +| ---------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| NULLMETHOD | 0 | Don't use this one, it's just a placeholder | +| ADDRESS | 1 | An Ethereum address. As long as the user presents an AuthSig with this address, they can sign using the PKP. | +| ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | +| WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | +| DISCORD | 4 | Discord Oauth Login | +| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | +| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | +| One Time Password (OTP) | 7 | Email / SMS Login, verification services provides a JWT, this is token will be within the auth method, this token is verified within the nodes when requesting a session signature | + +Check out the implementation details within the SDK section [here](../sdk/explanation/authentication/sessionSigs/authMethods/overview). + +### Adding a Permitted Address + +You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. + +### Sending the PKP to itself + +Sending a PKP to itself is possible, because the PKP is an NFT and also a wallet. This is useful if you want to make sure that only the PKP itself can change it's auth methods. You can use our handy auth helper contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and use that contract there is a parameter called `sendPkpToItself` in the `mintNextAndAddAuthMethods` function that you can set to true to send the PKP to itself. + +### Obtaining the PKP Public Key + +After a PKP is generated and assigned an auth method, you can pass the AuthMethodType and AuthMethodId into this [function](https://github.com/LIT-Protocol/LitNodeContracts/blob/ed2adf77e63f371ef864846dc9e92fef42f0ebb1/contracts/PKPPermissions.sol#L99) to obtain the PKP ID. The PKP ID can be used to fetch the PKP's public key by passing it into this [function](https://github.com/LIT-Protocol/LitNodeContracts/blob/ed2adf77e63f371ef864846dc9e92fef42f0ebb1/contracts/PKPPermissions.sol#L78). + +The PKP public key is required to initialize a new 'wallet' object when using [Lit and WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect/blob/main/components/CallRequest.js#L44) together. + +You will also need the PKP public key in order to generate a [sessionSig](../../SDK/Explanation/authentication/sessionSigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). + +## Custom Auth + +If you would like further customization over your PKP auth methods, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. If you go this route, your auth basically looks like a bunch of if statements inside the Lit Action. + +If you decide to use your own auth, you can still use the PKPPermissions contract to define your method(s) of choice, or deploy your own access control contract. If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). + +## How does authentication differ from authorization? + +Authorization refers to an [auth signature](../../SDK/Explanation/authentication/authSig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. + +In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](../../SDK/Explanation/authentication/sessionSigs#obtaining-the-sessionsig-when-user-doesnt-have-a-wallet). The flow is as follows: + +1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. +2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. +3. The Lit SDK will use the session key to sign future requests. So instead of signing the session key-pair with a wallet, you can sign it using the PKP by communicating with the Lit nodes and presenting proof that you are authorized. + +## Authentication Helpers + +Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pre-populated with the resolved Auth Methods, and a few other items. For example, if you pass a Google Oauth Token, then the Lit Nodes will resolve the Oauth Token into a user ID and application ID and those will be available to you in `Lit.Auth`. `Lit.Auth` has the following members: + +- actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. +- authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. +- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](#existing-supported-auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. + +Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. + +## Example: Setting Auth Context with Lit Actions + +This example shows how to assign different auth methods to a PKP using a Lit Action. + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client"; + +// this code will be run on the node +const litActionCode = ` +const go = async () => { + Lit.Actions.setResponse({response: JSON.stringify({"Lit.Auth": Lit.Auth})}) +}; + +go(); +`; + +// you need an AuthSig to auth with the nodes +// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) +const authSig = { + sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", + derivedVia: "web3.eth.personal.sign", + signedMessage: + "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", + address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", +}; + +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + litNetwork: "localhost", + debug: true, + }); + await litNodeClient.connect(); + const results = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + authMethods: [ + // { + // // discord oauth + // accessToken: "M1Y1WnYnavzmSaZ6p1LBLsNFn2iiu0", + // authMethodType: 4, + // }, + // { + // // google oauth + // accessToken: + // "ya29.a0Aa4xrXMCyLStBQzLhC8il8YRPXIkEEgno9nB4PKvjCi6oIu-uIjeIoyfQoR99TcZf0IUMPfJfjRIJyIXtLk_kXLa5BmdUyJcJGP8SB4-UjlebOILidfItC8KR1sQR9LSFX55cw3_GTa5IqCOCTXME38z5ZMZaCgYKATASARASFQEjDvL9HinQH3Mk1UclCD011YbLfQ0163", + // authMethodType: 5, + // }, + // { + // email / sms + // accessToken: "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjgzMjIzNjIyMDg5LCJleHAiOjE2ODMyMjU0MjIwODksIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0wNFQxODowNzowMi4wODkxODgrMDA6MDAifQ.eyJyIjoiOTRiOWE1ODkyODFlYzdlYmZlZTdjOGRjMjU0YTk1NGY5NjY1N2IzZmRkNmFlMWIwZThmMmY1OWIxMWYwNTU1YSIsInMiOiI0NWNlNTA0YTBkZjFlZWFkMWYxMGIyYTQ1MjU4ZjlhOTI5ZTY5ODYzYjIzNDdlZGViMmRkODMxM2Y4NDVhNDA1In0" + // authMethodType: 7, + // } + { + // google oauth JWT + accessToken: + "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc3Y2MwZWY0YzcxODFjZjRjMGRjZWY3YjYwYWUyOGNjOTAyMmM3NmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDg5OTYwNTQyNzMzNjA1NjgxMzIiLCJlbWFpbCI6ImdldmVuc3RlZUBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlVYV1Z1eEJsdGswcEhKclllOEFXTUEiLCJpYXQiOjE2NjcxNjgyMTUsImV4cCI6MTY2NzE3MTgxNX0.ejZu5bADJ6cUsovV7otHAafy0mqWZBAtN860jvBdVe38XUi0v-eB5WWBPMD5zXcJxbXFvaPWCX8nTaE6S24cNNHJw0hq15irjRZeg9D2i7ToitR1LZSQ3rPCDQZPX4xYn7G-FH7C1DQ-7NEDMmr9ge4B6Qs4pT5Mj8ESVlA29yZjKCfk-zL7F5b6W0EOIA6G9rj6-3HgtazkHfIGHAtfBz4dqHjC4HJncHJzqIm9Y8eSBBnN-ZhYUr3cWxGCuFIw3yrGccv5_khfhbbk6TqdSeMO9YNWN3otiVB8Nwu2sb9VsllFoHIE0uGSzVZVbJgSK1GsGbJZe76ubLuObI5YFw", + authMethodType: 6, + }, + ], + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + }, + }); + console.log("results: ", JSON.stringify(results.response, null, 2)); +}; + +runLitAction(); +``` diff --git a/versioned_docs/version-2.0/pkp/intro.md b/versioned_docs/version-2.0/pkp/intro.md new file mode 100644 index 00000000..bf9472bb --- /dev/null +++ b/versioned_docs/version-2.0/pkp/intro.md @@ -0,0 +1,46 @@ +# Introduction + +:::note +PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! + +Need some `LIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ + +**PKP Developer Preview is Live!** +Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) + +::: + +## Quick Start + +Ready to jump right in? Quickly learn how you can integrate Programmable Key Pairs (PKPs) into your own product: + +1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) +2. Resource: [Testnet Faucet](https://chronicle-faucet-app.vercel.app/) +3. Concept: [Assigning an Authentication Method](../pkp/authHelpers/overview.md) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) +4. SDK Package: [Using PKPs as Wallets](../pkp/usage) + +## Overview + +Each Programmable Key Pair (PKP) is a versatile [MPC wallet](../pkp/usage) that can be utilized by developers to: + +1. Provide users of web3 with seamless, ["seed-phraseless" onboarding](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) experiences. +2. Facilitate transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. +3. Build fully [decentralized application backends](../resources/pkpsAndActions#why-is-this-useful). + +## Features + +1. [Blockchain Agnostic](../resources/supportedChains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: [Lit Actions](../LitActions/intro) contain the application logic that each PKP should follow. This is useful for defining signing automations, handling [authentication](../pkp/authHelpers/overview#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](../LitActions/workingWithActions/conditionalSigning). +3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. +4. Interoperable: Use [WalletConnect](../pkp/walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. + +## Examples and Use Cases + +PKPs can be used to power a wide array of potential applications and use cases: + +1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) with Multi-Factor Authentication +2. [Signing Automation](../LitActions/workingWithActions/singleExecution#event-listening) and [Conditional Transaction Execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) +3. [Automated Credential Issuance](https://spark.litprotocol.com/krebitxlitactions/) +4. [Versatile Web3 Wallets](https://github.com/DustilDawn/Magic) +5. [Cross-Chain Messaging and Swaps](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/) +6. [Signer on an AA Wallet](https://spark.litprotocol.com/account-abstraction-and-mpc/) \ No newline at end of file diff --git a/docs/pkp/minting.md b/versioned_docs/version-2.0/pkp/minting.md similarity index 86% rename from docs/pkp/minting.md rename to versioned_docs/version-2.0/pkp/minting.md index 4b24f383..ad1d8f23 100644 --- a/docs/pkp/minting.md +++ b/versioned_docs/version-2.0/pkp/minting.md @@ -4,18 +4,18 @@ You can mint an NFT from our PKP contract on Chronicle - Lit's custom EVM rollup testnet - [here](https://explorer.litprotocol.com/mint-pkp). This NFT represents the root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. -You can also use our handy auth helper contract on Chronicle [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and you can find the contract addresses [here](https://explorer.litprotocol.com/contracts) +You can also use our handy auth helper contract on Chronicle [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and you can find the contract addresses [here](https://explorer.litprotocol.com/contracts). ## Mint via Social You can mint a PKP by presenting a valid OAuth token as an authentication method to the Lit Relay server. Currently, only Google OAuth tokens are supported, but we plan to support Discord in the near term. -Read more about this process [here](authHelpers.md). +Read more about this process [here](../pkp/authHelpers/overview). ## Mint via Email / SMS (OTP) You can mint a PKP by presenting a generated token from sucessful OTP code confirmation, which will be returned by the `lit-auth-client` in the `AuthMethod` return from successful code confirmation. -Read more [here](SDK/Explanation/authentication/sessionSigs/authMethods/email-sms.md). +Read more [here](../pkp/authHelpers/overview). ## Mint via WebAuthn @@ -38,4 +38,4 @@ In order to allow for various frontends to integrate with our platform, we plan #### Challenge-Free Registration -We do not currently use [challenges](/resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +We do not currently use [challenges](../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/pkp/pkpsAndActions.md b/versioned_docs/version-2.0/pkp/pkpsAndActions.md similarity index 92% rename from docs/pkp/pkpsAndActions.md rename to versioned_docs/version-2.0/pkp/pkpsAndActions.md index 37143c6d..719ed232 100644 --- a/docs/pkp/pkpsAndActions.md +++ b/versioned_docs/version-2.0/pkp/pkpsAndActions.md @@ -10,7 +10,7 @@ As a distributed key management network, Lit provides developers with the abilit ## How do Lit Actions and PKPs work together? -A user can [create a new PKP](/pkp/minting) and [grant a Lit Action](/LitActions/mintGrantBurn) the right to sign using it. This means the distributed key has the ability to sign and decrypt arbitrary data based on pre-defined logic and conditions. +A user can [create a new PKP](../pkp/minting) and grant a Lit Action the right to sign using it. This means the distributed key has the ability to sign and decrypt arbitrary data based on pre-defined logic and conditions. ### Using Mint/Grant/Burn diff --git a/docs/pkp/toolsAndExamples.md b/versioned_docs/version-2.0/pkp/toolsAndExamples.md similarity index 100% rename from docs/pkp/toolsAndExamples.md rename to versioned_docs/version-2.0/pkp/toolsAndExamples.md diff --git a/docs/pkp/usage.md b/versioned_docs/version-2.0/pkp/usage.md similarity index 95% rename from docs/pkp/usage.md rename to versioned_docs/version-2.0/pkp/usage.md index e53d06d8..b49be8ee 100644 --- a/docs/pkp/usage.md +++ b/versioned_docs/version-2.0/pkp/usage.md @@ -1,12 +1,12 @@ # Using PKPs as Wallets -With PKPs, you can build secure, customizable [MPC wallets](/resources/pkpsAsWallet) that offer intuitive onboarding experiences without the pain of private key management. +With PKPs, you can build secure, customizable MPC wallets that offer intuitive onboarding experiences without the pain of private key management. The [`@lit-protocol/pkp-ethers` package](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-ethers) provides a familiar wallet interface that makes it easy to sign data, send transactions, and handle Ethereum JSON RPC requests using PKPs. ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be initialized with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](/SDK/Explanation/authentication/overview). +`PKPEthersWallet` must be initialized with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../SDK/Explanation/authentication/overview). ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; diff --git a/docs/pkp/walletconnect.md b/versioned_docs/version-2.0/pkp/walletconnect.md similarity index 99% rename from docs/pkp/walletconnect.md rename to versioned_docs/version-2.0/pkp/walletconnect.md index 0eab9ea8..802d7ad8 100644 --- a/docs/pkp/walletconnect.md +++ b/versioned_docs/version-2.0/pkp/walletconnect.md @@ -23,7 +23,7 @@ const pkpClient = new PKPClient({ await pkpClient.connect(); ``` -The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](/SDK/Explanation/authentication). +The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../SDK/Explanation/authentication). To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). diff --git a/versioned_docs/version-2.0/resources/_category_.json b/versioned_docs/version-2.0/resources/_category_.json new file mode 100644 index 00000000..af33b121 --- /dev/null +++ b/versioned_docs/version-2.0/resources/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Resources", + "position": 6 +} \ No newline at end of file diff --git a/versioned_docs/version-2.0/resources/contracts.md b/versioned_docs/version-2.0/resources/contracts.md new file mode 100644 index 00000000..ebeca160 --- /dev/null +++ b/versioned_docs/version-2.0/resources/contracts.md @@ -0,0 +1,28 @@ +--- +sidebar_position: 4 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Contracts + +Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](../intro/rollup): + +**PKPNFT**: [0x8F75a53F65e31DD0D2e40d0827becAaE2299D111](https://chain.litprotocol.com/address/0x8F75a53F65e31DD0D2e40d0827becAaE2299D111) + +**PubkeyRouterAndPermissions**: [0xB35cC6CaB1501d5F3b6b8fcF3215898C9d03E981](https://chain.litprotocol.com/address/0xB35cC6CaB1501d5F3b6b8fcF3215898C9d03E981) + +**Rate Limit Increase NFT**: [0x2D0f767eff47b44626832EcD2fda705eB9797c38](https://chain.litprotocol.com/address/0x2D0f767eff47b44626832EcD2fda705eB9797c38) + +**Staking Contract Address**: [0x433357a14c35815E6A32758fe95c93380D194aaf](https://chain.litprotocol.com/address/0x433357a14c35815E6A32758fe95c93380D194aaf) + +**PKPHelper**: [0x8bB62077437D918891F12c7F35d9e1B78468bF11](https://chain.litprotocol.com/address/0x8bB62077437D918891F12c7F35d9e1B78468bF11) + +**PKPPermissions**: [0x4Aed2F242E806c58758677059340e29E6B5b7619](https://chain.litprotocol.com/address/0x4Aed2F242E806c58758677059340e29E6B5b7619) + +## TypeScript Contracts SDK + +The [Lit Contracts SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/contracts-sdk) is a bundled package that allows you to make calls to Lit Protocol smart contracts. Some contracts come with additional abstracted functions that can be accessed by appending Util to the contract variable name, for example, pkpNftContract becomes pkpNftContractUtil. + +Demo: https://demo-contracts-sdk-react.vercel.app/ diff --git a/versioned_docs/version-2.0/resources/glossary.md b/versioned_docs/version-2.0/resources/glossary.md new file mode 100644 index 00000000..47211d37 --- /dev/null +++ b/versioned_docs/version-2.0/resources/glossary.md @@ -0,0 +1,72 @@ +--- +sidebar_position: 2 +--- + +# Glossary + +## Definitions of commonly used terms and core concepts. + +### **[Auth Sig](../SDK/Explanation/authentication/authSig#authsigs)** +In order to use Lit Protocol, you must present a wallet signature obtained from the user. This is referred to as an 'AuthSig' in the documentation. +### **[Boneh-Lynn-Shacham (BLS) Signatures](https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716)** +A cryptographic algorithm that can be used for both signing and encryption. BLS allows for signature aggregation and verification at scale using [Elliptic Curve cryptography](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography). + +Ethereum uses the BLS signature scheme to facilitate secure cryptography within the protocol. This method allows validators to sign messages, and these resulting signatures are then aggregated and verified at scale. This enables a Proof-of-Stake system with a large number of validators to function efficiently in production. + +### **[Challenge](https://en.wikipedia.org/wiki/Challenge%E2%80%93response_authentication)** + +A (cryptographic) challenge is a piece of data that is used in challenge-response authentication schemes for a verifier to independently assert the authenticity of another entity. Unique and random challenges are used to prevent against replay attacks. + +### **[Decentralized Access Control](../accessControl/intro)** +Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](/accessControl/intro), allowing you to securely store data on the open web. +### **[Digital Signature](LitActions/actions/litActions#signing)** +In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the digital identity provided by the address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner the the wallet associated with it. + +In working with the Lit network, someone will sign with their wallet when they want to mint a PKP. That is a transaction signature — where someone is sending a transaction (minting). This signature is then used as the method of authentication over the PKP and associated Lit Actions. +### **Distributed Key Generation** +A cryptographic process in which key generation requires participation from above a certain threshold of nodes, where each node only holds a **share** of the complete keypair. +### **[Elliptic Curve Digital Signature Algorithm (ECDSA)](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/)** +ECDSA is a cryptographically secure digital signature scheme, based on elliptic-curve cryptography. ECDSA is mainly used for digital signatures. A digital signature is an authentication method used where a public key pair and a digital certificate are used as a signature to verify the identity of a recipient or sender of information. +### **[Encryption](../whatIsLit#encryption)** +The process of encoding data so that it remains hidden or inaccessible to unauthorized parties, the core technology that enables privacy on the Internet. At a high level, encryption converts plaintext (i.e “this is a secret”) into “nonsense” ciphertext (”e5sVVb#bn332J”). You can read a more in-depth explanation [here](https://www.cloudflare.com/learning/ssl/what-is-encryption/). +### **[Ethereum Virtual Machine (EVM)](../accessControl/EVM/basicExamples)** +A stack-based virtual machine that executes [bytecode](https://ethereum.org/en/glossary/#bytecode). In Ethereum, the execution model specifies how the system state is altered given a series of bytecode instructions and a small tuple of environmental data. This is specified through a formal model of a virtual state machine. +### **[Externally Owned Account (EOA)](https://ethereum.org/en/developers/docs/accounts/)** +Externally owned accounts (EOAs) are accounts that are controlled by [private keys](https://ethereum.org/en/glossary/#private-key), typically generated using a [seed phrase](https://ethereum.org/en/glossary/#hd-wallet-seed). Unlike smart contracts, externally owned accounts are accounts without any code associated with them. Typically these accounts are managed with a [wallet](https://ethereum.org/en/glossary/#wallet). +### **Key Re-Share** +Re-share the private key shares to add a node to the network. The shares before and after the re-share are compatible. +### **[Lit Actions](LitActions/actions/intro)** +Immutable Javascript functions stored on IPFS that can use PKPs for programmatic signing and decryption. They can be thought of as Lit’s native version of smart contracts. +### **[Multi-Party Computation (MPC)](https://eprint.iacr.org/2020/300.pdf)** +In a general sense, MPC enables multiple parties – each holding their own private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). +### **Nonce** +In cryptography, a value that can only be used once. An account nonce is a transaction counter in each account, which is used to prevent replay attacks. +### **[Oracle](https://cointelegraph.com/blockchain-for-beginners/what-is-a-blockchain-oracle-and-how-does-it-work)** +An oracle is a bridge between the [blockchain](https://ethereum.org/en/glossary/#blockchain) and the real world, querying data from off-chain [APIs](https://ethereum.org/en/glossary/#api) for use in [smart contracts](https://ethereum.org/en/glossary/#smart-contract). +### **[Private Key Share](../resources/howItWorks)** +A share of a private key that can be used to decrypt and sign. Decryption creates “decryption shares” and signing creates “signature shares”. These resultant shares are combined above the threshold to produce the decrypted content or signature. +### **[Proactive Secret Sharing](https://www.youtube.com/watch?v=iOqU2DySmeU&t=594s)** +Keep the same overall private key, but change the private key shares, such that private key shares after the PSS operation are incompatible with shares from before the operation. We use PSS for adding and removing nodes from the network during an epoch transition, such that private key shares from the previous epoch are incompatible with private key shares in the next epoch. +### **[Programmable Key Pairs (PKPs)](../pkp/intro)** +An ECDSA keypair generated collectively by the Lit nodes. PKPs can be used to read and write data across blockchains (EVM, Cosmos, BTC), storage networks (IPFS, Ceramic), and HTTP endpoints. +### **[Proof](../LitActions/actions/litActions#proofs)** +A proof is a particular application for a digitial signature. For example, using a signature to *prove* that a particular interaction took place. Signing through Lit Actions opens up the possibilities of verifying information from external sources, such as from a Weather API. Within the Lit ecosystem this signed information is called a proof. +### **Public Key Cryptography** +The technology that underpins cryptocurrency and most of the security infrastructure on the web today. It allows you to do two main things: + +1. Encrypt information so that it can only be accessed by authorized parties. +2. Sign (write) data to blockchains, databases, storage networks, and other state machines (digital signatures). +### **[Rate Limiting](https://explorer.litprotocol.com/rlis)** +By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by purchasing an RLI NFT that comes with "flexible terms" which can be customized by 2 factors, the number of requests/millisecond and the expiry date. +### **[Session Keys](../SDK/Explanation/authentication/sessionSigs/intro)** +When the user “signs into” Lit, we generate a random session key for them. They sign that session pubkey as the “URI” of a SIWE message which creates a capability signature. There is a default expiration time of 24 hours, but this is configurable. This signature and the session key are stored in the localstorage of the browser. + +When the user sends a request, the session key signs it and sends the signature with the request. The capability signature is also sent. Multiple capability signatures can be attached. Therefore, the AuthSig presented to the nodes is actually the session key AuthSig with the capability signatures attached. The SDK will use the session key to scope the AuthSig for each request to the specific resource and node being addressed, preventing replay attacks. +### **[SIWE](../accessControl/evm/siwe/)** +Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. +### **[Threshold Cryptography](../resources/howItWorks#threshold-cryptography)** +A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. +### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** +A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. + +A trivial example would be proving that you are over the age of 18, without actually disclosing your birthday or any PII. diff --git a/docs/resources/howItWorks.md b/versioned_docs/version-2.0/resources/howItWorks.md similarity index 68% rename from docs/resources/howItWorks.md rename to versioned_docs/version-2.0/resources/howItWorks.md index dfd98d44..6db795c4 100644 --- a/docs/resources/howItWorks.md +++ b/versioned_docs/version-2.0/resources/howItWorks.md @@ -8,7 +8,7 @@ sidebar_position: 1 **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit based on your use case, check out the Lit SDK [here](/SDK/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit based on your use case, check out the Lit SDK [here](../SDK/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. @@ -16,11 +16,11 @@ For references to the Lit Actions functions which can be accessed inside a Lit A ## Overview -At its core, Lit is an attempt to decentralize [public key cryptography](https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/) through the use of secure [multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation) and [threshold signature schemes](https://en.wikipedia.org/wiki/Threshold_cryptosystem) (MPC + TSS). When run across a distributed network of nodes (the “Lit Network”), the Lit software supports the secure management of persistent cryptographic keys for [signing](/pkp/intro), [encryption](/accessControl/intro), and [compute](/LitActions/intro). +At its core, Lit is an attempt to decentralize [public key cryptography](https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/) through the use of secure [multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation) and [threshold signature schemes](https://en.wikipedia.org/wiki/Threshold_cryptosystem) (MPC + TSS). When run across a distributed network of nodes (the “Lit Network”), the Lit software supports the secure management of persistent cryptographic keys for [signing](../pkp/intro), [encryption](../accessControl/intro), and [compute](../LitActions/intro). Both MPC and TSS originate from the concepts of public key cryptography and extend their benefits to multi-party and decentralized environments, where the security and privacy of the private key material, data, and computation are critically important. These methods expand upon “traditional” public key infrastructure (PKI), removing the dependence on centralized key custodians, who exist as a single point of failure. This greatly reduces the attack vector for key compromise by distributing ownership among multiple parties, undermining the ability of a single entity to cause widespread harm. In order for an attacker to gain control, they would need to successfully gain control of more than the threshold of participating parties. In the Lit Network, this threshold is set to two-thirds, meaning participation from two-thirds of nodes is required for signing and encryption. -In the Lit Network, the nodes perform a [distributed key generation](/resources/glossary#distributed-key-generation) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a key share which they can use to sign and decrypt data. The nodes perform each operation (signing or decryption) in parallel and the individual results are aggregated to form the complete signature or decryption key, without exposing the underlying private key itself. By distributing the key among multiple parties, the network becomes more robust and can continue to function even when multiple participating parties may be offline or possess malicious intent. +In the Lit Network, the nodes perform a [distributed key generation](../resources/glossary#distributed-key-generation) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a key share which they can use to sign and decrypt data. The nodes perform each operation (signing or decryption) in parallel and the individual results are aggregated to form the complete signature or decryption key, without exposing the underlying private key itself. By distributing the key among multiple parties, the network becomes more robust and can continue to function even when multiple participating parties may be offline or possess malicious intent. ## Secure Encrypted Virtualization (SEV) @@ -37,11 +37,11 @@ We believe that the marriage of MPC, threshold signature schemes (TSS), and SEV ## Access Control -Lit offers threshold encryption for regulating access to data stored on the Web through the use of condition-based access control. With Lit, both encryption and decryption happen client-side according to specific rules defined by the end user. These rules are known as [“Access Control Conditions”](/accessControl/EVM/basicExamples) which make use of on or off-chain data to define their parameters. +Lit offers threshold encryption for regulating access to data stored on the Web through the use of condition-based access control. With Lit, both encryption and decryption happen client-side according to specific rules defined by the end user. These rules are known as [“Access Control Conditions”](../accessControl/EVM/basicExamples) which make use of on or off-chain data to define their parameters. -An example of an Access Control Condition that utilizes on-chain data is gating by token ownership, such as requiring that a user possesses a [specific NFT](/accessControl/EVM/basicExamples#must-posess-a-specific-erc721-token-nft) in order to decrypt your content. When a user requests access, each Lit node confirms that the required condition has been satisfied using the user's wallet signature to verify asset ownership. Once verified, each node supplies a decryption share. After accumulating more than two-thirds of these shares, the user can decrypt the content on their device. +An example of an Access Control Condition that utilizes on-chain data is gating by token ownership, such as requiring that a user possesses a [specific NFT](../accessControl/EVM/basicExamples#must-posess-a-specific-erc721-token-nft) in order to decrypt your content. When a user requests access, each Lit node confirms that the required condition has been satisfied using the user's wallet signature to verify asset ownership. Once verified, each node supplies a decryption share. After accumulating more than two-thirds of these shares, the user can decrypt the content on their device. -As mentioned above, Access Control Conditions are not limited to "on-chain" data sources. Using JavaScript logic known as [Lit Actions](/accessControl/conditionTypes/litActionConditions), an identical process is supported using off-chain data as input. A simple example would be mandating that a user follows you on Twitter before granting permission to decrypt your content. The Twitter API could be utilized to feed this information into a Lit Action, which gets executed concurrently by each node. If more than two-thirds of nodes verify that the condition has been fulfilled (according to the Lit Action), the shares would be provided, and the content could be decrypted client-side. +As mentioned above, Access Control Conditions are not limited to "on-chain" data sources. Using JavaScript logic known as [Lit Actions](../accessControl/conditionTypes/litActionConditions), an identical process is supported using off-chain data as input. A simple example would be mandating that a user follows you on Twitter before granting permission to decrypt your content. The Twitter API could be utilized to feed this information into a Lit Action, which gets executed concurrently by each node. If more than two-thirds of nodes verify that the condition has been fulfilled (according to the Lit Action), the shares would be provided, and the content could be decrypted client-side. This feature empowers individuals to securely store data on the open Web and offers organizations a convenient method for sharing and distributing content across entire communities. For instance, employing NFTs to designate roles and access levels within a DAO, or using token ownership to grant exclusive discounts to users on an e-commerce platform such as Shopify. The capacity to gate access based on any arbitrary data via Lit Actions expands these possibilities even further, allowing the creation of decryption rules based on any accessible state. @@ -59,11 +59,11 @@ The comprehensive process for encryption and decryption with Lit is as follows: ## Decentralized Programmable Signing and MPC Wallets -In addition to access control, Lit provides distributed ECDSA key-pairs that can be used for programmable, [“smart” signing](/LitActions/workingWithActions/conditionalSigning) and a [MPC wallet](/concepts/pkpsAsWallet) solution. +In addition to access control, Lit provides distributed ECDSA key-pairs that can be used for programmable, [“smart” signing](../LitActions/workingWithActions/conditionalSigning) and a [MPC wallet](../pkp/usage) solution. -These distributed key pairs are known as [Programmable Key Pairs](/pkp/intro) (PKPs), and the code that dictates their signing and authentication logic is called a [Lit Action](/resources/pkpsAndActions). Lit Actions are JavaScript functions that can be made immutable by storing them on the InterPlanetary File System (IPFS). They can be thought of as the permissionless rules that govern each PKPs signing automation. Every Lit Action is blockchain agnostic and has the ability to use off-chain data in their computation by making HTTP requests. This gives them the inherent ability to read and write data across on and off-chain platforms, facilitating interoperability and automation between previously disconnected ecosystems. +These distributed key pairs are known as [Programmable Key Pairs](../pkp/intro) (PKPs), and the code that dictates their signing and authentication logic is called a [Lit Action](../LitActions/intro.md). Lit Actions are JavaScript functions that can be made immutable by storing them on the InterPlanetary File System (IPFS). They can be thought of as the permissionless rules that govern each PKPs signing automation. Every Lit Action is blockchain agnostic and has the ability to use off-chain data in their computation by making HTTP requests. This gives them the inherent ability to read and write data across on and off-chain platforms, facilitating interoperability and automation between previously disconnected ecosystems. -Each PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. A PKP is represented as an ERC-721 NFT, and the [owner of the NFT](/pkp/minting) becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](/pkp/authMethods/authHelpers) mechanisms to their PKP using Lit Actions. +Each PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. A PKP is represented as an ERC-721 NFT, and the [owner of the NFT](../pkp/minting) becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../pkp/authHelpers/overview.md) mechanisms to their PKP using Lit Actions. ### Smart Signing @@ -71,7 +71,7 @@ Functionally, PKPs and Lit Actions introduce a capacity for developing distribut ### MPC Wallets -Each PKP is functionally [a wallet](/concepts/pkpsAsWallet), where the private key lives across the Lit Network. The two-thirds threshold requirement provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to manage a key share (i.e the provider holds a share and the user holds the other share). This means the goal of a seamless, “web2” style onboarding UX without seed phrases or private key management is not possible, instead delivering the UX of self-custody with additional steps. +Each PKP is functionally [a wallet](../pkp/usage), where the private key lives across the Lit Network. The two-thirds threshold requirement provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to manage a key share (i.e the provider holds a share and the user holds the other share). This means the goal of a seamless, “web2” style onboarding UX without seed phrases or private key management is not possible, instead delivering the UX of self-custody with additional steps. Lit Actions are used to handle each PKP’s [authentication logic](https://spark.litprotocol.com/how-authentication-works-with-pkps/). Authentication refers to the method used to communicate with and “control” the underlying key pair. As mentioned above, by default each key pair is controlled by the underlying blockchain account (“wallet”) who mints and holds the associated PKP NFT. But what about users who don’t already have a wallet and are attempting to onboard into the ecosystem for the first time? Lit has integrated several “web2” authentication methods to make this onboarding process seamless for the end user, including WebAuthn (Apple Passkey) and oAuth. These credentials can be harnessed as the mechanism(s) associated with ownership of the PKP, [linking familiar web2 accounts to the world of web3](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). @@ -82,14 +82,14 @@ The use of Lit Actions in the wallet context also provides users with the abilit ## Supported Chains -Lit is currently compatible with most EVM blockchains, Cosmos, and Solana. You can find the full list of supported chains [here](/resources/supportedChains). +Lit is currently compatible with most EVM blockchains, Cosmos, and Solana. You can find the full list of supported chains [here](../resources/supportedChains). ## Getting Started Learn more by checking out the [Lit blog.](https://spark.litprotocol.com/resources/) -Getting started with [access control and encryption.](/accessControl/intro) +Getting started with [access control and encryption.](../accessControl/intro) -Dive into programmatic signing with [PKPs and Lit Actions.](/pkp/intro) +Dive into programmatic signing with [PKPs and Lit Actions.](../pkp/intro) -Working with the [Lit SDK.](/SDK/Explanation/installation) +Working with the [Lit SDK.](../SDK/Explanation/installation) diff --git a/docs/resources/supportedChains.md b/versioned_docs/version-2.0/resources/supportedChains.md similarity index 98% rename from docs/resources/supportedChains.md rename to versioned_docs/version-2.0/resources/supportedChains.md index 85e3f24f..814347e6 100644 --- a/docs/resources/supportedChains.md +++ b/versioned_docs/version-2.0/resources/supportedChains.md @@ -38,7 +38,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - zksync - zksyncTestnet - lineaGoerli -- chronicleTestnet +- litprotocol - chiado - zkEvm - mantleTestnet diff --git a/versioned_docs/version-2.0/sdk/_category_.json b/versioned_docs/version-2.0/sdk/_category_.json new file mode 100644 index 00000000..aa2569c6 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "SDK Reference", + "position": 4 +} diff --git a/docs/SDK/examples.md b/versioned_docs/version-2.0/sdk/examples.md similarity index 100% rename from docs/SDK/examples.md rename to versioned_docs/version-2.0/sdk/examples.md diff --git a/docs/SDK/Explanation/_category_.json b/versioned_docs/version-2.0/sdk/explanation/_category_.json similarity index 100% rename from docs/SDK/Explanation/_category_.json rename to versioned_docs/version-2.0/sdk/explanation/_category_.json diff --git a/docs/SDK/Explanation/authentication/authSig.md b/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md similarity index 100% rename from docs/SDK/Explanation/authentication/authSig.md rename to versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md diff --git a/docs/SDK/Explanation/authentication/overview.md b/versioned_docs/version-2.0/sdk/explanation/authentication/overview.md similarity index 100% rename from docs/SDK/Explanation/authentication/overview.md rename to versioned_docs/version-2.0/sdk/explanation/authentication/overview.md diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/security.md b/versioned_docs/version-2.0/sdk/explanation/authentication/security.md new file mode 100644 index 00000000..f6088bc1 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/security.md @@ -0,0 +1,35 @@ +# Security Considerations + +## Session Keys + +When the user sends a request, the session key signs it and sends the signature with the request. The capability signature is also sent. Multiple capability signatures can be attached. Therefore, the `AuthSig` presented to the nodes is actually the session key `AuthSig` with the capability signatures attached. The SDK will use the session key to scope the `AuthSig` for each request to the specific resource and node being addressed. This prevents replay attacks. + +Specifically, The SDK generates the random session keypair called "sessionKey". The user is presented with a SIWE message with the URI `lit:session:` and a [ReCap](https://eips.ethereum.org/EIPS/eip-5573)-compatible session capability object encoded in the `resources` array, eg. `urn:recap:`. The capability object declares which namespace and domain-specific actions the delegate is authorized to perform, per the issuer. + +## Improved UX with `SessionSigs` + +The steps to obtain an `AuthSig` requires an interactive experience that involves manual steps from the end-user - whether clicking through the Google OAuth flow, placing their fingerprint on their platform authenticators, or clicking through their the respective modals of their externally-owned accounts (eg. MetaMask). These manual steps can be friction that drives users away from applications. + +On the other hand, the steps to obtain a `SessionSig` is completely non-interactive. The session keys and signature can all be done programmatically once an `AuthSig` has been obtained. + +For these reasons, by designing `AuthSigs` to have a long validity period and `SessionSigs` to have a short validity period, we open up opportunities to develop user experiences that strike a good balance between a smooth user experience and security: +- User Experience: Since we store the `AuthSig` in local storage, we can always retrieve it and continue to use it for as long as it is valid. +- Security: `SessionSigs` allow us to scope specific capabilties against a narrow set of resources that is performed during a (usually) small time window that the user is on the application. + +### Expiration Times + +The design decision to use `SessionSig`s in conjunction with `AuthSigs` is a compromise between security and UX. The intention is for `AuthSigs` to have a long(er) validity period (expires farther into the future) and for `SessionSigs` to be short-lived (expires soon) since `SessionSigs` is the actual authentication material that is required when operating against the specified resources. While our SDK uses sensible defaults for expiration times, these parameters are ultimately at the discretion of the application developer. + +### SessionSig-per-Node + +In order to prevent replay attacks, we have opted to generate a `SessionSig` per each node that the SDK is sending the request to. (Note that this is a fast operation compared to the latency involved in alternative security models) + +If the `SessionSig` were to omit the `nodeAddress` parameter, then a node could technically re-use the `SessionSig` provided by the end-user to replay the request again from that node to the rest of the nodes in the network. + +### AuthSig Replay-ability + +Another possible replay attack comes from an `AuthSig` being provided solely, and repeatedly. When the `AuthSig` is signed against a payload containing the session keypair's public key as well as an allowlist of delegated capabilities, an `AuthSig` is insufficient to authenticate when provided in the absence of a `SessionSig` that corresponds to the signed session keypair public key. + +### AuthSig and SessionSig Coupling + +Since a full `SessionSig` object couples an (inner) `AuthSig` with an (outer) `SessionSig`, this means that it is impossible for a node to attach a session signature that would be valid against an `AuthSig` that they have obtained elsewhere, i.e. in an attempt to perform a replay attack. This is because the public key in the session signature must match that which is signed against in the (inner) `AuthSig` object. \ No newline at end of file diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md new file mode 100644 index 00000000..cfb0e010 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -0,0 +1,156 @@ +# Email / SMS + +Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. + +Authenticating with OTP codes delivered via email or SMS is a two-step process. First, an OTP code is initiated and sent to the user's registered email or phone number. The user-provided code is then verified. Upon successful verification, a signed JSON Web Token (JWT) is generated. This token will be validated when creating session signatures. + +:::note +Codes sent to users via email will be received from `noreply@litprotocol.com`. Codes sent to users via SMS will include `lit-verification` within the SMS message. +::: +## Register user with email or SMS + +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +// starting a validation session +let session = authClient.initProvider(ProviderType.Otp,{ + userId: '' +}); + +let status = await session.sendOtpCode(); +let authMethod = await session.authenticate({ + code: "" +}); +const txHash = await session.mintPKPThroughRelayer(authMethod); +``` +:::note + +The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. + +If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). + +::: + +## ReCaptcha verification +To send an otp code to the user they must first complete a ReCaptcha verification, to verify a user via ReCaptcha you may either use our embeddable captcha or use our `site key` in our own ReCaptcha package of choice + +### Embedding ReCaptcha +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); +``` +In the above example the `element-id-of-anchor` is id of the html tag to inject the recaptcha view into. +After the user confirms the `response`, it will be added to a global variable `LIT_AUTH_CLIENT_CAPTCHA_RES`. When an `OtpProvider` is created it will look for this variable when initializing. +If you wish to refresh the `response` you can use the `setCaptchaResponse` method on the `OtpProvider` + +**example** +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); +authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); + +// starting a validation session +let session = authClient.initProvider(ProviderType.Otp,{ + userId: '' +}); +session.setCaptchaResponse(window.LIT_AUTH_CLIENT_CAPTCHA_RES); + +let status = await session.sendOtpCode(); +let authMethod = await session.authenticate({ + code: "" +}); +const txHash = await session.mintPKPThroughRelayer(authMethod); +``` +**note** ReCaptcha Responses are valid for 2 minutes. For information on ReCaptcha, [read more](https://developers.google.com/recaptcha/intro). + + +### Using the ReCaptcha Site Key in Another ReCaptcha implementation +If you would like to use another ReCaptcha implementation such as [react google recaptcha](https://www.npmjs.com/package/react-google-recaptcha) you can access the ReCaptcha `site key` shown below: +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +authClient.getSiteKey(); +``` + + +## Minting via Contract + +An alternative to minting the PKP NFT via the Lit Relay Server is to send a transaction to the smart contract yourself. You can reference the following example data that is passed to the `mintNextAndAddAuthMethods` method of the `PKPHelper` smart contract: + +- `keyType` is `2` +- `permittedAuthMethodTypes` is `[7]` +- `permittedAuthMethodIds` is an array with 1 element being the user's email or phone number. +- `permittedAuthMethodScopes` is an array with 1 zero-initialized element, e.g. `[[ethers.BigNumber.from("0")]]` +- `addPkpEthAddressAsPermittedAddress` is `true` +- `sendPkpToItself` is `true` + +### Authenticating to Fetch PKP information + +```javascript +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +// starting a validation session +let session = authClient.initProvider(ProviderType.Otp,{ + userId: '' +}); + +let status = await session.sendOtpCode(); +let authMethod = await session.authenticate({ + code: "" +}); +const txHash = await session.fetchPKPThroughRelayer(authMethod); +``` +:::note +If the user is using a phone number, the country code must be provided. +::: + +Below is an example of an authentication method from successful authentication +```javascript +{ + "accessToken": "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjg0ODc1NTE0NDkxLCJleHAiOjE2ODQ4NzczMTQ0OTEsIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0yM1QyMDo1ODozNC40OTE3ODU5NDUrMDA6MDAifQ.eyJyIjoiZTA0ZDAyNjhjN2ExMzhiNmZiNDJjYTk4NmIxY2I4MWM0N2QyMTc0MzZlOWNlYzc4NGUzNWEyOTZkZmY2YjA4NSIsInMiOiI0NTE5MTVkMDY5YTZhZGE5M2U0OGY3ODUwMGM0MWUzNmMwYzQ4Y2FlODYwMmYxYWM0Njc0MTQ1YTNiMmMyNDU4In0", + "authMethodType": 7 +} +``` + +:::note + Tokens expire after 30 minutes, and must be validated for session signature signing within that period +::: + + +### Generating `SessionSigs` + +After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. + +```javascript +// Get session signatures for the given PKP public key and auth method +const sessionSigs = await provider.getSessionSigs({ + authMethod: '', + sessionSigsParams: { + chain: 'ethereum', + resourceAbilityRequests: [{ + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + }], + }, +}); +``` diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/overview.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/overview.md new file mode 100644 index 00000000..4d26a1ab --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/overview.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +--- + +# Walletless Signatures + +With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: + +- [Social Login (e.g., Google, Discord)](../../../../../SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin) +- [WebAuthn](../../../../../SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn) +- [Email / SMS](../../../../../SDK/Explanation/authentication/sessionSigs/authMethods/email-sms) + +Support for one-time passcodes (OTPs) through email and SMS is coming soon. + +By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management. + +:::note + +Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit SDK and connect to the `serrano` testnet. + +::: \ No newline at end of file diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/socialLogin.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/socialLogin.md new file mode 100644 index 00000000..d95bb544 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/socialLogin.md @@ -0,0 +1,90 @@ +--- +sidebar_position: 2 +--- + +# Social Login + +Social login offers users a convenient way to authenticate with Lit Protocol by leveraging their existing social accounts. Currently, Lit Protocol supports Google and Discord OAuth. + +## Integrating Social Login + +`@lit-protocol/lit-auth-client` makes it easy to implement social login in your web apps. The library provides a `LitAuthClient` class that you can use to initialize a provider for each supported social login method. Each provider has a `signIn()` method that you can call to begin the authentication flow. + +```javascript +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Initialize Google provider +litAuthClient.initProvider(ProviderType.Google, { + // The URL of your web app where users will be redirected after authentication + redirectUri: '', +}); + +// Begin login flow with Google +async function authWithGoogle() { + const provider = litAuthClient.getProvider( + ProviderType.Google + ); + await provider.signIn(); +} +``` + +At the start of the authentication flow, users will be redirected to the social login page hosted by Lit. Once users have successfully signed in, they will be redirected back to your web app. + +:::note +For Discord OAuth, you will initialize the provider with `ProviderType.Discord`. +::: + +:::note + +The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. + +If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). + +::: + +## Handling the Redirect + +At the `redirectUri` specified when initializing the providers, call `handleSignInRedirect`. You can also use `isSignInRedirect` method to check if the app is in the redirect state or not. + +```javascript +async function handleRedirect() { + // Check if app has been redirected from Lit login server + if (isSignInRedirect(redirectUri)) { + // Get the provider that was used to sign in + const provider = provider = litAuthClient.getProvider( + ProviderType.Google, + ); + // Get auth method object that has the OAuth token from redirect callback + const authMethod: AuthMethod = await provider.authenticate(); + return authMethod; + } +} +``` + +The provider's `authenticate` method validates the URL parameters returned from Lit's login server after a successful login, and then returns an `AuthMethod` object containing the OAuth token. + +With the `AuthMethod` object, you can mint or fetch PKPs associated with the authenticated social account. View the available methods in the [API docs](https://js-sdk.litprotocol.com/modules/lit_auth_client_src.html). + +## Generating `SessionSigs` + +After successfully authenticating with a social login provider, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. + +```javascript +// Get session signatures for the given PKP public key and auth method +const sessionSigs = await provider.getSessionSigs({ + authMethod: '', + sessionSigsParams: { + chain: 'ethereum', + resourceAbilityRequests: [ + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + ], + }, +}); +``` \ No newline at end of file diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/webAuthn.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/webAuthn.md new file mode 100644 index 00000000..5d633b84 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/webAuthn.md @@ -0,0 +1,101 @@ +--- +sidebar_position: 3 +--- + +# WebAuthn + +WebAuthn enables users to authenticate with web apps using biometrics, passkeys, or other authenticators, providing user-friendly and secure alternative to traditional password-based authentication. + +WebAuthn involves two main flows: registration and authentication. During registration, a new public key credential associated with the user and their device is created. During authentication, the user proves ownership of the corresponding private key by signing a challenge. + +The `@lit-protocol/lit-auth-client` package leverages the `@simplewebauthn/browser` library and makes it easy to integrate WebAuthn into your web apps. + +## Registering a Credential + +Registration is similar to creating a new account. During the registration process, the user is prompted to create a new public key credential. The public key credential is stored in the smart contract as the new PKP is minted for the user. + +```javascript +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Initialize WebAuthn provider +litAuthClient.initProvider(ProviderType.WebAuthn); + +async function registerWithWebAuthn() { + const provider = litAuthClient.getProvider(ProviderType.WebAuthn); + // Register new WebAuthn credential + const options = await provider.register(); + + // Verify registration and mint PKP through relay server + const txHash = await provider.verifyAndMintPKPThroughRelayer(options); + const response = await provider.relay.pollRequestUntilTerminalState( + txHash + ); + // Return public key of newly minted PKP + return response.pkpPublicKey; +} +``` + +:::note + +The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. + +If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). + +::: + +### Minting via Contract + +An alternative to minting the PKP NFT via the Lit Relay Server is to send a transaction to the smart contract yourself. To do this for WebAuthn credentials, you can reference the following example data that is passed to the `mintNextAndAddAuthMethods` method of the `PKPHelper` smart contract: + +- `keyType` is `2` +- `permittedAuthMethodTypes` is `[3]` +- `permittedAuthMethodIds` is an array with 1 element being the hash of a string derived from the credential's `rawId` - see [here](https://github.com/LIT-Protocol/relay-server/blob/cf7fe03006d0664f19488d65e7701d4fa572e72a/routes/auth/webAuthn.ts#L197-L199) for reference. +- `permittedAuthMethodPubkeys` is an array with 1 element being the CBOR encoded credential public key - see [here](https://github.com/LIT-Protocol/relay-server/blob/cf7fe03006d0664f19488d65e7701d4fa572e72a/routes/auth/webAuthn.ts#L122-L138) for reference. +- `permittedAuthMethodScopes` is an array with 1 zero-initialized element, e.g. `[[ethers.BigNumber.from("0")]]` +- `addPkpEthAddressAsPermittedAddress` is `true` +- `sendPkpToItself` is `true` + +## Authenticating a Credential + +Authentication is similar to logging in with an existing account. During the authentication process, the user is prompted to sign a challenge. The signed challenge is then sent to the Lit nodes, which verify the signature and generates a threshold signature of an `AuthSig` for the associated PKP. + +```javascript +async function authenticateWithWebAuthn() { + const provider = litAuthClient.getProvider(ProviderType.WebAuthn); + const authMethod = await provider.authenticate(); + return authMethod; +} +``` + +The `authenticate` method returns an `AuthMethod` object containing the authentication data. You can use the authentication data to mint or fetch PKPs associated with the verified WebAuthn credential. + +## Generating `SessionSigs` + +After successfully authenticating with a WebAuthn credential, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. + +```javascript +// Get session signatures for the given PKP public key and auth method +const sessionSigs = await provider.getSessionSigs({ + authMethod: '', + sessionSigsParams: { + chain: 'ethereum', + resourceAbilityRequests: [ + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + ], + }, +}); +``` + +## Technical Details + +While the registration step involves minting a PKP via the Lit Relay Server (or, optionally, you can send a transaction to the contract yourself), we have implemented an authentication scheme that involves sending signed challenges to the decentralized Lit Network instead. + +This works by using a recent block hash on the underlying blockchain (Polygon Mumbai) as a challenge, and having the user authenticate with their platform authenticator to generate a credential assertion (signature). When each Lit node receives this credential assertion from the client, they can recover the COSE credential public key which is stored in the smart contract to verify whether the assertion / signature is valid. If the signature is valid, then the nodes will return `AuthSig` signature shares back to the client. + diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/capability-objects.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/capability-objects.md new file mode 100644 index 00000000..0eff2027 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/capability-objects.md @@ -0,0 +1,58 @@ +--- +sidebar_position: 1 +--- + +# Capability Objects + +Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. + +When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Below are some examples for creating custom session capability objects. + +## Grant Decryption Capability To Access Control Condition + +```javascript +// Create the session capability object +const sessionCapabilityObject = new newSessionCapabilityObject(); + +// Create the Lit Resource keyed by `someResource` +const litResource = new LitAccessControlConditionResource('someResource'); + +// Add the capability to decrypt from the access control condition referred to by the +// lit resource. +sessionCapabilityObject.addCapabilityForResource( + litResource, + LitAbility.AccessControlConditionDecryption +); +``` + +## Grant All (Valid) Capabilities To Access Control Condition + +_Note that the Authentication Lit Ability is not valid against an Access Control Condition._ + +```javascript +// Create the session capability object +const sessionCapabilityObject = new newSessionCapabilityObject(); + +// Create the Lit Resource keyed by `someResource` +const litResource = new LitAccessControlConditionResource('someResource'); + +// Add all capabilities that are valid and relevant to the specified lit resource. +sessionCapabilityObject.addAllCapabilitiesForResource(litResource); +``` + +## Grant Decryption Capability To All Access Control Conditions + +```javascript +// Create the session capability object +const sessionCapabilityObject = new newSessionCapabilityObject(); + +// Create the Lit Resource keyed by `someResource` +const litResource = new LitAccessControlConditionResource('*'); + +// Add the capability to decrypt from the access control condition referred to by the +// lit resource. +sessionCapabilityObject.addCapabilityForResource( + litResource, + LitAbility.AccessControlConditionDecryption +); +``` \ No newline at end of file diff --git a/docs/SDK/Explanation/authentication/sessionSigs/getSessionSigs.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md similarity index 85% rename from docs/SDK/Explanation/authentication/sessionSigs/getSessionSigs.md rename to versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md index 74c9c68e..6b06c43a 100644 --- a/docs/SDK/Explanation/authentication/sessionSigs/getSessionSigs.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md @@ -74,9 +74,9 @@ In the example above, we construct a SIWE message manually, but you can use the ## Resources You Can Request -You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](/SDK/Explanation/authentication/sessionSigs/resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../../../../SDK/Explanation/authentication/sessionSigs/resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. -When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](/SDK/Explanation/authentication/sessionSigs/capability-objects) about how to create custom session capability objects. +When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../../../../SDK/Explanation/authentication/sessionSigs/capability-objects) about how to create custom session capability objects. ## Clearing Local Storage diff --git a/docs/SDK/Explanation/authentication/sessionSigs/intro.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md similarity index 95% rename from docs/SDK/Explanation/authentication/sessionSigs/intro.md rename to versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md index 73f246fc..0e177499 100644 --- a/docs/SDK/Explanation/authentication/sessionSigs/intro.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md @@ -20,7 +20,7 @@ The session keypair is used to sign all requests to the Lit Nodes, and the user' Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. -Read more [here](/SDK/Explanation/authentication/sessionSigs/) on the session capability objects that we use. +Read more [here](../../../../SDK/Explanation/authentication/sessionSigs/) on the session capability objects that we use. ## Format of `SessionSigs` @@ -103,7 +103,7 @@ Here is what each field means: Here is what each field in `signedMessage` means: - `sessionKey` is the session keypair public key. -- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](/SDK/Explanation/authentication/sessionSigs/resources-and-abilities) about Lit Resources and Abilities. +- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](../../../../SDK/Explanation/authentication/sessionSigs/resources-and-abilities) about Lit Resources and Abilities. - `capabilities` is an array of one or more AuthSigs. - `issuedAt` is the time the SessionSig was issued. - `expiration` is the time the SessionSig becomes invalid. diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md new file mode 100644 index 00000000..0611ff30 --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md @@ -0,0 +1,35 @@ +--- +sidebar_position: 2 +--- + +# Lit Resources and Abilities + +Lit Resources and Abilities are used to specifying what action is to be done against which resource. These are primitives that are used to seucrely authenticate users through appropriate scoping of users' abilities across various resources. + +## Lit Resources + +A Lit Resource refers to one of the following: + +- An access control condition +- A Programmable Key Pair (PKP) NFT +- A Rate Limit Increase (RLI) NFT +- A Lit Action + +Each Lit Resource is identified by its Resource Key: + +- For access control conditions, the resource key is derived from the hash of either the encrypted symmetric key or the JWT signing payload (resource ID) +- For PKP NFTs, the resource key is the token ID of the NFT +- For RLI NFTs, the resource key is the token ID of the NFT +- For Lit Actions, the resource key is the IPFS Content ID (CID) of the Lit Action code + +A wildcard resource key, identified by `*`, refers to all of the resources in that category, i.e. all of the PKP NFTs or all of the access control conditions. + +## Lit Abilities + +A Lit Ability is an action to be performed. It can only be one of the following: + +- Threshold decryption from an access control condition +- Threshold signing from an access control condition +- Threshold signing with a PKP NFT +- Authenticating with an increased rate limit threshold with a RLI NFT +- Threshold signing of a piece of Lit Action code \ No newline at end of file diff --git a/docs/SDK/Explanation/authentication/sessionSigs/usage.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/usage.md similarity index 100% rename from docs/SDK/Explanation/authentication/sessionSigs/usage.md rename to versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/usage.md diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md new file mode 100644 index 00000000..27723aba --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md @@ -0,0 +1,21 @@ +# Use Cases + +Below are some use cases of how to use session signatures and capability objects. + +_Note that these are not yet currently possible as we need to implement proof verification logic for delegation chains._ + +### Letting A User Use Your Rate Limit Increase (RLI) NFT + +Alice owns a Rate Limit Increase NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. + +Alice can create a session capability object that specifies the ability to Authenticate with an RLI NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. + +Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's RLI NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. + +### Letting A User Use Your PKP For A Specific Lit Action + +Alice owns a PKP and Bob wants use it with a specific Lit Action that he has not authorized yet. He could use the smart contract and `addPermittedAction()`, run the function, then `removePermittedAction()` function, but would prefer not to spend the gas and wait for blocks etc. + +Alice can create a session capability object that specifies the ability to perform Threshold Execution with a PKP NFT. Alice then signs and issues this capability to Bob. + +Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session capability object. Bob can subsequently generate a `SessionSig` that requests for Alice's PKP NFT as well as Bob's Lit Action IPFS CID in the `resourceAbilityRequests`. \ No newline at end of file diff --git a/docs/SDK/Explanation/encryption.md b/versioned_docs/version-2.0/sdk/explanation/encryption.md similarity index 98% rename from docs/SDK/Explanation/encryption.md rename to versioned_docs/version-2.0/sdk/explanation/encryption.md index ddcc1dc9..77dbf0a3 100644 --- a/docs/SDK/Explanation/encryption.md +++ b/versioned_docs/version-2.0/sdk/explanation/encryption.md @@ -5,7 +5,7 @@ sidebar_position: 3 # Encryption You can use Lit to encrypt and store any static content. This could be a file, a string, or anything that won't change. You need to store the content and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and Lit will store who is allowed to decrypt it and enforce this (aka key management). -If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](/SDK/Explanation/encryption#encrypttoipfs). +If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](../../SDK/Explanation/encryption#encrypttoipfs). Check out the Replit below, which is a full-fledged **React** application that encrypts & decrypt a **file** using Lit SDK. For best experience please open the web app in a new tab. diff --git a/docs/SDK/Explanation/installation.md b/versioned_docs/version-2.0/sdk/explanation/installation.md similarity index 98% rename from docs/SDK/Explanation/installation.md rename to versioned_docs/version-2.0/sdk/explanation/installation.md index 9363b77a..7dcc6de8 100644 --- a/docs/SDK/Explanation/installation.md +++ b/versioned_docs/version-2.0/sdk/explanation/installation.md @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem'; :::note 💡 **Important** -`lit-js-sdk` is now deprecated. If you are using `lit-js-sdk`, you should migrate to the new **Lit JS SDK V2** for continued support and new features. Check out the migration guide [here](/SDK/Explanation/migration). +`lit-js-sdk` is now deprecated. If you are using `lit-js-sdk`, you should migrate to the new **Lit JS SDK V2** for continued support and new features. Check out the migration guide [here](../../SDK/Explanation/migration). ::: ## Installing and Importing V2 SDK diff --git a/docs/SDK/Explanation/migration.md b/versioned_docs/version-2.0/sdk/explanation/migration.md similarity index 100% rename from docs/SDK/Explanation/migration.md rename to versioned_docs/version-2.0/sdk/explanation/migration.md diff --git a/docs/SDK/Explanation/tests.md b/versioned_docs/version-2.0/sdk/explanation/tests.md similarity index 98% rename from docs/SDK/Explanation/tests.md rename to versioned_docs/version-2.0/sdk/explanation/tests.md index c4c1c7b0..56ddc4b2 100644 --- a/docs/SDK/Explanation/tests.md +++ b/versioned_docs/version-2.0/sdk/explanation/tests.md @@ -77,7 +77,7 @@ Errors are thrown as exceptions when something has gone wrong. Errors are object |NodeResourceIdNotFound|Invalid resourceId param.| |NodeRpcError|Error making the call to RPC url for the passed chain param. Please ensure that the contract call that you're making is correct including the contract address & it's passed params. Especially ensure the correctness of the functionAbi if you're using Custom Contract calls.| |NodeStorageError|An error occured while storing the encryption condition. Please look at the returned error for more info.| -|NodeWrongNetwork|Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](/resources/supportedchains/)| +|NodeWrongNetwork|Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../resources/supportedchains/)| |NodeHTTPConversionError|Internal error with the RPC url for the provided chain param. Please try again. If this error persists contact us on Discord.| |NodeUnknownError|An unknow error occured. Please try again. If this error persists contact us on Discord.| |NodeParserError|Error parsing a provided param. Please look at the returned error for more info.| @@ -86,7 +86,7 @@ Errors are thrown as exceptions when something has gone wrong. Errors are object |NodeSIWESigConversionError|Invalid SIWE capability's sig param. Please look at the returned error for more info.| |NodeSIWESessionKeySignatureInvalid|session.pubkey isn't signed in the wallet-signed SIWE message.| |NodeBlockchainError|Error making an on-chain call. Please look at the returned error for more info.| -|NodeBlockchainChainUnknown|Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](/resources/supportedchains/)]| +|NodeBlockchainChainUnknown|Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../resources/supportedchains/)]| |NodeWalletSignatureJSONError|Error parsing Authsig. Please look at the returned error for more info.| |NodePOAPJSONError|Internal error parsing POAP as a JSON. Please try again. If this error persists contact us on Discord.| |NodeCosmosJSONError|Error parsing Cosmos result. Please ensure that the Cosmos condition passed is correct.| diff --git a/docs/SDK/intro.mdx b/versioned_docs/version-2.0/sdk/intro.mdx similarity index 59% rename from docs/SDK/intro.mdx rename to versioned_docs/version-2.0/sdk/intro.mdx index 927841af..e09e46cd 100644 --- a/docs/SDK/intro.mdx +++ b/versioned_docs/version-2.0/sdk/intro.mdx @@ -2,10 +2,10 @@ sidebar_position: 1 --- -import LitActionsSection from '../../src/components/SDKCardSections/Actions'; -import AccessControlSection from '../../src/components/SDKCardSections/AccessControl'; -import ResourcesSection from '../../src/components/SDKCardSections/Resources'; -import QuickStartSection from '../../src/components/SDKCardSections/QuickStart'; +import LitActionsSection from '@site/src/components/SDKCardSectionsV2/Actions'; +import AccessControlSection from '@site/src/components/SDKCardSectionsV2/AccessControl'; +import ResourcesSection from '@site/src/components/SDKCardSectionsV2/Resources'; +import QuickStartSection from '@site/src/components/SDKCardSectionsV2/QuickStart'; # Intro diff --git a/docs/startHere/usecases.md b/versioned_docs/version-2.0/startHere/usecases.md similarity index 100% rename from docs/startHere/usecases.md rename to versioned_docs/version-2.0/startHere/usecases.md diff --git a/versioned_docs/version-2.0/support/_category_.json b/versioned_docs/version-2.0/support/_category_.json new file mode 100644 index 00000000..934ea2ae --- /dev/null +++ b/versioned_docs/version-2.0/support/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Support", + "position": 7 +} diff --git a/versioned_docs/version-2.0/support/bugBounty.md b/versioned_docs/version-2.0/support/bugBounty.md new file mode 100644 index 00000000..280ae6e8 --- /dev/null +++ b/versioned_docs/version-2.0/support/bugBounty.md @@ -0,0 +1,14 @@ +# Bug Bounty + +We have a bug bounty program to reward security researchers who find and report vulnerabilities in our code. We are committed to keeping our code secure and we want to reward those who help us achieve that goal. + +Our repos can be found here on GitHub: https://github.com/LIT-Protocol + +If you find something and want to report it, email bugs@litprotocol.com with the following information: + +- A description of the vulnerability +- Steps to reproduce the vulnerability +- A description of the impact of the vulnerability +- Your name, email address, and country of residence + +Not all our repos are covered by the bug bounty program. For example, our documentation repos and some application repos are not covered. If you are unsure if a repo is covered, please email bugs@litprotocol.com to check. diff --git a/docs/Support/faq.md b/versioned_docs/version-2.0/support/faq.md similarity index 98% rename from docs/Support/faq.md rename to versioned_docs/version-2.0/support/faq.md index 89a92e77..a2c9ce62 100644 --- a/docs/Support/faq.md +++ b/versioned_docs/version-2.0/support/faq.md @@ -50,7 +50,7 @@ Authorization is through auth signatures - an auth sig is always required when m ### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? -You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](/accessControl/EVM/basicExamples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. +You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../accessControl/EVM/basicExamples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. We are currently working on implementing a more direct solution for using Lit Actions and ACCs together, allowing users to define ACCs that provision access based on the result of any Lit Action. This will enable the generation of more complex ACCs and the use of off-chain data in your conditions. @@ -139,7 +139,7 @@ Yes, you most certainly can; check out [this example](https://github.com/LIT-Pro ### 5. Can more than one condition be added for access control? -Yes! See [boolean logic](/accessControl/conditionTypes/booleanLogic) for examples. +Yes! See [boolean logic](../accessControl/conditionTypes/booleanLogic) for examples. ### 6. Can I delete or edit a published resourceId? @@ -210,7 +210,7 @@ For other permissions, please see the contract [here](https://github.com/LIT-Pro Assign the PKP to itself as we don’t want the PKP owner to arbitrarily change the functioning of the LitAction. Use the PKPHelper.`mintNextAndAddAuthMethods()` for that & to initially setup allow only specific IPFS CIDs to execute. -But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction, can fetch it from there or put that in the LitAction itself and use `conditionalSigning` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](/litactions/workingwithactions/conditionalsigning). +But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction, can fetch it from there or put that in the LitAction itself and use `conditionalSigning` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../litactions/workingwithactions/conditionalsigning). ### 3. But I want to upgrade the permitted LitActions/users? diff --git a/versioned_docs/version-2.0/support/stateOfNetwork.md b/versioned_docs/version-2.0/support/stateOfNetwork.md new file mode 100644 index 00000000..b994a60b --- /dev/null +++ b/versioned_docs/version-2.0/support/stateOfNetwork.md @@ -0,0 +1,23 @@ +--- +sidebar_position: 1 +--- + +# State of the Network + +## Jalapeno Mainnet - Default network + +Right now, Lit Protocol is in an alpha mainnet state (the "Jalapeno Mainnet") and we are running all the nodes. It is unaudited and the nodes are not distributed yet. There are various security improvements to be made, and cryptoeconomic guarantees as a result of staking are not in place yet. Data is persistent and we plan to support this network in perpetuity. We are in the active process of decentralizing and working towards a decentralized mainnet release. The Jalapeno network is the default. You can also specify this network via the `litNetwork: "jalapeno"` option in your `LitNodeClient` config. + +### Uptime and Status + +https://jalapeno-status.litprotocol.com/ + +## Serrano Developer Preview + +The Lit Actions and PKP network (the "Serrano Testnet") is in a developer preview state. + +The data on the Serrano Testnet is not persistent and may be erased at any time. Therefore, we do not recommend storing anything of value on the Serrano Testnet. You may use the Serrano testnet by installing the latest `@lit-protocol/lit-node-client` package and specifying `litNetwork: "serrano"` in your `LitNodeClient` config. You can find more info in the [Lit Actions](/LitActions/intro) sections of the docs. + +### Uptime and Status + +https://serrano-status.litprotocol.com/ diff --git a/versioned_sidebars/version-2.0-sidebars.json b/versioned_sidebars/version-2.0-sidebars.json new file mode 100644 index 00000000..0752aeef --- /dev/null +++ b/versioned_sidebars/version-2.0-sidebars.json @@ -0,0 +1,267 @@ +{ + "docs": [ + { + "type": "category", + "label": "Getting Started", + "collapsible": false, + "className": "category-not-collapsible", + "items": [ + "intro/overview", + "intro/whatIsLitProtocol", + "intro/rollup", + "intro/usecases" + ] + }, + { + "type": "category", + "label": "Concepts", + "collapsible": false, + "className": "category-not-collapsible", + "items": [ + "concepts/pkpsAsWallet" + ] + }, + { + "type": "category", + "label": "Access Control", + "collapsible": true, + "items": [ + "accessControl/intro", + { + "type": "category", + "label": "Types of Conditions", + "collapsed": true, + "items": [ + "accessControl/conditionTypes/unifiedAccessControlConditions", + "accessControl/conditionTypes/booleanLogic", + "accessControl/conditionTypes/updateableConditions", + "accessControl/conditionTypes/litActionConditions" + ] + }, + { + "type": "category", + "label": "EVM", + "collapsed": true, + "items": [ + "accessControl/EVM/basicExamples", + "accessControl/EVM/customContractCalls", + "accessControl/EVM/poap", + "accessControl/EVM/timelock", + "accessControl/EVM/siwe" + ] + }, + { + "type": "category", + "label": "Other Chains", + "collapsed": true, + "items": [ + "accessControl/otherChains/solRpcConditions", + "accessControl/otherChains/cosmosConditions" + ] + } + ] + }, + { + "type": "category", + "label": "Programmable Key Pairs", + "collapsible": true, + "items": [ + "pkp/intro", + "pkp/minting", + { + "type": "category", + "label": "Authentication with PKPs", + "link": { + "type": "doc", + "id": "pkp/authHelpers/overview" + }, + "collapsed": true, + "items": [ + "pkp/authHelpers/addRemoveAuthMethods" + ] + }, + "pkp/pkpsAndActions", + "pkp/usage", + "pkp/walletconnect", + "pkp/toolsAndExamples" + ] + }, + { + "type": "category", + "label": "Lit Actions", + "collapsible": true, + "items": [ + "LitActions/intro", + "LitActions/getlitCli", + "LitActions/helloWorld", + "LitActions/bestPractices", + { + "type": "category", + "label": "Working With Lit Actions", + "collapsed": true, + "items": [ + "LitActions/workingWithActions/conditionalSigning", + "LitActions/workingWithActions/usingFetch", + "LitActions/workingWithActions/singleExecution", + "LitActions/workingWithActions/signingTx", + "LitActions/workingWithActions/permissions", + "LitActions/workingWithActions/logAndReturn" + ] + }, + { + "type": "category", + "label": "More Examples", + "collapsed": true, + "items": [ + "LitActions/additionalExamples/generatingSessionKey", + "LitActions/additionalExamples/usingEIP" + ] + } + ] + }, + { + "type": "category", + "label": "SDK Reference", + "collapsible": false, + "className": "category-not-collapsible", + "items": [ + "sdk/intro", + "sdk/explanation/installation", + "sdk/explanation/migration", + { + "type": "category", + "label": "Working with the SDK", + "collapsed": true, + "items": [ + "sdk/explanation/encryption", + { + "type": "category", + "label": "Authentication", + "link": { + "type": "doc", + "id": "sdk/explanation/authentication/overview" + }, + "collapsed": true, + "items": [ + "sdk/explanation/authentication/authSig", + { + "type": "category", + "label": "Session Signatures", + "link": { + "type": "doc", + "id": "sdk/explanation/authentication/sessionSigs/intro" + }, + "collapsed": true, + "items": [ + "sdk/explanation/authentication/sessionSigs/resources-and-abilities", + "sdk/explanation/authentication/sessionSigs/capability-objects", + "sdk/explanation/authentication/sessionSigs/getSessionSigs", + "sdk/explanation/authentication/sessionSigs/usage", + { + "type": "category", + "label": "Walletless Signatures", + "link": { + "type": "doc", + "id": "sdk/explanation/authentication/sessionSigs/authMethods/overview" + }, + "collapsed": true, + "items": [ + "sdk/explanation/authentication/sessionSigs/authMethods/socialLogin", + "sdk/explanation/authentication/sessionSigs/authMethods/webAuthn", + "sdk/explanation/authentication/sessionSigs/authMethods/email-sms" + ] + } + ] + }, + "sdk/explanation/authentication/security" + ] + }, + "sdk/explanation/tests" + ] + }, + { + "type": "category", + "label": "Tools & Integrations", + "collapsed": true, + "items": [ + { + "type": "category", + "label": "Tools", + "collapsed": true, + "items": [ + "ToolsAndExamples/Tools/accessControl", + "ToolsAndExamples/Tools/shareModal", + "ToolsAndExamples/Tools/jwtverify", + "ToolsAndExamples/Tools/pkpexplorer" + ] + }, + { + "type": "category", + "label": "Integrations", + "collapsed": true, + "items": [ + { + "type": "category", + "label": "Ceramic Integration", + "collapsed": true, + "items": [ + "ToolsAndExamples/Integrations/Ceramic/intro", + "ToolsAndExamples/Integrations/Ceramic/installation" + ] + }, + "ToolsAndExamples/Integrations/bundlrxarweave", + "ToolsAndExamples/Integrations/additionalIntegrations" + ] + }, + { + "type": "category", + "label": "Additional Examples", + "collapsed": true, + "items": [ + { + "type": "category", + "label": "Encrypting and Decrypting On-chain Metadata", + "collapsed": true, + "items": [ + "ToolsAndExamples/SDKExamples/OnchainMetadata/introduction", + "ToolsAndExamples/SDKExamples/OnchainMetadata/setup", + "ToolsAndExamples/SDKExamples/OnchainMetadata/encryptDecrypt", + "ToolsAndExamples/SDKExamples/OnchainMetadata/smartContract", + "ToolsAndExamples/SDKExamples/OnchainMetadata/frontend", + "ToolsAndExamples/SDKExamples/OnchainMetadata/polygonMumbai" + ] + }, + "ToolsAndExamples/SDKExamples/dynamicContent", + "ToolsAndExamples/SDKExamples/signedChainData" + ] + } + ] + }, + "sdk/examples" + ] + }, + { + "type": "category", + "label": "Resources", + "collapsible": false, + "className": "category-not-collapsible", + "items": [ + "resources/howItWorks", + "resources/supportedChains", + "resources/contracts", + "resources/glossary" + ] + }, + { + "type": "category", + "label": "Support", + "collapsible": false, + "className": "category-not-collapsible", + "items": [ + "support/faq", + "support/bugBounty", + "support/stateOfNetwork" + ] + } + ] +} diff --git a/versions.json b/versions.json new file mode 100644 index 00000000..59f17b2b --- /dev/null +++ b/versions.json @@ -0,0 +1,3 @@ +[ + "2.0" +] diff --git a/yarn.lock b/yarn.lock index b50df8f1..b47f01ac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2023,33 +2023,33 @@ resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.41": - version "2.2.41" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.41.tgz#a5ef4d07a53bc4d572112b405eb2373ae72b96a6" - integrity sha512-DwEd9jAJRZ1hHF401NLd7HnLjCw2GDtXUNMZGBalzSvLHKrPUPaG64WzYDrPPSkasH7WpoGxiiuP0HRNvMv8/Q== +"@lit-protocol/auth-helpers@2.2.49": + version "2.2.49" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.49.tgz#b977fb2d6e3010d48ef29c4ca13b9a5762d453c3" + integrity sha512-DCJg6aUE45ntmTxzwPVglZUaAabks3WHHFrlJ4ltr+dlr0eE5fZYMaKEgd3wHV1X3T9/vBH4omRbMdynmqskCQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.41": - version "2.2.41" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.41.tgz#34414fe4efec93bdd58aaa8d1c3070d315bc58b6" - integrity sha512-4roOsxZ6ocJiEbKTZPSpEi7RJW0JbnfmY96bA39jMdKVnxNUOqOrXgXMIPK2zlW6ba2MOkFIwHStcKwCv8om0g== +"@lit-protocol/constants@^2.2.49": + version "2.2.49" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.49.tgz#ac8c1c9447f6b297398d7c083e86a8e2d02e708c" + integrity sha512-z8112swUe/L3D2BWtHMw63y7S2blsovFMao8I4YFfu4+l9aZgvohERhovC74FXs9ygbv6PBl/qONRkKY4ztauQ== dependencies: - "@lit-protocol/auth-helpers" "2.2.41" - "@lit-protocol/types" "2.2.41" + "@lit-protocol/auth-helpers" "2.2.49" + "@lit-protocol/types" "2.2.49" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.41": - version "2.2.41" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.41.tgz#5bee74fb50c67cc9c8d518b85d7e65f335198c99" - integrity sha512-2pz7klTgnllNXRC4pji7FCG+qmYNvH2ohDLpJgLJPKR7Dwad12CjTJxjCjNoIiH1DNh5dcKRMTEIrIHb4yrjpg== +"@lit-protocol/types@2.2.49": + version "2.2.49" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.49.tgz#b77eb46df3ddce2c9877a15450bd073d726c7117" + integrity sha512-tVbX7H+ig2RqVo1v0TyidCh2Crdb+NWZ1umMBTLGWqiUxxErFuuHX63jzu42jnzqICpnK5f4QOqoMQ7b6TAJBg== dependencies: - "@lit-protocol/auth-helpers" "2.2.41" + "@lit-protocol/auth-helpers" "2.2.49" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" From a5ff258c7af559157afa5fc13691c2314635a765 Mon Sep 17 00:00:00 2001 From: debie Date: Mon, 21 Aug 2023 15:33:00 -0700 Subject: [PATCH 014/627] Update logo to redirect to docs homepage --- docusaurus.config.js | 1 + 1 file changed, 1 insertion(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 3a013d49..c49edbf2 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -83,6 +83,7 @@ const config = { logo: { alt: "Lit Protocol", src: "img/logo.svg", + href: 'https://developer.litprotocol.com/v2/', }, items: [ { From 82151a6987d37cbc76a23f356f9a62fa19c4e9ce Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 23 Aug 2023 21:16:19 -0400 Subject: [PATCH 015/627] Link fixes for pkp as a wallet section (#122) * Link fixes for pkp as a wallet section --- docs/concepts/pkps-as-wallet.md | 8 ++++---- versioned_docs/version-2.0/concepts/pkpsAsWallet.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 5e70f7a0..b11be2b2 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -25,13 +25,13 @@ Applied generally, multi-party computation (MPC) allows multiple parties to coll ## Programmable Key Pairs as Distributed Custody Wallets -Lit’s [Programmable Key Pairs (PKPs)](../pkp/intro) product can be utilized by app developers to build a white-label MPC wallet solution that delivers a more flexible and seamless onboarding experience to their end users. +Lit’s Programmable Key Pairs (PKPs) product can be utilized by app developers to build a white-label MPC wallet solution that delivers a more flexible and seamless onboarding experience to their end users. Each PKP is an ECDSA key pair generated collectively by the Lit nodes through a process called [Distributed Key Generation](../resources/how-it-works#threshold-cryptography) (DKG). Operating as a decentralized network, this allows Lit to generate a new key pair where the private key never exists in its entirety. Instead, each node only holds a share of the key. These signature shares must be combined above the threshold (two-thirds of the nodes) to produce the complete signature signed by the PKP. This signature can then be used for instances such as posting a transaction to a blockchain network. Each PKP is represented by an ERC-721 token minted on Chronicle, [you can mint one through the explorer](https://explorer.litprotocol.com/pkps). The two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs (e.g. Fireblocks) do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. -In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../pkp/auth-helpers) can be assigned to that key pair through the use of [Lit Actions](../lit-actions/intro). Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: +In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../sdk/wallets/auth-methods) can be assigned to that key pair through the use of Lit Actions. Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: - WebAuthn from [FIDO Alliance](https://fidoalliance.org/fido2-2/fido2-web-authentication-webauthn/) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) @@ -43,7 +43,7 @@ The current methods are a work in progress: - Email - SMS -You can read more about how authentication works with PKPs in [this section](../pkp/auth-helpers) of the docs. +You can read more about how authentication works with PKPs in [this section](../sdk/wallets/auth-methods.md) of the docs. The end goal of this system is to facilitate a simple onboarding experience that helps bridge the next billion users into Web3. @@ -51,7 +51,7 @@ The end goal of this system is to facilitate a simple onboarding experience that ## Supported Chains -Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supported-chains#programmable-key-pairs). +Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supported-chains#programmable-key-pairs.md). ## Examples diff --git a/versioned_docs/version-2.0/concepts/pkpsAsWallet.md b/versioned_docs/version-2.0/concepts/pkpsAsWallet.md index 9a0a44e4..2612557f 100644 --- a/versioned_docs/version-2.0/concepts/pkpsAsWallet.md +++ b/versioned_docs/version-2.0/concepts/pkpsAsWallet.md @@ -31,7 +31,7 @@ Each PKP is an ECDSA key pair generated collectively by the Lit nodes through a The two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs (e.g. Fireblocks) do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. -In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../pkp/authHelpers/overview) can be assigned to that key pair through the use of [Lit Actions](../LitActions/intro). Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: +In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../pkp/authHelpers/overview.md) can be assigned to that key pair through the use of [Lit Actions](../LitActions/intro.md). Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: - WebAuthn from [FIDO Alliance](https://fidoalliance.org/fido2-2/fido2-web-authentication-webauthn/) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) @@ -43,7 +43,7 @@ The current methods are a work in progress: - Email - SMS -You can read more about how authentication works with PKPs in [this section](../pkp/authHelpers/overview) of the docs. +You can read more about how authentication works with PKPs in [this section](../pkp/authHelpers/overview.md) of the docs. The end goal of this system is to facilitate a simple onboarding experience that helps bridge the next billion users into Web3. @@ -51,7 +51,7 @@ The end goal of this system is to facilitate a simple onboarding experience that ## Supported Chains -Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supportedChains#programmable-key-pairs). +Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supportedChains#programmable-key-pairs.md). ## Examples From 137d970f3e8c7be05c0e150c5ba44a68004e3a0b Mon Sep 17 00:00:00 2001 From: debie Date: Wed, 23 Aug 2023 18:26:42 -0700 Subject: [PATCH 016/627] Update pkpsAsWallet.md update broken link --- versioned_docs/version-2.0/concepts/pkpsAsWallet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versioned_docs/version-2.0/concepts/pkpsAsWallet.md b/versioned_docs/version-2.0/concepts/pkpsAsWallet.md index 9a0a44e4..31b808b1 100644 --- a/versioned_docs/version-2.0/concepts/pkpsAsWallet.md +++ b/versioned_docs/version-2.0/concepts/pkpsAsWallet.md @@ -51,7 +51,7 @@ The end goal of this system is to facilitate a simple onboarding experience that ## Supported Chains -Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supportedChains#programmable-key-pairs). +Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supportedChains.md). ## Examples From 19fee57b4dde24a9d564440a9924eceeb72d22d5 Mon Sep 17 00:00:00 2001 From: deb Date: Mon, 11 Sep 2023 18:22:21 -0400 Subject: [PATCH 017/627] pass #1 link fixes (#131) --- Ecosystem/projects.md | 8 +++----- docs/resources/glossary.md | 4 ++-- docs/sdk/access-control/jwt-auth.md | 2 +- docs/sdk/authentication/overview.md | 4 ++-- docusaurus.config.js | 2 +- src/components/CardSectionsV2/CoreConcepts.jsx | 2 +- src/components/SDKCardSectionsV2/Actions.jsx | 8 ++++---- versioned_docs/version-2.0/LitActions/intro.md | 12 ++++++------ .../Integrations/bundlrxarweave.md | 6 +++--- .../SDKExamples/OnchainMetadata/introduction.md | 10 +++++----- versioned_docs/version-2.0/intro/usecases.md | 2 +- .../version-2.0/intro/whatIsLitProtocol.md | 14 +++++++------- .../version-2.0/pkp/authHelpers/overview.md | 2 +- versioned_docs/version-2.0/pkp/intro.md | 2 +- versioned_docs/version-2.0/pkp/walletconnect.md | 2 +- versioned_docs/version-2.0/resources/glossary.md | 8 ++++---- .../sdk/explanation/authentication/overview.md | 4 ++-- .../authentication/sessionSigs/getSessionSigs.md | 4 ++-- versioned_docs/version-2.0/startHere/usecases.md | 1 - versioned_docs/version-2.0/support/faq.md | 2 +- 20 files changed, 48 insertions(+), 51 deletions(-) diff --git a/Ecosystem/projects.md b/Ecosystem/projects.md index 69476612..5f933bfd 100644 --- a/Ecosystem/projects.md +++ b/Ecosystem/projects.md @@ -9,13 +9,12 @@ - **[Relation](https://spark.litprotocol.com/semantic/)**: Web3 native social graph. - **[Orbis Club](https://orbis.club/)**: A fully decentralized social layer for Web3. - **[Gather](https://www.gather.town/)**: Virtual spaces for remote collaboration. -- **[Headline](https://viaheadline.xyz/)**: A decentralized publishing platform. - **[Charmverse](https://www.charmverse.io/)**: Web3-native all-in-one workspace. - **[P00ls](https://www.p00ls.io/)**: A web3 platform for creators and brands. - **[Gateway](https://www.mygateway.xyz/home)**: Verifiable credential platform. - **[Tempra](https://ethglobal.com/showcase/tempra-xnxf4)**: Decentralized social platform inspired by Snapchat. - **[Lens](https://lens.xyz/)**: Token-gated content on Lens. -- **[The 402](https://app.the402.xyz/)**: Live-streaming and NFT marketplace. +- **[The 402](https://www.the402.xyz/)**: Live-streaming and NFT marketplace. - **[MemeDAO](https://github.com/Eyon42/MemeDAO)**: DAO communication platform that uses Lit to support private, members-only content. - **[Iris](https://github.com/irisxyz/iris)**: A decentralized social media and subscription platform built on Lens. - **[DecentraScholar](https://github.com/TanusreeSharma/LFGrow-hack)**: A platform that incentivizes collaboration among academic researchers. @@ -29,7 +28,7 @@ ### Infrastructure - **[BAILOUT](https://ethglobal.com/showcase/bailout-ia6s1?ref=spark.litprotocol.com)**: Securely move assets between EOAs, smart contract wallets, and cold wallets. -- **[Strata Protocol](https://strataprotocol.com/)**: An open-source protocol to launch tokens around a person, project, idea, or collective on Solana. +- **[Strata Protocol](https://github.com/StrataFoundation/strata)**: An open-source protocol to launch tokens around a person, project, idea, or collective on Solana. - **[Key-Recovery](https://github.com/Joseph-Gross/key-recovery)**: Distributed social private key recovery made by the team at [Sling Protocol](https://twitter.com/slingprotocol). - **[Neya](https://github.com/stefsimion/Site-Neya-2)**: Web3-native 2FA protocol. - **[EtherMonitor](https://github.com/seetadev/EtherMonitor)**: Tools for traffic incident management. @@ -37,7 +36,7 @@ ### Data and Identity Marketplaces -- **[WeaveDB](https://docs.weavedb.dev/docs/examples/lit-protocol)**: Decentralized Web3 database. +- **[WeaveDB](https://docs.weavedb.dev/examples/lit-protocol)**: Decentralized Web3 database. - **[Streamr](https://blog.streamr.network/streamr-integrates-lit-protocol/)**: Distributed real-time data network. - **[KaratDAO](https://docs.karatdao.com/why-karat-network)**: A decentralized data network connecting Web2 to Web3. - **[Cheqd](https://cheqd.io/)**: Infrastructure for trusted data markets. @@ -77,7 +76,6 @@ ### Metaverse - **[Nowhere](https://www.urnowhere.com/)**: Token-gated metaverse spaces. -- **[Dataverse](https://dataverse.art/)**: The first secure personal space for everyone, allowing users to aggregate Web2 & Web3 interests and control their online digital persona in one place. - **[Mona](https://monaverse.com/)**: Buy, mint, and sell metaverse worlds. ### Sports and Entertainment diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index a7a94c86..30abeb7e 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -19,8 +19,8 @@ A (cryptographic) challenge is a piece of data that is used in challenge-respons ### **[Decentralized Access Control](../access-control/intro)** Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](../access-control/intro), allowing you to securely store data on the open web. -### **[Digital Signature](lit-actions/actions/litActions#signing)** -In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the digital identity provided by the address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner the the wallet associated with it. +### **Digital Signature** +In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the wallet address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner and the wallet associated with it. In working with the Lit network, someone will sign with their wallet when they want to mint a PKP. That is a transaction signature — where someone is sending a transaction (minting). This signature is then used as the method of authentication over the PKP and associated Lit Actions. ### **Distributed Key Generation** diff --git a/docs/sdk/access-control/jwt-auth.md b/docs/sdk/access-control/jwt-auth.md index cd6987de..fe165bbe 100644 --- a/docs/sdk/access-control/jwt-auth.md +++ b/docs/sdk/access-control/jwt-auth.md @@ -19,7 +19,7 @@ Here is a high-level, step-by-step breakdown of generating a signed JWT: The Lit Network can be used to specify access control conditions for signing JWTs that are used to load dynamic content from a server. -Check out [this example](https://github.com/LIT-Protocol/js-sdk/blob/master/apps/demo-locked-express-app/README.md) for a simple Express application that gates a server-provided web page with an access control condition. +Check out [this example](https://replit.com/@lit/NextJS-x-Lit-Token-Gating) for a simple NextJS application that gates a web page with an access control condition. ### Provisioning access to a resource diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md index 0ffcfa11..abe6b159 100644 --- a/docs/sdk/authentication/overview.md +++ b/docs/sdk/authentication/overview.md @@ -8,13 +8,13 @@ To interact with the nodes in the Lit Network, you will need to generate and pre ## Obtain an `AuthSig` -A wallet signature, also referred to as `AuthSig`, is a signature that proves you own a particular public key. Learn more about wallet signatures [here](../../../sdk/explanation/authentication/auth-sig). +A wallet signature, also referred to as `AuthSig`, is a signature that proves you own a particular public key. Learn more about wallet signatures [here](../authentication/auth-sig.md). ## Generate `SessionSigs` (Recommended) Session signatures, or `SessionSigs`, are signatures that are scoped to specific capabilities and resources. For example, you can set up `SessionSigs` to permit only the encryption and decryption of data during a particular time frame. -`SessionSigs` are designed to be ephemeral and limited in scope, allowing for fine-grained control and enabling secure, seamless interactions with any platform integrating Lit. Get started with `SessionSigs` [here](../../../sdk/explanation/authentication/session-sigs/intro). +`SessionSigs` are designed to be ephemeral and limited in scope, allowing for fine-grained control and enabling secure, seamless interactions with any platform integrating Lit. Get started with `SessionSigs` [here](../authentication/session-sigs/intro). :::note diff --git a/docusaurus.config.js b/docusaurus.config.js index c49edbf2..fc289d3a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -138,7 +138,7 @@ const config = { items: [ { label: "Blog", - to: "https://blog.litprotocol.com/", + to: "https://spark.litprotocol.com/", }, { label: "GitHub", diff --git a/src/components/CardSectionsV2/CoreConcepts.jsx b/src/components/CardSectionsV2/CoreConcepts.jsx index 27000f72..d6670a56 100644 --- a/src/components/CardSectionsV2/CoreConcepts.jsx +++ b/src/components/CardSectionsV2/CoreConcepts.jsx @@ -30,7 +30,7 @@ export default function CoreConceptsSection({ title, className }) {
); diff --git a/src/components/SDKCardSectionsV2/Actions.jsx b/src/components/SDKCardSectionsV2/Actions.jsx index af0aeede..cde6a0a3 100644 --- a/src/components/SDKCardSectionsV2/Actions.jsx +++ b/src/components/SDKCardSectionsV2/Actions.jsx @@ -10,22 +10,22 @@ export default function LitActionsSection({ title, className }) { Date: Wed, 13 Sep 2023 13:07:27 -0400 Subject: [PATCH 018/627] Pass #2 of fixes (#132) * Pass #2 of fixes Fixes for links on V3 and on learning lab --- Ecosystem/lit-grants.md | 2 +- Ecosystem/projects.md | 2 +- docs/intro/overview.mdx | 2 +- docs/intro/usecases.md | 4 +-- docs/intro/what-is-lit-protocol.md | 2 +- docs/resources/glossary.md | 22 +++++++------- docs/resources/how-it-works.md | 2 +- docs/sdk/access-control/evm/siwe.md | 2 +- docs/sdk/access-control/intro.md | 6 ++-- docs/sdk/authentication/auth-sig.md | 2 +- docs/sdk/wallets/intro.md | 18 +++++------ docs/sdk/wallets/minting.md | 12 ++++---- docs/support/faq.md | 2 +- learningLab/intro-to-lit/acc.md | 10 ++++--- learningLab/intro-to-lit/prog-signing.md | 12 ++++---- netlify.toml | 14 +++------ package.json | 2 +- .../generatingSessionKey.md | 2 +- .../version-2.0/LitActions/bestPractices.md | 6 ++-- .../Integrations/bundlrxarweave.md | 2 +- .../version-2.0/accessControl/EVM/siwe.md | 2 +- versioned_docs/version-2.0/intro/overview.mdx | 2 +- versioned_docs/version-2.0/intro/usecases.md | 2 +- .../version-2.0/intro/whatIsLitProtocol.md | 2 +- .../version-2.0/pkp/authHelpers/overview.md | 2 +- .../version-2.0/pkp/walletconnect.md | 2 +- .../version-2.0/resources/howItWorks.md | 2 +- .../sdk/explanation/authentication/authSig.md | 2 +- .../authentication/sessionSigs/intro.md | 2 +- versioned_docs/version-2.0/support/faq.md | 6 ++-- yarn.lock | 30 +++++++++---------- 31 files changed, 89 insertions(+), 91 deletions(-) diff --git a/Ecosystem/lit-grants.md b/Ecosystem/lit-grants.md index 08631f44..4a53f75c 100644 --- a/Ecosystem/lit-grants.md +++ b/Ecosystem/lit-grants.md @@ -8,7 +8,7 @@ The Lit grant program is looking to fund projects that improve developer experie ### Grant Criteria 1. Must be open source. -2. Must utilize [Lit Actions](https://developer.litprotocol.com/lit-actions/intro) and [Programmable Key Pairs](https://developer.litprotocol.com/pkp/intro). +2. Must utilize [programmatic signing](https://developer.litprotocol.com/v3/sdk/wallets/intro). Get inspired by taking a look at our [Request for Ecosystem Proposals](https://litprotocol.notion.site/Lit-Request-for-Ecosystem-Proposals-ae3f31e7f32c413cbe0b36c2fe53378d) and [Request for Startups](https://spark.litprotocol.com/request-for-startups/). diff --git a/Ecosystem/projects.md b/Ecosystem/projects.md index 5f933bfd..92805340 100644 --- a/Ecosystem/projects.md +++ b/Ecosystem/projects.md @@ -11,7 +11,7 @@ - **[Gather](https://www.gather.town/)**: Virtual spaces for remote collaboration. - **[Charmverse](https://www.charmverse.io/)**: Web3-native all-in-one workspace. - **[P00ls](https://www.p00ls.io/)**: A web3 platform for creators and brands. -- **[Gateway](https://www.mygateway.xyz/home)**: Verifiable credential platform. +- **[Gateway](https://www.mygateway.xyz)**: Verifiable credential platform. - **[Tempra](https://ethglobal.com/showcase/tempra-xnxf4)**: Decentralized social platform inspired by Snapchat. - **[Lens](https://lens.xyz/)**: Token-gated content on Lens. - **[The 402](https://www.the402.xyz/)**: Live-streaming and NFT marketplace. diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index caf06c16..3cbb5a5d 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -17,7 +17,7 @@ Get started today! **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit, check out the Lit SDK [intro](../sdk/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 16e0935e..ad68a2f9 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -13,7 +13,7 @@ Some examples of applications that can (and have) been built harnessing this fun ### Web3 Apps with Private Data -Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/installation). +Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/installation.md). Examples: @@ -73,7 +73,7 @@ Build powerful infrastructure that harnesses the power of Lit! Example Projects: -- [Yacht Labs](https://yachtlabs.io/blog/yacht-lit-swap): Cross-chain atomic swaps with PKPs and Lit Actions +- [Yacht Labs](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/): Cross-chain atomic swaps with PKPs and Lit Actions - [Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main): SDK for building privacy-preserving interactions on-chain - [MagicWallet](https://github.com/DustilDawn/Magic): One account, multiple seedless wallets - More coming soon… 👀 —> [build with us](https://litgateway.com/discord)! diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 958d640d..7628a497 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -20,7 +20,7 @@ Lit Protocol provides developers with two core services: Lit Protocol can be utilized for various web3 applications, including: - **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), [recurring payments](https://www.notion.so/OSS-tooling-infrastructure-for-recurring-payments-54b01631e4b14a1cb16b20d14641fe2f), liquid staking solutions, and more. -- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for [off-chain data](lit-actions/working-with-actions/using-fetch), [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [AA wallet signers](https://spark.litprotocol.com/account-abstraction-and-mpc/). +- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for off-chain data, [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [AA wallet signers](https://spark.litprotocol.com/account-abstraction-and-mpc/). - **Sovereign Data**: [Verifiable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. - **Web3 Social**: [Private data in social apps](https://docs.lens.xyz/docs/gated), [token-gated video streaming](https://github.com/suhailkakar/livepeer-token-gated-vod), decentralized chatbots, and on-chain reputation building. - **Gaming**: [Wallet abstraction](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 30abeb7e..6e2da9a5 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -6,7 +6,7 @@ sidebar_position: 2 ## Definitions of commonly used terms and core concepts. -### **[Auth Sig](../sdk/explanation/authentication/auth-sig#authsigs)** +### **[Auth Sig](../sdk/authentication/overview.md)** In order to use Lit Protocol, you must present a wallet signature obtained from the user. This is referred to as an 'AuthSig' in the documentation. ### **[Boneh-Lynn-Shacham (BLS) Signatures](https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716)** A cryptographic algorithm that can be used for both signing and encryption. BLS allows for signature aggregation and verification at scale using [Elliptic Curve cryptography](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography). @@ -17,7 +17,7 @@ Ethereum uses the BLS signature scheme to facilitate secure cryptography within A (cryptographic) challenge is a piece of data that is used in challenge-response authentication schemes for a verifier to independently assert the authenticity of another entity. Unique and random challenges are used to prevent against replay attacks. -### **[Decentralized Access Control](../access-control/intro)** +### **[Decentralized Access Control](../sdk/access-control/intro.md)** Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](../access-control/intro), allowing you to securely store data on the open web. ### **Digital Signature** In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the wallet address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner and the wallet associated with it. @@ -27,15 +27,15 @@ In working with the Lit network, someone will sign with their wallet when they w A cryptographic process in which key generation requires participation from above a certain threshold of nodes, where each node only holds a **share** of the complete keypair. ### **[Elliptic Curve Digital Signature Algorithm (ECDSA)](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/)** ECDSA is a cryptographically secure digital signature scheme, based on elliptic-curve cryptography. ECDSA is mainly used for digital signatures. A digital signature is an authentication method used where a public key pair and a digital certificate are used as a signature to verify the identity of a recipient or sender of information. -### **[Encryption](../what-is-lit#encryption)** +### **[Encryption](../intro/what-is-lit-protocol.md)** The process of encoding data so that it remains hidden or inaccessible to unauthorized parties, the core technology that enables privacy on the Internet. At a high level, encryption converts plaintext (i.e “this is a secret”) into “nonsense” ciphertext (”e5sVVb#bn332J”). You can read a more in-depth explanation [here](https://www.cloudflare.com/learning/ssl/what-is-encryption/). -### **[Ethereum Virtual Machine (EVM)](../access-control/evm/basic-examples)** +### **[Ethereum Virtual Machine (EVM)](../sdk/access-control/evm/basic-examples.md)** A stack-based virtual machine that executes [bytecode](https://ethereum.org/en/glossary/#bytecode). In Ethereum, the execution model specifies how the system state is altered given a series of bytecode instructions and a small tuple of environmental data. This is specified through a formal model of a virtual state machine. ### **[Externally Owned Account (EOA)](https://ethereum.org/en/developers/docs/accounts/)** Externally owned accounts (EOAs) are accounts that are controlled by [private keys](https://ethereum.org/en/glossary/#private-key), typically generated using a [seed phrase](https://ethereum.org/en/glossary/#hd-wallet-seed). Unlike smart contracts, externally owned accounts are accounts without any code associated with them. Typically these accounts are managed with a [wallet](https://ethereum.org/en/glossary/#wallet). ### **Key Re-Share** Re-share the private key shares to add a node to the network. The shares before and after the re-share are compatible. -### **[Lit Actions](lit-actions/actions/intro)** +### **Lit Actions** Immutable Javascript functions stored on IPFS that can use PKPs for programmatic signing and decryption. They can be thought of as Lit’s native version of smart contracts. ### **[Multi-Party Computation (MPC)](https://eprint.iacr.org/2020/300.pdf)** In a general sense, MPC enables multiple parties – each holding their own private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). @@ -43,13 +43,13 @@ In a general sense, MPC enables multiple parties – each holding their own priv In cryptography, a value that can only be used once. An account nonce is a transaction counter in each account, which is used to prevent replay attacks. ### **[Oracle](https://cointelegraph.com/blockchain-for-beginners/what-is-a-blockchain-oracle-and-how-does-it-work)** An oracle is a bridge between the [blockchain](https://ethereum.org/en/glossary/#blockchain) and the real world, querying data from off-chain [APIs](https://ethereum.org/en/glossary/#api) for use in [smart contracts](https://ethereum.org/en/glossary/#smart-contract). -### **[Private Key Share](../resources/how-it-works)** +### **Private Key Share** A share of a private key that can be used to decrypt and sign. Decryption creates “decryption shares” and signing creates “signature shares”. These resultant shares are combined above the threshold to produce the decrypted content or signature. ### **[Proactive Secret Sharing](https://www.youtube.com/watch?v=iOqU2DySmeU&t=594s)** Keep the same overall private key, but change the private key shares, such that private key shares after the PSS operation are incompatible with shares from before the operation. We use PSS for adding and removing nodes from the network during an epoch transition, such that private key shares from the previous epoch are incompatible with private key shares in the next epoch. -### **[Programmable Key Pairs (PKPs)](../pkp/intro)** +### **Programmable Key Pairs (PKPs)** An ECDSA keypair generated collectively by the Lit nodes. PKPs can be used to read and write data across blockchains (EVM, Cosmos, BTC), storage networks (IPFS, Ceramic), and HTTP endpoints. -### **[Proof](../lit-actions/actions/litActions#proofs)** +### **Proof** A proof is a particular application for a digitial signature. For example, using a signature to *prove* that a particular interaction took place. Signing through Lit Actions opens up the possibilities of verifying information from external sources, such as from a Weather API. Within the Lit ecosystem this signed information is called a proof. ### **Public Key Cryptography** The technology that underpins cryptocurrency and most of the security infrastructure on the web today. It allows you to do two main things: @@ -58,13 +58,13 @@ The technology that underpins cryptocurrency and most of the security infrastruc 2. Sign (write) data to blockchains, databases, storage networks, and other state machines (digital signatures). ### **[Rate Limiting](https://explorer.litprotocol.com/rlis)** By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by purchasing an RLI NFT that comes with "flexible terms" which can be customized by 2 factors, the number of requests/millisecond and the expiry date. -### **[Session Keys](../sdk/explanation/authentication/session-sigs/intro)** +### **[Session Keys](../sdk/authentication/session-sigs/intro.md)** When the user “signs into” Lit, we generate a random session key for them. They sign that session pubkey as the “URI” of a SIWE message which creates a capability signature. There is a default expiration time of 24 hours, but this is configurable. This signature and the session key are stored in the localstorage of the browser. When the user sends a request, the session key signs it and sends the signature with the request. The capability signature is also sent. Multiple capability signatures can be attached. Therefore, the AuthSig presented to the nodes is actually the session key AuthSig with the capability signatures attached. The SDK will use the session key to scope the AuthSig for each request to the specific resource and node being addressed, preventing replay attacks. -### **[SIWE](../access-control/evm/siwe/)** +### **[SIWE](../sdk/authentication/auth-sig.md)** Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. -### **[Threshold Cryptography](../resources/how-it-works#threshold-cryptography)** +### **[Threshold Cryptography](../resources/how-it-works.md)** A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. ### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index ae70da22..c7f5b9af 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -8,7 +8,7 @@ sidebar_position: 1 **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit based on your use case, check out the Lit SDK [here](../sdk/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit based on your use case, check out the Lit SDK [here](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. diff --git a/docs/sdk/access-control/evm/siwe.md b/docs/sdk/access-control/evm/siwe.md index 49859e4c..c3f993ac 100644 --- a/docs/sdk/access-control/evm/siwe.md +++ b/docs/sdk/access-control/evm/siwe.md @@ -48,4 +48,4 @@ const accessControlConditions = [ ## Using SIWE params in Custom Contract Calls -See the [Custom Contract Calls](../../access-control/evm/custom-contract-calls#using-siwe-params-in-custom-contract-calls) page for more information on how to use SIWE params in custom contract calls. +See the [Custom Contract Calls](../evm/custom-contract-calls.md) page for more information on how to use SIWE params in custom contract calls. diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index 1be6e9a1..9979fa0e 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -9,13 +9,13 @@ sidebar_position: 1 Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: 1. Guide: [Working with Decentralized Access Control](https://spark.litprotocol.com/working-with-decentralized-access-control/) -2. Guide: [Encrypting and Decrypting Content with Lit](../sdk/explanation/encryption) +2. Guide: [Encrypting and Decrypting Content with Lit](../access-control/encryption.md) 3. Tool: [Custom Access Controls Creator](https://custom-access-control-conditions.lit.repl.co/) 4. Example: [Basic EVM Conditions](../access-control/evm/basic-examples) ## Overview -Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../resources/glossary#encryption) content for private and permissioned storage on the open Web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) are used to define who can decrypt and access the locked data. +Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../../resources/glossary#encryption) content for private and permissioned storage on the open Web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) are used to define who can decrypt and access the locked data. Lit supports the use of both on and [off-chain data](../access-control/condition-types/lit-action-conditions) when defining access control conditions. Examples include gating against: @@ -26,7 +26,7 @@ Lit supports the use of both on and [off-chain data](../access-control/condition ## Features -1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](../resources/supported-chains). +1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](../../resources/supported-chains.md). 2. AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. 3. Storage provider agnostic: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index f67aac78..b726e5e4 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -26,7 +26,7 @@ In the `AuthSig` data structure: - `signedMessage` is the original message that was signed - `address` is the public key address that was used to create the signature -You can refer to the `AuthSig` type definition in the [Lit JS SDK Latest Version](https://js-sdk.litprotocol.com/interfaces/auth_browser_src.authsig.html). +You can refer to the `AuthSig` type definition in the [Lit JS SDK Latest Version](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html). ## Obtaining an `AuthSig` in the browser diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index eaadca28..271ac366 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -16,31 +16,31 @@ Ready to jump right in? Quickly learn how you can integrate Programmable Key Pai 1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) 2. Resource: [Testnet Faucet](https://chronicle-faucet-app.vercel.app/) -3. Concept: [Assigning an Authentication Method](../pkp/auth-methods/auth-helpers) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) -4. SDK Package: [Using PKPs as Wallets](../pkp/usage) +3. Concept: [Assigning an Authentication Method](../wallets/auth-methods.md) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) +4. SDK Package: [Using PKPs as Wallets](../wallets/walletconnect.md) ## Overview -Each Programmable Key Pair (PKP) is a versatile [MPC wallet](../resources/pkps-as-wallet) that can be utilized by developers to: +Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be utilized by developers to: 1. Provide users of web3 with seamless, ["seed-phraseless" onboarding](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) experiences. 2. Facilitate transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. -3. Build fully [decentralized application backends](../resources/pkps-and-actions#why-is-this-useful). +3. Build fully decentralized application backends. ## Features -1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](../lit-actions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](../automated-portfolio-rebalancing-uniswap/), handling [authentication](../pkp/auth-helpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](../lit-actions/working-with-actions/conditional-signing). -3. Atomicity: Using [Mint/Grant/Burn](../pkp/pkps-and-actions#using-mintgrantburn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. +1. [Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: [Lit Actions](../wallets/conditional-signing.md) contain the application logic that each PKP should follow. This is useful for defining signing automations, handling [authentication](../wallets/auth-methods.md), or generating conditional proofs. +3. Atomicity: Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. 4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. -5. Interoperable: Use [WalletConnect](../pkp/walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. +5. Interoperable: Use a provider like [WalletConnect](../wallets/walletconnect.md) to connect PKPs to your favorite dApps, just like any other EOA wallet. ## Examples and Use Cases PKPs can be used to power a wide array of potential applications and use cases: 1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) with Multi-Factor Authentication -2. [Signing Automation](../lit-actions/working-with-actions/single-execution#event-listening) and [Conditional Transaction Execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) +2. Signing Automation and [Conditional Transaction Execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) 3. [Automated Credential Issuance](https://spark.litprotocol.com/krebitxlitactions/) 4. [Versatile Web3 Wallets](https://github.com/DustilDawn/Magic) 5. [Cross-Chain Messaging and Swaps](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/) diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 12843a11..13e4b5ce 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -6,16 +6,18 @@ You can mint an NFT from our PKP contract on Chronicle - Lit's custom EVM rollup You can also use our handy auth helper contract on Chronicle [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and you can find the contract addresses [here](https://explorer.litprotocol.com/contracts). -## Mint via Social +## Mint via Social or Email/SMS (OTP) + +### Social You can mint a PKP by presenting a valid OAuth token as an authentication method to the Lit Relay server. Currently, only Google OAuth tokens are supported, but we plan to support Discord in the near term. -Read more about this process [here](../pkp/auth-helpers/add-remove-auth-methods). -## Mint via Email / SMS (OTP) +### Email / SMS (OTP) You can mint a PKP by presenting a generated token from sucessful OTP code confirmation, which will be returned by the `lit-auth-client` in the `AuthMethod` return from successful code confirmation. -Read more [here](sdk/explanation/authentication/session-sigs/auth-methods/email-sms.md). + +Read more about this process [here](../wallets/auth-methods.md). ## Mint via WebAuthn @@ -38,4 +40,4 @@ In order to allow for various frontends to integrate with our platform, we plan #### Challenge-Free Registration -We do not currently use [challenges](../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +We do not currently use [challenges](../../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/support/faq.md b/docs/support/faq.md index aae3def9..a13a822c 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -163,7 +163,7 @@ Since the PKP is assigned to itself in the setup stage as described above, we ca ### 4. I want to create multiple different AuthSigs but don't want my users to sign multiple times? -Firstly, if you are using Lit in a browser, the AuthSig is stored in its local storage so you don’t need to sign multiple times as the stored AuthSig will be used subsequently. This design pattern is specifically applicable to when you want to sign different SIWE resources or messages which is generally required in [Custom Contract Calls](https://developer.litprotocol.com/coreConcepts/access-control/evm/custom-contract-calls#using-siwe-params-in-custom-contract-calls). +Firstly, if you are using Lit in a browser, the AuthSig is stored in its local storage so you don’t need to sign multiple times as the stored AuthSig will be used subsequently. This design pattern is specifically applicable to when you want to sign different SIWE resources or messages which is generally required in [Custom Contract Calls](../sdk/access-control/evm/custom-contract-calls.md). For different resources you’ll be required to sign each time since the signed message is different. One way to get around this is to use a PKP to do the signing for you. This is how it works: The user owns a PKP & uses it to sign a message in a LitAction with `Lit.Actions.signEcdsa()`. Then return all the sigShares from the LitAction to the app. Here the user can loop through & craft AuthSigs for each returned sigShare and process the required access control operation like decryption. Another way is to return the crafted AuthSigs from the LitActions directly. diff --git a/learningLab/intro-to-lit/acc.md b/learningLab/intro-to-lit/acc.md index b93f7649..2770cef9 100644 --- a/learningLab/intro-to-lit/acc.md +++ b/learningLab/intro-to-lit/acc.md @@ -4,7 +4,9 @@ sidebar_position: 4 # 3. Access Control ![image](../../static/img/ll_acc.png) -Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](https://developer.litprotocol.com/resources/glossary#encryption) content for private and permissioned storage on the open web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions (ACCs)](https://developer.litprotocol.com/access-control/condition-types/unified-access-control-conditions) are used to define who can decrypt and access the locked data. +[all links on this page are absolute in order to direct to V3 docs]: # + +Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](https://developer.litprotocol.com/v3/sdk/access-control/encryption) content for private and permissioned storage on the open web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions (ACCs)](https://developer.litprotocol.com/v3/sdk/access-control/intro) are used to define who can decrypt and access the locked data. --- @@ -27,7 +29,7 @@ Some example conditions: ## Supported Logic -- Supports many EVM chains and Solana. Full list [here](https://developer.litprotocol.com/support/supported-chains). +- Supports many EVM chains and Solana. Full list [here](https://developer.litprotocol.com/v3/resources/supported-chains). - Supports many standard contracts, with plans to support any RPC call soon. If you need to interact with a contract that we don't support yet, ask us, and we will implement it. - *Boolean conditions*: "And" or "Or" are currently supported. - *Permanent conditions*: When a condition is stored as permanent, it becomes impossible to update it, forever. @@ -38,7 +40,7 @@ Some examples of applications that can (and have) been built harnessing this fun **Web3 Apps with Private Data** -Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](https://developer.litprotocol.com/sdk/intro). +Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](https://developer.litprotocol.com/v3/sdk/installation). Examples: @@ -82,4 +84,4 @@ const accessControlConditions = [ ## Learn More -Read the [Lit developer docs](https://developer.litprotocol.com/access-control/intro#overview) on access control to learn more! +Read the [Lit developer docs](https://developer.litprotocol.com/v3/sdk/access-control/intro) on access control to learn more! diff --git a/learningLab/intro-to-lit/prog-signing.md b/learningLab/intro-to-lit/prog-signing.md index 8f744036..ef6260b4 100644 --- a/learningLab/intro-to-lit/prog-signing.md +++ b/learningLab/intro-to-lit/prog-signing.md @@ -25,8 +25,8 @@ Each Programmable Key Pair (PKP) is a versatile multi-party computation wallet t - Build fully decentralized application backends. **Features** -1. [Blockchain Agnostic](/v2/resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](/v2/lit-actions/intro) contain the application logic that each PKP should follow. This is useful for defining [signing automations](/v2/automated-portfolio-rebalancing-uniswap/), handling [authentication](/v2/pkp/auth-helpers#example-setting-auth-context-with-lit-actions), or generating [conditional proofs](/v2/lit-actions/working-with-actions/conditional-signing). +1. [Blockchain Agnostic](../../docs/resources/supported-chains.md): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../docs/sdk/wallets/intro.md), handling authentication, or generating conditional proofs. 3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. @@ -40,10 +40,10 @@ Lit Actions are stored on the InterPlanetary File System (IPFS). **Features** -1. [Blockchain Agnostic](/v2/resources/supported-chains#programmable-key-pairs): Lit Actions can be used to write data to blockchains using PKPs +1. [Blockchain Agnostic](../../docs/resources/supported-chains.md): Lit Actions can be used to write data to blockchains using PKPs 2. Immutable: Once a Lit Action has been published, it cannot be modified -3. Atomicity: Using [Mint/Grant/Burn](/v2/lit-actions/usingPKPsAndActions#what-is-mintgrantburn), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set -4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](/v2/lit-actions/working-with-actions/using-fetch) natively, without requiring the use of a third party oracle +3. Atomicity: Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set +4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](../../docs/sdk/access-control/condition-types/lit-action-conditions.md) natively, without requiring the use of a third party oracle ## How do Lit Actions and PKPs work together? A user can create a new PKP and grant a Lit Action the right to sign using it. This means the distributed key has the ability to sign and decrypt arbitrary data based on pre-defined logic and conditions. @@ -110,6 +110,6 @@ Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-g --- ## Learn More -Read the Lit developer docs on [Programmable Key Pairs](https://developer.litprotocol.com/pkp/intro) and [Lit Actions](https://developer.litprotocol.com/lit-actions/intro). +Read the Lit developer docs on [programmatic signing](https://developer.litprotocol.com/v3/sdk/wallets/intro). In order to utilize the Lit functions for PKPs and Lit Actions, you'll need the [Lit JS SDK](https://github.com/LIT-Protocol/js-sdk). diff --git a/netlify.toml b/netlify.toml index 2abfeb0e..24a85a2e 100644 --- a/netlify.toml +++ b/netlify.toml @@ -12,7 +12,7 @@ [[redirects]] from = "/docs/LitTools/shareModal" - to = "/docs/tools-and-examples/share-modal" + to = "/v2/SDK/ToolsAndExamples/Tools/shareModal" status = 302 force = true @@ -196,7 +196,7 @@ force = false [[redirects]] from = "/LitActionsAndPKPs/whatAreLitActionsAndPKPs" - to = "/lit-actions/intro" + to = "/v2/litActions/intro" status = 302 force = false @@ -280,13 +280,7 @@ force = false [[redirects]] from = "/AccessControlConditions/booleanLogic" - to = "/access-control/condition-types/boolean-logic" - status = 302 - force = false - -[[redirects]] - from = "/AccessControlConditions/updateableConditions" - to = "/coreConcepts/access-control/condition-types/updateableConditions" + to = "/sdk/access-control/condition-types/boolean-logic" status = 302 force = false @@ -554,7 +548,7 @@ force = false [[redirects]] from = "/coreconcepts/litactionsandpkps/actions/*" - to = "/lit-actions/intro" + to = "/v2/litActions/intro" status = 301 force = false diff --git a/package.json b/package.json index 0d7ec6df..4a65ef8e 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.2.49", + "@lit-protocol/constants": "^2.2.54", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md b/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md index f31f0944..947bbe27 100644 --- a/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md +++ b/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md @@ -4,7 +4,7 @@ sidebar_position: 1 # Generating a Session Key -This [example](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/sessionKeys.js) demonstrates how to generate a signed [session key](../../SDK/Explanation/authentication/sessionSigs) using Lit Actions. +This [example](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/sessionKeys.js) demonstrates how to generate a signed [session key](../../SDK/Explanation/authentication/sessionSigs/intro) using Lit Actions. ``` js // this example will generate and sign a session key and use it for a request diff --git a/versioned_docs/version-2.0/LitActions/bestPractices.md b/versioned_docs/version-2.0/LitActions/bestPractices.md index eae44f2f..b830fcc8 100644 --- a/versioned_docs/version-2.0/LitActions/bestPractices.md +++ b/versioned_docs/version-2.0/LitActions/bestPractices.md @@ -9,13 +9,13 @@ It is NOT recommended to use the Lit JS SDK within a Lit Action due to the poten For some use cases (such as making an API or RPC request), it may be desired to execute a Lit Action on a single node, as opposed to every node in the Lit Network in parallel. -[Single execution](../LitActions/workingWithActions/singleExecution) is now enabled in the SDK by passing the targetNodeRange parameter after your executeJS function (i.e. 'executeJs({ targetNodeRange: 1 })'). You can pass 1-10 to specify the number of nodes the Lit Action should be executed on. Returning signed values in single execution is not yet supported. +[Single execution](../LitActions/workingWithActions/singleExecution.md) is now enabled in the SDK by passing the targetNodeRange parameter after your executeJS function (i.e. 'executeJs({ targetNodeRange: 1 })'). You can pass 1-10 to specify the number of nodes the Lit Action should be executed on. Returning signed values in single execution is not yet supported. ::: ## Ideal Use Cases -- Generating [proofs](../LitActions/intro#proofs) +- Generating [proofs](../LitActions/intro.md) - Looking up permitted actions, addresses and [auth methods](../pkp/authHelpers/overview) associated with a PKP -- Checking access control conditions with [conditional signing](../LitActions/workingWithActions/conditionalSigning) +- Checking access control conditions with [conditional signing](../LitActions/workingWithActions/conditionalSigning.md) ## Think Twice Use Case -- Ideal for Single Node Execution - POST request that inserts a new SQL row (if not called in single execution, the Lit Action will be executed by every node in parallel, you will end up with n number of rows, where n is no less than two-thirds the number of total nodes in the Lit network) diff --git a/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md b/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md index 5ed2de1c..88d10456 100644 --- a/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md +++ b/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md @@ -66,7 +66,7 @@ The symmetricKey is necessary to decrypt content and is meant to be private. Exp `authSig (Object)`: authentication signature, which can be collected from calling await LitJsSdk.checkAndSignAuthMessage({chain}) which will call up your web 3 wallets for you to sign the message -`accessControlConditions (Array)`: we can call up the [Share Modal](https://developer.litprotocol.com/docs/littools/sharemodal/) to obtain it +`accessControlConditions (Array)`: we can call up the [Share Modal](../Tools/shareModal.md) to obtain it **Step C:** diff --git a/versioned_docs/version-2.0/accessControl/EVM/siwe.md b/versioned_docs/version-2.0/accessControl/EVM/siwe.md index 3c055ba9..3ced6125 100644 --- a/versioned_docs/version-2.0/accessControl/EVM/siwe.md +++ b/versioned_docs/version-2.0/accessControl/EVM/siwe.md @@ -48,4 +48,4 @@ const accessControlConditions = [ ## Using SIWE params in Custom Contract Calls -See the [Custom Contract Calls](../../accessControl/EVM/customContractCalls#using-siwe-params-in-custom-contract-calls) page for more information on how to use SIWE params in custom contract calls. +See the [Custom Contract Calls](../EVM/customContractCalls.md) page for more information on how to use SIWE params in custom contract calls. diff --git a/versioned_docs/version-2.0/intro/overview.mdx b/versioned_docs/version-2.0/intro/overview.mdx index 25fa15ba..9cc88aae 100644 --- a/versioned_docs/version-2.0/intro/overview.mdx +++ b/versioned_docs/version-2.0/intro/overview.mdx @@ -17,7 +17,7 @@ Get started today! **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit, check out the Lit SDK [intro](../SDK/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit, check out the Lit SDK [intro](../v2/sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: diff --git a/versioned_docs/version-2.0/intro/usecases.md b/versioned_docs/version-2.0/intro/usecases.md index c2af1920..39f0bf75 100644 --- a/versioned_docs/version-2.0/intro/usecases.md +++ b/versioned_docs/version-2.0/intro/usecases.md @@ -12,7 +12,7 @@ Some examples of applications that can (and have) been built harnessing this fun ### Web3 Apps with Private Data -Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/intro). +Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/intro.mdx). Examples: diff --git a/versioned_docs/version-2.0/intro/whatIsLitProtocol.md b/versioned_docs/version-2.0/intro/whatIsLitProtocol.md index 01fc014b..c74512bb 100644 --- a/versioned_docs/version-2.0/intro/whatIsLitProtocol.md +++ b/versioned_docs/version-2.0/intro/whatIsLitProtocol.md @@ -5,7 +5,7 @@ sidebar_position: 2 # What is Lit Protocol -Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit providers developers with a comprehensive toolkit for managing sovereign identities on the open Web. +Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit provides developers with a comprehensive toolkit for managing sovereign identities on the open Web. ## Core Functionality diff --git a/versioned_docs/version-2.0/pkp/authHelpers/overview.md b/versioned_docs/version-2.0/pkp/authHelpers/overview.md index 30120895..e8183630 100644 --- a/versioned_docs/version-2.0/pkp/authHelpers/overview.md +++ b/versioned_docs/version-2.0/pkp/authHelpers/overview.md @@ -56,7 +56,7 @@ If you decide to use your own auth, you can still use the PKPPermissions contrac Authorization refers to an [auth signature](../../SDK/Explanation/authentication/authSig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. -In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](../../SDK/Explanation/authentication/sessionSigs#obtaining-the-sessionsig-when-user-doesnt-have-a-wallet). The flow is as follows: +In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. The flow is as follows: 1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. 2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. diff --git a/versioned_docs/version-2.0/pkp/walletconnect.md b/versioned_docs/version-2.0/pkp/walletconnect.md index ca1756eb..24b13644 100644 --- a/versioned_docs/version-2.0/pkp/walletconnect.md +++ b/versioned_docs/version-2.0/pkp/walletconnect.md @@ -23,7 +23,7 @@ const pkpClient = new PKPClient({ await pkpClient.connect(); ``` -The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../SDK/Explanation/authentication/overview.md). +The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../SDK/Explanation/authentication/overview). To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). diff --git a/versioned_docs/version-2.0/resources/howItWorks.md b/versioned_docs/version-2.0/resources/howItWorks.md index 6db795c4..d475d649 100644 --- a/versioned_docs/version-2.0/resources/howItWorks.md +++ b/versioned_docs/version-2.0/resources/howItWorks.md @@ -8,7 +8,7 @@ sidebar_position: 1 **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit based on your use case, check out the Lit SDK [here](../SDK/intro.mdx). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit based on your use case, check out the Lit SDK [here](../SDK/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md b/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md index f6e520e3..646ef2c5 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md @@ -26,7 +26,7 @@ In the `AuthSig` data structure: - `signedMessage` is the original message that was signed - `address` is the public key address that was used to create the signature -You can refer to the `AuthSig` type definition in the [Lit JS SDK V2](https://js-sdk.litprotocol.com/interfaces/auth_browser_src.authsig.html). +You can refer to the `AuthSig` type definition in the [Lit JS SDK V2](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html). ## Obtaining an `AuthSig` in the browser diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md index 0e177499..7dba44a8 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/intro.md @@ -20,7 +20,7 @@ The session keypair is used to sign all requests to the Lit Nodes, and the user' Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. -Read more [here](../../../../SDK/Explanation/authentication/sessionSigs/) on the session capability objects that we use. +Read more [here](../../../../SDK/Explanation/authentication/sessionSigs/intro) on the session capability objects that we use. ## Format of `SessionSigs` diff --git a/versioned_docs/version-2.0/support/faq.md b/versioned_docs/version-2.0/support/faq.md index a84a0a59..d95b89ac 100644 --- a/versioned_docs/version-2.0/support/faq.md +++ b/versioned_docs/version-2.0/support/faq.md @@ -50,7 +50,7 @@ Authorization is through auth signatures - an auth sig is always required when m ### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? -You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../accessControl/EVM/basicExamples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. +You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../accessControl/EVM/basicExamples.md). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. We are currently working on implementing a more direct solution for using Lit Actions and ACCs together, allowing users to define ACCs that provision access based on the result of any Lit Action. This will enable the generation of more complex ACCs and the use of off-chain data in your conditions. @@ -190,11 +190,11 @@ The Lit network doesn’t store these encrypted contents for you. You can store ### 13. How to construct an accessControlCondition to authorize only a specific wallet address? -Check out the solution our [docs](https://developer.litprotocol.com/coreConcepts/accessControl/EVM/basicExamples#a-specific-wallet-address). +Check out the solution our [docs](../accessControl/EVM/basicExamples.md). ### 14. How to use a time-lock based accessControlCondition? -Check out the solution our [docs](https://developer.litprotocol.com/coreConcepts/accessControl/EVM/timelock). +Check out the solution our [docs](../accessControl/EVM/timelock.md).
diff --git a/yarn.lock b/yarn.lock index b47f01ac..d51e979a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2023,33 +2023,33 @@ resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.49": - version "2.2.49" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.49.tgz#b977fb2d6e3010d48ef29c4ca13b9a5762d453c3" - integrity sha512-DCJg6aUE45ntmTxzwPVglZUaAabks3WHHFrlJ4ltr+dlr0eE5fZYMaKEgd3wHV1X3T9/vBH4omRbMdynmqskCQ== +"@lit-protocol/auth-helpers@2.2.54": + version "2.2.54" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.54.tgz#107580f6c9cacad3ee2e2c1d57e436f5b36e5ea3" + integrity sha512-moaPHLNUsyZbKD63ylb9dmBAIEvJP7VY7pufZJkavx+quakjA6pgy8+6PcPqi+JuAo6vOqwIYNt4G66rrKYfEA== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.49": - version "2.2.49" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.49.tgz#ac8c1c9447f6b297398d7c083e86a8e2d02e708c" - integrity sha512-z8112swUe/L3D2BWtHMw63y7S2blsovFMao8I4YFfu4+l9aZgvohERhovC74FXs9ygbv6PBl/qONRkKY4ztauQ== +"@lit-protocol/constants@^2.2.54": + version "2.2.54" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.54.tgz#28b2fbdc92d2be32ce24879411595a192c586605" + integrity sha512-Z7gE7OO+e0Lu88HVh+z74E6VAq3+K5g7ZYcOeucVmgkTPcJUd/tB40LvCS9ldJq69goI0zqjAGxPiJi7WUr9aQ== dependencies: - "@lit-protocol/auth-helpers" "2.2.49" - "@lit-protocol/types" "2.2.49" + "@lit-protocol/auth-helpers" "2.2.54" + "@lit-protocol/types" "2.2.54" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.49": - version "2.2.49" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.49.tgz#b77eb46df3ddce2c9877a15450bd073d726c7117" - integrity sha512-tVbX7H+ig2RqVo1v0TyidCh2Crdb+NWZ1umMBTLGWqiUxxErFuuHX63jzu42jnzqICpnK5f4QOqoMQ7b6TAJBg== +"@lit-protocol/types@2.2.54": + version "2.2.54" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.54.tgz#d340694b89bc4ec08ab9d1427a38cd51e498f07b" + integrity sha512-bhIG4733BT32QXGZO7K7r+7ZDOxzLHjcYwP0tMqjLP86BJ2mQkTzW5q0nFgUBbPay/77lp/Tp8yXPfzgYMaYPQ== dependencies: - "@lit-protocol/auth-helpers" "2.2.49" + "@lit-protocol/auth-helpers" "2.2.54" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" From e3e1a2e1670bacc42f74e3bc9b023efdbe492a1f Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 13 Sep 2023 12:44:02 -0700 Subject: [PATCH 019/627] Core concepts additions (#123) * concepts sections adding new concepts section to V3 --------- Co-authored-by: deb --- Ecosystem/projects.md | 25 ++++--- docs/concepts/access-control-concept.md | 51 ++++++++++++++ docs/concepts/pkps-as-wallet.md | 66 ++++++------------- docs/concepts/programmable-signing-concept.md | 45 +++++++++++++ docs/intro/usecases.md | 48 ++++++-------- docs/resources/how-it-works.md | 2 - sidebars.js | 2 +- 7 files changed, 155 insertions(+), 84 deletions(-) create mode 100644 docs/concepts/access-control-concept.md create mode 100644 docs/concepts/programmable-signing-concept.md diff --git a/Ecosystem/projects.md b/Ecosystem/projects.md index 92805340..4d5b0cda 100644 --- a/Ecosystem/projects.md +++ b/Ecosystem/projects.md @@ -6,6 +6,7 @@ ### Social +- **[Collab.Land](https://www.collab.land/)**: Web3 native community management and seamless user onboarding. - **[Relation](https://spark.litprotocol.com/semantic/)**: Web3 native social graph. - **[Orbis Club](https://orbis.club/)**: A fully decentralized social layer for Web3. - **[Gather](https://www.gather.town/)**: Virtual spaces for remote collaboration. @@ -19,7 +20,7 @@ - **[Iris](https://github.com/irisxyz/iris)**: A decentralized social media and subscription platform built on Lens. - **[DecentraScholar](https://github.com/TanusreeSharma/LFGrow-hack)**: A platform that incentivizes collaboration among academic researchers. - **[MxTape](https://ethglobal.com/showcase/mxtape-1tr3a)**: Decentralized music player. -- **[Pearl](https://github.com/Pearl-Market/marketplace)**: Discover and share typefaces and designs on-chain. +- **[Peal](https://github.com/Pearl-Market/marketplace)**: Discover and share typefaces and designs on-chain. - **[DFSP](https://github.com/shazi57/dfsp-js)**: Decentralized, private live-streaming platform for creators. - **[Decensus](https://github.com/decensus-crypto/app)**: Web3-based survey platform. - **[creativegene](https://github.com/ddresch/creativegene)**: Decentralized social platform for buying and selling digital goods. @@ -27,15 +28,20 @@ ### Infrastructure +- **[DataverseOS](https://dataverse-os.com/)**: DataverseOS is the next-generation personal computer owned by your wallet. It is an Internet Data Operating System that manages online data for users and eases development of sovereign data dApps. - **[BAILOUT](https://ethglobal.com/showcase/bailout-ia6s1?ref=spark.litprotocol.com)**: Securely move assets between EOAs, smart contract wallets, and cold wallets. +- **[DIMO](https://dimo.zone/)**: Building IoT software solutions for cars. - **[Strata Protocol](https://github.com/StrataFoundation/strata)**: An open-source protocol to launch tokens around a person, project, idea, or collective on Solana. - **[Key-Recovery](https://github.com/Joseph-Gross/key-recovery)**: Distributed social private key recovery made by the team at [Sling Protocol](https://twitter.com/slingprotocol). - **[Neya](https://github.com/stefsimion/Site-Neya-2)**: Web3-native 2FA protocol. - **[EtherMonitor](https://github.com/seetadev/EtherMonitor)**: Tools for traffic incident management. - **[ourpass](https://ethglobal.com/showcase/ourpass-91ucq)**: NFT event pass generator. +- **[Burnt](https://xion.burnt.com/)**: Burnt is working on XION, a solution that empowers developers and brands to create frictionless Web3 experiences, with a toolkit that removes technical barriers for any user, anywhere. +- **[Gitcoin](https://docs.publicgoods.network/)**: Building the Public Goods Network, a new L2 specifically designed to support public goods. It has the same fast, cost-efficient, and scalable features that come with an L2, but with the added benefit of collecting funding for your favorite public goods projects. ### Data and Identity Marketplaces +- **[Index Network](https://index.network/)**: Create and monetize personalized content discovery engines. - **[WeaveDB](https://docs.weavedb.dev/examples/lit-protocol)**: Decentralized Web3 database. - **[Streamr](https://blog.streamr.network/streamr-integrates-lit-protocol/)**: Distributed real-time data network. - **[KaratDAO](https://docs.karatdao.com/why-karat-network)**: A decentralized data network connecting Web2 to Web3. @@ -48,9 +54,11 @@ ### Privacy and Encryption - **[dKeeper](https://ethglobal.com/showcase/dkeeper-3ma7r?ref=spark.litprotocol.com)**: Access control management for dApps. +- **[Livepeer](https://docs.livepeer.org/tutorials/developing/token-gate-videos-using-lit.en-US)**: Livepeer is a high-performance video infrastructure protocol for live and on-demand streaming. +- **[Incognfto](https://blog.spheron.network/incognfto-a-private-nft-gallery)**: Create a private NFT gallery with Spheron and Lit. - **[Selfguard](https://github.com/selfguard/selfguard?ref=spark.litprotocol.com)**: Universal API for encryption. - **[Starling Lab](https://github.com/starlinglab/archive-explorer/)**: Token-gated data archives. -- **[Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main)**: Tooling for private on-chain voting. +- **[Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main)**: Privacy-preserving infrastructure tooling. - **[Hashchat](https://github.com/hashchat-xyz/hashchat-lfgrow)**: Wallet-to-wallet encrypted messaging. - **[LitChat](https://github.com/cryptoKevinL/LitChat)**: Wallet-to-wallet encrypted messaging using Lit and Ceramic. - **[XMTP Chat App](https://github.com/GeorgeFane/lit-xmtp)** with token gating enabled by Lit Protocol. @@ -59,12 +67,18 @@ - **[Cask](https://blog.cask.fi/cask-protocol-integrates-with-lit-protocol-to-attach-private-data-to-nfts-token-gate-content-496b2c5bb995)**: Automated, recurring payments. - **[AlgoveraAI](https://github.com/AlgoveraAI/streamlit-metamask?ref=spark.litprotocol.com)**: Token-gated Streamlit applications. -### Wallets +### Wallets and Account Abstraction (AA) - **[Peaze](https://www.peaze.com/)**: Seamless onboarding for Web3. +- **[Pimlico](https://docs.pimlico.io/how-to/integrations/lit-protocol)**: An infrastructure platform building the next generation of smart wallets. - **[MagicWallet](https://github.com/DustilDawn/Magic)**: One account, multiple seedless wallets. - **[litu safu](https://ethglobal.com/showcase/litu-safu-m9tja)**: Use a PKP as a signer on a Safe. - **[Stackup](https://spark.litprotocol.com/account-abstraction-with-stackup-lit/)**: Adding an MPC key as a signer on an AA wallet. +- **[ZeroDev](https://zerodev.app/)**: Smart wallets as a service. +- **[SafeMail](https://ethglobal.com/showcase/safemail-n8b96)**: A one-click onboarding experience for Web3. +- **[Patch Wallet](https://app.patchwallet.com/)**: Use your social account as your personal crypto wallet to manage your assets without the complexity. +- **[Obvious](https://www.obvious.technology/)**: Flexible smart contract wallets. +- **[Snowball](https://twitter.com/snowballtools/status/1693791419264090465)**: Shaping the future of mobile crypto. ### DeFi @@ -88,8 +102,3 @@ - **[Shopify](https://apps.shopify.com/lit-token-access)**: Blockchain-based access control for your online store. - **[Heirloom DAO](https://www.heirloomdao.com/)**: Subscriptions as NFTs. - **[Club Goods](https://www.clubgoods.xyz/)**: An e-commerce experiment at the intersection of storytelling, community tokens and physical goods. - - - -View more [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md#projects-and-integrations). - diff --git a/docs/concepts/access-control-concept.md b/docs/concepts/access-control-concept.md new file mode 100644 index 00000000..e07046b8 --- /dev/null +++ b/docs/concepts/access-control-concept.md @@ -0,0 +1,51 @@ +--- +sidebar_position: 1 +--- + +# Decentralized Access Control + +## Overview + +Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../sdk/access-control/encryption#technical-walkthrough) content for private and permissioned storage on the open Web. Lit provides utilities (via the Lit SDK) for encrypting and decrypting content client-side, while [access control conditions (ACCs)](../sdk/access-control/evm/basic-examples) are used to define who (or under what conditions) the data can be decrypted. + +Both on and [off-chain data](../sdk/access-control/condition-types/lit-action-conditions) can be used to define these access control conditions, with examples including locking content behind: + +- [Membership within a particular DAO](../sdk/access-control/evm/basic-examples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) +- Ownership of a particular [ERC-721](../sdk/access-control/evm/basic-examples#must-posess-a-specific-erc721-token-nft) or [ERC-20](../sdk/access-control/evm/basic-examples#must-posess-at-least-one-erc20-token) token +- The result of [any smart contract call](../sdk/access-control/evm/custom-contract-calls) +- The result of [any API call](../sdk/access-control/condition-types/lit-action-conditions), such as a follow on Twitter + +To get started building with these tools right away, check out the [SDK install guide](../sdk/installation). Otherwise, keep reading to get a better understanding of why encryption is so important, how it works at a high level, and potential ways Lit’s tooling can be implemented in the real world! + +## Introduction to Encryption + +Encryption is one of the two core ‘applications’ of [public key cryptography](https://www-ee.stanford.edu/~hellman/publications/24.pdf) (the other being digital signatures). A fundamental building block of modern security infrastructure on the Internet, public key cryptography plays a pivotal role in enabling secure communication, preserving data integrity, and facilitating trust in our digital interactions online. Where digital signatures can be used to authenticate the integrity of a particular message or input, encryption can be used to facilitate secure and privacy-preserving communication between multiple parties. + +Fundamentally, encryption is the process of transforming some plaintext data into ciphertext using a specialized algorithm. This renders the content unreadable and indistinguishable from random text to anyone without the proper decryption key. + +Encryption involves the following steps: + +1. The sender obtains the recipient's public key. +2. The sender encrypts the message using the recipient's public key. +3. The recipient receives the encrypted message and decrypts it using their private key. + +## Exploring Decentralized Access Control with Lit + +Lit’s threshold encryption network can be used to introduce ***private and permissioned*** data to a host of application categories, specifically by offering a solution to the “public-by-default” nature of blockchains and public storage networks. The Lit software can be applied generally, agnostic to the storage provider and desired use case. Lit provides the capacity for assigning arbitrary logic (“access control conditions”) for condition-based access control and encryption. Some possible use cases for this functionality include: + +1. **Encrypted wallet-based messaging**: Secure wallet-to-wallet communication without relying on a centralized key custodian. +2. **User-owned social and identity graphs (“self-sovereign data”)**: Empower users with full control over how their personal data is managed on the Web, shifting power away from centralized corporations to individuals. +3. **Credential-gated spaces**: Use token and credential ownership as “keys” to accessing exclusive spaces, content, and experiences, introducing additional utility for digital assets. +4. **Mempool encryption**: This technique can be used to conceal transaction data from Searchers and Block Builders and mitigate the negative externalities of MEV. +5. **Private NFTs**: Release NFTs with private embedded content that can only be accessed by the NFT owner themselves. +6. **Open data marketplaces**: Open data marketplaces facilitate the exchange of data between individuals and organizations, allowing users to buy, sell, or share information in a secure and transparent manner. These systems promote data-driven innovation by making diverse datasets accessible to researchers, developers, and businesses, while also providing data creators with the opportunity to monetize their own content. +7. **Backup and recovery for private key material**: Use Lit to configure robust backup and recovery solutions for private key material (such as multi-factor authentication or social recovery methods), helping users avoid the catastrophic loss of access to their assets due to lost or compromised keys. + +## Getting Started and Further Reading + +Some links to further reading and resources to help you get started building on the Lit network today: + +- Getting started with the [Lit SDK](../sdk/installation) +- [Access Control with Lit](../sdk/access-control/encryption) +- The [Lit Learning Lab](/learningLab/intro-to-lit/acc) +- Projects building [privacy and encryption tooling](https://github.com/LIT-Protocol/awesome/tree/main#privacy-and-encryption) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index b11be2b2..97680785 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -2,67 +2,41 @@ sidebar_position: 3 --- -# MPC Wallet Solution +# MPC Wallets :::note **STATE OF THE NETWORK** -PKPs are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. +Lit MPC wallets are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. ::: -:::note -**SDK DOCUMENTATION** - -For the most up to date SDK documentation, check out the [Lit JS SDK Latest API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. - -Need some `LIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! - -::: - -## Multi-Party Computation (MPC) as a Key Management Solution +## Overview -Applied generally, multi-party computation (MPC) allows multiple parties to collectively compute a function over a set of private inputs without ever revealing the inputs themselves. In the context of key management, MPC can be used to generate distributed shares of a public/private key pair (which can be utilized for encryption and signing), without ever exposing the private key in its entirety. This means no one party ever has full control over the underlying key pair, eliminating single points of failure that exist in "centralized" key management ecosystems. An in-depth look at the current state of the MPC wallet space is explored in [this article](https://medium.com/1kxnetwork/wallets-91c7c3457578) published by 1kx. +Applied generally, [multi-party computation (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) allows multiple parties to collectively compute a function over a set of private inputs without ever revealing the inputs themselves. In the context of key management, MPC can be used to generate distributed shares of a public/private key pair (which can be utilized for encryption and signing), without ever exposing the private key in its entirety. This means no one party ever has full control over the underlying key pair, eliminating single points of failure that exist in "centralized" key management ecosystems. An in-depth look at the current state of the MPC wallet space is explored in [this article](https://medium.com/1kxnetwork/wallets-91c7c3457578) published by 1kx. -## Programmable Key Pairs as Distributed Custody Wallets +## MPC Wallets with Lit -Lit’s Programmable Key Pairs (PKPs) product can be utilized by app developers to build a white-label MPC wallet solution that delivers a more flexible and seamless onboarding experience to their end users. +Lit can be used by web3 developers to easily deploy white-labeled MPC wallets. These non-custodial wallets can be used to deliver a more flexible and seamless onboarding experience to users of the decentralized web. -Each PKP is an ECDSA key pair generated collectively by the Lit nodes through a process called [Distributed Key Generation](../resources/how-it-works#threshold-cryptography) (DKG). Operating as a decentralized network, this allows Lit to generate a new key pair where the private key never exists in its entirety. Instead, each node only holds a share of the key. These signature shares must be combined above the threshold (two-thirds of the nodes) to produce the complete signature signed by the PKP. This signature can then be used for instances such as posting a transaction to a blockchain network. Each PKP is represented by an ERC-721 token minted on Chronicle, [you can mint one through the explorer](https://explorer.litprotocol.com/pkps). +Each key generated by the Lit Network is distributed as shares among each participating node. This means that keys created by Lit never exist in their entirety and no one party can deny service. In order to use these keys (such as when signing a transaction), more than a threshold of key shares must be collected and aggregated. -The two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs (e.g. Fireblocks) do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. +This two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. -In Lit’s model, the entire key lives in the network, and *any* arbitrary rules for [authentication](../sdk/wallets/auth-methods) can be assigned to that key pair through the use of Lit Actions. Authentication refers to the *****method***** that “owns” or controls the underlying key, denoting who has the power to combine the shares. This means that the provider or end user have full control over designing how these interactions should be managed. For example, allowing a user to create a wallet with nothing but their Gmail account, or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, as well as enabling flexible social recovery. Today, PKPs support the following auth methods: +With Lit, the *entire key lives in the network* and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. Authentication refers to the credential(s) that get assigned to these keys and have the power to control them (credentials are assigned and verified by the Lit nodes). This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/authentication/session-sigs/auth-methods/overview) are supported by Lit: -- WebAuthn from [FIDO Alliance](https://fidoalliance.org/fido2-2/fido2-web-authentication-webauthn/) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) -- Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) -- oAuth (Google, Discord) +- [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/authentication/session-sigs/auth-methods/web-authn) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) +- Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) +- [Social login](../sdk/authentication/session-sigs/auth-methods/social-login) (Google, Discord) +- [Email and SMS](../sdk/authentication/session-sigs/auth-methods/email-sms) - Self-custody key (such as a Ledger hardware wallet) -The current methods are a work in progress: - -- Email -- SMS - -You can read more about how authentication works with PKPs in [this section](../sdk/wallets/auth-methods.md) of the docs. - -The end goal of this system is to facilitate a simple onboarding experience that helps bridge the next billion users into Web3. - -![authOverview](/img/authOverview.png) - -## Supported Chains - -Today, PKP wallets are inherently compatible with any blockchain or cryptographic system that utilizes [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This includes Ethereum and most EVM chains, Bitcoin, Cosmos-based chains, and storage networks like IPFS. This means that PKPs can be used to read and write data across these networks, bringing interoperability to previously disconnected ecosystems. You can view the complete list of supported chains [here](../resources/supported-chains#programmable-key-pairs.md). - -## Examples - -### Using oAuth for "Seed-Phraseless" Onboarding - -The ability to authenticate a Web3 account through oAuth will revolutionize the way we interact with blockchain applications and services, making it easier than ever for users to access the decentralized Web. - -The following [codebase](https://github.com/LIT-Protocol/oauth-pkp-signup-example) walks through an example of using oAuth to generate a Lit-powered MPC wallet, all without a single seed phrase in sight. This flow is supported by the Lit Relay Server, which takes care of the PKP minting request and the linking of the distributed key pair to the Google account, all in a gasless manner for the end user. This relay server is currently set to private by default, but if you would like to use it in your own application, [fill out this form](https://forms.gle/osJfmRR2PuZ46Xf98). +What’s the end goal? Providing a seamless onboarding experience for the next one billion users in web3! -The complete walkthrough of this example project can be found on our [blog](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). +## Getting Started and Further Reading -### Lit x WalletConnect: Connecting your PKP to the dWeb +Some links to further reading and resources to help you get started building with MPC wallets on the Lit network today: -Native support for WalletConnect has been added to PKPs. This means that you can easily connect your PKP cloud wallet to any one of the hundreds of decentralized applications that have enabled support for WalletConnect. You can read the full guide and explore additional examples on our [blog](https://spark.litprotocol.com/connecting-lit-pkps-with-dapps/). +- Getting started with the [Lit SDK](../sdk/installation) +- Working with [Programmable Wallets](../sdk/wallets/intro) +- [Minting a Lit key](../sdk/wallets/minting) +- Overview of supported [authentication methods](../sdk/authentication/session-sigs/auth-methods/overview) diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md new file mode 100644 index 00000000..8610669c --- /dev/null +++ b/docs/concepts/programmable-signing-concept.md @@ -0,0 +1,45 @@ +--- +sidebar_position: 2 +--- + +# Programmable Signing + +## Overview + +Lit’s distributed key management network can be used to produce programmable signatures and transaction automations. Functionally, this feature gives developers the capacity to build distributed serverless functions and applications that have the ability to sign data with their own private key. The signing keys generated by Lit are: + +1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): Lit keys can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: Lit keys can be programmed to sign based on pre-defined conditions, referred to as [conditional signatures](../sdk/wallets/conditional-signing) in the docs. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods), or generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. +3. Fault-tolerant: Each key is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key pair where no one node ever holds the key in its entirety. + +To get started building with these tools right away, check out the Lit [SDK install guide](../sdk/installation). Otherwise, keep reading to get a better understanding of how digital signatures work, why the technology is important, and potential ways this tooling can be implemented in the real world! + +## Introduction to Digital Signatures + +Based upon [public key infrastructure](https://en.wikipedia.org/wiki/Public_key_infrastructure) (PKI), digital signatures provide a tamper-resistant means of verifying the authenticity and integrity of data on the Web. Data “signed” by an individual private key can be mathematically verified against the associated public key. It is this nature of mathematical verifiability that makes digital signatures so powerful. You can trust, with high confidence, that a particular signature is in fact authentic and hasn’t been forged or tampered with. + +Digital signatures involve the following steps: + +1. The sender creates a digital signature by hashing a message and encrypting the hash using their private key. +2. The recipient receives the message and signature. +3. The recipient verifies the signature by decrypting the hash using the sender's public key and comparing it to the hash of the original message. If the hashes are equivalent, the signature is authentic. + +## Programmable Signatures with Lit + +The Lit network can be harnessed to program programmatic digital signatures. Some potential use cases for this functionality include: + +1. **Event listening and condition-based transaction execution**: Automate your interactions with blockchain ecosystems using condition-based execution, enabling use cases such as on-chain limit orders or recurring payments that don’t require manual input (i.e. signing off on the transaction) from the end user. +2. **Native cross-chain messaging and swaps**: Seamlessly transfer assets and data across blockchain networks without relying on a trusted intermediary or centralized asset bridge. +3. **Automated verifiable credential issuance**: Verifiable credentials are digital certifications attesting to particular user attributes or qualifications. Using condition-based signing, automate the issuance of these credentials and eliminate the possibility of fraud or human error. +4. **Enterprise “signed data” applications**: There are numerous use cases for cryptographically-verifiable “signed data” in institutional and enterprise environments, such as using digital signatures to authenticate and track goods in physical supply chains. +5. **Generating signed proofs over arbitrary Web data**: Using digital signatures to verify the provenance and integrity of data sourced from various locations on the open Web. +6. **Trustless vault applications**: Each PKP is represented by an ERC-721 token on the blockchain (explored in more detail in subsequent sections). This means that any assets sent to the PKP can be traded or sold in a single transaction by selling the NFT that controls the underlying key pair. This facilitates potential trustless “vault” applications where an array of assets may be managed together according to the rules associated with the PKP itself. +7. **Authentication for AI generated content**: A registry of identities and associated keys (which do the signing) in order to verify who made a given claim is neither ideal for privacy nor in line with the way that people use the Web. Threshold signing offers a unique solution to the data integrity problem, distributing trust among a set of parties to act as a “signer of last resort”. + +## Getting Started and Further Reading + +Some links to further reading and resources to help you get started building on the Lit network today: + +- Getting started with the [Lit SDK](../sdk/installation) +- The [Lit Learning Lab](/learningLab/intro-to-lit/prog-signing) +- [Projects building with Lit](https://github.com/LIT-Protocol/awesome/tree/main#projects-and-integrations) diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index ad68a2f9..ac6672eb 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -5,48 +5,42 @@ sidebar_position: 4 # Use Cases -## Access Control +When run by a distributed set of node operators, the Lit Protocol software provides generalizable, fault-tolerant key management for encryption, signing, and programmable wallets. Users of Lit can leverage advanced features that serve to enhance the security and functionality of web3 applications, namely: -Introduce private and permissioned data to the open web using decentralized encryption. Use Lit to provision decryption "keys" to users based on on-chain conditions, such as ownership over a specific NFT or membership within a DAO. +### Decentralized Access Control -Some examples of applications that can (and have) been built harnessing this functionality: +Lit’s threshold encryption network can be used to introduce private and permissioned data to a host of application categories, specifically by offering a solution to the “public-by-default” nature of blockchains and public storage networks. The Lit software can be applied generally, agnostic to the storage provider and desired use case. Lit provides the capacity for assigning arbitrary logic ([access control conditions](../sdk/access-control/evm/basic-examples)) for condition-based access control and encryption. Some possible use cases for this functionality include: -### Web3 Apps with Private Data +1. Encrypted wallet-based messaging: Secure wallet-to-wallet communication without relying on a centralized key custodian. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#privacy-and-encryption). -Introduce privacy to decentralized applications. Use Lit to securely store private and permissioned data on the open web. To get started with an integration, use our JavaScript [SDK](../sdk/installation.md). +2. User-owned social and identity graphs (“self-sovereign data”): Empower users with full control over how their personal data is managed on the Web, shifting power away from centralized corporations to individuals. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#social). -Examples: +3. Credential-gated spaces: Use token and credential ownership as “keys” to accessing exclusive spaces, content, and experiences, introducing additional utility to digital assets. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#metaverse). -- [Orbis Club](https://orbis.club/): Enabling “friends-only” content and encrypted messaging. -- [Lens](https://docs.lens.xyz/docs/gated): Permissioned data for web3 social. -- [Starling Lab](https://github.com/starlinglab/archive-explorer/): Token-gated data archives. -- [Streamr](https://blog.streamr.network/streamr-integrates-lit-protocol/): Private data marketplaces. -- [Gather](https://www.gather.town/): Powering private virtual spaces for your team. -- [IPFS](https://litgateway.com/files): Encrypt content for private storage on IPFS. -- [WalletChat.fun](https://lit.walletchat.fun/): Encrypted wallet-to-wallet messaging. -- [Nowhere](https://www.urnowhere.com/): Token-gated metaverse spaces. +4. Mempool encryption: This technique can be used to conceal transaction data from Searchers and Block Builders and mitigate the negative externalities of MEV. -### Add Token Gating to Web2 Apps +5. Private NFTs: Release NFTs with private embedded content that can only be accessed by the NFT owner themselves. -Use on-chain credentials to gate access to your favorite web2 applications and data. +6. Open data marketplaces: Open data marketplaces facilitate the exchange of data between individuals and organizations, allowing users to buy, sell, or share information in a secure and transparent manner. These systems promote data-driven innovation by making diverse datasets accessible to researchers, developers, and businesses, while also providing data creators with the opportunity to monetize their own content. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#data-and-identity-marketplaces). -- [Shopify](https://apps.shopify.com/lit-token-access): Blockchain-based access control for your online store. -- [Zoom](https://litgateway.com/apps/zoom): Token-gated Zoom calls. -- [Google Drive](https://litgateway.com/apps/google-drive): Add access control requirements to your Google Drive files. -- [WordPress](https://litgateway.com/apps/wordpress): Gate access to WordPress sites and pages. +### Programmable Signing and Wallets -### Unlockable NFTs +Interrelated but distinct from Lit’s decentralized access control product is the ability to create programmable [MPC wallets](../concepts/pkps-as-wallet.md) and complex signing automations. Some potential use cases include: -Using HTML NFTs, you can create locked content that only owners of the NFT have access to. This includes dynamic content, like websites or metaverse spaces. +1. Event listening and condition-based transaction execution: Automate your interactions with blockchain ecosystems using condition-based execution, enabling use cases such as on-chain limit orders or recurring payments that don’t require manual input (i.e. signing off on the transaction) from the end user. [Example](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). -Here’s an [example](https://twitter.com/LitProtocol/status/1504630741849853954) using our Lit Genesis Canvas NFT. Only holders can access the private canvas site linked within! +2. Native cross-chain messaging and swaps: Seamlessly transfer assets and data across blockchain networks without relying on a trusted intermediary or centralized asset bridge. [Example](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/). +3. Seed-phraseless wallet onboarding using web2 authentication and sign-on flows (such as SMS, Discord oAuth, Passkey): Create easier onboarding experiences for non-crypto native users using familiar sign-on methods and abstract away seed phrases and complex private key management, while also providing the full web3 capabilities of an EOA. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#wallets-and-account-abstraction-aa). -## Programmatic Signing: Lit Actions and PKPs +4. Automated verifiable credential issuance: Verifiable credentials are digital certifications attesting to particular user attributes or qualifications. Using condition-based signing, automate the issuance of these credentials and eliminate the possibility of fraud or human error. [Example](https://spark.litprotocol.com/krebitxlitactions/). -Introduce automation and interoperability to the dWeb with Lit Actions and PKPs. +5. Enterprise signed data applications: There are numerous use cases for cryptographically-verifiable “signed data” in institutional and enterprise environments, such as using digital signatures to authenticate and track goods in physical supply chains. +Generating signed proofs over arbitrary Web data: Using digital signatures to verify the provenance and integrity of data sourced from various locations on the open web. [Example](https://spark.litprotocol.com/authenticity-matters/). -Below you will find some example projects and other potential ideas and use cases. You can check out even more examples [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md#guides-and-examples). +6. Trustless vault applications: Each key generated by Lit is represented by an ERC-721 token on the blockchain. This means that any assets sent to the Lit key can be traded or sold in a single transaction by selling the NFT that controls the underlying key pair. This facilitates potential trustless “vault” applications where an array of assets may be managed together according to the rules associated with the PKP itself. + +7. Backup, recovery, and progressive self custody for account abstraction (AA): Use Lit to configure robust backup and recovery solutions for AA wallets (such as multi-factor authentication or social recovery methods), helping users avoid the loss of access to their assets due to lost or compromised keys. [Get started](https://spark.litprotocol.com/mass-adoption-of-digital-ownership-and-progressive-self-custody/). ### DeFi Automation @@ -108,4 +102,4 @@ Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-ga You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). -Have an idea for a project? [Get in touch](https://nut.sh/ell/forms/352580/YEk9vu)! \ No newline at end of file +Have an idea for a project? [Get in touch](https://nut.sh/ell/forms/352580/YEk9vu)! diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index c7f5b9af..041c42cf 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -22,8 +22,6 @@ Both MPC and TSS originate from the concepts of public key cryptography and exte In the Lit Network, the nodes perform a [distributed key generation](../resources/glossary#distributed-key-generation) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a key share which they can use to sign and decrypt data. The nodes perform each operation (signing or decryption) in parallel and the individual results are aggregated to form the complete signature or decryption key, without exposing the underlying private key itself. By distributing the key among multiple parties, the network becomes more robust and can continue to function even when multiple participating parties may be offline or possess malicious intent. -![networkOverview](/img/networkOverview.png) - ## Secure Encrypted Virtualization (SEV) In addition to the security provided by the decentralized nature of MPC and TSS, Lit leverages AMD’s [Secure Encrypted Virtualization](https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf) (SEV), providing advanced hardware-level protection and an additional layer of security. diff --git a/sidebars.js b/sidebars.js index ab9b92e9..8d41b54b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -57,7 +57,7 @@ const sidebars = { label: "Concepts", collapsible: false, className: "category-not-collapsible", - items: ["concepts/pkps-as-wallet"], + items: ["concepts/access-control-concept", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet"], }, { type: "category", From 483864b95dd5b8f640d191a143e717fe2a79f0d1 Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 13 Sep 2023 18:12:24 -0400 Subject: [PATCH 020/627] Lit network page to v2 (#130) * include import of feature matrix in v2 --- versioned_docs/version-2.0/resources/networkMatrix.md | 7 +++++++ versioned_sidebars/version-2.0-sidebars.json | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 versioned_docs/version-2.0/resources/networkMatrix.md diff --git a/versioned_docs/version-2.0/resources/networkMatrix.md b/versioned_docs/version-2.0/resources/networkMatrix.md new file mode 100644 index 00000000..d193afcc --- /dev/null +++ b/versioned_docs/version-2.0/resources/networkMatrix.md @@ -0,0 +1,7 @@ +--- +hide_title: true +--- + +import Network from '/docs/network/feature-matrix.md'; + + diff --git a/versioned_sidebars/version-2.0-sidebars.json b/versioned_sidebars/version-2.0-sidebars.json index 0752aeef..0bb789a7 100644 --- a/versioned_sidebars/version-2.0-sidebars.json +++ b/versioned_sidebars/version-2.0-sidebars.json @@ -246,6 +246,11 @@ "collapsible": false, "className": "category-not-collapsible", "items": [ + { + "type": "doc", + "label": "Feature Matrix", + "id": "resources/networkMatrix" + }, "resources/howItWorks", "resources/supportedChains", "resources/contracts", From 6781b365117fd7dc5cc543f263ac9a7293c30639 Mon Sep 17 00:00:00 2001 From: deb Date: Thu, 14 Sep 2023 15:27:56 -0400 Subject: [PATCH 021/627] Update migration.md (#133) --- .../version-2.0/sdk/explanation/migration.md | 66 ++++--------------- 1 file changed, 11 insertions(+), 55 deletions(-) diff --git a/versioned_docs/version-2.0/sdk/explanation/migration.md b/versioned_docs/version-2.0/sdk/explanation/migration.md index 8caafac5..4ea5d0fb 100644 --- a/versioned_docs/version-2.0/sdk/explanation/migration.md +++ b/versioned_docs/version-2.0/sdk/explanation/migration.md @@ -92,67 +92,23 @@ The following types are now declared in `@lit-protocol/types`: **signAndSaveAuthMessage** - - - - - - - - -
Old V1 New V2
- -```js -import * as LitJsSdk from "lit-js-sdk"; - -const authSig = await LitJsSdk.signAndSaveAuthMessage({ - // ... -}); -``` - - - -```js -import { ethConnect } from "@lit-protocol/auth-browser"; - -const authSig = await ethConnect.signAndSaveAuthMessage({ - // ... -}); -``` +| Version | Code | +| ------ | --------- | +| V1 |
import * as LitJsSdk from "lit-js-sdk";
const authSig = await LitJsSdk.signAndSaveAuthMessage({..});
| +| V2 |
import { ethConnect } from "@lit-protocol/auth-browser";,
const authSig = await ethConnect.signAndSaveAuthMessage({..});
| -Note: You can also import `cosmosConnect` and `solConnect` for Cosmos and Solana respectively. +:::note +For V2: You can also import `cosmosConnect` and `solConnect` for Cosmos and Solana respectively. +::: -
-
**disconnectWeb3** - - - - - - - - -
Old V1 New V2
+| Version | Code | +| ------ | --------- | +| V1 |
import * as LitJsSdk from "lit-js-sdk";
LitJsSdk.disconnectWeb3();
| +| V2 |
import { ethConnect } from "@lit-protocol/auth-browser";,
ethConnect.disconnectWeb3();
| -```js -import * as LitJsSdk from "lit-js-sdk"; - -LitJsSdk.disconnectWeb3(); -``` - -
- -```js -import { ethConnect } from "@lit-protocol/auth-browser"; - -ethConnect.disconnectWeb3(); -``` - -
-
**executeJs** From 83e37dc84e8642d32145a7364f902691c971d4b6 Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 20 Sep 2023 16:54:07 -0400 Subject: [PATCH 022/627] Update encryption.md (#135) * Update encryption.md clean up docs and remove parts about encryptToIPFS --- docs/sdk/access-control/encryption.md | 100 +++++++------------------- 1 file changed, 25 insertions(+), 75 deletions(-) diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 4a4be6b5..495f247b 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -1,15 +1,14 @@ # Encryption -Access control conditions can be used to encrypt any static content such that its decryption is "gated". +The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. -The Lit network uses an identity-based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. +### How Does ID Encrypt Work +This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. -Refer to the [SDK docs](../sdk/explanation/jwt-auth) for more details and code examples. - ## High-Level Overview Here is a high-level, step-by-step breakdown of encryption and decryption: @@ -29,20 +28,20 @@ Here is a high-level, step-by-step breakdown of encryption and decryption: ## Technical Walkthrough -You can use Lit to encrypt and store any static content. This could be a file, a string, or anything that won't change. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. - -If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](../explanation/encryption#encrypttoipfs). +You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. -Check out [this example](https://github.com/LIT-Protocol/js-sdk/blob/master/apps/demo-encrypt-decrypt-react/README.md) for a full-fledged **React** application that encrypts and decrypts a **string** using Lit SDK. +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. -In the example below we will show you the step-by-step process of how to encrypt and decrypt static data using the Lit JS SDK on the client side. +Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. ### Setup -At the top of your file, instantiate your Lit Node client like so: +At the top of your file, create your Lit Node client like so: ```js -const client = new LitJsSdk.LitNodeClient(); +const client = new LitJsSdk.LitNodeClient({ + litNetwork: 'cayenne', +}); const chain = "ethereum"; ``` @@ -67,8 +66,8 @@ Get more info on functions in the [API docs](https://js-sdk.litprotocol.com/inde Steps to Encrypt 1. Obtain an `authSig` and create an access control condition. -2. Encrypt the static content (string, file, etc.) using `LitJsSdk.encryptString` to get the `ciphertext`, for example. This ties the `accessControlConditions` with the static content. -3. Finally, we have to store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. IPFS is generally used to store these values. +2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. You'll need to pass in these #### Access Control & AuthSig @@ -92,7 +91,7 @@ const accessControlConditions = [ #### AuthSig -First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. +First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. The chain we are using in this example is `ethereum`, you can check out additional supported chains [here](../../resources/supported-chains.md). ```js const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); @@ -138,7 +137,7 @@ async encrypt(message: string) { chain: 'ethereum', dataToEncrypt: 'this is a secret message', }, - window.litNodeClient, + litNodeClient, ); return { @@ -150,7 +149,7 @@ async encrypt(message: string) { ### Decrypting -Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` variables we created when encrypting content. +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. There is just one step: @@ -159,15 +158,19 @@ There is just one step: #### AuthSig -First, obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain used here is ethereum. +Obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain we are using in this example is `ethereum`. ```js -const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }); ``` #### Obtaining the Decrypted Data -In the example, we used `encryptString()` so we will use `decryptToString()` to decrypt. Note that if you used something else to encrypt the content, you will need to use the appropriate decrypt method. +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, `authSig`. + +:::note +If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. +::: ```js const decryptedString = await LitJsSdk.decryptToString( @@ -192,7 +195,7 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit await this.connect() } - const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }) + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }) const decryptedString = LitJsSdk.decryptToString( { accessControlConditions, @@ -201,63 +204,10 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit authSig, chain: 'ethereum', }, - window.litNodeClient, + litNodeClient, ); return { decryptedString } } ``` -## Encryption & Upload to IPFS - -To simplify encrypting and uploading to IPFS, there is a method within the SDK to help encrypt and store data on IPFS. - -### encryptToIPFS - -Now, let's take a look at the simplified encryption-decryption & IPFS storing functionality. - -:::note - -The `encryptToIpfs` function internally uses the ipfs-http-client which requires the Infura Project Id & API Secret Key. - -::: - -#### Encryption - -1. For encrypting the static content (string, file) simply pass it to our function `encryptToIpfs` along with the other params: `accessControlConditions`, `chain`, `infuraId`, `infuraSecretKey` & the instance of the connected `LitNodeClient`. Note we're using the Infura client to add the strings/files to IPFS hence you have to provide your credentials. - -That's all! All the steps will be taken care of for you & the `ipfsCid` for your encrypted metadata will be returned to you. - -#### Decryption - -1. For decrypting the encrypted content (string, file) simply pass the returned `ipfsCid` to our function `decryptFromIpfs` & the instance of the connected `LitNodeClient`. - -That's all! You will get the decrypted string or the file as an ArrayBuffer. - -#### Putting it all together - -```js -async encrypt() { - const ipfsCid = await LitJsSdk.encryptToIpfs({ - authSig, - accessControlConditions, - chain, - string: "Encrypt & store on IPFS seamlessly with Lit 😎", - // file, // If you want to encrypt a file instead of a string - litNodeClient: this.litNodeClient, - infuraId: 'YOUR INFURA PROJECT ID', - infuraSecretKey: 'YOUR INFURA API-SECRET-KEY', - }); -} - -async decrypt(ipfsCid) { - const decryptedString = await LitJsSdk.decryptFromIpfs({ - authSig, - ipfsCid, // This is returned from the above encryption - litNodeClient: this.litNodeClient, - }); -} -``` - -#### How to encrypt & decrypt a file instead? - -For encryption use the same function params as above with the string param replaced with a file. For decryption nothing changes. The returned value in that case will be a `Uint8Array` instead of a string since it's a decrypted file. \ No newline at end of file +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. From af39cfecc257e7a5f94da0ceac297679d99fe7c8 Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 20 Sep 2023 20:31:22 -0400 Subject: [PATCH 023/627] Add in AA concept section to docs (#129) * Add in AA concept section to docs --- docs/concepts/aa-x-lit.md | 70 ++++++++++++++++++++++++++++++++++++++ sidebars.js | 2 +- static/img/mpc.png | Bin 0 -> 811147 bytes 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 docs/concepts/aa-x-lit.md create mode 100644 static/img/mpc.png diff --git a/docs/concepts/aa-x-lit.md b/docs/concepts/aa-x-lit.md new file mode 100644 index 00000000..179ee236 --- /dev/null +++ b/docs/concepts/aa-x-lit.md @@ -0,0 +1,70 @@ +# Account Abstraction x Lit MPC + +Lit leverages [multi-party computation (MPC)](https://www.wikiwand.com/en/Secure_multi-party_computation?ref=spark.litprotocol.com) to provide a distributed key management system that enables secure reading and writing of data between blockchains and off-chain platforms. With the added benefits of encryption, access control, and programmatic signing, Lit enhances the capabilities of what’s possible with account abstraction. + +Section Overview + +- Use cases of account abstraction with Lit +- An intro to account abstraction and multiparty computation (MPC) +- How to use Lit Actions & Programmable Key Pairs (PKPs) to work with AA + +## How to use Lit with Account Abstraction (AA) + +1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. +2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. +3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. +4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. +5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. + +### The technology that makes Lit x AA possible + +In order to utilize account abstraction systems with Lit, there are two main concepts to understand: Programmable Key Pair (a public private key pair stored across the Lit nodes) and Lit Actions, JavaScript functions that specify the conditionals of signing. + +Lit Actions are JavaScript functions that can communicate data across blockchains, interoperate between previously disconnected ecosystems, and use off-chain data sources in their computation by making arbitrary [HTTP requests](../sdk/wallets/intro.md). + +Lit Actions are used in conjunction with Programmable Key Pairs (PKPs) to give signing capabilities. Each PKP is generated collectively by the Lit network in a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation?ref=spark.litprotocol.com) (DKG) whereby each node only holds a **share** of the underlying private key (a key-share) and the complete private key **never exists in its entirety**. + +To create this distributed key pair, you must mint it in the form of an ERC-721 NFT. The NFT stands as the “symbol” or method for controlling the distributed key custodied by the Lit network. This means that only the **wallet address or smart contract holding the PKP NFT** can authorize how it is used for signing. + +PKP signatures are the validation result of Lit Actions code when using a signature to *prove* that a particular interaction took place. Lit Actions can validate the information from external sources, such as from a Weather API, or data that is stateless such as checking if a number is prime. + +Ideal cases for PKPs and Lit Actions + +- Generating proofs are ideal for usage with AA wallets, essentially this is programmable transaction validation through Lit’s network with a signer +- Looking up permitted actions, addresses, and [auth methods](../sdk/authentication/overview.md) associated with a PKP +- Checking access control conditions with [conditional signing](../sdk/wallets/conditional-signing.md) + + +## A Brief Account Abstraction (AA) Intro + +Account abstraction references [EIP-4337](https://eip4337.com/en/latest/index.html?ref=spark.litprotocol.com). AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific [entry point](https://ethereum-magicians.org/t/erc-4337-account-abstraction-via-entry-point-contract-specification/7160/1?ref=spark.litprotocol.com). With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. + +EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. + +How AA enhances user experience: + +- Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. +- Social Recovery - In [What is a Social Recovery Wallet](https://hackernoon.com/what-is-a-social-recovery-wallet?ref=spark.litprotocol.com) by Vitalik Buterin, he writes a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. + +## Multi party computation (MPC) + +MPC enables multiple parties – each holding private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). + +An MPC wallet is a wallet whose public private key is divided and shared among multiple parties, in Lit’s case the key is stored across the Lit nodes and only authorized parties can recombine the key shares to generate a signing key. + +![MPC diagram](../../static/img/mpc.png) + +Two strengths of Lit powered MPC wallets + +- allows for authorization processes to occur outside of the blockchain, the underlying key generation and signing rely on cryptography off-chain +- can work with various blockchain networks that utilize elliptic curve signatures, including but not limited to Bitcoin. Expanding compatibility to additional blockchains lies in the capability to produce signatures the networks can decipher + +## Continue learning +Read more: https://spark.litprotocol.com/account-abstraction-and-mpc/ + +Ready to check out some code? + +[Check out this guide on how to integrate Pimlico with Lit OTP Authentication](https://docs.pimlico.io/how-to/integrations/lit-protocol) +Pimlico is an infrastructure platform for building the next generation of Smart Wallets. If you are developing an ERC-4337 Smart Wallet, they provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build and iterate on wallets. + +This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 8d41b54b..b952c3cb 100644 --- a/sidebars.js +++ b/sidebars.js @@ -57,7 +57,7 @@ const sidebars = { label: "Concepts", collapsible: false, className: "category-not-collapsible", - items: ["concepts/access-control-concept", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet"], + items: ["concepts/access-control-concept", "concepts/aa-x-lit", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet"], }, { type: "category", diff --git a/static/img/mpc.png b/static/img/mpc.png new file mode 100644 index 0000000000000000000000000000000000000000..be46edec114236996e0281ab0a91ef7d951848bb GIT binary patch literal 811147 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
0tAF*5*k(*AS{AR?Ic{(hw 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%0A!{TmE{m_8i5XESC@%7TWN)%%_cS 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

YvBmp0HD?G=Lk&R%G0`8g9a_wCivo6c7EOKplX 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�s; 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%0Af^ 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 z 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%0DdE%zOXh6I#rTYm84k#Xjy7{39N9fqU+^;+lM< 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 X!UD=qK85fQz)MbANvc%BDDeLPp>gT^ literal 0 HcmV?d00001 diff --git a/versioned_docs/version-2.0/LitActions/workingWithActions/singleExecution.md b/versioned_docs/version-2.0/LitActions/workingWithActions/singleExecution.md index e13ef9b9..83f12a90 100644 --- a/versioned_docs/version-2.0/LitActions/workingWithActions/singleExecution.md +++ b/versioned_docs/version-2.0/LitActions/workingWithActions/singleExecution.md @@ -1,6 +1,4 @@ ---- -sidebar_position: 3 ---- +import EventListener from '/docs/tools/event-listener.md'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -16,12 +14,4 @@ Single execution is now enabled in the SDK by passing the `targetNodeRange` para Single execution allows you to request that a Lit Action be *ran* by a single node, but you will still need to call 100% of the nodes and collect responses from at least two-thirds of them in order to *sign* a particular output. In order to return a signed value in single execution mode, you’ll need to use a “one-to-many” node call, which is not yet supported. -## Event Listening - -The Lit event listener allows you to create specific event-based triggers for executing Lit Actions. An example application is [automated portfolio rebalancing](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) based on price movement and other pre-defined factors. - -You can use this example [React app](https://event-listener.litgateway.com/) to play with the event listener and customize your own conditions. Development on the event listener is ongoing, the end goal being a versatile tool that can be used to set automations based on a variety of factors such as periodic time, webhooks, or another contract. - -It should be noted that the Event Listener is still a work in progress and more features will continue to be rolled out over time. We are hoping to get contributors to support this as an open source project, with the end goal of building a tool that people can use to set automations based on a variety of factors such as periodic time intervals, webhooks, or other contract interactions. If this sounds interesting to you, you can reach out to the team on [Discord](https://discord.com/invite/nm9aBG8z9w) or direct message us on [Lenster](https://lenster.xyz/u/litprotocol) or [Twitter](https://twitter.com/LitProtocol). - -You can check the [latest progress](https://github.com/LIT-Protocol/lit-apps/tree/master/apps) of the project on our GitHub. \ No newline at end of file + From 5c18b0f5e313a7cc63b641597353908b8798bb9b Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 27 Sep 2023 10:03:33 -0400 Subject: [PATCH 026/627] Update wallet section (#137) include toSign conversion to 32 byte + cleanup --- docs/sdk/wallets/auth-methods.md | 4 ++++ docs/sdk/wallets/conditional-signing.md | 22 +++++++++------------ docs/sdk/wallets/minting.md | 2 +- docs/sdk/wallets/walletconnect.md | 2 +- src/components/CardSectionsV3/LearnCode.jsx | 4 ++-- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 9b2db976..36364354 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -136,6 +136,10 @@ const runLitAction = async () => { // all jsParams can be used anywhere in your litActionCode jsParams: { // this is the string "Hello World" for testing + toSign: ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])), + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", }, }); console.log("results: ", JSON.stringify(results.response, null, 2)); diff --git a/docs/sdk/wallets/conditional-signing.md b/docs/sdk/wallets/conditional-signing.md index 21ba6f3a..e1383a72 100644 --- a/docs/sdk/wallets/conditional-signing.md +++ b/docs/sdk/wallets/conditional-signing.md @@ -3,10 +3,16 @@ import TabItem from '@theme/TabItem'; # Conditional Signing -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for [generating proofs](/LitActions/intro#proofs). This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. +:::note +`toSign` data is required to be in 32 byte format. + +The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. +::: + ```js import * as LitJsSdk from '@lit-protocol/lit-node-client'; @@ -24,7 +30,7 @@ const go = async () => { } // this is the string "Hello World" for testing - const toSign = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]; + const toSign = ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])); // this requests a signature share from the Lit Node // the signature share will be automatically returned in the HTTP response from the node const sigShare = await LitActions.signEcdsa({ toSign, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1" }); @@ -47,7 +53,7 @@ const authSig = { const runLitAction = async () => { const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "serrano", + litNetwork: "cayenne", }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ @@ -83,13 +89,3 @@ const runLitAction = async () => { runLitAction(); ``` - -## Example Project: Conditional Signing - -Below is an example project demonstrating how to program a conditionally signed response using Lit Actions. - -The app will display the returned JSON if Ether balance >= Min balance entered AND if you signed the transaction within 2 mins of the set time. - -Here is the complete [**React** project](https://replit.com/@lit/Lit-Actions-Conditional-Signing#lit-actions_sign_api_response/src/App.js). - - \ No newline at end of file diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 13e4b5ce..059d5549 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -40,4 +40,4 @@ In order to allow for various frontends to integrate with our platform, we plan #### Challenge-Free Registration -We do not currently use [challenges](../../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +We do not currently use [challenges](../../resources/glossary#challenge.md) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index 183f42a5..d8ef5e26 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -109,4 +109,4 @@ The `@lit-protocol/pkp-walletconnect` library exposes base functionality needed const signClient = pkpWalletConnect.getSignClient(); ``` -Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. \ No newline at end of file +Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. diff --git a/src/components/CardSectionsV3/LearnCode.jsx b/src/components/CardSectionsV3/LearnCode.jsx index 8324988e..5d41d783 100644 --- a/src/components/CardSectionsV3/LearnCode.jsx +++ b/src/components/CardSectionsV3/LearnCode.jsx @@ -13,9 +13,9 @@ export default function LearnCodeSection({ title, className }) { to="" /> Date: Fri, 29 Sep 2023 18:31:07 -0400 Subject: [PATCH 027/627] New top banner for SDK V3 callout (#138) Remove unreleased note for SDK V3 --- docusaurus.config.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index fc289d3a..4c4d6554 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -39,7 +39,7 @@ const config = { badge: true, label: "v3.x.x", path: "v3", - banner: "unreleased", + banner: "none", }, }, }, @@ -78,6 +78,14 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ + announcementBar: { + id: "SDK V3 Beta", + content: + "Lit JS SDK V3 is now available in beta. Check out v3.x.x of the docs to learn more.", + backgroundColor: '#ff844e', + textColor: '#fffff', + isCloseable: false, + }, navbar: { title: "Lit Protocol", logo: { From eeba4af00234f0999ed92fe4973d4b27094b7f55 Mon Sep 17 00:00:00 2001 From: deb Date: Mon, 2 Oct 2023 14:59:13 -0400 Subject: [PATCH 028/627] Add in Claimable keys to docs (#139) * Add in Claimable keys to docs --- docs/concepts/claimable-keys.md | 38 +++++ docs/sdk/claimable-keys/intro.md | 44 ++++++ docs/sdk/claimable-keys/usage.md | 245 +++++++++++++++++++++++++++++++ sidebars.js | 19 ++- 4 files changed, 345 insertions(+), 1 deletion(-) create mode 100644 docs/concepts/claimable-keys.md create mode 100644 docs/sdk/claimable-keys/intro.md create mode 100644 docs/sdk/claimable-keys/usage.md diff --git a/docs/concepts/claimable-keys.md b/docs/concepts/claimable-keys.md new file mode 100644 index 00000000..b222590f --- /dev/null +++ b/docs/concepts/claimable-keys.md @@ -0,0 +1,38 @@ +# Claimable Keys (HD Keys) + +## Overview + +When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. We're going to abbreviate claimable keys as HD keys, short for homogeneous derived keys. + +HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. + +## Use Cases +1. Send a welcome bonus to new users' email addresses before they sign up. The user can claim the funds once they verify their email. +2. Allow users to receive funds via their phone number before installing an app. They can claim the funds once they verify their phone number. +3. Send promotional funds to Twitter handles. Users can claim the funds by authenticating their Twitter account. +4. Distribute airdrops to Discord users using their IDs. They can claim the airdrop once they connect their Discord account. +5. Onboard new users by sending them a small amount to their web3 social profile (like a Lens profile). They can claim it by verifying ownership of their Lens account. + +## Vocabulary + +| Term | Definition | +| --- | --- | +| authentication methods | Deterministically generated identifier from authentication material | +| auth method identifier | An ID generated from a given authentication method | +| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | +| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | +| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | + +The `key identifier` is generated from an `auth method identifier` from`authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. + +This also allows you to generate many keys from a single `Authentication Method` . Since this identifier is known ahead of time from deriving the `Auth Method` to it’s `Auth Method Identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. +With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. + +To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. + +## Getting Started and Further Reading + +Some links to further reading and resources to help you get started building with HD keys on the Lit network today: + +- Getting started with the [Lit SDK](../sdk/installation) +- Learn how to set up [HD keys](../sdk/claimable-keys/intro.md) diff --git a/docs/sdk/claimable-keys/intro.md b/docs/sdk/claimable-keys/intro.md new file mode 100644 index 00000000..472bdf70 --- /dev/null +++ b/docs/sdk/claimable-keys/intro.md @@ -0,0 +1,44 @@ +# Intro + +## Quick Start + +Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: + +1. Guide: Coming Soon! +4. Example Repo: Coming Soon! + +## Overview + +With the release of the test network `cayenne` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. + +HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. + +## Key vocabulary + +| Term | Definition | +| --- | --- | +| authentication methods | Deterministically generated identifier from authentication material | +| auth method identifier | An ID generated from a given authentication method | +| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | +| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | +| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | + +The `key identifier` is generated from an `auth method identifier` from `authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. + +This also allows you to generate many keys from a single `authentication method` . Since this identifier is known ahead of time from deriving the `auth method` to it’s `auth method identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. +With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. + +To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. + + +Below is a table of how each supported authentication method derives the `key id` + +| Auth Method | User ID | App ID | +| --- | --- | --- | +| Google OAuth | token sub | token aud | +| Discord OAuth | user handle | client app identifier | +| Stytch | user id | project id | +| Lit Actions | user provided | IPFS CID | + + +Continue to the next section to learn how to create HD keys and claim them. diff --git a/docs/sdk/claimable-keys/usage.md b/docs/sdk/claimable-keys/usage.md new file mode 100644 index 00000000..c583b570 --- /dev/null +++ b/docs/sdk/claimable-keys/usage.md @@ -0,0 +1,245 @@ +# Creating and Claiming + +The Lit SDK provides a `claimKeyId` method which authenticates an `Auth Method` to derive the `key id` . If authentication is successful, a signature is generated by each of the nodes in the network. This signature, the `key id`, and derived public key are then provided to a `ClaimProcessor` which will register the generated key claim on chain and then routes the generated public key for use. + +The `ClaimProcessor` can be provided which defines how the response from the claim operation will be registered on chain. It is recommended to use either the Lit relay server, or the `contract-sdk` . There are two types of `ClaimProccessor` + +- `ClientClaimProcessor` + - Allows for specifying a `signer` for registering claims through the `contract-sdks` `claimAndMint` +- `RelayClaimProcessor` + - allows for specifying a `RelayConfig` which overrides default options for calling a custom `relayer` instance + +If you wish to derive public keys before claiming the `LitNodeClient` offers two helper functions to allow you to compute derived public keys. + +- `computeHdKeyId` calculates the `key id` based on a `user id` and `app id` +- `computeHdPubkey` calculates the `public key` based on the `key id` + +## Examples using the `LitNodeClient` + +Below is an example of claiming a key with the `LitNodeClient` using the default implementation of the `ClaimProcessor` + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); +await client.connect(); + +let res = await client.claimKeyId({ + authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method +}); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); + +``` + +An example of claiming with a customized `ClaimProcessor` using the `contracts-sdk` In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); +await client.connect(); +let claimReq: ClaimRequest = { + authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method + signer: new ethers.Wallet("", new JsonRpcProvider("https://chain-rpc.litprotocol.com/http")); + mintCallback: (claimRes: ClaimResponse) => { + const litContracts = new LitContracts({ signer: claimRes.signer }); + await litContracts.connect(); + let tokenId = litContracts.claimAndMint(claimRes.keyId, claimRes.signatures); + } +}; +let res = await client.claimKeyId(claimReq); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); + +``` + +An example of deriving a `key id` to its public key, this operation does not persist the key for use on the Lit network. But it allows you to know what the key **will be** once registered on chain once claimed. + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); + +const keyId = client.computeHdKeyId("", ""); +// the key id can now be given to the public key calculation method +const publicKey = client.computeHDPubKey(keyId); +console.log("user public key will be: ", publicKey); +``` + + +An example of claiming with a customized `ClaimProcessor` making a call to the `Lit relay server` . In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); +await client.connect(); + +let res = await client.claimKeyId({ + authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method + mintCallback: (claimRes: ClaimResponse) => { + const response = await fetch(relayUrl, { + method: 'POST', + body: JSON.stringify(claimRes), + headers: { + 'api-key': params.relayApiKey + ? params.relayApiKey + : '67e55044-10b1-426f-9247-bb680e5fe0c8_relayer', + 'Content-Type': 'application/json', + }, + }); + + if (response.status < 200 || response.status >= 400) { + let errResp = await response.json() ?? ""; + let errStmt = `An error occured requesting "/auth/claim" endpoint ${JSON.stringify( + errResp + )}`; + console.warn(errStmt); + throw new Error(errStmt); + } + + let body: any = await response.json(); + // the transaction hash of registering the claim on chain + return body.requestId; + } +}); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); + +``` + + +## Examples Using the `LitAuthClient` + +### Example of claiming a key with the `LitAuthClient` authenticating with `Stytch` email OTP + +We will start by creating an instance of the Stytch client, with your project id and project secret. this should be loaded from a config and never put into source control. + +```jsx +const client = new stytch.Client({ + project_id: "", + secret: "", +}); +``` + +Once the client is created we can send an `OTP` code through the `otps` namespace on the `Stytch` client. For this example we will choose `otp` as our auth type and `loginOrCreate` a user with a provided email address. it is intended for this value to be user provided. after creating or logging the user in, we shall `authenticate` with the returned `email_id` and `otp` code provided by the user. + +```jsx +const email = ""; // email address of user + +const stytchResponse = await client.otps.email.loginOrCreate({ + email: email, + +}) + +const authResponse = await client.otps.authenticate({ + method_id: stytchResponse.email_id, + code: // code from email, + session_duration_minutes: 60, // session duration is required for session token creation +}) + +const sessionResp = await client.sessions.get({ + user_id: authResponse.user_id +}); + +const sessionStatus = await client.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + +Now we can create an instance of the `LitAuthClient` with a `relay API key` . Then an instance of the `stytch otp` provider and provide a `user id` and `app id` the `user id` can come from the `loginOrCreate` response. The `app id` can be found in your `Stytch` project dashboard. +Finally, we can pass the `session jwt` from the `authenticate` response . + +```jsx + +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: "", + } +}); + +const session = authClient.initProvider(ProviderType.StytchOtp, { + userId: sessionStatus.session.user_id, + appId: "" +}) + +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt +}); + +const claimResp = session.claimKeyId({ + authMethod +}); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); +``` + +## Calculating the public key of a given auth method identifier + +We will start by creating an instance of the Stytch client, with your project id and project secret. this should be loaded from a config and never put into source control. + +```jsx +const client = new stytch.Client({ + project_id: "", + secret: "", +}); +``` + +Once the client is created we can send an `OTP` code through the `otps` namespace on the `Stytch` client. For this example we will choose `otp` as our auth type and `loginOrCreate` a user with a provided email address. it is intended for this value to be user provided. after creating or logging the user in, we shall `authenticate` with the returned `email_id` and `otp` code provided by the user. + +```jsx +const email = ""; // email address of user + +const stytchResponse = await client.otps.email.loginOrCreate({ + email: email, + +}) + +const authResponse = await client.otps.authenticate({ + method_id: stytchResponse.email_id, + code: // code from email, + session_duration_minutes: 60, // session duration is required for session token creation +}) + +const sessionResp = await client.sessions.get({ + user_id: authResponse.user_id +}); + +const sessionStatus = await client.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + +Now we can create an instance of the `LitAuthClient` with a `relay API key` . Then an instance of the `stytch otp` provider and provide a `user id` and `app id` the `user id` can come from the `loginOrCreate` response. The `app id` can be found in your `Stytch` project dashboard. +Finally, we can pass the `session jwt` from the `authenticate` response . Upon successful `authentication` of the token, an `AuthMethod` will be generated. With the `Auth Method` created we can parse it and get an `AuthMethodId` which can be used to calculate the public key. This is because the `AuthMethodId` is the `key id` + +```jsx +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +const session = authClient.initProvider(ProviderType.StytchOtp, { + userId: sessionStatus.session.user_id, + appId: "" +}) + +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt +}); + +const keyId = session.getAuthMethodId({authMethod}); +const pubkey = session.litNodeClient.computePubkey(keyId); + +console.log("pkp public key: ", pubkey); +``` diff --git a/sidebars.js b/sidebars.js index 00d137c3..efeb23ea 100644 --- a/sidebars.js +++ b/sidebars.js @@ -57,7 +57,12 @@ const sidebars = { label: "Concepts", collapsible: false, className: "category-not-collapsible", - items: ["concepts/access-control-concept", "concepts/aa-x-lit", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet"], + items: [ + "concepts/access-control-concept", + "concepts/aa-x-lit", + "concepts/claimable-keys", + "concepts/programmable-signing-concept", + "concepts/pkps-as-wallet"], }, { type: "category", @@ -159,6 +164,18 @@ const sidebars = { }, ], }, + { + type: "category", + label: "Claimable Keys (HD Keys)", + link: { + type: "doc", + id: "sdk/claimable-keys/intro", + }, + collapsible: true, + items: [ + "sdk/claimable-keys/usage", + ], + }, { type: "category", label: "Programmable Wallets", From 0e8423a559521223964c672b41afd95fb6bef874 Mon Sep 17 00:00:00 2001 From: Howard Date: Mon, 2 Oct 2023 15:44:26 -0700 Subject: [PATCH 029/627] Use CI to trigger crawler reindexing on each push to main branch (#83) * Use CI to trigger crawler reindexing on each push to main branch --------- Co-authored-by: debie --- .env.example | 5 ++ .github/workflows/reindex-crawler.yml | 27 +++++++++++ .gitignore | 1 + README.md | 8 +++- package.json | 3 ++ scripts/run-crawler.mjs | 66 +++++++++++++++++++++++++++ yarn.lock | 44 ++++++++++++++++++ 7 files changed, 153 insertions(+), 1 deletion(-) create mode 100644 .env.example create mode 100644 .github/workflows/reindex-crawler.yml create mode 100644 scripts/run-crawler.mjs diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..a38223ee --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +CRAWLER_USER_ID= +CRAWLER_API_KEY= +CRAWLER_API_BASE_URL=https://crawler.algolia.com/api/1/ +ALGOLIA_APP_ID= +ALGOLIA_API_KEY= \ No newline at end of file diff --git a/.github/workflows/reindex-crawler.yml b/.github/workflows/reindex-crawler.yml new file mode 100644 index 00000000..1e669e70 --- /dev/null +++ b/.github/workflows/reindex-crawler.yml @@ -0,0 +1,27 @@ +name: reindex-crawler +on: + workflow_dispatch: + push: + branches: + - main + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js [16.x] + uses: actions/setup-node@v3 + with: + node-version: 16.x + - name: Install dependencies + run: yarn + - name: Trigger crawler reindexing + run: yarn run:crawler + env: + CRAWLER_USER_ID: {{ secrets.CRAWLER_USER_ID }} + CRAWLER_API_KEY: {{ secrets.CRAWLER_API_KEY }} + CRAWLER_API_BASE_URL: {{ secrets.CRAWLER_API_BASE_URL }} + ALGOLIA_APP_ID: {{ secrets.ALGOLIA_APP_ID }} + ALGOLIA_API_KEY: {{ secrets.ALGOLIA_API_KEY }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index b2d6de30..b083ed4f 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ # Misc .DS_Store +.env .env.local .env.development.local .env.test.local diff --git a/README.md b/README.md index bbcd21b0..35e4fc87 100644 --- a/README.md +++ b/README.md @@ -117,4 +117,10 @@ If you are changing the path of a page, you will need to add a redirect to the ` to = "/docs/tea-drinks/tea-drinks-intro" status = 301 force = false -``` \ No newline at end of file +``` + +### Running Scripts + +Before running any yarn scripts, be sure to do the following: + +- `cp .env.example .env` and fill in the secrets. \ No newline at end of file diff --git a/package.json b/package.json index 4a65ef8e..084723e6 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "write-heading-ids": "docusaurus write-heading-ids", "update-chains": "node updateChains.js", "prepare": "husky install", + "run:crawler": "node scripts/run-crawler.mjs", "tools": "node tools.mjs" }, "packageManager": "yarn@1.22.19", @@ -27,6 +28,7 @@ "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", "file-loader": "^6.2.0", + "node-fetch": "^3.3.1", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", "react-dom": "^17.0.1", @@ -45,6 +47,7 @@ ] }, "devDependencies": { + "dotenv": "^16.0.3", "husky": "^7.0.4" } } diff --git a/scripts/run-crawler.mjs b/scripts/run-crawler.mjs new file mode 100644 index 00000000..ff79c05a --- /dev/null +++ b/scripts/run-crawler.mjs @@ -0,0 +1,66 @@ +import "dotenv/config"; +import fetch from "node-fetch"; + +const BASE64_BASIC_AUTH = `Basic ${Buffer.from( + `${process.env.CRAWLER_USER_ID}:${process.env.CRAWLER_API_KEY}` +).toString("base64")}`; + +const CRAWLER_ID = "c9ce8d38-5794-48bd-be81-10f4e812bf96"; + +async function reindex(crawlerId) { + console.info(`Triggering reindex on ${crawlerId}`); + + const res = await fetch( + `${process.env.CRAWLER_API_BASE_URL}/crawlers/${crawlerId}/reindex`, + { + method: "POST", + headers: { + Authorization: BASE64_BASIC_AUTH, + "Content-Type": "application/json", + }, + } + ); + const jsonResponse = await res.json(); + // Each success response will look like: { taskId: '18bf6357-fbad-42b2-9a0f-d685e25a24f9' } + // Use the '/crawlers/{id}/tasks/{taskId}' endpoint to get the status of the task + + console.log("reindex response", jsonResponse); + return jsonResponse.taskId; +} + +async function monitorForTaskCompletion(crawlerId, taskId) { + let taskPending = true; + + while (taskPending) { + const res = await fetch( + `${process.env.CRAWLER_API_BASE_URL}/crawlers/${crawlerId}/tasks/${taskId}`, + { + headers: { + Authorization: BASE64_BASIC_AUTH, + "Content-Type": "application/json", + }, + } + ); + const jsonResponse = await res.json(); + console.log("monitor response", jsonResponse); + taskPending = jsonResponse.pending; + + // Wait 5 seconds before checking again + await new Promise((resolve) => setTimeout(resolve, 5000)); + } +} + +async function run() { + // Trigger reindexing of crawler. + const taskId = await reindex(CRAWLER_ID); + + // Monitor crawler until completed + await monitorForTaskCompletion(CRAWLER_ID, taskId); + + console.info("Crawler reindexing complete."); +} + +run().catch((err) => { + console.error(err); + process.exit(1); +}); diff --git a/yarn.lock b/yarn.lock index d51e979a..7914c442 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3881,6 +3881,11 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" @@ -4111,6 +4116,11 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dotenv@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + duplexer3@^0.1.4: version "0.1.5" resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" @@ -4517,6 +4527,14 @@ feed@^4.2.2: dependencies: xml-js "^1.6.11" +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" @@ -4614,6 +4632,13 @@ fork-ts-checker-webpack-plugin@^6.5.0: semver "^7.3.2" tapable "^1.0.0" +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" @@ -6046,6 +6071,11 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + node-emoji@^1.10.0: version "1.11.0" resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" @@ -6060,6 +6090,15 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" +node-fetch@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" + integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" @@ -8339,6 +8378,11 @@ web-namespaces@^1.0.0: resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" From a2b3c858957202d5366ea0ddfc24748ed75b12f5 Mon Sep 17 00:00:00 2001 From: Howard Date: Tue, 3 Oct 2023 13:43:16 -0700 Subject: [PATCH 030/627] Add instructions for migrating between encryption schemes (#142) --- docs/migration/overview.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/docs/migration/overview.md b/docs/migration/overview.md index f886ddd4..5536a1f6 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -9,9 +9,33 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. -## What's Not Migrated? +## Data Migration -All of the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks **will not be migrated** but we will continue to maintain support for them. If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. + +:::caution + +The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. + +::: + +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. + +Alternatively, here are some general instructions for migrating to use the new encryption scheme: + +1. Decrypt from the original network (`jalapeno` or `serrano`) to retrieve the plaintext that was encrypted at rest. +2. If this plaintext corresponded to a symmetric key that you had used to encrypt data, then you would need to retrieve and decrypt the encrypted data. +3. With the plaintext data now, you can use the new encryption scheme in the SDK V3 and store this encrypted data wherever you wish. + + +:::info +Note that the time and feasibility of this migration process ultimately depends on how your application is integrated with Lit. +::: + +Some factors that have different implications on the migration timeline include: + +- Whether a single symmetric key is used for encrypting all of your users' data, vs. using a symmetric key per each user's encryption needs +- Whether a different symmetric key for each type of data is used (even for the same user), vs. using a symmetric key across all types of data +- Whether a single storage engine is used to store encrypted data, vs. a multitude of storage engines are used ## Per-Package Changes From cebd919b4a3f3d5c8cedbb1f4b5e9015d4129db5 Mon Sep 17 00:00:00 2001 From: deb Date: Tue, 3 Oct 2023 17:31:28 -0400 Subject: [PATCH 031/627] Update contracts pages (#141) --- docs/resources/contracts.md | 24 ++----------------- .../version-2.0/resources/contracts.md | 12 ++-------- 2 files changed, 4 insertions(+), 32 deletions(-) diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 5d74eb25..7fbcfe4e 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -1,28 +1,8 @@ ---- -sidebar_position: 4 ---- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Contracts -Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](../intro/rollup): - -**PKPNFT**: [0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153](https://chain.litprotocol.com/address/0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153) - -**PubkeyRouterAndPermissions**: [0x1c5B708A171602A11895D727a64aeE2457E3Ef60](https://chain.litprotocol.com/address/0x1c5B708A171602A11895D727a64aeE2457E3Ef60) - -**Rate Limit Increase NFT**: [0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5](https://chain.litprotocol.com/address/0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5) - -**Staking Contract Address**: [0x4809A30149958a95b925bb5315cb0F550E166272](https://chain.litprotocol.com/address/0x4809A30149958a95b925bb5315cb0F550E166272) - -**PKPHelper**: [0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6](https://chain.litprotocol.com/address/0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6) - -**PKPPermissions**: [0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9](https://chain.litprotocol.com/address/0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9) - -## TypeScript Contracts SDK - -The [Lit Contracts SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/contracts-sdk) is a bundled package that allows you to make calls to Lit Protocol smart contracts. Some contracts come with additional abstracted functions that can be accessed by appending Util to the contract variable name, for example, pkpNftContract becomes pkpNftContractUtil. +Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). -Demo: https://demo-contracts-sdk-react.vercel.app/ +The contracts live on the [Chronicle Testnet](../intro/rollup). diff --git a/versioned_docs/version-2.0/resources/contracts.md b/versioned_docs/version-2.0/resources/contracts.md index ebeca160..e70175a2 100644 --- a/versioned_docs/version-2.0/resources/contracts.md +++ b/versioned_docs/version-2.0/resources/contracts.md @@ -7,19 +7,11 @@ import TabItem from '@theme/TabItem'; # Contracts -Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](../intro/rollup): +Find the full list of the most up to date Lit smart contracts on [Lit's network repository - for the serrano network](https://github.com/LIT-Protocol/networks/tree/main/serrano). -**PKPNFT**: [0x8F75a53F65e31DD0D2e40d0827becAaE2299D111](https://chain.litprotocol.com/address/0x8F75a53F65e31DD0D2e40d0827becAaE2299D111) +The contracts live on the [Chronicle Testnet](../intro/rollup). -**PubkeyRouterAndPermissions**: [0xB35cC6CaB1501d5F3b6b8fcF3215898C9d03E981](https://chain.litprotocol.com/address/0xB35cC6CaB1501d5F3b6b8fcF3215898C9d03E981) -**Rate Limit Increase NFT**: [0x2D0f767eff47b44626832EcD2fda705eB9797c38](https://chain.litprotocol.com/address/0x2D0f767eff47b44626832EcD2fda705eB9797c38) - -**Staking Contract Address**: [0x433357a14c35815E6A32758fe95c93380D194aaf](https://chain.litprotocol.com/address/0x433357a14c35815E6A32758fe95c93380D194aaf) - -**PKPHelper**: [0x8bB62077437D918891F12c7F35d9e1B78468bF11](https://chain.litprotocol.com/address/0x8bB62077437D918891F12c7F35d9e1B78468bF11) - -**PKPPermissions**: [0x4Aed2F242E806c58758677059340e29E6B5b7619](https://chain.litprotocol.com/address/0x4Aed2F242E806c58758677059340e29E6B5b7619) ## TypeScript Contracts SDK From be1a123524922dee9da049974e4251d146cf1e05 Mon Sep 17 00:00:00 2001 From: deb Date: Fri, 6 Oct 2023 16:18:14 -0700 Subject: [PATCH 032/627] Update claimable keys intro to link to guide and example repo --- docs/sdk/claimable-keys/intro.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/claimable-keys/intro.md b/docs/sdk/claimable-keys/intro.md index 472bdf70..0d5d98e9 100644 --- a/docs/sdk/claimable-keys/intro.md +++ b/docs/sdk/claimable-keys/intro.md @@ -4,8 +4,8 @@ Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: -1. Guide: Coming Soon! -4. Example Repo: Coming Soon! +1. Guide: https://spark.litprotocol.com/lit-js-sdk-v3-claimable-keys/ +4. Example Repo: https://github.com/LIT-Protocol/claim-key-demo-nodejs ## Overview From b4020235761affb77a16a1cfd52e0f74fd8d309c Mon Sep 17 00:00:00 2001 From: Bean Date: Fri, 6 Oct 2023 19:19:03 -0400 Subject: [PATCH 033/627] fix api key param (#140) --- docs/sdk/claimable-keys/usage.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/sdk/claimable-keys/usage.md b/docs/sdk/claimable-keys/usage.md index c583b570..b3096465 100644 --- a/docs/sdk/claimable-keys/usage.md +++ b/docs/sdk/claimable-keys/usage.md @@ -89,9 +89,7 @@ let res = await client.claimKeyId({ method: 'POST', body: JSON.stringify(claimRes), headers: { - 'api-key': params.relayApiKey - ? params.relayApiKey - : '67e55044-10b1-426f-9247-bb680e5fe0c8_relayer', + 'api-key': params.relayApiKey, 'Content-Type': 'application/json', }, }); From 79eb59739d564e5a7e6bd757f3a68421106bf365 Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 11 Oct 2023 12:50:54 -0700 Subject: [PATCH 034/627] Remove references to share modal in v3 (#145) Share modal hasn't been updated for cayenne, remove for now --- docs/resources/supported-chains.md | 1 + docs/tools/share-modal.md | 64 ------------------------------ sidebars.js | 1 - 3 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 docs/tools/share-modal.md diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 11916694..0adb1fd9 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -47,6 +47,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - publicGoodsNetwork - optimismGoerli - waevEclipseTestnet +- waevEclipseDevnet - solana - solanaDevnet - solanaTestnet diff --git a/docs/tools/share-modal.md b/docs/tools/share-modal.md deleted file mode 100644 index 18da69f1..00000000 --- a/docs/tools/share-modal.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -sidebar_position: 2 ---- -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Share Modal - -The Lit Share Modal is a tool for creating access control conditions for securing content with Lit Protocol. - -- Secure content based on wallet address, token/NFT holdings, POAP ownership, or DAO membership. -- Create multiple paths for unlocking content by using AND/OR operators. -- Set your most used tokens/NFTs as defaults for quick and easy access. - -![Share Modal Image](../../static/img/shareModalCover.png) - -For an in-depth explanation of how to use the share modal, please follow the [README.md](https://github.com/LIT-Protocol/lit-share-modal-v3#readme). - -## Installation - - - - -```js -yarn add lit-share-modal-v3 -``` - - - - -```js -npm install --save lit-share-modal-v3 -``` - - - -## Usage in React - -Use this UI library to allow users to setup custom blockchain based access control. This library can be used in any React app. - -https://github.com/LIT-Protocol/lit-share-modal-v3 - -A playground for experimenting with the modal is available here: https://lit-share-modal-v3-playground.netlify.app/. - - -## Usage in Vanilla JS (No React) - -A version of this library without React will be available soon. - -[//]: # (To use this library without React, you can use the following package, which wraps the react library up in vanilla JS.) - -[//]: # () -[//]: # (https://github.com/LIT-Protocol/lit-share-modal-v2-vanilla-js) - -## Usage in Next.js - -If you are using NextJS, the CSS injection will not work. Set the `injectCSS` prop to false, and import the CSS file directly from `node_modules/lit-share-modal-v3/dist/ShareModal.css` in `_app.tsx` or `_app.jsx`. -More information is available in the docs. https://github.com/LIT-Protocol/lit-share-modal-v3. - diff --git a/sidebars.js b/sidebars.js index efeb23ea..cbf0c928 100644 --- a/sidebars.js +++ b/sidebars.js @@ -202,7 +202,6 @@ const sidebars = { "tools/access-control", "tools/getlit-cli", "tools/event-listener", - "tools/share-modal", "tools/pkpexplorer", ], }, From aff66ff1df764a36687a1ace84f9f4ae0e82c7aa Mon Sep 17 00:00:00 2001 From: Mark Krasner <70119343+mzkrasner@users.noreply.github.com> Date: Wed, 11 Oct 2023 18:50:54 -0400 Subject: [PATCH 035/627] Mzk/incorporated fixes (#146) * Edits to Ceramic Example for Lit Docs using v3 sdk --------- Co-authored-by: Mark Krasner Co-authored-by: debie --- docs/integrations/ceramicExample.md | 231 ++++++++++++++++++ package.json | 2 +- sidebars.js | 9 + .../img/ceramic-images/decrypted_message.png | Bin 0 -> 48669 bytes static/img/ceramic-images/lit_message.png | Bin 0 -> 118751 bytes static/img/ceramic-images/message_board.png | Bin 0 -> 42898 bytes static/img/ceramic-images/sign_in.png | Bin 0 -> 54585 bytes static/img/ceramic-images/sign_lit.png | Bin 0 -> 152853 bytes 8 files changed, 241 insertions(+), 1 deletion(-) create mode 100644 docs/integrations/ceramicExample.md create mode 100644 static/img/ceramic-images/decrypted_message.png create mode 100644 static/img/ceramic-images/lit_message.png create mode 100644 static/img/ceramic-images/message_board.png create mode 100644 static/img/ceramic-images/sign_in.png create mode 100644 static/img/ceramic-images/sign_lit.png diff --git a/docs/integrations/ceramicExample.md b/docs/integrations/ceramicExample.md new file mode 100644 index 00000000..315f881a --- /dev/null +++ b/docs/integrations/ceramicExample.md @@ -0,0 +1,231 @@ +--- +sidebar_position: 3 +--- + +# ComposeDB (Ceramic) + +## Save Data Encrypted with Lit Protocol to the Ceramic Network on ComposeDB + +Learn how to use Lit Protocol to encrypt messages and save them to the Ceramic Network using ComposeDB. + +--- + +## Objectives +At completion of this reading you should be able to: + +- Create ComposeDB schemas and deploy those models on a local Ceramic node. +- Authenticate users on Ceramic to allow them to author their own documents. +- Encrypt data with Lit Protocol and write mutation queries to save the encrypted data to ComposeDB using GraphQL. +- Decrypt data using Lit Protocol based on specified business logic. + +--- + +## What is the Ceramic Network? + +[Ceramic](https://ceramic.network/) is a decentralized data network that leverages the verifiable qualities you can expect from a blockchain, with cost efficiency and querying capabilities similar to a traditional database. Ceramic empowers developers to leverage interoperable data formats stored on the Network, helping product teams circumvent "cold-start" data problems while simultaneously allowing individuals to take ownership of their digital presence. + +### How does it Work? + +The Ceramic Protocol is built on decentralized event streams, where user accounts (enabled by decentralized identifiers, or [DIDs](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/)) cryptographically sign data events and submit them to the network. These events are stored in the Interplanetary File System (IPFS) using the IPLD protocol, and organized into readable streams. Each stream is flexible enough to store many types of content. Therefore, Ceramic is home to a diversity of different data use cases such as user profiles, posts, relations to other entities, and more. + +Due to Ceramic's open readability, any participating node can read from any stream in the network. Therefore, encrypting data using Lit Protocol and saving it Ceramic is a common (and necessary) integration for many teams. + +### Ceramic as a Data Ledger + +It's important to note that Ceramic can be viewed as a "Data Ledger" middle ground between on and off-chain activity. All Ceramic events are periodically rolled into a Merkle tree and the root is published to the Ethereum blockchain, thus ensuring consensus on the global transactions ordering within Ceramic. + +For more information on how Ceramic works, visit [How it Works](https://ceramic.network/how-it-works). + +## ComposeDB + +ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://composedb.js.org/docs/0.5.x/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! + +For the purpose of this tutorial, we will be using Ceramic with ComposeDB to illustrate how developers can generate, store, and query simple encrypted messages. + +This tutorial will use a message board example application to show how to create encrypted messages using Lit Protocol and save message instances to the Ceramic Network using ComposeDB. + +To follow along, reference this [example repository](https://github.com/ceramicstudio/lit-composedb). + +### Initial Setup + +For this tutorial, you will need: + +1. [MetaMask Chrome Extension](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn) +2. Node v16 + +First, clone the repository and install your dependencies: + +```bash +git clone https://github.com/ceramicstudio/lit-composedb && cd lit-composedb +npm install +``` + +Open the repository in your editor of choice to continue following along. + +### Generate Your Local Node Configuration + +This tutorial shows developers how to run a local node with which they will deploy model definitions and publish/read transactions to the network. + +In order to do this, a [server configuration](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) will have to be defined, as well as corresponding Ceramic node admin credentials. + +We've done most of this work for you using [this script](https://github.com/mzkrasner/lit-composedb/blob/main/scripts/commands.mjs) we've provided. + +To generate your credentials, run the following in your terminal: + +```bash +npm run generate +``` + +If you explore your `composedb.config.json` and `admin_seed.txt` files, you will now see a defined JSON ComposeDB server configuration and Ceramic admin seed, respectively. + +For more information on server configurations, visit [Server Configurations](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) in the ComposeDB docs. + +### Observe Your Schema Definitions + +You can find pre-made graphql schema definitions within your /composites directory. This particular tutorial uses a singular simple model called `Posts` - each model instance will contain all the necessary encrypted data generated by LIT for someone with the assigned access control conditions to be able to decrypt: + +```graphql +# 00-posts.graphql + +type Posts @createModel(accountRelation: LIST, description: "A simple Post") { + author: DID! @documentAccount + body: String! @string(maxLength: 100000) + to: String! @string(minLength: 42, maxLength: 42) + edited: DateTime + created: DateTime! + ciphertext: String @string(maxLength: 100000) + chain: String @string(maxLength: 100000) + accessControlConditions: String @string(maxLength: 100000) + accessControlConditionType: String @string(maxLength: 100000) +} +``` + +In this model definition, you'll notice that the "author" field takes a scalar type `DID` with an `@documentAccount` directive. This field definition allows each Posts instance to be queried based on the controlling Ceramic Account (based on DID), and therefore is automatically assigned each time a model instance is defined. + +(For more information on controlling Accounts and Documents, visit [ComposeDB Concepts](https://composedb.js.org/docs/0.5.x/core-concepts)). + +Finally, if you navigate into the `/scripts/composites.mjs` file, you'll find the application's deployment script. When you launch the application, this script compiles the model into a composite definition that will then be deployed on your local node and writes that definition to the files located in `/src/__generated__`, which will later be used by the ComposeDB client library to read and write data. + +### Run the Application in Developer Mode + +To run the application, first make sure you're running node version 16, and then run the `dev` command: + +```bash +nvm use 16 +npm run dev +``` +You can observe your local node's output logs within your terminal as the application starts up. + +Once your terminal reads `[NextJS] ready - started server on 0.0.0.0:3000, url: http://localhost:3000`, you can view the frontend in your browser by visiting http://localhost:3000. + +Note that your local Ceramic node is now running on your local 7007 port. You can verify that it's running by executing the following in a new terminal: + +```bash +curl http://localhost:7007/api/v0/node/healthcheck +``` + +This should print `Alive!%` on the following line. + +### Authenticate with Ceramic + +Upon opening the homepage in your browser, you will be prompted with the option to "Sign In with Ceramic" in the middle of the screen: + +

+ +![sign in with Ceramic](/img/ceramic-images/sign_in.png) + +
+ +Navigating back to your text editor, observe the `useEffect` lifecycle hook within /src/pages/index.tsx that checks the browser's local storage for an item with a "did" key. Upon pressing the button to initiate the authentication sequence, the `handleLogin` method on the same page is called, relying on an `authenticateCeramic` method imported from /utils/index.ts, using the client definitions imported from /context/index.tsx. + +The important item to recognize during this sequence is which DID method is being used. While Ceramic supports multiple [DID methods](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/), this application authorizes Ethereum accounts using [@didtools/pkh-ethereum](https://did.js.org/docs/api/modules/pkh_ethereum/) (visit [User Sessions](https://composedb.js.org/docs/0.5.x/guides/composedb-client/user-sessions) for more information). + +This type of authentication flow offers a familiar "web2" experience allowing users to sign in once (thus generating a timebound session), removing the need to manually approve every transaction. In doing so, this method utilizes a root Ceramic `did:pkh` account with the user's wallet, and generates a temporary and resolvable Ceramic `did:key` account that lives in the browser's local storage, expiring after a default duration of 24 hours. + +Once authenticated, you should now see a blank message board appear on the screen: + +
+ +![blank message board](/img/ceramic-images//message_board.png) + +
+ +If you now check your local storage, you'll also see a new generated field with a "did" key and an alphanumeric corresponding value. + +Finally, navigating back to /src/pages/index.tsx, you'll also notice that a `startLitClient` method is invoked toward the end of `handleLogin`. Similar to `authenticateCeramic`, this method is imported from /utils/client.ts and is meant to connect your host to LIT Protocol's network. Please note that we have not yet authenticated ourselves with LIT - we will do this later when we try to create a message. + +### Generate Encrypted Messages + +Now that we are authenticated with Ceramic, we can go ahead and send messages to the network. In your text editor, you'll notice that the component defined in `/src/components/Chat.tsx` imports and returns a `` component (using the raw message contents and the user's address as props). If you navigate into `/src/fragments/chatinputbox.tsx`, you'll find a flow that involves both encryption with LIT and saving to Ceramic. + +Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../sdk/access-control/condition-types/boolean-logic.md) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). + +Next, you'll find an `encrypted` constant assigned to the evaluated result of invoking `encryptWithLit`, using the Lit client instance, the raw message, access control conditions, and the assigned chain as arguments. This method is imported from /utils/lit.ts. Similar to the Ceramic authentication flow outlined in the previous section, `encryptWithLit` first invoked a child method called `checkAndSignAuthMessage` that checks for an existing cryptographic authentication signature and creates one if it does not exist. The result of this signature is then stored in local storage so the user doesn't have to sign each time they perform an operation. + +If this is your first time submitting a message after following the steps above, your MetaMask will prompt you to generate the signature mentioned above: + +
+ +![signing lit protocol authentication](/img/ceramic-images//sign_lit.png) + +
+ +Observe how the child methods within `encryptWithLit` use the original arguments to eventually return an object that we will then save to ComposeDB. + +Back in `/src/fragments/chatinputbox.tsx`, observe how the `executeQuery` method on our `composeClient` class instance is invoked with the values we just generated from the LIT encryption sequence. It's important to note that mutation queries (such as this one) only work when a user is authenticated. Since we are importing the `useCeramicContext` wrapper from /context/index.tsx, we are able to access the authenticated session we established in the last section from within any child components. You can also see how the `createPosts` mutation query accessing the model definitions we discussed previously, found in `/composites/00-post.graphql`. + +If you've followed the steps above to submit an encrypted message, your UI should now look something like this: + +
+ +![message board with encrypted message](/img/ceramic-images/lit_message.png) + +
+ +### Grabbing Indexed Messages + +Now that you've generated encrypted messages using LIT and saved them to your local Ceramic node using ComposeDB, you'll notice that every time you refresh the page, those messages are rendered in the UI. + +If you navigate back to `/src/components/Chat.tsx`, you'll be able to observe why this is happening. You'll notice that a `getMessages` method is tied to the `useEffect` lifecycle hook. When invoked, this method queries your imported composeClient for the last 20 instances of Posts from your index (if they exist). It's important to note that, unlike mutation queries, this read request works regardless if someone is authenticated or not. + +### Decrypting Messages + +If you've followed along in the tutorial up until this point without switching to a different wallet address (meaning you're still logged into the one you used to generate a few messages), you'll see a "Decrypt" button within each message box rendered in the UI. This button renders conditionally based on whether you're the message author (see `src/fragments/chatcontent.tsx` for the conditional `message.isChatOwner`). However, even if we rendered this button for all users regardless of author, we can still rely on LIT to grant decryption access solely to users who meet the correct access control conditions. + +In `/src/fragments/chatcontent.tsx` you can observe how this works. When you click the "Decrypt" button, this action invokes the `handleDecrypt` method with both an event pointer and the message contents relevant to that component instance. Similar to the sequence of events incurred when encrypting data with LIT, observe how the `decryptWithLit` method is invoked (after converting the message contents to their necessary formats). + +The definition for this method lives in `/utils/lit.ts`, which checks for an existing cryptographic authentication signature in the browser's local storage. If the user is authorized, a `decryptToString` method is later invoked using the `litNodeClient` instance on the window object, along with the access control conditions, ciphertext, encrypted and hashed data, and chain. This will finally decrypt the message contents and allow us to render it in our UI. + +If you press the "Decrypt" button, that corresponding message should now allow you to read its contents in plaintext: + +
+ +![decrypted message](/img/ceramic-images/decrypted_message.png) + +
+ +### Signing in as Different Users + +If you want to simulate what the experience might look like with multiple users interacting with the application, make sure that you clear your local storage (in addition to disconnecting your current MetaMask account) each time you want to sign in with a different address. + +## Next Steps + +While this tutorial represents a very simple example of how to store and retrieve encrypted data on ComposeDB, there are other patterns and examples developers will find useful to learn more about building on Ceramic. + +- To migrate from local development to running ComposeDB in the cloud, visit [Running in the Cloud](https://composedb.js.org/docs/0.5.x/guides/composedb-server/running-in-the-cloud). +- To move from Ceramic Testnet to Mainnet, visit [Access Ceramic Mainnet](https://composedb.js.org/docs/0.5.x/guides/composedb-server/access-mainnet). +- To view a social application example with more complex data modeling and querying based on relations, visit this [Social App ComposeDB Starter](https://github.com/ceramicstudio/EthDenver2023Demo). +- To view how to generate, save, query, and verify off-chain attestations using the Ethereum Attestation Service together with ComposeDB, visit [this repository](https://github.com/ceramicstudio/ceramic-eas). +- Use the [ComposeDB API Sandbox](https://composedb.js.org/sandbox) to test example queries on a real dataset directly from your browser +- Build an AI-powered Chatbot and save message history to ComposeDB by following this [ComposeDB Tutorial](https://learnweb3.io/lessons/build-an-ai-chatbot-on-compose-db-and-the-ceramic-network) + +### Support from the Ceramic Team + +Developers are encouraged to join the Ceramic community, engage with members of the Ceramic team, and ask for help along their development journey! Here are a few ways to get in touch: + +- Join the [Forum](https://forum.ceramic.network/) to ask questions and receive support +- Join the [Discord](https://discord.com/invite/ceramic) to chat directly with both community members and the Ceramic team +- Follow the Ceramic Network on [Twitter](https://twitter.com/ceramicnetwork) for updates +- Browse technical tutorials and feature release announcements on the Ceramic [blog](https://blog.ceramic.network/) +- Check out the [YouTube Channel](https://www.youtube.com/channel/UCgCLq5dx7sX-yUrrEbtYqVw) for presentations and videos + diff --git a/package.json b/package.json index 084723e6..138558d3 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.2.54", + "@lit-protocol/constants": "^2.2.61", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index cbf0c928..1f8e1b0c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -205,6 +205,15 @@ const sidebars = { "tools/pkpexplorer", ], }, + + { + type: "category", + label: "Integrations", + collapsed: true, + items: [ + "integrations/ceramicExample", + ], + }, { type: "category", label: "Network", diff --git a/static/img/ceramic-images/decrypted_message.png b/static/img/ceramic-images/decrypted_message.png new file mode 100644 index 0000000000000000000000000000000000000000..ac3e189fbac43be6845c0f02a74c5da04db28492 GIT binary patch literal 48669 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 literal 0 HcmV?d00001 diff --git a/static/img/ceramic-images/lit_message.png b/static/img/ceramic-images/lit_message.png new file mode 100644 index 0000000000000000000000000000000000000000..43996193053104115bc161c033b5c188925973b0 GIT binary patch literal 118751 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%0A>)vU2x-?}->A|7z@Vx|1W0?QQ5|-Ec3BA#O^4 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

&m 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 literal 0 HcmV?d00001 diff --git a/static/img/ceramic-images/message_board.png b/static/img/ceramic-images/message_board.png new file mode 100644 index 0000000000000000000000000000000000000000..690e93402f72f864f7a2da5fe26d816459bdc0be GIT binary patch literal 42898 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 literal 0 HcmV?d00001 diff --git a/static/img/ceramic-images/sign_lit.png b/static/img/ceramic-images/sign_lit.png new file mode 100644 index 0000000000000000000000000000000000000000..e5067ed300d417b5b50526a120af37f18caaad80 GIT binary patch literal 152853 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 RWh&s$O$8PCFW2;5{(tDgL?r+K literal 0 HcmV?d00001 From f1a76da724745886726b494889ba45715e4cd187 Mon Sep 17 00:00:00 2001 From: debie Date: Wed, 11 Oct 2023 18:22:28 -0700 Subject: [PATCH 036/627] fix typo --- docs/sdk/claimable-keys/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/claimable-keys/intro.md b/docs/sdk/claimable-keys/intro.md index 0d5d98e9..17aeb3a0 100644 --- a/docs/sdk/claimable-keys/intro.md +++ b/docs/sdk/claimable-keys/intro.md @@ -2,7 +2,7 @@ ## Quick Start -Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: +Ready to jump right in? Quickly learn how you can integrate claimable keys into your own product: 1. Guide: https://spark.litprotocol.com/lit-js-sdk-v3-claimable-keys/ 4. Example Repo: https://github.com/LIT-Protocol/claim-key-demo-nodejs From fea950ea7dbac12390be6b0a3897e31bc8f4cad9 Mon Sep 17 00:00:00 2001 From: deb Date: Fri, 13 Oct 2023 09:07:53 -0700 Subject: [PATCH 037/627] Account kit tutorial (#149) * AA technical integrations section --- docs/integrations/aa/alchemy-account-kit.md | 282 ++++++++++++++++++++ docs/integrations/aa/overview.md | 54 ++++ sidebars.js | 12 + static/img/aa_provider_table.webp | Bin 0 -> 17894 bytes 4 files changed, 348 insertions(+) create mode 100644 docs/integrations/aa/alchemy-account-kit.md create mode 100644 docs/integrations/aa/overview.md create mode 100644 static/img/aa_provider_table.webp diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md new file mode 100644 index 00000000..f9a5d7bd --- /dev/null +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -0,0 +1,282 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Alchemy Account Kit + +Learn how Lit [Programmable Key Pairs](../../sdk/wallets/intro.md) can be a signer for Alchemy's Account Kit! + + +--- + +## Objectives +At completion of this reading you should be able to: + +- Describe use cases for Account Kit. +- Understand how to set Lit as a signer to an Account Kit. + +--- + +## What is Account Kit? +[Alchemy's Account Kit](https://www.alchemy.com/account-kit) is a complete toolkit to embed smart accounts in your app with social login, gas abstraction, batch transactions, and more. + +Powered by account abstraction (ERC-4337), Account Kit provides all the tools you need to onboard users with zero friction: + +-**aa-sdk**: a flexible library to integrate, deploy, and use smart accounts +-**Light Account**: a gas-optimized ERC-4337 smart contract account +-**Signers**: integrations with your favorite social login and passkey providers +-**Gas Manager APIs**: a programmable API to sponsor gas fees in your app‍ +-**Bundler APIs**: the most reliable Bundler to submit UserOps onchain at scale + +With Account Kit, you can create a smart account for every user. Smart accounts are smart contract wallets that leverage account abstraction to radically simplify every step of the onboarding experience. Now, a new user can: + +- Create a smart account directly in an Account Kit powered app without third-party - downloads +- Sign up with an email, social login, passkey, or self-custodial wallet +- Submit transactions without needing ETH in their account for gas +- Submit transactions in the background without leaving your app + + +## Guide + +Combining Lit [PKP wallet](https://www.npmjs.com/package/@lit-protocol/pkp-ethers) with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. + +### Pre-requisites +- Familiarity with JavaScript and TypeScript. +- Understand the basics of account abstraction. + + +### 1. Setup + +Install the pkp ethers package: + + + + +```js +npm i @lit-protocol/pkp-ethers@cayenne +``` + + + + + +```js +yarn add @lit-protocol/pkp-ethers@cayenne +``` + + + + + +Install the `LitNodeClient` package`: + + + + +```js +npm i @lit-protocol/lit-node-client@cayenne +``` + + + + + +```js +yarn add @lit-protocol/lit-node-client@cayenne +``` + + + + + +### 2. Get A Programmable Key Pair (PKP) + +Get some LIT Testnt tokens from Lit's [Chronicle network](../../network/rollup.mdx). + +Then mint a PKP through the [PKP explorer](https://explorer.litprotocol.com/mint-pkp). + +For other ways to obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). + +### 3. Create a SmartAccountSigner + +Next, setup the `LitNodeClient` and `PKPEthersWallet` to create a `SmartAccountSigner`: + +```js +import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; +import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { AuthCallbackParams } from "@lit-protocol/types"; +import { createWalletClient, custom } from "viem"; +import { polygonMumbai } from "viem/chains"; + +const API_KEY = ""; +const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; +const PKP_PUBLIC_KEY = ""; + +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: false, +}); +await litNodeClient.connect(); + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +/** + * For provisioning keys and setting up authentication methods see documentation below + * https://developer.litprotocol.com/v2/pkp/minting + */ +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + sessionKey: params.sessionKeyPair, + statement: params.statement, + authMethods: [], + pkpPublicKey: PKP_PUBLIC_KEY, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const sessionSigs = await litNodeClient + .getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }) + .catch((err) => { + console.log("error while attempting to access session signatures: ", err); + throw err; + }); + +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: PKP_PUBLIC_KEY, + rpc: POLYGON_MUMBAI_RPC_URL, + controllerSessionSigs: sessionSigs, +}); + +// a smart account signer you can use as an owner on ISmartContractAccount +export const litSigner: SmartAccountSigner = new WalletClientSigner( + createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, + "lit" // signerType +); +``` + +### 4. Use SmartAccountSigner with LightAccount +We can link the `SmartAccountSigner` to a `LightSmartContractAccount` from `aa-accounts`: + + +`example.ts` + +```js +import { AlchemyProvider } from "@alchemy/aa-alchemy"; +import { LightSmartContractAccount } from "@alchemy/aa-accounts"; +import { litSigner } from "./lit"; + +const chain = sepolia; +const provider = new AlchemyProvider({ + apiKey: "ALCHEMY_API_KEY", + chain, + entryPointAddress: "0x...", +}).connect( + (rpcClient) => + new LightSmartContractAccount({ + entryPointAddress: "0x...", + chain: rpcClient.chain, + owner: litSigner, + factoryAddress: "0x...", + rpcClient, + }) +); +``` + +`lit.ts` +```js +import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; +import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { AuthCallbackParams } from "@lit-protocol/types"; +import { createWalletClient, custom } from "viem"; +import { polygonMumbai } from "viem/chains"; + +const API_KEY = ""; +const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; +const PKP_PUBLIC_KEY = ""; + +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: false, +}); +await litNodeClient.connect(); + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +/** + * For provisioning keys and setting up authentication methods see documentation below + * https://developer.litprotocol.com/v2/pkp/minting + */ +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + sessionKey: params.sessionKeyPair, + statement: params.statement, + authMethods: [], + pkpPublicKey: PKP_PUBLIC_KEY, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const sessionSigs = await litNodeClient + .getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }) + .catch((err) => { + console.log("error while attempting to access session signatures: ", err); + throw err; + }); + +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: PKP_PUBLIC_KEY, + rpc: POLYGON_MUMBAI_RPC_URL, + controllerSessionSigs: sessionSigs, +}); + +// a smart account signer you can use as an owner on ISmartContractAccount +export const litSigner: SmartAccountSigner = new WalletClientSigner( + createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, + "lit" // signerType +); +``` + +## Next Steps + +Continue learning about [Lit's severless signing](../../sdk/wallets/conditional-signing.md) capabilities. + +Explore [Account Kit](https://accountkit.alchemy.com/). diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md new file mode 100644 index 00000000..d51dcf0a --- /dev/null +++ b/docs/integrations/aa/overview.md @@ -0,0 +1,54 @@ +--- +sidebar_position: 3 +--- + +# Account Abstraction + +Learn how to use Lit Protocol with account abstraction providers to streamline how you use web3 wallets! + +--- + +## Objectives +At completion of this reading you should be able to: + +- Define use cases for Lit with account abstraction (AA). +- Understand how to build Lit with an AA provider. + +--- + +## What is Account Abstraction? +Account abstraction references EIP-4337. AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific entry point. With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. + +EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. + +How AA enhances user experience: + +1. Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. +2. Social Recovery - In [Why we need wide adoption of social recovery wallets](https://vitalik.ca/general/2021/01/11/recovery.html) by Vitalik Buterin, he writes that a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery with AA can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. + + +## How to use Lit with Account Abstraction (AA) +1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. +2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. +3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. +4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. +5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. + +## Account Abstraction Providers +Rather than dealing with private keys, seed phrases, and complex wallet setups, users can leverage abstraction layers to interact seamlessly with Web3 services. + +AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account technologies to abstract away blockchain complexities. Their solutions enable intuitive user experiences via features like social recovery, meta-transactions, relayer networks, and identity management. By handling cumbersome blockchain intricacies behind the scenes, account abstraction paves the way for mainstream adoption. + + +![AA chart with providers and offerings](/img/aa_provider_table.webp) + +**Chart made by Prez Thomas in the piece ["Top 6 Account Abstraction Providers: An In-Depth Review"](https://medium.com/coinmonks/top-6-account-abstraction-providers-an-in-depth-review-3a09b9fc707c), Sept 13, 2023** + +## Account Abstraction Integrations + +| Provider | Description | Link to Guide | +| --- | --- | --- | +| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](https://accountkit.alchemy.com/smart-accounts/signers/lit.html) | +| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](https://docs.pimlico.io/tutorial/integrations/lit-protocol) | +| - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://nut.sh/ell/forms/352580/YEk9vu) | + diff --git a/sidebars.js b/sidebars.js index 1f8e1b0c..1aadf8f2 100644 --- a/sidebars.js +++ b/sidebars.js @@ -211,6 +211,18 @@ const sidebars = { label: "Integrations", collapsed: true, items: [ + { + type: "category", + label: "Account Abstraction", + link: { + type: "doc", + id: "integrations/aa/overview", + }, + collapsible: true, + items: [ + "integrations/aa/alchemy-account-kit" + ], + }, "integrations/ceramicExample", ], }, diff --git a/static/img/aa_provider_table.webp b/static/img/aa_provider_table.webp new file mode 100644 index 0000000000000000000000000000000000000000..de5b8c4f3bf999f4da15bc3c91cbff9eb454f08d GIT binary patch literal 17894 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Ȼ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 Date: Fri, 13 Oct 2023 11:18:35 -0700 Subject: [PATCH 038/627] AA technical integrations section (#147) * AA technical integrations section with Alchemy Account Kit and Pimlico --- docs/integrations/aa/overview.md | 4 - docs/integrations/aa/pimlico.md | 261 +++++++++++++++++++++++++++++++ sidebars.js | 3 +- static/img/stytch_pimlico.png | Bin 0 -> 426570 bytes 4 files changed, 263 insertions(+), 5 deletions(-) create mode 100644 docs/integrations/aa/pimlico.md create mode 100644 static/img/stytch_pimlico.png diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md index d51dcf0a..54ec3dd3 100644 --- a/docs/integrations/aa/overview.md +++ b/docs/integrations/aa/overview.md @@ -1,7 +1,3 @@ ---- -sidebar_position: 3 ---- - # Account Abstraction Learn how to use Lit Protocol with account abstraction providers to streamline how you use web3 wallets! diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md new file mode 100644 index 00000000..564fda30 --- /dev/null +++ b/docs/integrations/aa/pimlico.md @@ -0,0 +1,261 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Pimlico + +Learn how to use Lit Protocol's OTP sign-in (email, SMS, and Whatsapp) with a smart account whose user operations are relayed and sponsored by [Pimlico](https://www.pimlico.io/). + + + +--- + +## Objectives +At completion of this reading you should be able to: + +- Explain what Pimlico is and the services it provides with smart accounts. +- Understand how to set up Lit with Pimlico. + +--- + +## What is Pimlico? + +[Pimlico](https://www.pimlico.io/) is an infrastructure platform for building the next generation of smart accounts. If you are developing an ERC-4337 smart account, we provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build a more stable wallet and iterate faster. + +## Guide + +This how-to guide walks you through the steps to integrate Lit's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. + + +### Pre-requisites +- Familiarity with JavaScript. +- Reading Pimlico's [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1) to get an understanding of Pimlico and how Lit might fit in as a signer. This will be relevant to later steps in the guide. +- Obtain a Lit relay server by filling out this [form](https://forms.gle/RNZYtGYTY9BcD9MEA). + + +### 1. Setup + +#### **Installing packages** + +```bash +npm install stytch @lit-protocol/pkp-ethers@cayenne @lit-protocol/lit-auth-client@cayenne @lit-protocol/auth-helpers@cayenne @lit-protocol/types@cayenne @lit-protocol/lit-node-client-nodejs@cayenne +``` + +#### **Make an account with Stytch and get the Project ID and Secret** + +You can sign up for a Stytch account [here](https://stytch.com/). + +Once you have an account, you can find your Project ID and Secret in the [Stytch Dashboard API Keys page](https://stytch.com/dashboard/api-keys). + +![Stytch dashboard image](/img/stytch_pimlico.png) + + +### 2. Create a Stytch client with your Project ID and Secret + +In a new JavaScript file create and initialize the Stytch client. + +```js +const stytchClient = new stytch.Client({ + project_id: "project-test-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", + secret: "secret-test-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +}); + +``` + +### 3. Send an OTP to the user's email, SMS, or Whatsapp + + + +```js +const stytchResponse = await stytchClient.otps.email.loginOrCreate({ + email: "", +}) +``` + + + + + +```js +const stytchResponse = await stytchClient.otps.sms.loginOrCreate({ + phone_number: "", +}) +``` + + + + + +```js +const stytchResponse = await stytchClient.otps.whatsapp.loginOrCreate({ + phone_number: "", +}) +``` + + + + + +### 4. Authenticate the user with the OTP and get a session token + + + + +```js +const authResponse = await stytchClient.otps.authenticate({ + method_id: stytchResponse.email_id, + code: otpResponse.code, + session_duration_minutes: 60 * 24 * 7, +}) + +const sessionStatus = await stytchClient.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + + + + +```js +const authResponse = await stytchClient.otps.authenticate({ + method_id: stytchResponse.phone_id, + code: otpResponse.code, + session_duration_minutes: 60 * 24 * 7, +}) + +const sessionStatus = await stytchClient.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + + + + +### 5. Get a Lit Relay Server API Key +Checking in! If you didn't complete the pre-req of getting a Lit relay key, you can get it by filling out this [form](https://forms.gle/RNZYtGYTY9BcD9MEA) and the Lit development team will get back to you shortly. + +You can also ping the Lit developement team on [Discord](https://litgateway.com/discord) once you fill out the form. + + +### 6. Mint a PKPs through Lit Protocol + +```js +const litClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +const session = litClient.initProvider(ProviderType.StytchOtp, { + userId: sessionStatus.session.user_id, + appId: "project-test-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" +}) + +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt +}) + +await session.mintPKPThroughRelayer(authMethod) +const pkps = await session.fetchPKPsThroughRelayer(authMethod) +``` + + +### 7. Generate the Controller Session Signatures + +```js +const litNodeClient = new LitNodeClientNodeJs({ + litNetwork: 'cayenne', + debug: false, +}) +await litNodeClient.connect(); + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +const sessionKeyPair = litNodeClient.getSessionKey(); + +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + sessionKey: sessionKeyPair, + statement: params.statement, + authMethods: [authMethod], + pkpPublicKey: pkp[pkp.length - 1].publicKey, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + sessionKey: sessionKeyPair, + authNeededCallback +}).catch((err) => { + console.log("error while attempting to access session signatures: ", err) + throw err; +}); +``` + + +### 8. Initialize the PKP Wallet +We will now generate a wallet that can act a regular Ethers.js wallet, but will use the PKPs minted through Lit to sign transactions under the hood. + +```js +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: pkp[pkp.length - 1].publicKey, + rpc: "", // e.g. https://rpc.ankr.com/eth_goerli + controllerSessionSigs: sessionSigs +}); + +await pkpWallet.init(); +``` + + +### 9. Use the PKP Wallet to sign user operations and send them through Pimlico + +You can now use the `pkpWallet` as a regular Ethers.js wallet to sign user operations. + +To submit a user operation to Pimlico, you can follow the steps to sponsor a user operation with Pimlico's verifying paymaster and/or submit a user operation through Pimlico's bundler. If you would like to integrate Lit with the full flow of generating, signing, and submitting a user operation, you can follow the steps in [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1), replacing the signing step with the PKP wallet and using `pkpWallet.address` as the owner address of the smart account. + +Modified from Plimlico's [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1), an example of how to use the PKP wallet to sign a user operation is shown below: + +```js +const signature = await pkpWallet.signMessage( + ethers.utils.arrayify(await entryPoint.getUserOpHash(userOperation)), +) + +userOperation.signature = signature +``` + +And an example of how you would generate the `initCode` for a [SimpleAccount](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/samples/SimpleAccount.sol) using the PKP wallet is shown below: + +```js +const initCode = ethers.utils.hexConcat([ + SIMPLE_ACCOUNT_FACTORY_ADDRESS, + simpleAccountFactory.interface.encodeFunctionData("createAccount", [pkpWallet.address, 0]), +]) +``` + + +## Next steps + +Continue exploring Lit by reading more about [programmable signing](../../concepts/programmable-signing-concept.md). + +Check out [more examples](https://docs.pimlico.io/tutorial) from Pimlico. diff --git a/sidebars.js b/sidebars.js index 1aadf8f2..96670b89 100644 --- a/sidebars.js +++ b/sidebars.js @@ -220,7 +220,8 @@ const sidebars = { }, collapsible: true, items: [ - "integrations/aa/alchemy-account-kit" + "integrations/aa/alchemy-account-kit", + "integrations/aa/pimlico", ], }, "integrations/ceramicExample", diff --git a/static/img/stytch_pimlico.png b/static/img/stytch_pimlico.png new file mode 100644 index 0000000000000000000000000000000000000000..706e5cfc8c00b82e99c9626f0a0ddefa4620c6a0 GIT binary patch literal 426570 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≪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%0D{8>xpG?VehjOA;64Fw{@Svl;% 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

26%^uEB8srG4GhX6**CwBL9ArCV7J} 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 Date: Fri, 13 Oct 2023 11:58:15 -0700 Subject: [PATCH 039/627] rename aa section to smart contract accounts --- sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 96670b89..9fb2c9de 100644 --- a/sidebars.js +++ b/sidebars.js @@ -213,7 +213,7 @@ const sidebars = { items: [ { type: "category", - label: "Account Abstraction", + label: "Smart Contract Accounts", link: { type: "doc", id: "integrations/aa/overview", From be257e99cd8962cc00047972ff568401483e9936 Mon Sep 17 00:00:00 2001 From: deb Date: Fri, 13 Oct 2023 15:31:12 -0700 Subject: [PATCH 040/627] Update Overview + What is Lit (#150) --- docs/intro/overview.mdx | 5 +++-- docs/intro/what-is-lit-protocol.md | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 3cbb5a5d..0ce73e2b 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -9,7 +9,8 @@ import LearnCodeSection from '@site/src/components/CardSectionsV3/LearnCode'; # Overview -Lit Protocol lets you create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing. A decentralized key management network, Lit can be used in place of centralized key custodians and other key management solutions. + +Lit Protocol lets developers and their users create and manage decentralized keys for condition-based encryption and programmatic signing for digital assets. The Lit network can be used in place of centralized key custodians and other key management solutions. Get started today! @@ -17,7 +18,7 @@ Get started today! **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://lit-js-sdk-v3-api-docs.vercel.app/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 7628a497..73c41cd1 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -5,7 +5,9 @@ sidebar_position: 2 # What is Lit Protocol -Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit provides developers with a comprehensive toolkit for managing sovereign identities on the open web. +Lit Protocol is a system for creating decentralized key management networks, powered by threshold cryptography and secure encrypted virtualization. The Lit network provides a generalizable key management layer for encryption, compute, and programmable signing. + +Developers can build on the Lit network with a comprehensive toolkit for managing digital assets and sovereign identities on the open web. ## Core Functionality @@ -13,7 +15,7 @@ Lit Protocol provides developers with two core services: 1. **Encryption and Access Control** : Lit enables the client-side encryption and decryption of data by utilizing on or off-chain conditions, without relying on a centralized key custodian. Get started with [encryption and access control](../sdk/access-control/intro.md). -2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](../sdk/wallets/intro.md). +2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are multiparty computation wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [programmatic signing](../sdk/wallets/intro.md). ## Use Cases From dc372dc58dd322880e78b99dc3659ca426a34be1 Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Mon, 16 Oct 2023 14:37:00 -0700 Subject: [PATCH 041/627] wip: styling --- .prettierignore | 12 + .prettierrc | 6 + docs/concepts/pkps-as-wallet.md | 2 +- docs/intro/overview.mdx | 36 + docs/resources/supported-chains.md | 1 + docs/sdk/authentication/session-sigs/intro.md | 2 +- docusaurus.config.js | 156 ++-- package.json | 9 +- src/components/HomepageComponents.jsx | 8 +- src/css/custom.css | 656 ++++++++++--- src/css/customOld.css | 213 +++++ src/css/normalize.css | 370 ++++++++ src/theme/Admonition/index.js | 212 +++++ src/theme/Admonition/styles.module.css | 48 + static/brand/favicon.ico | Bin 0 -> 15406 bytes static/brand/lit-fire.png | Bin 0 -> 3467 bytes static/icons/arrow-up-right.svg | 3 + static/img/favicon.png | Bin 5520 -> 0 bytes static/img/logo.svg | 1 - .../version-2.0/sdk/explanation/encryption.md | 2 +- yarn.lock | 861 ++++++++++-------- 21 files changed, 1999 insertions(+), 599 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 src/css/customOld.css create mode 100644 src/css/normalize.css create mode 100644 src/theme/Admonition/index.js create mode 100644 src/theme/Admonition/styles.module.css create mode 100644 static/brand/favicon.ico create mode 100644 static/brand/lit-fire.png create mode 100644 static/icons/arrow-up-right.svg delete mode 100644 static/img/favicon.png delete mode 100644 static/img/logo.svg diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..00b077d2 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,12 @@ +node_modules/ +dist/ +.prettierrc +blog/ +docs/ +Ecosystem/ +learningLab/ +not-docs/ +static/ +unusedPages/ +versioned_docs/ +versioned_sidebars/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..eee87f16 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "arrowParens": "avoid", + "trailingComma": "es5", + "singleQuote": true, + "semi": true +} diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 97680785..fea2d736 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -4,7 +4,7 @@ sidebar_position: 3 # MPC Wallets -:::note +:::warning **STATE OF THE NETWORK** Lit MPC wallets are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 3cbb5a5d..75fe10d5 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -22,6 +22,42 @@ To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: +:::tip + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::info + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::caution + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::danger + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 11916694..0adb1fd9 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -47,6 +47,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - publicGoodsNetwork - optimismGoerli - waevEclipseTestnet +- waevEclipseDevnet - solana - solanaDevnet - solanaTestnet diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index a0b1322f..4d65e846 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -119,4 +119,4 @@ URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6 #### Node Address -The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. \ No newline at end of file +The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. diff --git a/docusaurus.config.js b/docusaurus.config.js index fc289d3a..20ac1e8f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,53 +1,54 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion -const lightCodeTheme = require("prism-react-renderer/themes/github"); -const darkCodeTheme = require("prism-react-renderer/themes/dracula"); +const lightCodeTheme = require('prism-react-renderer/themes/github'); +const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { - title: "Lit Protocol", - tagline: "Blockchain based access control and programmatic signing for the web", - url: "https://developer.litprotocol.com", - baseUrl: "/", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - favicon: "img/favicon.png", - organizationName: "lit-protocol", // Usually your GitHub org/user name. - projectName: "@lit-protocol/js-sdk", // Usually your repo name. + title: 'Lit Protocol', + tagline: + 'Blockchain based access control and programmatic signing for the web', + url: 'https://developer.litprotocol.com', + baseUrl: '/', + onBrokenLinks: 'warn', + onBrokenMarkdownLinks: 'warn', + favicon: 'brand/favicon.ico', + organizationName: 'lit-protocol', // Usually your GitHub org/user name. + projectName: '@lit-protocol/js-sdk', // Usually your repo name. presets: [ [ - "@docusaurus/preset-classic", + '@docusaurus/preset-classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { breadcrumbs: false, - lastVersion: "2.0", - sidebarPath: require.resolve("./sidebars.js"), + lastVersion: '2.0', + sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. - editUrl: "https://github.com/LIT-Protocol/docs/tree/main", - routeBasePath: "/", + editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', + routeBasePath: '/', versions: { - "2.0": { + '2.0': { badge: true, - label: "v2.x.x", - path: "v2", - banner: "none", + label: 'v2.x.x', + path: 'v2', + banner: 'none', }, current: { badge: true, - label: "v3.x.x", - path: "v3", - banner: "unreleased", + label: 'v3.x.x', + path: 'v3', + banner: 'unreleased', }, }, }, theme: { - customCss: require.resolve("./src/css/custom.css"), + customCss: [require.resolve('./src/css/custom.css')], }, gtag: { - trackingID: "G-XK6E9ZB77S", + trackingID: 'G-XK6E9ZB77S', anonymizeIP: false, }, }), @@ -56,21 +57,21 @@ const config = { plugins: [ [ - "content-docs", + 'content-docs', { - id: "learningLab", - path: "learningLab", - routeBasePath: "learningLab", - sidebarPath: require.resolve("./sidebars-learning-lab.js"), + id: 'learningLab', + path: 'learningLab', + routeBasePath: 'learningLab', + sidebarPath: require.resolve('./sidebars-learning-lab.js'), }, ], [ - "content-docs", + 'content-docs', { - id: "Ecosystem", - path: "Ecosystem", - routeBasePath: "Ecosystem", - sidebarPath: require.resolve("./sidebars-ecosystem.js"), + id: 'Ecosystem', + path: 'Ecosystem', + routeBasePath: 'Ecosystem', + sidebarPath: require.resolve('./sidebars-ecosystem.js'), }, ], ], @@ -79,83 +80,80 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ navbar: { - title: "Lit Protocol", + title: 'Lit Protocol', logo: { - alt: "Lit Protocol", - src: "img/logo.svg", + alt: 'Lit Protocol', + src: 'brand/lit-fire.png', href: 'https://developer.litprotocol.com/v2/', }, items: [ { - type: "doc", - position: "left", - docId: "intro/overview", - label: "Docs", + type: 'doc', + position: 'left', + docId: 'intro/overview', + label: 'Docs', }, { - to: "learningLab/intro", - position: "left", - label: "Learning Lab", + to: 'learningLab/intro', + position: 'left', + label: 'Learning Lab', }, { - to: "ecosystem/lit-grants", - position: "left", - label: "Ecosystem", + to: 'ecosystem/lit-grants', + position: 'left', + label: 'Ecosystem', }, { - type: "docsVersionDropdown", - position: "right", + type: 'docsVersionDropdown', + position: 'right', }, { - href: "https://github.com/LIT-Protocol/js-sdk", - position: "right", - className: "header-github-link", - "aria-label": "Lit JS SDK GitHub repository", + href: 'https://github.com/LIT-Protocol/js-sdk', + position: 'right', + className: 'header-github-link', + 'aria-label': 'Lit JS SDK GitHub repository', }, ], }, footer: { + copyright: `Copyright © ${new Date().getFullYear()} Lit Association.`, links: [ { - title: "Community", + title: 'Community', items: [ - // { - // label: "Stack Overflow", - // href: "https://stackoverflow.com/questions/tagged/docusaurus", - // }, { - label: "Discord", - href: "https://litgateway.com/discord", + label: 'Discord', + href: 'https://litgateway.com/discord', }, { - label: "Twitter", - href: "https://twitter.com/litprotocol", + label: 'Twitter', + href: 'https://twitter.com/litprotocol', }, ], }, { - title: "More", + title: 'More', items: [ { - label: "Blog", - to: "https://spark.litprotocol.com/", + label: 'Blog', + to: 'https://spark.litprotocol.com/', }, { - label: "GitHub", - href: "https://github.com/LIT-Protocol/js-sdk", + label: 'GitHub', + href: 'https://github.com/LIT-Protocol/js-sdk', }, { - label: "API", - href: "https://js-sdk.litprotocol.com/index.html", + label: 'API', + href: 'https://js-sdk.litprotocol.com/index.html', }, ], }, { - title: "Contact", + title: 'Contact', items: [ { - label: "Support", - to: "/support", + label: 'Support', + to: '/support', }, ], }, @@ -166,18 +164,18 @@ const config = { darkTheme: darkCodeTheme, }, algolia: { - appId: "LBGPAMG3FY", - apiKey: "041874d52ec424d091674d198d792313", - indexName: "developer-litprotocol", + appId: 'LBGPAMG3FY', + apiKey: '041874d52ec424d091674d198d792313', + indexName: 'developer-litprotocol', }, }), scripts: [ { - src: "https://plausible.io/js/script.outbound-links.js", + src: 'https://plausible.io/js/script.outbound-links.js', defer: true, - "data-domain": "developer.litprotocol.com", + 'data-domain': 'developer.litprotocol.com', }, - { src: "/onLoad.js" }, + { src: '/onLoad.js' }, ], }; diff --git a/package.json b/package.json index 4a65ef8e..03607ed4 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,9 @@ "packageManager": "yarn@1.22.19", "dependencies": { "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-google-analytics": "^2.1.0", - "@docusaurus/preset-classic": "2.1.0", + "@docusaurus/core": "^2.4.3", + "@docusaurus/plugin-google-analytics": "^2.4.3", + "@docusaurus/preset-classic": "^2.4.3", "@lit-protocol/constants": "^2.2.54", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", @@ -45,6 +45,7 @@ ] }, "devDependencies": { - "husky": "^7.0.4" + "husky": "^7.0.4", + "prettier": "^3.0.3" } } diff --git a/src/components/HomepageComponents.jsx b/src/components/HomepageComponents.jsx index 62b987c8..12232e8b 100644 --- a/src/components/HomepageComponents.jsx +++ b/src/components/HomepageComponents.jsx @@ -31,11 +31,9 @@ export function HomepageCard({ id, icon, title, description, to }) { return ( {icon &&

} -
-
- {title} -
-
{description}
+
+
{title}
+ {description}
); diff --git a/src/css/custom.css b/src/css/custom.css index bfea8139..288763b7 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -5,40 +5,278 @@ */ /* You can override the default Infima variables here. */ + +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); + :root { - --ifm-color-primary: #9e77f3; - --primary-hover-overlay: rgba(158, 119, 243, 0.1); - --ifm-color-primary-dark: #8159d9; - --ifm-color-primary-darker: #5e36b7; - --ifm-color-primary-darkest: #2c0c72; - --ifm-color-primary-light: #8159d9; - --ifm-color-primary-lighter: #9e77f3; - --ifm-color-primary-lightest: #bfa1ff; - --ifm-navbar-item-padding-horizontal: 24px; - --ifm-heading-font-weight: 400; - /* --ifm-menu-color: var(--ifm-color-emphasis-700); */ - --ifm-menu-color-background-active: var(--primary-hover-overlay); - --ifm-breadcrumb-item-background-active: var(--primary-hover-overlay); - --ifm-footer-title-color: var(--ifm-color-emphasis-700); - --top-category-label-color: var(--ifm-color-emphasis-1000); - --footer-border-color: transparent; - --homepage-card-hover: rgba(191, 161, 255, 0.06); -} - -html[data-theme="dark"] { - --ifm-navbar-background-color: #111827; - --ifm-background-color: #111827; - --ifm-color-secondary-contrast-background: #1f2937; - --ifm-color-secondary-contrast-foreground: #cbd5e1; - --ifm-footer-background-color: var(--ifm-footer-background-color); - /* --top-category-label-color: var(--ifm-color-emphasis-400); */ - --ifm-menu-color: var(--ifm-color-emphasis-500); - --footer-border-color: var(--ifm-color-emphasis-200); - --homepage-card-hover: var(--primary-hover-overlay); + /** + * ---------- Lit Colors ---------- + */ + --lit-orange: #ff844f; + /** + * ---------- Base colors ---------- + */ + --ifm-color-black: #0b0d0f; + --ifm-color-gray-100: #f2f4f8; + --ifm-color-gray-200: #dde1e6; + --ifm-color-gray-300: #c1c7cd; + --ifm-color-gray-400: #a2a9b0; + --ifm-color-gray-500: #878d96; + --ifm-color-gray-600: #697077; + --ifm-color-gray-700: #4d5358; + --ifm-color-gray-800: #343a3f; + --ifm-color-gray-900: #21272a; + --ifm-color-gray-1000: #121619; + /** + * ---------- Accent colors ---------- + */ + /* --ifm-color-warning-contrast-background: #fffce5; + --ifm-color-warning-contrast-foreground: #803e13; */ + /** + * ---------- Global ---------- + */ + --ifm-background-color: var(--ifm-color-white); + --ifm-font-color-base: var(--ifm-color-gray-800); + --ifm-heading-color: var(--ifm-color-gray-900); + --ifm-color-content-secondary: var(--ifm-color-gray-700); + --ifm-global-radius: 0.375rem; + --ifm-scrollbar-track-background-color: var(--ifm-color-gray-100); + --ifm-scrollbar-thumb-background-color: var(--ifm-color-gray-200); + --ifm-scrollbar-thumb-hover-background-color: var(--ifm-color-gray-300); + /** + * ---------- Type system ---------- + */ + /* --lit-h1-font-size: 2.5rem; + --lit-h2-font-size: 2rem; + --lit-h3-font-size: 1.75rem; + --lit-h4-font-size: 1.5rem; + --lit-h5-font-size: 1.25rem; + --lit-h6-font-size: 1rem; */ + --lit-h1-font-size: 2rem; + --lit-h2-font-size: 1.75rem; + --lit-h3-font-size: 1.5rem; + --lit-h4-font-size: 1.25rem; + --lit-h5-font-size: 1.125rem; + --lit-h6-font-size: 1rem; + --ifm-font-family-base: 'Inter', sans-serif; + --ifm-h1-font-size: var(--lit-h1-font-size); + --ifm-h2-font-size: var(--lit-h2-font-size); + --ifm-h3-font-size: var(--lit-h3-font-size); + --ifm-h4-font-size: var(--lit-h4-font-size); + --ifm-h5-font-size: var(--lit-h5-font-size); + --ifm-h6-font-size: var(--lit-h6-font-size); + /** + * ---------- Navbar ---------- + */ + --ifm-navbar-height: 4rem; + --lit-navbar-background: linear-gradient( + to bottom, + rgba(255, 255, 255, 1), + rgba(255, 255, 255, 0.9) + ); + --lit-navbar-border-color: var(--ifm-color-gray-50); + /** + * ---------- Footer ---------- + */ + --ifm-footer-background-color: var(--ifm-background-color); + --lit-footer-border-color: var(--ifm-color-gray-200); + --ifm-footer-title-color: var(--ifm-heading-color); + --ifm-footer-link-color: var(--ifm-font-color-base); + --lit-footer-copyright-color: var(--ifm-color-gray-600); + /** + * ---------- Sidebar ---------- + */ + --ifm-menu-color: var(--ifm-font-color-base); + /** + * ---------- Table of Contents ---------- + */ + --ifm-toc-border-color: var(--ifm-color-gray-200); + /** + * ---------- List ---------- + */ + --ifm-list-item-margin: 0.5rem; + /** + * ---------- Link ---------- + */ + /* --ifm-link-color: var(--ifm-heading-color); */ + /* --ifm-link-decoration: underline; */ + /** + * ---------- Badge ---------- + */ + --ifm-badge-border-radius: 999px; + /** + * ---------- Alert ---------- + */ + /* --ifm-alert-border-radius: 0.5rem; + --ifm-alert-border-left-width: 0; + --ifm-alert-padding-vertical: 1.5rem; + --ifm-alert-shadow: none; */ + /** + * ---------- Pagination ---------- + */ + --lit-pagination-border-color: var(--ifm-color-gray-200); + /* --ifm-pagination-nav-color-hover: var(--ifm-font-color-base); */ +} + +html[data-theme='dark'] { + /** + * ---------- Accent colors ---------- + */ + /* --ifm-color-warning-contrast-background: rgba(255, 212, 12, 0.05); + --ifm-color-warning-contrast-foreground: #fffce5; */ + /** + * ---------- Global ---------- + */ + --ifm-background-color: var(--ifm-color-gray-1000); + --ifm-font-color-base: var(--ifm-color-gray-400); + --ifm-heading-color: var(--ifm-color-gray-200); + --ifm-color-content-secondary: var(--ifm-color-gray-400); + --ifm-hover-overlay: rgba(242, 244, 248, 0.05); + --ifm-scrollbar-track-background-color: var(--ifm-color-gray-900); + --ifm-scrollbar-thumb-background-color: var(--ifm-color-gray-800); + --ifm-scrollbar-thumb-hover-background-color: var(--ifm-color-gray-700); + /** + * ---------- Navbar ---------- + */ + --ifm-navbar-background-color: var(--ifm-background-color); + --lit-navbar-background: linear-gradient( + to bottom, + rgba(18, 22, 25, 1), + rgba(18, 22, 25, 0.9) + ); + --lit-navbar-border-color: var(--ifm-color-gray-900); + /** + * ---------- Footer ---------- + */ + --lit-footer-border-color: var(--ifm-color-gray-900); + --lit-footer-copyright-color: var(--ifm-color-gray-500); + /** + * ---------- Table of Contents ---------- + */ + --ifm-toc-border-color: var(--ifm-color-gray-900); + /** + * ---------- Code ---------- + */ + --ifm-code-background: rgba(242, 244, 248, 0.1); + /** + * ---------- Pagination ---------- + */ + --lit-pagination-border-color: var(--ifm-color-emphasis-200); +} + +/** +* ---------- Global ---------- +*/ +::selection { + background-color: rgba(255, 132, 79, 0.1); + color: var(--lit-orange); +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +/** +* ---------- Layout ---------- +*/ +.padding-top--md { + padding-top: 1.5rem !important; } +.margin-bottom--md { + margin-bottom: 1.5rem !important; +} + +@media only screen and (min-width: 997px) { + .container { + padding-left: 1.5rem; + padding-right: 1.5rem; + } +} + +@media only screen and (min-width: 1200px) { + .container { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .padding-top--md { + padding-top: 2.5rem !important; + } + + .margin-bottom--md { + margin-bottom: 2.5rem !important; + } +} + +/* + * ---------- Type system ---------- +*/ +.markdown > h1 { + --ifm-h1-font-size: var(--lit-h1-font-size); + margin-top: 2.5rem; + margin-bottom: 1.5rem; +} + +.markdown h1:first-child { + margin-top: 0; + margin-bottom: 1.5rem; +} + +.markdown > h2 { + --ifm-h2-font-size: var(--lit-h2-font-size); +} + +.markdown > h3 { + --ifm-h3-font-size: var(--lit-h3-font-size); + margin-top: 2rem; +} + +.markdown > h4 { + --ifm-h4-font-size: var(--lit-h4-font-size); + margin-top: 1.5rem; +} + +.markdown > h5 { + --ifm-h5-font-size: var(--lit-h5-font-size); + margin-top: 1.5rem; +} + +.markdown > h6 { + --ifm-h6-font-size: var(--lit-h6-font-size); + margin-top: 1.5rem; +} + +.markdown h1:first-child { + --ifm-h1-font-size: var(--lit-h1-font-size); +} + +/* +* ---------- Navbar ---------- +*/ .navbar { - border-bottom: 1px solid var(--ifm-color-emphasis-200); + background: var(--lit-navbar-background); + border-bottom: 1px solid var(--lit-navbar-border-color); +} + +.navbar__logo { + height: 1.5rem; +} + +.navbar__brand { + color: var(--ifm-heading-color); +} + +.header-github-link { + transition: opacity 0.2s ease-out; } .header-github-link:hover { @@ -54,12 +292,45 @@ html[data-theme="dark"] { no-repeat; } -[data-theme='dark'] .header-github-link::before { +html[data-theme='dark'] .header-github-link::before { background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") no-repeat; } -.category-not-collapsible > .menu__list { +/* +* ---------- Footer ---------- +*/ +.footer { + border-top: 1px solid var(--lit-footer-border-color); +} + +.footer .container { + padding-left: 1rem; + padding-right: 1rem; +} + +.footer__title { + font-size: 1rem; +} + +.footer__item { + margin-bottom: 0.5rem; +} + +.footer__link-item { + line-height: 1.5rem; +} + +.footer__copyright { + font-size: 0.875rem; + line-height: 1.25rem; + color: var(--lit-footer-copyright-color); +} + +/* +* ---------- Sidebar ---------- +*/ +/* .category-not-collapsible > .menu__list { padding-left: 0rem; } @@ -77,132 +348,301 @@ html[data-theme="dark"] { border: none; } -.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible .menu__link { - color: var(--top-category-label-color); +.theme-doc-sidebar-item-category-level-1 + > .menu__list-item-collapsible + .menu__link { + color: var(--ifm-heading-color); text-transform: uppercase; + font-size: 0.75rem; + line-height: 1rem; +} + +.menu__link { font-size: 0.875rem; line-height: 1.25rem; } -.footer { - border-top: 1px solid var(--footer-border-color); +@media only screen and (min-width: 997px) { + .menu__list > .theme-doc-sidebar-item-category-level-1 { + margin-right: 0.5rem; + } } -.footer__title { - font-weight: 500; +.navbar-sidebar__back { + font-size: 0.875rem; + line-height: 1.25rem; + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} */ + +/* +* ---------- Search bar and modal ---------- +*/ +html[data-theme='dark'] .DocSearch-Button { + --docsearch-searchbox-background: var(--ifm-color-gray-900); } -.docusaurus-highlight-code-line { - background-color: rgba(0, 0, 0, 0.1); - display: block; - margin: 0 calc(-1 * var(--ifm-pre-padding)); - padding: 0 var(--ifm-pre-padding); +html[data-theme='dark'] .DocSearch-Modal { + --docsearch-modal-background: var(--ifm-color-gray-1000); + --docsearch-muted-color: var(--ifm-color-gray-400); } -html[data-theme="dark"] .docusaurus-highlight-code-line { - background-color: rgba(0, 0, 0, 0.3); +html[data-theme='dark'] .DocSearch-Form { + --docsearch-searchbox-focus-background: var(--ifm-color-black); } -.markdown h1:first-child { - --ifm-h1-font-size: 2rem; +html[data-theme='dark'] .DocSearch-Footer { + --docsearch-footer-background: var(--ifm-color-gray-900); } -.markdown > h2 { - --ifm-h2-font-size: 1.5rem; - font-weight: 500; +html[data-theme='dark'] .DocSearch-Logo svg { + --docsearch-logo-color: var(--ifm-color-gray-300); } -.markdown > h3 { - --ifm-h3-font-size: 1.25rem; +.DocSearch-Logo .cls-1, +.DocSearch-Logo .cls-2 { + fill: var(--docsearch-logo-color); } -.section-content { - display: grid; - gap: 12px; - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); +html[data-theme='dark'] .DocSearch-Hit a { + --docsearch-hit-background: rgba(242, 244, 248, 0.05); } -.card-content { - display: flex; - flex-direction: column; - gap: 4px; - user-select: none; - transition: box-shadow .15s ease-out,transform .15s ease-out,opacity .15s ease-out; +html[data-theme] .DocSearch-Hit-source { + font-size: 0.875rem; + line-height: 2.5rem; } -.card-content .title { - font-size: 16px; - font-weight: 500; - letter-spacing: -.5px; - color: var(--ifm-font-color-base); +html[data-theme] .DocSearch-Hit-title { + font-size: 0.875rem; } -.card-content .description { - font-size: 14px; - letter-spacing: -.5px; - color: var(--ifm-font-color-base); +html[data-theme] .DocSearch-Hit-path { + font-size: 0.75rem; } -.card-content { - display: -webkit-flex; - display: -moz-flex; - display: -ms-flex; - display: -o-flex; - display: flex; - -webkit-flex-wrap: wrap; - -moz-flex-wrap: wrap; - -ms-flex-wrap: wrap; - -o-flex-wrap: wrap; - flex-wrap: wrap; - justify-content: flex-start; +html[data-theme] .DocSearch-HitsFooter { + font-size: 0.875rem; +} + +html[data-theme] .DocSearch-Title { + font-size: 1.125rem; +} + +html[data-theme] .DocSearch-Help, +html[data-theme] .DocSearch-Prefill { + font-size: 0.875rem; +} + +/* +* ---------- Table of Contents ---------- +*/ +.table-of-contents { + font-size: 0.875rem; +} + +/* .table-of-contents__link:hover, +.table-of-contents__link:hover code, +.table-of-contents__link--active, +.table-of-contents__link--active code { + color: var(--lit-orange); +} */ + +/* + * ---------- Badge ---------- +*/ +.badge { + font-size: 0.75rem; + margin-bottom: 1.5rem; + border: 1px solid var(--ifm-badge-border-color); +} + +.badge--secondary { + --ifm-badge-background-color: #ffe8cc; + --ifm-badge-border-color: #fd7e14; + color: #d9480f; +} + +/* +* ---------- Link ---------- +*/ +.markdown a:not(.hash-link) { + color: var(--ifm-heading-color); + font-weight: 500; + position: relative; +} + +.markdown a:not(.hash-link)::before { + content: ''; + position: absolute; + top: 100%; width: 100%; + left: 0; + height: 1px; + background: linear-gradient(to right, #ff844f, #fe6824); + transition: top 0.2s ease-out; +} + +.markdown a:not(.hash-link):hover { + text-decoration: none; +} + +.markdown a:not(.hash-link):hover::before { + top: calc(100% + 2px); +} + +/* +* ---------- Alerts ---------- +*/ + +.alert--secondary { + --ifm-color-secondary-contrast-background: rgba(255, 244, 230, 1); + --ifm-alert-icon-fill: rgba(253, 126, 20, 1); + --ifm-color-secondary-contrast-foreground: rgba(31, 0, 1, 1); + --ifm-alert-border-color: rgba(253, 126, 20, 1); + --ifm-alert-background-color-highlight: rgba(253, 126, 20, 0.15); +} + +.alert--success { + --ifm-alert-icon-fill: var(--ifm-color-success); +} + +.alert--info { + --ifm-alert-icon-fill: var(--ifm-color-info); +} + +.alert--warning { + --ifm-alert-icon-fill: var(--ifm-color-warning); +} + +.alert--danger { + --ifm-alert-icon-fill: var(--ifm-color-danger); +} + +/* html[data-theme='dark'] .alert { + --ifm-alert-border-width: 1px; + --ifm-alert-border-left-width: 1px; +} */ + +html[data-theme='dark'] .alert--secondary { + --ifm-color-secondary-contrast-background: rgba(217, 72, 15, 0.1); + --ifm-alert-border-color: rgba(247, 103, 7, 1); + --ifm-color-secondary-contrast-foreground: rgba(255, 244, 230, 1); + --ifm-alert-icon-fill: rgba(253, 126, 20, 1); + --ifm-alert-background-color-highlight: rgba(247, 103, 7, 0.15); + border-color: rgba(247, 103, 7, 0.3); +} + +html[data-theme='dark'] .alert--success { + --ifm-color-success-contrast-background: rgba(0, 49, 0, 0.15); + --ifm-alert-border-color: rgba(0, 148, 0, 1); + border-color: rgba(0, 148, 0, 0.3); +} + +html[data-theme='dark'] .alert--info { + --ifm-color-info-contrast-background: rgba(25, 60, 71, 0.15); + --ifm-alert-border-color: rgba(76, 179, 212, 1); + border-color: rgba(76, 179, 212, 0.3); +} + +html[data-theme='dark'] .alert--warning { + --ifm-color-warning-contrast-background: rgba(77, 56, 0, 0.15); + --ifm-alert-border-color: rgba(230, 167, 0, 1); + border-color: rgba(230, 167, 0, 0.3); +} + +html[data-theme='dark'] .alert--danger { + --ifm-color-danger-contrast-background: rgba(75, 17, 19, 0.2); + --ifm-alert-border-color: rgba(225, 50, 56, 1); + border-color: rgba(225, 50, 56, 0.4); +} + +/* +* ---------- Pagination ---------- +*/ +.pagination-nav__link { + border-color: var(--lit-pagination-border-color); +} + +.pagination-nav__sublabel { + font-size: 0.875rem; + margin-bottom: 0.375rem; +} + +.pagination-nav__label { + font-size: var(--ifm-h6-font-size); +} + +.pagination-nav__link--prev .pagination-nav__label::before { + content: '← '; +} + +.pagination-nav__link--next .pagination-nav__label::after { + content: ' →'; +} + +/* .pagination-nav__link { + color: var(--ifm-heading-color); +} + +.pagination-nav__link:hover { + color: var(--ifm-heading-color); +} */ + +/* +* ---------- Custom cards ---------- +*/ +.section-content { + display: grid; + gap: 12px; + grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); +} + +.homepage-section { + margin-top: 3rem; + margin-bottom: 3rem; } .homepage-card { --ifm-link-hover-color: inherit; align-items: flex-start; - border: 1px solid var(--ifm-color-emphasis-300); + border: 1px solid var(--lit-pagination-border-color); border-radius: 0.375rem; color: var(--ifm-font-color-base); cursor: pointer; display: flex; flex-direction: column; gap: 0.625rem; - padding: 0.75rem 1rem; - transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); + padding: 1rem; + transition: border-color var(--ifm-transition-fast) + var(--ifm-transition-timing-default); } .homepage-card:hover { text-decoration: none; background-color: var(--homepage-card-hover); - border-color: var(--ifm-color-primary-lightest); + border-color: var(--ifm-link-hover-color); } -.homepage-card:hover .card-content .title { +.homepage-card:hover .homepage-card__title { color: var(--ifm-link-hover-color); } -.homepage-section { - margin-top: 3rem; - margin-bottom: 3rem; - margin-left: 2px; +.homepage-card__title { + font-weight: 500; + margin-bottom: 0.5rem; } -@media only screen and (min-width: 996px) { - :root { - --ifm-spacing-horizontal: 1.5rem; - } - - .theme-doc-sidebar-menu { - padding-right: 0.5rem; - } - - .header-github-link { - padding-left: 8px; - } +.homepage-card__description { + font-size: 0.875rem; + color: var(--ifm-font-color-base); } -table { - width:100%; - display: table; -} \ No newline at end of file +.homepage-card__content { + display: flex; + flex-direction: column; + transition: + box-shadow 0.15s ease-out, + transform 0.15s ease-out, + opacity 0.15s ease-out; +} diff --git a/src/css/customOld.css b/src/css/customOld.css new file mode 100644 index 00000000..78ecd45a --- /dev/null +++ b/src/css/customOld.css @@ -0,0 +1,213 @@ +/** + * 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. + */ + +/* You can override the default Infima variables here. */ + +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); + +:root { + --ifm-font-family-base: 'Inter'; + + /* --ifm-color-primary: #9e77f3; + --primary-hover-overlay: rgba(158, 119, 243, 0.1); + --ifm-color-primary-dark: #8159d9; + --ifm-color-primary-darker: #5e36b7; + --ifm-color-primary-darkest: #2c0c72; + --ifm-color-primary-light: #8159d9; + --ifm-color-primary-lighter: #9e77f3; + --ifm-color-primary-lightest: #bfa1ff; + --ifm-navbar-item-padding-horizontal: 24px; */ + /* --ifm-heading-font-weight: 400; */ + /* --ifm-menu-color: var(--ifm-color-emphasis-700); */ + /* --ifm-menu-color-background-active: var(--primary-hover-overlay); + --ifm-breadcrumb-item-background-active: var(--primary-hover-overlay); + --ifm-footer-title-color: var(--ifm-color-emphasis-700); + --top-category-label-color: var(--ifm-color-emphasis-1000); + --footer-border-color: transparent; */ + /* --homepage-card-hover: rgba(191, 161, 255, 0.06); */ +} + +html[data-theme="dark"] { + /* --ifm-navbar-background-color: #111827; + --ifm-background-color: #111827; + --ifm-color-secondary-contrast-background: #1f2937; + --ifm-color-secondary-contrast-foreground: #cbd5e1; + --ifm-footer-background-color: var(--ifm-footer-background-color); */ + /* --top-category-label-color: var(--ifm-color-emphasis-400); */ + /* --ifm-menu-color: var(--ifm-color-emphasis-500); + --footer-border-color: var(--ifm-color-emphasis-200); + --homepage-card-hover: var(--primary-hover-overlay); */ +} + +/* .navbar { + border-bottom: 1px solid var(--ifm-color-emphasis-200); +} + +.header-github-link:hover { + opacity: 0.6; +} + +.header-github-link::before { + content: ''; + width: 24px; + height: 24px; + display: flex; + background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; +} + +[data-theme='dark'] .header-github-link::before { + background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; +} + +.category-not-collapsible > .menu__list { + padding-left: 0rem; +} + +.category-not-collapsible > .menu__list-item-collapsible:hover { + background: transparent; +} + +.menu__list > .theme-doc-sidebar-item-category-level-1 { + margin-bottom: 1rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--ifm-color-emphasis-200); +} + +.menu__list > .theme-doc-sidebar-item-category-level-1:last-of-type { + border: none; +} + +.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible .menu__link { + color: var(--top-category-label-color); + text-transform: uppercase; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.footer { + border-top: 1px solid var(--footer-border-color); +} + +.footer__title { + font-weight: 500; +} + +.docusaurus-highlight-code-line { + background-color: rgba(0, 0, 0, 0.1); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); +} + +html[data-theme="dark"] .docusaurus-highlight-code-line { + background-color: rgba(0, 0, 0, 0.3); +} + +.markdown h1:first-child { + --ifm-h1-font-size: 2rem; +} + +.markdown > h2 { + --ifm-h2-font-size: 1.5rem; + font-weight: 500; +} + +.markdown > h3 { + --ifm-h3-font-size: 1.25rem; +} + +.section-content { + display: grid; + gap: 12px; + grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); +} + +.card-content { + display: flex; + flex-direction: column; + gap: 4px; + user-select: none; + transition: box-shadow .15s ease-out,transform .15s ease-out,opacity .15s ease-out; +} + +.card-content .title { + font-size: 16px; + font-weight: 500; + letter-spacing: -.5px; + color: var(--ifm-font-color-base); +} + +.card-content .description { + font-size: 14px; + letter-spacing: -.5px; + color: var(--ifm-font-color-base); +} + +.card-content { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-wrap: wrap; + -moz-flex-wrap: wrap; + -ms-flex-wrap: wrap; + -o-flex-wrap: wrap; + flex-wrap: wrap; + justify-content: flex-start; + width: 100%; +} + +.homepage-card { + --ifm-link-hover-color: inherit; + align-items: flex-start; + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: 0.375rem; + color: var(--ifm-font-color-base); + cursor: pointer; + display: flex; + flex-direction: column; + gap: 0.625rem; + padding: 0.75rem 1rem; + transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); +} + +.homepage-card:hover { + text-decoration: none; + background-color: var(--homepage-card-hover); + border-color: var(--ifm-color-primary-lightest); +} + +.homepage-card:hover .card-content .title { + color: var(--ifm-link-hover-color); +} + +.homepage-section { + margin-top: 3rem; + margin-bottom: 3rem; + margin-left: 2px; +} + +@media only screen and (min-width: 996px) { + :root { + --ifm-spacing-horizontal: 1.5rem; + } + + .theme-doc-sidebar-menu { + padding-right: 0.5rem; + } + + .header-github-link { + padding-left: 8px; + } +} + +table { + width:100%; + display: table; +} */ \ No newline at end of file diff --git a/src/css/normalize.css b/src/css/normalize.css new file mode 100644 index 00000000..836ebebe --- /dev/null +++ b/src/css/normalize.css @@ -0,0 +1,370 @@ +/* +1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) +2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) +*/ + +*, +::before, +::after { + box-sizing: border-box; /* 1 */ + border-width: 0; /* 2 */ + border-style: solid; /* 2 */ + border-color: currentColor; /* 2 */ +} + +::before, +::after { + --tw-content: ''; +} + +/* +1. Use a consistent sensible line-height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +3. Use a more readable tab size. +4. Use the user's configured `sans` font-family by default. +5. Use the user's configured `sans` font-feature-settings by default. +*/ + +html { + line-height: 1.5; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + -moz-tab-size: 4; /* 3 */ + tab-size: 4; /* 3 */ + font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, + 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, + 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; /* 4 */ + font-feature-settings: normal; /* 5 */ +} + +/* +1. Remove the margin in all browsers. +2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. +*/ + +body { + margin: 0; /* 1 */ + line-height: inherit; /* 2 */ +} + +/* +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +3. Ensure horizontal rules are visible by default. +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ + border-top-width: 1px; /* 3 */ +} + +/* +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr:where([title]) { + text-decoration: underline dotted; +} + +/* +Remove the default font size and weight for headings. +*/ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/* +Reset links to optimize for opt-in styling instead of opt-out. +*/ + +a { + color: inherit; + text-decoration: inherit; +} + +/* +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/* +1. Use the user's configured `mono` font family by default. +2. Correct the odd `em` font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, + 'Liberation Mono', 'Courier New', monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/* +Prevent `sub` and `sup` elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +3. Remove gaps between table borders by default. +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ + border-collapse: collapse; /* 3 */ +} + +/* +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +3. Remove default padding in all browsers. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + font-weight: inherit; /* 1 */ + line-height: inherit; /* 1 */ + color: inherit; /* 1 */ + margin: 0; /* 2 */ + padding: 0; /* 3 */ +} + +/* +Remove the inheritance of text transform in Edge and Firefox. +*/ + +button, +select { + text-transform: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Remove default button styles. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; /* 1 */ + background-color: transparent; /* 2 */ + background-image: none; /* 2 */ +} + +/* +Use the modern Firefox focus style for all focusable elements. +*/ + +:-moz-focusring { + outline: auto; +} + +/* +Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/* +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/* +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/* +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/* +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/* +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to `inherit` in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/* +Removes the default spacing and border for appropriate elements. +*/ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +fieldset { + margin: 0; + padding: 0; +} + +legend { + padding: 0; +} + +ol, +ul, +menu { + list-style: none; + margin: 0; + padding: 0; +} + +/* +Prevent resizing textareas horizontally by default. +*/ + +textarea { + resize: vertical; +} + +/* +1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) +2. Set the default placeholder color to the user's configured gray 400 color. +*/ + +input::placeholder, +textarea::placeholder { + opacity: 1; /* 1 */ + color: #9ca3af; /* 2 */ +} + +/* +Set the default cursor for buttons. +*/ + +button, +[role='button'] { + cursor: pointer; +} + +/* +Make sure disabled buttons don't get the pointer cursor. +*/ +:disabled { + cursor: default; +} + +/* +1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) +2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) + This can trigger a poorly considered lint error in some tools but is included by design. +*/ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; /* 1 */ + vertical-align: middle; /* 2 */ +} + +/* +Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) +*/ + +img, +video { + max-width: 100%; + height: auto; +} + +/* Make elements with the HTML hidden attribute stay hidden by default */ +[hidden] { + display: none; +} diff --git a/src/theme/Admonition/index.js b/src/theme/Admonition/index.js new file mode 100644 index 00000000..f4519f18 --- /dev/null +++ b/src/theme/Admonition/index.js @@ -0,0 +1,212 @@ +import React from 'react'; +import clsx from 'clsx'; +import { ThemeClassNames } from '@docusaurus/theme-common'; +import Translate from '@docusaurus/Translate'; +import styles from './styles.module.css'; + +function NoteIcon() { + return ( + + + + ); +} +function TipIcon() { + return ( + + + + + ); +} +function DangerIcon() { + return ( + + + + ); +} +function InfoIcon() { + return ( + + + + ); +} +function CautionIcon() { + return ( + + + + ); +} +// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style +const AdmonitionConfigs = { + note: { + infimaClassName: 'secondary', + iconComponent: NoteIcon, + label: ( + + note + + ), + }, + tip: { + infimaClassName: 'success', + iconComponent: TipIcon, + label: ( + + tip + + ), + }, + danger: { + infimaClassName: 'danger', + iconComponent: DangerIcon, + label: ( + + danger + + ), + }, + info: { + infimaClassName: 'info', + iconComponent: InfoIcon, + label: ( + + info + + ), + }, + caution: { + infimaClassName: 'warning', + iconComponent: CautionIcon, + label: ( + + caution + + ), + }, +}; +// Legacy aliases, undocumented but kept for retro-compatibility +const aliases = { + secondary: 'note', + important: 'info', + success: 'tip', + warning: 'danger', +}; +function getAdmonitionConfig(unsafeType) { + const type = aliases[unsafeType] ?? unsafeType; + const config = AdmonitionConfigs[type]; + if (config) { + return config; + } + console.warn( + `No admonition config found for admonition type "${type}". Using Info as fallback.` + ); + return AdmonitionConfigs.info; +} +// Workaround because it's difficult in MDX v1 to provide a MDX title as props +// See https://github.com/facebook/docusaurus/pull/7152#issuecomment-1145779682 +function extractMDXAdmonitionTitle(children) { + const items = React.Children.toArray(children); + const mdxAdmonitionTitle = items.find( + item => + React.isValidElement(item) && item.props?.mdxType === 'mdxAdmonitionTitle' + ); + const rest = <>{items.filter(item => item !== mdxAdmonitionTitle)}; + return { + mdxAdmonitionTitle, + rest, + }; +} +function processAdmonitionProps(props) { + const { mdxAdmonitionTitle, rest } = extractMDXAdmonitionTitle( + props.children + ); + return { + ...props, + title: props.title ?? mdxAdmonitionTitle, + children: rest, + }; +} +export default function Admonition(props) { + const { + children, + type, + title, + icon: iconProp, + } = processAdmonitionProps(props); + const typeConfig = getAdmonitionConfig(type); + const titleLabel = title ?? typeConfig.label; + const { iconComponent: IconComponent } = typeConfig; + const icon = iconProp ?? ; + return ( +
+
+ {icon} + {titleLabel} +
+
{children}
+
+ ); +} diff --git a/src/theme/Admonition/styles.module.css b/src/theme/Admonition/styles.module.css new file mode 100644 index 00000000..266ad9b8 --- /dev/null +++ b/src/theme/Admonition/styles.module.css @@ -0,0 +1,48 @@ +.admonition { + --ifm-alert-border-radius: 0.5rem; + --ifm-alert-border-left-width: 0; + --ifm-alert-padding-vertical: 1.5rem; + --ifm-alert-shadow: none; + margin-top: 1.5rem; + margin-bottom: 1.5rem; + display: flex; + align-items: flex-start; +} + +html[data-theme='dark'] .admonition { + --ifm-alert-border-width: 1px; + --ifm-alert-border-left-width: 1px; +} + +.admonitionHeading { + font: var(--ifm-heading-font-weight) var(--ifm-h6-font-size) / + var(--ifm-heading-line-height) var(--ifm-heading-font-family); +} + +.admonitionHeading code { + text-transform: none; +} + +.admonitionIcon { + display: flex; + align-items: center; + justify-content: center; + margin-right: 1rem; +} + +.admonitionIcon svg { + height: 1.5rem; + width: 1.5rem; + fill: var(--ifm-alert-icon-fill); +} + +.admonitionContent > :last-child { + margin-bottom: 0; +} + +@media only screen and (min-width: 1200px) { + .admonition { + margin-top: 2.5rem; + margin-bottom: 2.5rem; + } +} diff --git a/static/brand/favicon.ico b/static/brand/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..31dd805422497ffc059eafd3e0738c076a7b844f GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/static/icons/arrow-up-right.svg b/static/icons/arrow-up-right.svg new file mode 100644 index 00000000..7d5a3c23 --- /dev/null +++ b/static/icons/arrow-up-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/static/img/favicon.png b/static/img/favicon.png deleted file mode 100644 index 87bc676560d55e8a0150bfd24c54a76bdbf33132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5520 zcmV;B6>sW^P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 \ No newline at end of file diff --git a/versioned_docs/version-2.0/sdk/explanation/encryption.md b/versioned_docs/version-2.0/sdk/explanation/encryption.md index 77dbf0a3..425eada4 100644 --- a/versioned_docs/version-2.0/sdk/explanation/encryption.md +++ b/versioned_docs/version-2.0/sdk/explanation/encryption.md @@ -92,7 +92,7 @@ const { encryptedString, symmetricKey } = await LitJsSdk.encryptString( **Note**: `encryptedString` will be a Blob and `symmetricKey` will be a Uint8Array. -#### **Saving the Encrypted Content to the Lit Nodes** +#### Saving the Encrypted Content to the Lit Nodes Now, we can save the encryption key with the access control condition, which tells Lit Protocol that users that meet this access control condition should be able to decrypt. diff --git a/yarn.lock b/yarn.lock index d51e979a..52ee2408 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,133 +2,141 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz" - integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7" + integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== dependencies: - "@algolia/autocomplete-shared" "1.7.1" + "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-preset-algolia@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz" - integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== +"@algolia/autocomplete-plugin-algolia-insights@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@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.7.1" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-shared@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz" - integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/cache-browser-local-storage@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz" - integrity sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA== +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@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.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz#357318242fc542ffce41d6eb5b4a9b402921b0bb" + integrity sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ== dependencies: - "@algolia/cache-common" "4.14.2" + "@algolia/cache-common" "4.20.0" -"@algolia/cache-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz" - integrity sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg== +"@algolia/cache-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz#ec52230509fce891091ffd0d890618bcdc2fa20d" + integrity sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ== -"@algolia/cache-in-memory@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz" - integrity sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ== +"@algolia/cache-in-memory@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@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.14.2" + "@algolia/cache-common" "4.20.0" -"@algolia/client-account@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz" - integrity sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w== +"@algolia/client-account@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz#23ce0b4cffd63100fb7c1aa1c67a4494de5bd645" + integrity sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/client-common" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-analytics@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz" - integrity sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ== +"@algolia/client-analytics@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz#0aa6bef35d3a41ac3991b3f46fcd0bf00d276fa9" + integrity sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz" - integrity sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q== +"@algolia/client-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz#ca60f04466515548651c4371a742fbb8971790ef" + integrity sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ== dependencies: - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-personalization@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz" - integrity sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw== +"@algolia/client-personalization@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz#ca81308e8ad0db3b27458b78355f124f29657181" + integrity sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/client-common" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-search@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz" - integrity sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw== +"@algolia/client-search@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz#3bcce817ca6caedc835e0eaf6f580e02ee7c3e15" + integrity sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@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.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz" - integrity sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA== +"@algolia/logger-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz#f148ddf67e5d733a06213bebf7117cb8a651ab36" + integrity sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ== -"@algolia/logger-console@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz" - integrity sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g== +"@algolia/logger-console@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz#ac443d27c4e94357f3063e675039cef0aa2de0a7" + integrity sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA== dependencies: - "@algolia/logger-common" "4.14.2" + "@algolia/logger-common" "4.20.0" -"@algolia/requester-browser-xhr@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz" - integrity sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw== +"@algolia/requester-browser-xhr@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz#db16d0bdef018b93b51681d3f1e134aca4f64814" + integrity sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw== dependencies: - "@algolia/requester-common" "4.14.2" + "@algolia/requester-common" "4.20.0" -"@algolia/requester-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz" - integrity sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg== +"@algolia/requester-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz#65694b2263a8712b4360fef18680528ffd435b5c" + integrity sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng== -"@algolia/requester-node-http@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz" - integrity sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg== +"@algolia/requester-node-http@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz#b52b182b52b0b16dec4070832267d484a6b1d5bb" + integrity sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng== dependencies: - "@algolia/requester-common" "4.14.2" + "@algolia/requester-common" "4.20.0" -"@algolia/transporter@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz" - integrity sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ== +"@algolia/transporter@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz#7e5b24333d7cc9a926b2f6a249f87c2889b944a9" + integrity sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg== dependencies: - "@algolia/cache-common" "4.14.2" - "@algolia/logger-common" "4.14.2" - "@algolia/requester-common" "4.14.2" + "@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.0" @@ -1139,13 +1147,20 @@ core-js-pure "^3.25.1" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": version "7.19.4" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz" integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.20.13": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" + integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.12.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" @@ -1185,25 +1200,25 @@ resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@docsearch/css@3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.2.1.tgz" - integrity sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g== +"@docsearch/css@3.5.2": + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== "@docsearch/react@^3.1.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.2.1.tgz" - integrity sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ== + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" + integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== dependencies: - "@algolia/autocomplete-core" "1.7.1" - "@algolia/autocomplete-preset-algolia" "1.7.1" - "@docsearch/css" "3.2.1" - algoliasearch "^4.0.0" + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" -"@docusaurus/core@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" - integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== +"@docusaurus/core@2.4.3", "@docusaurus/core@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz#d86624901386fd8164ce4bff9cc7f16fde57f523" + integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1215,13 +1230,13 @@ "@babel/runtime" "^7.18.6" "@babel/runtime-corejs3" "^7.18.6" "@babel/traverse" "^7.18.8" - "@docusaurus/cssnano-preset" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/cssnano-preset" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" autoprefixer "^10.4.7" @@ -1242,7 +1257,7 @@ del "^6.1.1" detect-port "^1.3.0" escape-html "^1.0.3" - eta "^1.12.3" + eta "^2.0.0" file-loader "^6.2.0" fs-extra "^10.1.0" html-minifier-terser "^6.1.0" @@ -1277,33 +1292,33 @@ webpack-merge "^5.8.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" - integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== +"@docusaurus/cssnano-preset@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz#1d7e833c41ce240fcc2812a2ac27f7b862f32de0" + integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== dependencies: cssnano-preset-advanced "^5.3.8" postcss "^8.4.14" postcss-sort-media-queries "^4.2.1" tslib "^2.4.0" -"@docusaurus/logger@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" - integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== +"@docusaurus/logger@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz#518bbc965fb4ebe8f1d0b14e5f4161607552d34c" + integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== dependencies: chalk "^4.1.2" tslib "^2.4.0" -"@docusaurus/mdx-loader@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" - integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== +"@docusaurus/mdx-loader@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz#e8ff37f30a060eaa97b8121c135f74cb531a4a3e" + integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" - "@docusaurus/logger" "2.1.0" - "@docusaurus/utils" "2.1.0" + "@docusaurus/logger" "2.4.3" + "@docusaurus/utils" "2.4.3" "@mdx-js/mdx" "^1.6.22" escape-html "^1.0.3" file-loader "^6.2.0" @@ -1318,13 +1333,13 @@ url-loader "^4.1.1" webpack "^5.73.0" -"@docusaurus/module-type-aliases@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" - integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== +"@docusaurus/module-type-aliases@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.4.3.tgz#d08ef67e4151e02f352a2836bcf9ecde3b9c56ac" + integrity sha512-cwkBkt1UCiduuvEAo7XZY01dJfRn7UR/75mBgOdb1hKknhrabJZ8YH+7savd/y9kLExPyrhe0QwdS9GuzsRRIA== dependencies: "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/types" "2.1.0" + "@docusaurus/types" "2.4.3" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1332,18 +1347,18 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" -"@docusaurus/plugin-content-blog@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" - integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-content-blog@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.3.tgz#6473b974acab98e967414d8bbb0d37e0cedcea14" + integrity sha512-PVhypqaA0t98zVDpOeTqWUTvRqCEjJubtfFUQ7zJNYdbYTbS/E/ytq6zbLVsN/dImvemtO/5JQgjLxsh8XLo8Q== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^10.1.0" @@ -1354,18 +1369,18 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-docs@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" - integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/module-type-aliases" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-content-docs@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.4.3.tgz#aa224c0512351e81807adf778ca59fd9cd136973" + integrity sha512-N7Po2LSH6UejQhzTCsvuX5NOzlC+HiXOVvofnEPj0WhMu1etpLEXE6a4aTxrtg95lQ5kf0xUIdjX9sh3d3G76A== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/module-type-aliases" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" "@types/react-router-config" "^5.0.6" combine-promises "^1.1.0" fs-extra "^10.1.0" @@ -1376,84 +1391,95 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-pages@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" - integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-content-pages@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.4.3.tgz#7f285e718b53da8c8d0101e70840c75b9c0a1ac0" + integrity sha512-txtDVz7y3zGk67q0HjG0gRttVPodkHqE0bpJ+7dOaTH40CQFLSh7+aBeGnPOTl+oCPG+hxkim4SndqPqXjQ8Bg== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" fs-extra "^10.1.0" tslib "^2.4.0" webpack "^5.73.0" -"@docusaurus/plugin-debug@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" - integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== +"@docusaurus/plugin-debug@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.4.3.tgz#2f90eb0c9286a9f225444e3a88315676fe02c245" + integrity sha512-LkUbuq3zCmINlFb+gAd4ZvYr+bPAzMC0hwND4F7V9bZ852dCX8YoWyovVUBKq4er1XsOwSQaHmNGtObtn8Av8Q== dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" fs-extra "^10.1.0" react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@2.1.0", "@docusaurus/plugin-google-analytics@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" - integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== +"@docusaurus/plugin-google-analytics@2.4.3", "@docusaurus/plugin-google-analytics@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz#0d19993136ade6f7a7741251b4f617400d92ab45" + integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" tslib "^2.4.0" -"@docusaurus/plugin-google-gtag@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" - integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== +"@docusaurus/plugin-google-gtag@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.4.3.tgz#e1a80b0696771b488562e5b60eff21c9932d9e1c" + integrity sha512-5FMg0rT7sDy4i9AGsvJC71MQrqQZwgLNdDetLEGDHLfSHLvJhQbTCUGbGXknUgWXQJckcV/AILYeJy+HhxeIFA== dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" tslib "^2.4.0" -"@docusaurus/plugin-sitemap@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" - integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-google-tag-manager@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.4.3.tgz#e41fbf79b0ffc2de1cc4013eb77798cff0ad98e3" + integrity sha512-1jTzp71yDGuQiX9Bi0pVp3alArV0LSnHXempvQTxwCGAEzUWWaBg4d8pocAlTpbP9aULQQqhgzrs8hgTRPOM0A== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" + tslib "^2.4.0" + +"@docusaurus/plugin-sitemap@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.4.3.tgz#1b3930900a8f89670ce7e8f83fb4730cd3298c32" + integrity sha512-LRQYrK1oH1rNfr4YvWBmRzTL0LN9UAPxBbghgeFRBm5yloF6P+zv1tm2pe2hQTX/QP5bSKdnajCvfnScgKXMZQ== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" fs-extra "^10.1.0" sitemap "^7.1.1" tslib "^2.4.0" -"@docusaurus/preset-classic@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" - integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/plugin-content-blog" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/plugin-content-pages" "2.1.0" - "@docusaurus/plugin-debug" "2.1.0" - "@docusaurus/plugin-google-analytics" "2.1.0" - "@docusaurus/plugin-google-gtag" "2.1.0" - "@docusaurus/plugin-sitemap" "2.1.0" - "@docusaurus/theme-classic" "2.1.0" - "@docusaurus/theme-common" "2.1.0" - "@docusaurus/theme-search-algolia" "2.1.0" - "@docusaurus/types" "2.1.0" +"@docusaurus/preset-classic@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.4.3.tgz#074c57ebf29fa43d23bd1c8ce691226f542bc262" + integrity sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/plugin-content-blog" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/plugin-content-pages" "2.4.3" + "@docusaurus/plugin-debug" "2.4.3" + "@docusaurus/plugin-google-analytics" "2.4.3" + "@docusaurus/plugin-google-gtag" "2.4.3" + "@docusaurus/plugin-google-tag-manager" "2.4.3" + "@docusaurus/plugin-sitemap" "2.4.3" + "@docusaurus/theme-classic" "2.4.3" + "@docusaurus/theme-common" "2.4.3" + "@docusaurus/theme-search-algolia" "2.4.3" + "@docusaurus/types" "2.4.3" "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" @@ -1463,27 +1489,27 @@ "@types/react" "*" prop-types "^15.6.2" -"@docusaurus/theme-classic@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" - integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/module-type-aliases" "2.1.0" - "@docusaurus/plugin-content-blog" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/plugin-content-pages" "2.1.0" - "@docusaurus/theme-common" "2.1.0" - "@docusaurus/theme-translations" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/theme-classic@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.4.3.tgz#29360f2eb03a0e1686eb19668633ef313970ee8f" + integrity sha512-QKRAJPSGPfDY2yCiPMIVyr+MqwZCIV2lxNzqbyUW0YkrlmdzzP3WuQJPMGLCjWgQp/5c9kpWMvMxjhpZx1R32Q== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/module-type-aliases" "2.4.3" + "@docusaurus/plugin-content-blog" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/plugin-content-pages" "2.4.3" + "@docusaurus/theme-common" "2.4.3" + "@docusaurus/theme-translations" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" "@mdx-js/react" "^1.6.22" clsx "^1.2.1" copy-text-to-clipboard "^3.0.1" - infima "0.2.0-alpha.42" + infima "0.2.0-alpha.43" lodash "^4.17.21" nprogress "^0.2.0" postcss "^8.4.14" @@ -1494,17 +1520,18 @@ tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-common@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" - integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== - dependencies: - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/module-type-aliases" "2.1.0" - "@docusaurus/plugin-content-blog" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/plugin-content-pages" "2.1.0" - "@docusaurus/utils" "2.1.0" +"@docusaurus/theme-common@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.4.3.tgz#bb31d70b6b67d0bdef9baa343192dcec49946a2e" + integrity sha512-7KaDJBXKBVGXw5WOVt84FtN8czGWhM0lbyWEZXGp8AFfL6sZQfRTluFp4QriR97qwzSyOfQb+nzcDZZU4tezUw== + dependencies: + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/module-type-aliases" "2.4.3" + "@docusaurus/plugin-content-blog" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/plugin-content-pages" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1512,42 +1539,43 @@ parse-numeric-range "^1.3.0" prism-react-renderer "^1.3.5" tslib "^2.4.0" + use-sync-external-store "^1.2.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" - integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== +"@docusaurus/theme-search-algolia@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.4.3.tgz#32d4cbefc3deba4112068fbdb0bde11ac51ece53" + integrity sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q== dependencies: "@docsearch/react" "^3.1.1" - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/theme-common" "2.1.0" - "@docusaurus/theme-translations" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/theme-common" "2.4.3" + "@docusaurus/theme-translations" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" algoliasearch "^4.13.1" algoliasearch-helper "^3.10.0" clsx "^1.2.1" - eta "^1.12.3" + eta "^2.0.0" fs-extra "^10.1.0" lodash "^4.17.21" tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" - integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== +"@docusaurus/theme-translations@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.4.3.tgz#91ac73fc49b8c652b7a54e88b679af57d6ac6102" + integrity sha512-H4D+lbZbjbKNS/Zw1Lel64PioUAIT3cLYYJLUf3KkuO/oc9e0QCVhIYVtUI2SfBCF2NNdlyhBDQEEMygsCedIg== dependencies: fs-extra "^10.1.0" tslib "^2.4.0" -"@docusaurus/types@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" - integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== +"@docusaurus/types@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz#4aead281ca09f721b3c0a9b926818450cfa3db31" + integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -1558,31 +1586,32 @@ webpack "^5.73.0" webpack-merge "^5.8.0" -"@docusaurus/utils-common@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" - integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== +"@docusaurus/utils-common@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz#30656c39ef1ce7e002af7ba39ea08330f58efcfb" + integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== dependencies: tslib "^2.4.0" -"@docusaurus/utils-validation@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" - integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== +"@docusaurus/utils-validation@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz#8122c394feef3e96c73f6433987837ec206a63fb" + integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== dependencies: - "@docusaurus/logger" "2.1.0" - "@docusaurus/utils" "2.1.0" + "@docusaurus/logger" "2.4.3" + "@docusaurus/utils" "2.4.3" joi "^17.6.0" js-yaml "^4.1.0" tslib "^2.4.0" -"@docusaurus/utils@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" - integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== +"@docusaurus/utils@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz#52b000d989380a2125831b84e3a7327bef471e89" + integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== dependencies: - "@docusaurus/logger" "2.1.0" + "@docusaurus/logger" "2.4.3" "@svgr/webpack" "^6.2.1" + escape-string-regexp "^4.0.0" file-loader "^6.2.0" fs-extra "^10.1.0" github-slugger "^1.4.0" @@ -2555,7 +2584,7 @@ "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/parse-json@^4.0.0": @@ -2589,27 +2618,27 @@ integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/react-router-config@*", "@types/react-router-config@^5.0.6": - version "5.0.6" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz" - integrity sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg== + version "5.0.7" + resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.7.tgz#36207a3fe08b271abee62b26993ee932d13cbb02" + integrity sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w== dependencies: "@types/history" "^4.7.11" "@types/react" "*" - "@types/react-router" "*" + "@types/react-router" "^5.1.0" "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + resolved "https://registry.npmjs.org/@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@*": - version "5.1.19" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz" - integrity sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA== +"@types/react-router@*", "@types/react-router@^5.1.0": + version "5.1.20" + resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -2630,7 +2659,7 @@ "@types/sax@^1.2.1": version "1.2.4" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz" + resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e" integrity sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw== dependencies: "@types/node" "*" @@ -2898,31 +2927,31 @@ ajv@^8.0.0, ajv@^8.8.0: uri-js "^4.2.2" algoliasearch-helper@^3.10.0: - version "3.11.1" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz" - integrity sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw== + version "3.14.2" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.14.2.tgz#c34cfe6cefcfecd65c60bcb8bf9b68134472d28c" + integrity sha512-FjDSrjvQvJT/SKMW74nPgFpsoPUwZCzGbCqbp8HhBFfSk/OvNFxzCaCmuO0p7AWeLy1gD+muFwQEkBwcl5H4pg== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.0.0, algoliasearch@^4.13.1: - version "4.14.2" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz" - integrity sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg== - dependencies: - "@algolia/cache-browser-local-storage" "4.14.2" - "@algolia/cache-common" "4.14.2" - "@algolia/cache-in-memory" "4.14.2" - "@algolia/client-account" "4.14.2" - "@algolia/client-analytics" "4.14.2" - "@algolia/client-common" "4.14.2" - "@algolia/client-personalization" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/logger-common" "4.14.2" - "@algolia/logger-console" "4.14.2" - "@algolia/requester-browser-xhr" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/requester-node-http" "4.14.2" - "@algolia/transporter" "4.14.2" +algoliasearch@^4.13.1, algoliasearch@^4.19.1: + version "4.20.0" + resolved "https://registry.npmjs.org/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.0, ansi-align@^3.0.1: version "3.0.1" @@ -2980,7 +3009,7 @@ apg-js@^4.1.1: arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: @@ -3023,7 +3052,7 @@ array.prototype.reduce@^1.0.4: asap@~2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== at-least-node@^1.0.0: @@ -3118,7 +3147,7 @@ balanced-match@^1.0.0: base16@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== batch@0.6.1: @@ -3360,7 +3389,7 @@ character-reference-invalid@^1.0.0: cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -3372,7 +3401,7 @@ cheerio-select@^2.1.0: cheerio@^1.0.0-rc.12: version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" @@ -3628,9 +3657,9 @@ cookie@0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-text-to-clipboard@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" - integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== + version "3.2.0" + resolved "https://registry.npmjs.org/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" @@ -3689,11 +3718,11 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: yaml "^1.10.0" cross-fetch@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + version "3.1.8" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== dependencies: - node-fetch "2.6.7" + node-fetch "^2.6.12" cross-spawn@^7.0.3: version "7.0.3" @@ -3768,7 +3797,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== dependencies: boolbase "^1.0.0" @@ -4039,7 +4068,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -4063,9 +4092,9 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: +domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" @@ -4088,13 +4117,13 @@ domutils@^2.5.2, domutils@^2.8.0: domhandler "^4.2.0" domutils@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" - integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + version "3.1.0" + resolved "https://registry.npmjs.org/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.1" + domhandler "^5.0.3" dot-case@^3.0.4: version "3.0.4" @@ -4194,7 +4223,12 @@ entities@^2.0.0: resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +entities@^4.3.0: version "4.4.0" resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== @@ -4315,10 +4349,10 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eta@^1.12.3: - version "1.12.3" - resolved "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz" - integrity sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg== +eta@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" + integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== etag@~1.8.1: version "1.8.1" @@ -4487,20 +4521,20 @@ faye-websocket@^0.11.3: fbemitter@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== dependencies: fbjs "^3.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz" - integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + version "3.0.5" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" + integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== dependencies: cross-fetch "^3.1.5" fbjs-css-vars "^1.0.0" @@ -4508,11 +4542,11 @@ fbjs@^3.0.0, fbjs@^3.0.1: object-assign "^4.1.0" promise "^7.1.1" setimmediate "^1.0.5" - ua-parser-js "^0.7.30" + ua-parser-js "^1.0.35" feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" @@ -4583,9 +4617,9 @@ find-up@^5.0.0: path-exists "^4.0.0" flux@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz" - integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== + version "4.0.4" + resolved "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" + integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== dependencies: fbemitter "^3.0.0" fbjs "^3.0.1" @@ -5075,14 +5109,14 @@ htmlparser2@^6.1.0: entities "^2.0.0" htmlparser2@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" - integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + version "8.0.2" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: domelementtype "^2.3.0" - domhandler "^5.0.2" + domhandler "^5.0.3" domutils "^3.0.1" - entities "^4.3.0" + entities "^4.4.0" http-cache-semantics@^4.0.0: version "4.1.0" @@ -5202,10 +5236,10 @@ indent-string@^4.0.0: resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infima@0.2.0-alpha.42: - version "0.2.0-alpha.42" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" - integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== +infima@0.2.0-alpha.43: + version "0.2.0-alpha.43" + resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz#f7aa1d7b30b6c08afef441c726bac6150228cbe0" + integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== inflight@^1.0.4: version "1.0.6" @@ -5742,7 +5776,7 @@ locate-path@^6.0.0: lodash.curry@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== lodash.debounce@^4.0.8: @@ -5752,7 +5786,7 @@ lodash.debounce@^4.0.8: lodash.flow@^3.3.0: version "3.5.0" - resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== lodash.memoize@^4.1.2: @@ -6028,6 +6062,11 @@ nanoid@^3.3.4: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" @@ -6053,10 +6092,10 @@ node-emoji@^1.10.0: dependencies: lodash "^4.17.21" -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" @@ -6099,7 +6138,7 @@ npm-run-path@^4.0.1: nprogress@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^1.0.2: @@ -6314,12 +6353,12 @@ parse-json@^5.0.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + resolved "https://registry.npmjs.org/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.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== dependencies: domhandler "^5.0.2" @@ -6331,9 +6370,9 @@ parse5@^6.0.0: integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^7.0.0: - version "7.1.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz" - integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== + version "7.1.2" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" @@ -6707,7 +6746,16 @@ postcss-zindex@^5.1.0: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: +postcss@^8.3.11: + version "8.4.30" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7" + integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: version "8.4.18" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz" integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== @@ -6721,6 +6769,11 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== +prettier@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" + integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" @@ -6741,7 +6794,7 @@ prism-react-renderer@^1.2.1, prism-react-renderer@^1.3.5: prismjs@^1.28.0: version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== process-nextick-args@~2.0.0: @@ -6751,7 +6804,7 @@ process-nextick-args@~2.0.0: promise@^7.1.1: version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" @@ -6815,7 +6868,7 @@ pupa@^2.1.1: pure-color@^1.2.0: version "1.3.0" - resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== q@^1.1.2: @@ -6881,7 +6934,7 @@ rc@1.2.8, rc@^1.2.8: react-base16-styling@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== dependencies: base16 "^1.0.0" @@ -6956,7 +7009,7 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: react-json-view@^1.21.3: version "1.21.3" - resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== dependencies: flux "^4.0.1" @@ -6966,7 +7019,7 @@ react-json-view@^1.21.3: react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-loadable-ssr-addon-v5-slorber@^1.0.1: @@ -7012,11 +7065,11 @@ react-router@5.3.4, react-router@^5.3.3: tiny-warning "^1.0.0" react-textarea-autosize@^8.3.2: - version "8.3.4" - resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz" - integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ== + version "8.5.3" + resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" + integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== dependencies: - "@babel/runtime" "^7.10.2" + "@babel/runtime" "^7.20.13" use-composed-ref "^1.3.0" use-latest "^1.2.1" @@ -7059,7 +7112,7 @@ readdirp@~3.6.0: reading-time@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== rechoir@^0.6.2: @@ -7093,6 +7146,11 @@ regenerator-runtime@^0.13.4: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" @@ -7290,7 +7348,7 @@ rtl-detect@^1.0.4: rtlcss@^3.5.0: version "3.5.0" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" + resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== dependencies: find-up "^5.0.0" @@ -7500,7 +7558,7 @@ serve-static@1.15.0: setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: @@ -7581,7 +7639,7 @@ sisteransi@^1.0.5: sitemap@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" @@ -7798,7 +7856,7 @@ strip-final-newline@^2.0.0: strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: @@ -7964,7 +8022,7 @@ totalist@^1.0.0: tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-trailing-lines@^1.0.0: @@ -8017,10 +8075,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -ua-parser-js@^0.7.30: - version "0.7.32" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz" - integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== +ua-parser-js@^1.0.35: + version "1.0.36" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c" + integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw== unbox-primitive@^1.0.2: version "1.0.2" @@ -8220,21 +8278,26 @@ url-parse-lax@^3.0.0: use-composed-ref@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" + resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== use-isomorphic-layout-effect@^1.1.1: version "1.1.2" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" + resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== use-latest@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" + resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== dependencies: use-isomorphic-layout-effect "^1.1.1" +use-sync-external-store@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -8341,7 +8404,7 @@ web-namespaces@^1.0.0: webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webpack-bundle-analyzer@^4.5.0: @@ -8474,7 +8537,7 @@ websocket-extensions@>=0.1.1: whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -8579,7 +8642,7 @@ xdg-basedir@^4.0.0: xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" From 34dd61e22453c35a9c3265392f2ff89c09f58e7c Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Mon, 16 Oct 2023 14:45:35 -0700 Subject: [PATCH 042/627] feat: add workaround for nextjs node err --- docs/migration/overview.md | 25 +++++++++++++++++++++++++ static/img/v3/nextjs-node-error.png | Bin 0 -> 122636 bytes 2 files changed, 25 insertions(+) create mode 100644 static/img/v3/nextjs-node-error.png diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 5536a1f6..22f40c4f 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -232,6 +232,31 @@ THe following methods have their names updated in `@lit-protocol/encryption` and All method interfaces in `@lit-protocol/encryption` have been updated. +## Troubleshooting + +### Using Next.js + +If you are using **Next.js ^12**, you may encounter the following [error](https://github.com/vercel/next.js/issues/28774): + +![image](../static/img/v3/nextjs-node-error.png) + +Implement the [following workaround](https://github.com/vercel/next.js/issues/28774#issuecomment-1264555395) in `next.config.js`: + +```javascript +module.exports = { + // Your Next.js config + // ... + webpack: (config, options) => { + config.plugins.push( + new webpack.NormalModuleReplacementPlugin(/^node:/, (resource) => { + resource.request = resource.request.replace(/^node:/, ""); + }) + ); + return config; + }, +}; +``` + ## Changelog Changes to the **Lit JS SDK V3** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). \ No newline at end of file diff --git a/static/img/v3/nextjs-node-error.png b/static/img/v3/nextjs-node-error.png new file mode 100644 index 0000000000000000000000000000000000000000..b3c1fe33c34222e2853805537bcbeb80a84b3875 GIT binary patch literal 122636 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

gTsPNKxjL$d{4-j!jjsO-rqZ@cl`S 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%0AmFu7EOR(XU#zwv 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 KZxmd24E;a%QYcmc literal 0 HcmV?d00001 From 5bbdbc901ee1ba1a4f3ab34ee3885207704cf5bb Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Mon, 16 Oct 2023 14:58:22 -0700 Subject: [PATCH 043/627] fix: img path --- docs/migration/overview.md | 4 ++-- .../nextjs-node-error.png => nextjs_node_error.png} | Bin 2 files changed, 2 insertions(+), 2 deletions(-) rename static/img/{v3/nextjs-node-error.png => nextjs_node_error.png} (100%) diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 22f40c4f..b28cd9c4 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -238,9 +238,9 @@ All method interfaces in `@lit-protocol/encryption` have been updated. If you are using **Next.js ^12**, you may encounter the following [error](https://github.com/vercel/next.js/issues/28774): -![image](../static/img/v3/nextjs-node-error.png) +![image](/img/nextjs_node_error.png) -Implement the [following workaround](https://github.com/vercel/next.js/issues/28774#issuecomment-1264555395) in `next.config.js`: +Implement the [following workaround](https://github.com/vercel/next.js/issues/28774#issuecomment-1264555395) in your `next.config.js` file: ```javascript module.exports = { diff --git a/static/img/v3/nextjs-node-error.png b/static/img/nextjs_node_error.png similarity index 100% rename from static/img/v3/nextjs-node-error.png rename to static/img/nextjs_node_error.png From ab41f6c46d05701c1f07cc5fcb3b747ccc850c1f Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Mon, 16 Oct 2023 15:12:16 -0700 Subject: [PATCH 044/627] feat: use text instead of img --- docs/migration/overview.md | 4 +++- static/img/nextjs_node_error.png | Bin 122636 -> 0 bytes 2 files changed, 3 insertions(+), 1 deletion(-) delete mode 100644 static/img/nextjs_node_error.png diff --git a/docs/migration/overview.md b/docs/migration/overview.md index b28cd9c4..8995b1f4 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -238,7 +238,9 @@ All method interfaces in `@lit-protocol/encryption` have been updated. If you are using **Next.js ^12**, you may encounter the following [error](https://github.com/vercel/next.js/issues/28774): -![image](/img/nextjs_node_error.png) +```bash +Module build failed: UnhandledSchemeError: Reading from "node:buffer" is not handled by plugins (Unhandled scheme). +``` Implement the [following workaround](https://github.com/vercel/next.js/issues/28774#issuecomment-1264555395) in your `next.config.js` file: diff --git a/static/img/nextjs_node_error.png b/static/img/nextjs_node_error.png deleted file mode 100644 index b3c1fe33c34222e2853805537bcbeb80a84b3875..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122636 zcma%i1za4?(VY7x14kC zyZ63#zjxmLW_D(Kx_i2-tE#L1RU4wDAc=~Cj{*k=hbk>4rUD0tgb4=+pYRe9R-%{P zQw9h3TF63FR7qM?lvK&V*3`n<1P)FrBwiCqOSKO-T{k9L*c|?OPQdbW5WcX?OU8>x zQo8rZ7&75sGK?hgaP*qK`Jw9LDF1k7B=UwY%;-4m1&)b6!)!bkZN`4 zj(9JET)F{8mm|TdJ3* zWVFL^>z1?%iR%Ka;2SO6u0uGQLObp?IXE?Dk#xYXp#c0M2nHXD`?L3OmQLTi&(5gM zNfrEO@$bHoChW0|`;PWKq?q3QpbC!V3Ey-CC8_w48pI7GL46a}eRTn4pJ{?9t?9Ja zqP2EY4VQpha%izeIN$CAc0tM*Rv#Zk+GB4;!&NFN-XlBsPWq*ceC0sk#o#;RhBw3@ z5GJG;jCieivit5UDQA~mV8+Dr7YA%vDBh|Y;60mhKf|Adpo|m z9rcPN`BfAN1`U|+Dx6vFo9d1i2F^`yfA1Q$GO+q53D@Q}qO7~>H~q6$>)6JpUC-)C zH}Bkn3P^bY>C}L@A>@dJZGUE@RlgU{;E1F?$s)yyaAG)Jaa?xLyDMV+hGY5l-0M^M zryvQ6K97Ktw@9JwV2o1{=n1#4HZuwKN9g_sdZBs$*V?w3)?#RG&+Lg`A~c-nkP%Q4 zMkc%@7L_=O+98~+|FEJrn*(`FCoyVcllv7w|F%y_tZ_b?nkD+J@ay-8Z*1(m7m==i zcCL=0b5f^%@q9hB-Xye&oEdf!Z5J^rU(X?}!~mrocsYuC>5p9_^;m&hPdVw-4Y9W^ zK#R90(j%E&XZnDKbsY%Oe?OqI!B~m{p+0OI`W@Vqc|y(?qkQ(Vl4R~~8&p(VRMts1 zuJfox;$F7fd1;Dz{Xhu56uopmA-t-hu6?->mDZu~Y5NDc7FLFFsTSMx7ozyJ)u~IZ z+Qy))?*6mBFT7uUy9gSq#$~qnrg^S-eL&YZC;8GVV}2ak?D`D92I(@`R`I?ln!Rd3 z%id9lR2YVnYGXc|nMrv&=ZY}4dow)rhyZsy-OzWI}lAb_+Xry=OD+MD-pX?XO1Bm%og>{2Glx_fhl$ z!?^2Ng=i`U;+p?+vQ;UDnDCtUN#8I)q->yDsdtr_g<_oKHNOBG7!J>Pf}P&iMI%Wu zpW)vI7!{xt1>$EV?3l-WVIBLxPMqdvnx#5Q<^b_NvFB&j4{QbmEaR#Ql@h|@j=c(8H*ooh@}S_0;i3)gdXEz=BegHpBvqO-kV8C< zL}@~4Oi7(fnu|@DsZycRFs_hmERz_YPUlTk9LxACeS?NIia)J6yg7dHW2@BBd*3{B zr4pLuI5!zi6XM*jDvCVf4YKapB_-BH2bqM~3`*(6dYR3VwYrK*PIGLZeE_ zxJX`&UWHzBq1;8eR57gtSU9Y*T`;0it|FAepT{CWE<>(p9MYo@;fO!NE}fi^ z{3V%x=tZ(FyP~CFmLWSEeppZLP`*uWTGplco0^j9S)Dl@6P>0S-kQ4_jvD=HteSia zO$(B#qv;MO2IpDc2HpXut6jaBTlSxJ&mEupcCEd+Bxj0pE9X<0QA{k?En3L%l)sK8 z)@N2?mb487#4ZbX>#b-AN%$5)5h1E~-sCkB9uXUn3`7mK8#V}&?bD>wpMpAY{n7m4 zMaerqiGo&nJ7a^qC3q!#B<3WFBO>2j;!lKohrj44j?j$&Pt@$nc`&tnT~;{eV)=l~ z0{U*vxyycQZE2GHNymErlgCK7QO}2g54twfrqi}SYhpveiRR&l+81+Q4M8Rq(`(_~ zp0e}<6a#??@(Cj)PNlON;u_8xuBC<3t<$O{Rwd>07&dP?c{ulNnC7x-%WAc2)obw% zmH4>$zASk(l_>`(6K4lxTS_eb(5x_<$D5y-6S5n%f9Xo&V(#F^Gwb(gz3bn4B^9|wo{e~?`?}A0Zn_;_ zcyLZzGWZ@$S41_-x9}{dv^06|2wDiHcr|*AKZKv9@1HDzRwNn4<Bb^1b1E`j5aL zsB?NQj7>t50!|v{p5JA(^t4Q7JM9+i?A>Ia{$kq^F3abrG z$Moh7dW%J*igQlkB6l!2%Vu9)FKy4azTAD^%N*7g`zei7+FVvmR!+V|-V2N!UCmnP zxwvCr)uS&pt%ys(l^?Bwsal)+Ivky_&D2Y=$jVZB?-E%9D^H%AOWD`xs4F{mlFFXy zP?0=`GWSsK{%6SAq#fe;-0svaL=V@M@%qI`R9*7S!1Y%7hS1Q-uvXG3!vvqBx~Xk~ zt%kb>*pIRRySX2&Z}~e!kebfSbNCZb1t^-X0?=80pPBbTa#nE8{H(f9pNvmAq`)(D zJB~y3uG?_U=2i+C@UZoa@rHcmeMQ0pnY+@Cs+RhVq2<~nWP&{pIp0~XF0Iw=ZXzoq zYsK_8TRq#nY4Tty*LerSR>@EmXl}P^Ve9*l_J@2k;K?GgnU z`06#@p#I5D;%|dJ88z81N-kUv#>M)V1{7M84YTg2jom9U?z!6ogaiEptqiM7JdgX| z4d{J{^pY#89g`L+Q3pZ>0td>=PxLE{b9?%;;-fUgODy%|4fGrD4wI#=hU1&!Z1rTd z>9rU1-vGv%hrO20oDJxz=*rb^H96D>)R@bB+S2QwXNYa6mjtL>2{sSa(m!^$wtf#q za3pYS>VDHjspFqZuD=|#4PUXW+qI=%xN>f?^Sq9nB|5A*s;S{abzv$N-KTJFX;N|3 zpC|g!)Ue#@WMI`GhHVPw|8w|!0cQe?hkTq4Kb!`N3e4BrShN$fragW_b54_4FRXdmSzz^Uh@g8(M+V!YAM>vXdYp1Uo+hThP%KdF2jdHsdT(7ENZBeK z=WefqubVMiZWcAq@_WEj%%ujzHv`Azkx+YxKzUa=q5-pe_O^Mu_b#p=cA2_^*2jcp5l_KgyrM!3A5uJ^!nY0_^(qiH4m| zZT`F>#00@1!G6K~7C5(zXaA^;gqeZxk9+t8*fTg0RZ(ea*j3fo!NdgUXm0Ct@QLFC ztN__gO4|_*4wv%jgqK#KIDz#)W1*(yq$MxMYiw)7Wcb*irPAuka9A8VERBNh(bzA%J1;m zlvhPe;;-hgUjk(2PEK~b%*?K?u1v0MOtubY%q%=SJj@?hnORvGVKo>X-GNSqZj3-j z@;^KIM?YdFj>Zlac1{+yK+>mv4UKG_odn3po?i4{pFhWG;%4#BHvt|0nigz=%ui34 zS(rXB|5x9zru5n2$1pZUKQO%UZ0 zd$7Y)%Y5kvAiqi=VlH*fw?j&eK5JI-~Dd3??l!WiPGE~#+`Y!nekS2 zp@~pR7eOc_ z(C$6AC>=+qE|bh_C5TGGr7oa*w;LQsC2yJB^63pKA&W=@V>(Af~GD3Sa5^Df9hq`q3dc0L?eZC8s%l4Y9?%de$A!)x37LJ5CP zg{U~)veY?qrR!QJ$FhSsRuh>CgW@uX#S}V0oIY2J?Ur25WTEQVmVt|k-T;&7qR|b| zkiWdVRa<)LE(*iUdBjnb34b;lb#pjLpQX|5lHf4N{sNV8NfmChekR)p@8Czf~l@Uoih`-67AnR{a`IYc*a-fWS}lT5{47Af?jB6!C{T@*N$!BjRS6vBwf8FOxQzovN%vuCC z_P&m7!%O#$ndb_7wR2t{waaJC;A}Z3ylL{YdX9Z7J8Awl#!rvLfI&NTJWrlnVJmIo z;h;E|{gc~+=TEOsEN+ah$b0#a%frQ(bdLiOoT;`)sBCxtbey^9vN0od+YB|DuVi19 z!;pvNgpIJ&TnT#5>mw0Yy!uWjUdJm20o{s73v`oj&h<(T?L^Oo;r`P>YLA?QA)aNx z!n)BXkz_j}j;8?5UzvGWv;3o?(qT38{*~(V zU{YL`?f#X%A!MH)TYPOkBBfCJewi*b)I@e{u4>zSb#0SZ82~b@e;rB4S9W&g6+&HL zwJ*`XShCJ{(Rl~<+Dvk<18V7ZpY}B~oBt}1Ze5!|9>iL^#-lBWV{f`X%0Hd~PKHnw z85)fdlO=tjtfHprmj4*));C!I@3CtVojsr4>qJU zRn9&v<%l~=sXIC$T$Y8?;Kb|q<=Y&N_g4V($S(LUiKcMcIueOH&|Yix@if~~XCI)v zp*IH8X%28mx;=--fcwvf&~vgpsSEPwKLG;IQ?Wxd6^||*=wf>b?@n2#F3Bnal7%+C zjVRwyWiu+3!DXw95Qca-ydV|975*JcMtVGAQH3|^X`HX8>@I5hpBDt~c?=Ug4Q4EG zP7f5*CsyDrzJ`;e9F^p;2FjW&v(Qg|oZ@2lSnD<2p>nnwEygiWyHZ+cO-|Rx4;9df z8_$)OMS}8w6tZ1P|3m}e;Bb)|c@E)m*J|C9w48DLF+pDc1@5Ka|9Vi^KU1QhI(^nS z-sMj=)*x28kXVT>m>o6}6Bnk5u2DJ@iblxKpup0!Vq@LHZK~v2dXXVD`7=nE6z%MUUZn1dZ5Z z-~Zf58MHc=Pdp{#(p&DiTL(d^{z-=MH&gHvUc>YwW3j&_cgA>07R{q7(I3y2QgL^J zLB!`nw!=gC|D*js%SmycXGn#=Fv)@cUnljCDfflLVTbgUw39OZ-O&D^eb-l5^@@ye z_J6+cKZ@s{g``PuV6#cWdE52kKXc{3bL$r^3|MvCI1u9hX)F|MPwQRvOqOX4ZFeeC zB}Ym`)pR(YWco4A+{o2pDVo)+UzontK$30SJBh|&qdzI4KY>o+7C0ojJD#h~>eU9s zl2552E#Yrm{V5R|{J-(QpXB--1DidQNJon2vl6%z4xa*)54-CP?0cQ>ju0egx6j;T zX-xX#sx1aMEk_$Y1B?~98#U?T@=Wc^X>*IFu4~hp3SA~5HS*!Afc1V-pWy$VC?v4O zynsg+NkbL}xg~|su+D9kV^LeIKoRy<_nZkVeoiVfdsZhobm^50jd8rDrg z1RA{P)4HU~RY-=ZJTjHWn=B{F79NkXWJbTJ-w%5A?K$qhFU)@$=ZQ32s2CXT4gYr- zO-|(ixvjH zRFrGcW>;l`ZH`UJP;_`-6(Gu|ke-VwfggtcNE8<|CBh|OMJPR{S7!=aqf?3blXK?k zos{DOkKD?OjcjzKNNeq#Yaz7pYDK*9A`;F3Y)Gpoiptz}s4CRUomPK-^5XuBkVQ-8 zO)|SN@Yjb2zmYTgD?8=J+q_iEg<(qinbBnD6ij|{7RS8T7c#fwYW3}DPO8HPP6s#0 zcP86R__o&9?guvph7;CH1+}*iqab5LlQ_nYx8YsO{z4f=%!zqf;zxP1iA-aPx^)vy z{sZYNS1G3{v4RJcw1xiYRKiY2 z_2@wpN@xxqCkX8-^h6(nPHY#-ceuR>ojN}gr7nOrE@@Dg+D!q6KkC2QM*b$rKoI#T zYWvRO!Q|Jz({BGRwx)`ME~jgZinYz7b5y3%pzvJfXB14^$*y;iGIg90RucmzGB0k; zg2{U$RUy+$JMA5xC{F?mTXxI%&JY8QbJfPk0^{y;qPE8i(9NFT&|Y4wPd1n!$Rx3v z`0?p7;rGLgImuBK(bFxbrF1TIZ}u$k?aslRqgvLQNq5%mZy|pg%xeLS&qEozUER5{_{d)PZ4%YE2fB z=Y>G-$aZwa)hhdQPTrGkLpuGe@3gURuLxu|>1=B;=#TzZ(`X{YtAeyBM0t}>XZ1~M z@u2ppwP1ev+wuHdhoH5{^2c{FiTMe@JYzH&Uggn4=r+Sq6P!m2acN z{JONIOB2~%K}FH=jKKZQmL5+8j_+JtJsy)@&f2Eci*LXsiCE3uinW8uBsR5nC5&aa z&dYx0@*K}h9f+UZ@fA=JeZ@D*fzS1b--cadHdiq*(oI|!X4cBJxrnb-DGJC4EO2mu zj~82_uAr?e(QLtmai4jLx@+>heF;B6LPRt{G^ z`})P1fy8aT=Gmhm4Tyfm!n7X+;qP{r_9>BeH3}vM4Pjb1ZS9-0ew*s`NuJnt{h9ns zo^BMn`)yys?1U5_HgJdtwv+YtRG4kaoQQ73p~Pl?Iu)frG>d>YbQ{@T#kG7DS4chD z!5~qBmSdpwCeYCb=WSTRC zgZvZi0)bMpRp~StSxL>?7?;q^C_kF2Tm|U?S!@lU?Bhcie%T7vNh%{?{1r-S0Fl^f zx2`iTy)K*ZxF^gr7(-~HtwWwLo%kMQO6PdmOOoZvTcc#U99eDO1n6gYJj36AZ%`xTDOZXR--FWf$H-%Le2OBpx6pOR(1*ZDNYISi!;s*p283~%pnuh>C zz9B|_ClwjIKR^#w9zM{HH#!f&v-*DYMBfsvrguc_wa3+fpN9{(uP&Sd-R5o@>Zwh{ zjVRo7a6(*6D&nyQ|6W0mz~@Spc0HfdF2T=il>zXxC7K)owN(fz*J`<9lO5p;Mh^98t*AV6F}6}) zrmG3BFdFl5mmVRWF7;mCcoWB~PFJ@KGdcX>={NO|s@<@=XI8U&3m>c^7!=nc9P(Da zb`KO>{~qhFP>2XstCKJ>sV!HFd)fNn_IkBA{Aea0wD!vNKk(VV zG2$2cL_ZaZEBe%4exxyZ4TDD?q*5Lqy7pq4oz!8G*C*yxZpe6vTm&`E^nlgdYI}`! z@bwE+&}=&uDU|XtYK;8p_!IqLa>4vh7NHPYv`KQeYxjO z1QpTOpWn#rPtVjRbB{gu+^=gR3e`?~<8Lo}4lR1iT0~Y&BT0&ewW`aUQmso=2F*$| zHV&oJG*AWgs=v)I$B|djVG4Pbqi?oBYBShB@?3b^G7Q~&Nf-2%Es86f>ML8I&K8TZ z(J3Fi*;HdJ!-3QaLG>h7lj3kfK)-3d?9j4mG}>SPokP(6JdR8`&h}u`>|C%lumzWx zUqq5w@AU~eN=MW+ab}sWFS;A<@EWCF%0okeLMtI%<5vS~yKt9p_6kP3kHgYVXX}&# zz0dWyudG+%#`C1tf0{KXw%lJ$oY<@C-@Bd_WZ!tyxq5oca!*8;qtqmiW|B+#XW{0) z7mCL5tfG3ItH)CbQg1Lv)%rc`#qMMNz*(pvo<&1BcihaJsN>I_obTHhef3bga+;(o zsT>!m^25buB0AkS?|bNQ<1>}ue0?frGa{YNMpQiH^q51o|}J8Q)JX^>7wl zS%un98!N95_O=b{=kz8(t$nT2K|AWh8Q)^Q`$w)7%dhiZI3&f;QAdQIznLM}rkH15 z&f~D!l5^@%BE(}hkQG3yAu0&)?$KJESDQvkb_J)!Qbys!cbQ^5z#v@g?HyZYv@B%Y9RG3%O2OSW+Peu>v+$L(8%*R&S zN|kBPi_B0|d)R4rx7!qy=Qw^c{ds%==LQF_Qhz#h<2sIE_znr1>ET!Xi(?_6^vVMsJ=n-Cfl)=Da&T)+&Ui zGS$e4@KeBUW$6L{j_e<5RJZn{?!>ftQmZH=G?<6ENPK^{@53~~asm^FH-O(KcXkHp zF{_8*%8e?!IO80X$#XBRxi z2u@^!07p`S1@XreH^Xrpa8}ImqX$@XLsj!}FXL0x$1c_!y9W$U_7irax z{~bSpJ=Lp$@dU_mC3|#8Z8M<+rR!iNN~sr&Fv7zCx z3_h^H9&yd_G3^Vt*F6cl(ad{F$JTw7iR#{?ECN;i;sZs-+axqFI)Cq2R4Uy##e9*HzrJCoJ%aYXrSw%R2j0v-0#M0-V zg?z9>n(06z@QW2zGl#kLwMbx`uzq`k=kDQ7D+4O3|1 z_fRo~6=p>m%p@|VzuPD`odt)e5h-m8foSFtO5FX1`*PfrCyyk$g%|ZFhpu(Ega_QturacUgdAw!@AWN%~gTcH9 z)TB6b51Z(Ht+o&pDv36bNW(bS{Mi1!=*-lS6HyOF3(Pm*>+f{x&0ph|4vOE*9X{D- zU8~1Gl=TM#nTJ=Bs?1j9Ur&Ymc#~9$yX3h@tu>lXJiJyr(x~KO`o1}K0Dwv7GL}2qfcWT zM9?L@r0vdWGHu50@Nfa=TG4!R5Ifnbt>^bFI{vG7a73;GBLR&qR^Ct^3&~I%>6Z6j z82bxa;<-+k0b?&I zz@II4oq5!ts2$hP!Lvdg_t;zJO4x?p@=3WnuF~%709OwQvEQW}q+`q@>V1tWceL~P3c7-|rZ&Rgs8Vsfz#jF1l;iZ#cNS$R$pCgpJiesU$X&44jqn z?4tURX1DBc~^(c})w{&^%gRn)|i?8u>X_F<;cKL(jJNd5!xCgs+C&zii zt*W1i%bL8i{tM+QRuvnBtppcB1q~8c@1IlsF% zA#H^^dc_&r0HTDUG_gXJTo~TyliSG1>xr69@eoYkW?rqkBo`d3x<Cv^krO;X6itn0G!;-N;x>S*u2Ge(=$UZ@b8C67`9rg?s>CLh2qBtzjAXArFT zVgaUR73?$(%L456>wRb&BDVE$lDk!nuKjV9vy9|qHn%DLH9cT9n`)HGh|B4DDpsDi zjIrPy#Y^-p>aWrD4)w|RY?^*#JG(M&j}0Blc^j&eg(e7_&M=tsO$wevEa!t?`;-D{ zH=Y4wV;qMgRjg=grrLrv%}hz+>#eRKUS(1ss5#hkY$vbNKs?dAto~i|ne0e$2s#a> zJVpO+7r(ct>0>n4?Tc@;_gU$OuMdSXno9t6ASyY?kO!VV^5#*Ok@eN)hnH>ted zLCMYs*@B;6?z6lh39_nlsaR}%JXnnh6PR8P$?2!8z~KP>UdshYlC{{`OSQ<9prcTF zCyWhnYjf#w&G%HxQyfy{x%eWAyNs^H8>^AAF+-zZ_g0z}NH z7Kzz`>ie$PnO*LPl~%>s)ulRpb4F^+-4V4$gCXLV4FysuklUZGPi;~;a;FDYIa&n( zl-yj?W5Lmzg`hZy7spZVQuQl-5pkHT4h(NsJpj41#3}G8)xsf8Ey6 zVXhppL~E1)%p}rbQQ2f3;J1dr0F}aEz{cy>@8+p) zrNezbRI817lHJOOpM?R+Vl)Rk@0>D_j>CldpD?$n3Iqin7}sLO2P`#TV1>*PH~&hq zE5qvTjTbC8%x^S;es0`Kwld#7S|NCjheO+-TV(x3=2Y7Yw26h}q2d-0X86le` zg$W^jDbMiA9|k`4i>fq20v09HRR&?L+TwgJhc$eB^Wwldgiqz0N8bxx^)_66ZuJgQjF6HTe1f)+jP&24&>fyc$$^H2y?Heue7 z4#w{pOX=6?jh7ROJk>y_TYrC1$wC*7U?~vD%xrGEr*)^B@y*>DqTT5cH`+_+{)K-Grf;)uzK3|fNw^{FqMN@?u1^=Yq-#h8eP?Q5 zSa-^CQ=9?A{K`3HdInkGkqRul|NTq4&%=9@4J-{Fo0_0Asm+FLHIk*_>`?| z!rk_6vv7eKnP8V|5sEfr(hMU?}dAbI+LI8-E-W$TZI=S_x0X*8TM}` zWcjh?U`LN02gxq|tQc=m_FVOztxiIP4lSA!!b(nvTg7<;Cf-Zqkyp&*CL&%5|xSUrT zYm9sl+64=P5@5CE5(e@)9B`k0{xK2tEPpDJ5LrCTKFT ze7_=lG+qs~-oGa$64K+X^9TdDUG@3h%(6cD-A0Smq^{IRAihla55ZHkuKDas^~i|< z55R?n6ico{a}NTJAH}!XGfvfSwLpY3MPbG*ksOLkcf0w7e?nyT+I@xwebyqmHWzG4 zi4H5!ePU5i>X%BB1~0Udmm5wrRY2~gyQ~!A?GD9TWCZ3zPL0chGzG?j8{b$t1rv(O z;HLAvZ`|wT&!D_RyOp-9hxvrf4xs7-hbJpLmvx!NVgly#SlW}9h6{^qC6e>^ysa0%+U5{0JP_uw_hO~~Q1BpR!i8vm4DF&O@$|cM26nHF zmbJ904%IDdnBL~A9yLNR^9vW+cA6h^3kt99_PD6ttCXnS188A>5&|h^<{!D{%^Z^?&EWta!wRX+1@TQUuvvgtZq=<)jHkH@0 zN9#q*4F7tlrca9!D=+|;ih)RTDJ)nWow9OSa zgRelt^)JI@)Upb3?koJuoMW4}vSvCD7ZHiFQniOXzwOLu> z16M%&FunBV8gqa<4wrAP*S(GVBp&nu#{rhXx)$g(AQBwL!I;2kR$KCvPpgWnF=S63`#Jj1Hse!dt_3CyUw$X%;f$mF+>`(jYTlQ&7V}H5Z6``C6FQxqJeKvaP;*qW-)Wz zA3BBYE*gDOK3H@@g=T>5j)(9>r#m)~YJI(TTW=!?_HEJIrpTHC5(C$tX;HtREJ7f8 zL&s!E5nn0}x|5@PfH8o4)&1%pIhLbB>GwP>e0SOH&-_sTvAr~h8vq^-JyA0SiBgJ7 zNdUHs>3eN}DSPoOYlQaxQYs=3Bx`D3lSw#7zDa0jFOqd1nb3g(flO~q{4zV+RrD!G zM^npuq0`)$AUq6oCK66UelWA+`*gn-TVc5tcm79?fsNcr-(?rMxP|b{G)xK1$YN4u z!gdzuLF^JE{$v*2rc5!-fq$x$ecvCj19n>s+aCg?_$?)6yLnT(RI{JHJU$%RHebCG z6J2qSm_vhTIQ2T0JL#IKlpvYjAt*du3_J+=>1E0#mXZ&IT^SIh>k;w)|2xU*M%|8dQ8Ed`kcG=0$T{6B=H8 z&sW+a1vki2<^nVzdj{IAqi6)-6V3-X3bq8C4@~s;4%|!ilTW+WK}hLM!QN-el*@db zJ)>p@45%3KLV!*5ccsTcaOlL06+mAyK*@;IhEvN0bK|kRe)<{l`8+eSVuNgxl;yfR zXk=gitaBA+TVXOyUd8>?T?PR*EAL^>lY9Jyu1#YKprp+hO9w*ZK>f6VG!Oerw?ZNl z7q867s5?)_p+-ySGKL(**U9q<35UpOszAmkRDuT>)nvZKZTv=}F(WF$xnUI_eXXJpM*A|uGcT8~PVcrNE=H_o_BZl|s3M1q!O0IV(aU&jY1%9N+IQ*G{KLClUCNE!2 z-Kc8}EMn%}70-GQQO-gW2dr_i$H^+!x!LlC(|Gv_tt`B5ziAzMAtlKyWrN;+Gt zVG>;N^H7ufsx9*AP%&mmnEJ4iY5q0U{nRSV`seARIwV^>wp+TwljceL?CKEvaKgq6 z`Rxa^*$D|g)>NLhm=5uos~8AhPL2YIN=*C|9~d-iL@Xv7vk1)ISfAWwQ!6^#MBhH# z4QaF6>^00ucTYO5*jhMt>$CBta`3S6tvEu;CG@Da`bY`(kki(6I+9!=;8PE5gkc^0 zQAVX^fF5my)TQd+jY;tCwAG+heTrF~Pn^wTMrWZ<2TU)w3q3(g#ywZL{;zX0_4o}J z97peAIkCJPbSg{u@$s7X{lv(Ro4v-92@cIKh8)%R=*;%7P^N8ED8nziKY`(5zJw&g z$H6e0CU+5M&!#s5*B4lHZ_BwiLWFo6Wm}!L{q=9H-n8PsHORDKZIw884AIMM&8cer zR&qer-F*l*mM#h6TZEfcY*?6>sAx*t`Oz~(|Cz))<68xzC0c*ns)S>psG;#bd#lgl z2^+`ZXfHlRJK-Oks0kh25}l&fs^vNl=Ng{Y5I!m=3{30e)UgVkpjw^X^$)9T<#KYLjlwtSYQD<^T; ziSuW|leYRRJ6XnyHkdh~B!d`1lCJI_f5gdug*O3bEZzq6AWWjcbSFqw@D47zNrN8F zpEnuv;odf<2kud(9=ZKYMt|bq3Z8jLk~+v-G3Bti(lnzYccFPC@j3sM>JcU=(T6tX zFMSK+j^F7vLu?qO#_#(aZ&^oF7J5!&U9RkNZcZI%{*`qfevG2hS9;L8>N7Q7@?suF z-MZ}>&BLzE5=0*;JjQtjAsjQhWoT7-;C)*6|Q<&M!l8kIZ%Wp6Al6@e=d&byg0AUN9z+4Ynj!DqrX-EX@8ok?z47aZQxOAE_iW{q9B?iDH0 zsmrx6^9MW3>?V@Uwbgq+N~fHRANNn+X7+%@j~T@}S9Wu>=6gZ#ejJQ|9;}#v#Jj=; z;(**4sQBmbP5sZ8Do2faPWv_BtNa0#J!zu{w9&$uRK>bgGFXC#n>WdBLhyJpSfAVF`+H&** z?up74pk%c9`bSDGeNi($(d#K(?g4j@VG?rzbtdQ{AJYsBfGyrQ=4<2e!4xI3 zkBxQ^ACGUoPCamtmoP}r}bh(P;aSRx8OOT0l{cl4CLdEv~ zJA;jXL^bjK?tUdn(wvBRZC=dpd)X+tO(^a^IMHa;iB2{}yZ9b;4E|Hwb5UaZVV z`6ZTY%p(IBs3X5K3d$B4@0SfE`K7u3pEAe{&#sV3-+gy`C#=1WTa|(rMBq=gL%;rL_gVHY?Tsp@xa!thCPiF{U^_j`2QjT!X4x<9`5eWE-5(KEwYA; zm@Y57!u~ntw6mjJGb7N{qL)XpLX)|9{{I;J>aZx+u3sB5KnV#6=>`R)Luu*mP`bNg zP$}sKsTt|+&QZFN&Y>Fy7#fCw^Wb*Bdw=Kh{m%K1OS!lPp7pGItzX@P%eh*D*!4s> zTzFSg>_t|#VWcB8j`!YXRGp7n0h_!iO`}8{B*{5xWK*LSPg1^~8j(K@*SZ_n96~dz zo1;1>$`pK(_UmjeBybSOP9^osxC8jxoE}=`Dy2z`$b@4*VFsX!h4T~Fs83h05f=1R zV1C^5Jc$Co)@JNg6zc&;#y47o#9Y!Kiy;A#b65eeGOczdHD4dZb!G>3h$0!=B z=AN3JXuDlP-n)jF++h{gAFN2l6X(6~uLnp1mLsKVV1NV;-cJ0U`p(VF8DQKRvk-*K z#b=I0x1JJzQ!3_$Sht9N&fY_u3k)$~LKkL^eUdSDK|}SzY;_d7Osg1NQ34F2v#;A9 zm9Md2(deD1R|)2SD^;a*-_TQ+O*x?s7`{G~?c9%hWa@tcs6@;#vkPtga)*UrCjz0d zeq_;@mbSy`Ndy=|UmxvGB?j>;D%WZVwyI(XTn3WA8llG*xb>xac{Tqpl@OFSi~39^ zM{hXSB$9}w7Czv(jPtT|8;wfFA|(O3{(O^d`L-L5W5q9%kSMOAfh1^~LcJC1yFfe|3VyjHa)3%)|4VQEFzpK#OSNZDn zJWzhxL2|+*h(8S^Q3?YVAnc-sHU3>M8>mnrdl}N<;4|TDH8w5)#NEZE$^p2>X;J2E zD3t|0&;y zn#8`(T+xd`)XjA4emSqfcPvpWYgsVrHh1dV7D)39?r49dvsn`*_OTxP@=RyC$C4{W`Nm` z!+&)qVmXPVJ=O&a{@a6Qo~mW11|#WK*eVsrc7~MQ({SJ@jf*J-qD2{Gyv0@hLHLz%3&@2n%WxvQet+<@a`*NL_XN6BCW_i>AZcSm|2#&{?s5ItemTu z*D;2x>U^aOFSYbmos23YS2$_xI{Q^48g4-vQ=&C<3w3aoDEpuWbQqPOF7j=l8jh#O zG3uKA<>(0zj4D1AQ$nmFnK!uLv_B&2jhL@bJR(THr`%u7DCPM3S-IZe4jNTseJF)R z`=iaG0`%CMt2D`gI(D08rUI?nN~&9ZCo)E9@zC8x3qYh6!YoObd_uFYknbr*7H_+} z`hf?C9kgyW;RF^d)5`R1wb>B7GGBajZ3U9AV~yZ)zPJ-xh=_Byh9%|z7Ox7cwVjW) zp|hT`=F0BxYJt7s*#Kd7e~&$3$=?!1`edhEuQ$tA8ix9>XFd+q^}X$3MwuRkr()_l zOA2?$=qCS7q0$Cz7~IP(L~UcQ|J9lBdLPRPu2{>-b?i8&QN)y~4ly2^DgZ{_$}(#9 z$fv)jvX^DvcyH5GS$Za|v(n{+;hQW<+I{r&aVPCEsb=NR?zGVg=A2#(4XJD;3}ntB zSl@Pia%w)yyf~Kfa#%cTM7M@9`?zi#587od{dYt_I z#W4FAM=_fSO)dFE(HE6tn1@@UH4L=Ojg&q}hkOshzzqbSDol4S}npux* z3Vz#NST~R5wxPLZbrx$lzF=%tZ!*iQ=bUIHzPTq;eg)R~{qHhor6oKE{J)#el(3NB z(@@aQ#H^9pYmZWGVrW75t=_K?TUAQ2GKlRk2>^;k#;|?UH`Qz&yTE{A4r$-GX0e8n}VvPK7el0B3PsaTb?{!O}skg+&s1sDEMM9M!k&GO? z@5B-5MV`16xdqtVhB`qhu_{fb(I$g+Jum#1Y^EKac-5O*y-_T~>KEt?#KEh+-FhSS zQSfsxs2c_bhr!??9X|ocHWj(6@Qw@h{uh@~OPB3#T{tewDjE&oF(D${>eB*i(_0CS zvIX1LW95oaz3M=qaDE5?FJLMLb;vRs0{PRJO@N5^4n1Dyd^3yaI7 za@*1`1dj2beTY)_MlC&JI=L*HFt$fAoo6)mNrgn~8luYwfJo5A3=AlFGl{c0Gx0H=jm*E!Ocfxw=dUGJ z6p#m12{H)h_ilsbfnxPVwf|aUjk#gJRN6~f#HE&jUbS$vmM$|Gz*cWr9|HEig@$_f zXTUCiCjsgK)w?rQ!k-o^S0E7<<6V#)k7%ROcXHKw_WIE{9S5@ZbxzUF{g;gZ*5bYJ z`E0}IEvz+f=a`uE7Kyp0NMz@aq~}njaeS!S3LuXve3i?-5rkF=sgj! zZ&s|lE1yww@mBp&i@Kd!d1-~2^vGZcWmkNPAx$Gm-6wNAv00|2Oa>>a-@jLZIl z-C^z=K+5Iq_64`_9`a58&}%wa25Z00Zx8{b0&f6ANM@dsR#5pdjK_AhcyF_EQxYJE zRS+6b^-|WQfZvncH!X18-~BTEa;x~~mI^}-rTV9t)RQL%+frK`54Oot14B#?{sX+r zy4m4R*2VNen6*W2`^&wjKx{5u>S!v|RhY%XW=R~qzpwiqDCs#4Ej>aq3Eu5HU8{n% zmw~&2umy&#x(m))Nt3qEte{wD=u4j1m-ndvy=shC-#H}5t;2Q-8|k0+(udV% zsw|YSB5W?tpLnO&h2dyp;`1dBg0ro%p&?DRn#i$6LX!s@#j|181i-{5jHOyRJsTHP zZY)&S2l*i(aFCO2xXZ{jUn4VBud{I-8KwSK^r(-87dUpq|e#AC_<; z08n)&@aHccE%`$>8cUUEof1d#!Xwyd&QiUIa&Mjf?!OkO5i`tY#cc1=Zo-G%ae7R&sOL>8=At^`&(;(c@W$GD2v@}=w~YdWGG%r zH8E}f%-qv@@%6a2@PYv7_3aw=);g3%TU3QxGkBl`xgDH2*75X}6d^zn3+~DQz-c@f8@Ha3mYF)Kaz|KI0gx1Ho$P_^ zs?D>l07RpINS0r4oS*c7)!9b>iHP~HLbt*MFq*=<`YOJmDXh`$atT&mMDN=#T9w;c z1m*~HLCsbkKZ)f;B>O)~K5bw81*2c^c_c*1DP+ez#__7ICwdc!pH;T_^nMNHyjEnV zM^HG)&rv=cu=nx>5Gl%r`-QP%v+{Ya(b{QjFu9uO(oDeEV~b#w6f-Ay<+$Rt0g{tr zg65+ux$ELy4|Yc~i5^jyn${QnAD8+{V9TolALT8IElNEgoFart{azkixeZgUeLt4f z=pq5va@KqPiHch}_j4~DSyseZl)b<`acjNMPU|}D?FZ^%3?sOk-yIOUl)QrF`y)&) z?^*_6Jt6_p4N~q6w>X?OmAktIO^5KKV*vz{RliTE8g$NtR*Y@%Ag*0-i(4)AGq06H z0rIvOXR@`|pv-{HnTAH4S#@cFNt#4OcPFX=1$$!dL|p8OZ(N{Uc04c>pz8sDz3O2O zkmVG>a>25v;B?DTgp?N)TIq1@JCAeD+BTK}EAe6n@C&&L4IwlIou+(B zMmF?B`qg2gs>RoQ&q2noxzqOWx+)|0Ji}LaZ&>i~93{4Rps&UM+EmI`*%FOmAloUl z+Z$s^HmsscbA%W5Ej-5wCo77ZypACo9pPkS@B#XKCn=tM-lY0tQrY09v;Lj!$)Y4d zq-z)4Ly7a(sPLuYF_LZTt8g_+R8h9xQ`R}Vp=JZE(5?{(S!q-DWXy#c-fN1o{xipEpG-OOeHmU;DPkfqncZM$E;#r*zwFaPOjY#}1 zP_vAO1T!k(S|bp;cd!i!@rVa#L|ODg%DAc?7h0@BcEHWV4;T*y-ThOQlu`9nS^Dkf zPnx!|Lp^QJ0crfLrgMF7zNgp1_;z!_wF69mv43Z7q7MXTtEyog!Lqg}s+v+q2ADOc4jeYT{tIkXc?eCx${vCsJ z%M){b%%8-2z3C%++rNeMiy2<=@zhsuWX)(*cbRR)-)JwyxbbK&{w0maj}W8nu{KbV z54~q4#7|w#=hVY**vw3-exOAc#Efd{D7oQl2@?FhW>1E48QWx3@=p67sRsz5}LllU|yuak0S2|^X zT60ROzu)3?{8^OUR^%d2iyO^oVZ0|dK2i-BKlm|dv_R@h_l>HcbCZyU_-&L<4p*xV z%{3?)o?N;<@HcLpYDZ{rpKa?C0tnW5J63Mec+HQtmaSiNErNn@mI0Ys)A!*VF}xP*VWSeUb7{)3k;HM|c5KP}OMps7nDQJil5@&MaHVKk4j7ad<||R} zxPZ-mBw8JX@r3)VNU7MVWdqyFxQsHtK2$RCN&1nTEk~xalnd(nVrg}I|MB4fOrP^ z_5+KHEEI@bh#57L(m`~%^vXS%TvPb^@SH8{iR)S6_}6h;FaVsZm;Q3mY(aeX0ZvddhO70-Mi)UZn}Vv4W0h3tcRbz;LK94{ z3Ro%c;aQwp_tmZJa9m29E}_aFKF_z-I4haY|EU!vLS87*nyMriEzJG$IXGmAg`N#R zU%F~%LKM(=h21Ip(jJL_MD?nhMfE78=K`Q$@bwZ`UV!h+TY($FkCm5q>T|v**vJwt zRO2%|HOgQA^6bJpa>EuuAzmoNGKVC#gviD(zg`K>c7 zIr;Ii(3skUQWOHSoujksOvuBQnO}z)v{^ZRyvA6|InHq8azjbt5qNgJV~mpl`@srS zC)DF~;?d6lRn1If3~c zyR6aVc`7*N6DfcJ7EWjF=P}N%Is&0dpfuT+1&}jvhJdbQFGyaXsRFeAwCE*3f=JW6 zIuFd4g@~pBBju94S2RWTsX=~r_h{Y44Qc>$$-(}TL;h-Wi2Q#VHSY_*0cn@vWvf(u z_zax9zwK*pSZQ9G4B2*Dd)ivV=mmx}>=h}+ctTA(0uYKXK5QK);|ty^`}Fuu6xPiR z@9aL^H@l%JQ86Muj4y24us@O`f>`topZw#;C}O-Nhd&Lkw$O}U^*(wW3O+4OsQsHi zcV?LmN_hJH@3fp35!?6of=C4{4*ND^dzU^45j#8$?Clb%asqsYi=mE0_$;D{w2J^v ze(f^;lphZ`F4Sy*c*lR-A`y(}>eVbOk1mkAQ1fZGu17XbN|m|{Jhpo!Tnqnk(AfH6 zMX)`k^0+qhsXeaU!Fwc%;8#r`F zGCjTs|#}-w0}5Rx^&k|L4#5W?t|XVCkTo9oqi>L-;!E#P;90 zHYHELyLR2Xqxv61i`;dhjqgM7|1)Xi+N?9b`QnD?;;2G@C)M9i|9_2uawWeZnnt6& z_y4py|9YTmXn@_OILuy*`Ty&~e8&d9oqyr8$$x&A|LqGP&VVwJyi{t-|Jul|31A_K z+`BytVaMs1vr?nF%<2212J;d;&KIq?@#2QG2=xEkfpRwwaG<~dGma62%Yd2q;-KWL zH}r!(9yI?E!eQW+MS?SPvFA z&PLmZv6Dp(i9+qel~JCVLT2XAP7*c7?+*WtUebSDXEKoJw<_%}S1Wg&EQrs^)QQPE zlB*E8IhI3oxc%ER{&pvDpOqzSAjX+uB`bNM2o$z+ndHI;B~t_(%4 z?*=i9YR#uqgm74xRyAyDDX@Yc3(ijm?I7=ai1@Q7?oAM>_k{u-R`pd~z^v&I8Dr#i z!d?2kR=GS-so`COBrj}B^6Qs}@xX}KGWbqlz`CA_Q-=8U8+1OuA z9(vfIsHxi*)au-~m@{)QKug_tFFegJI6ldpnuC(ykh5i7L#|^jlO-n;}LldN-sBCEtVgu8N^T^~5 zmO<0qG4j1>>q0xxX~va}sz#cl6ZHx=GSHuT%BTGBH$i6)p*5{qFTlJmV6fX+XvrPd zsA9?5p>Db4QrNVyL6rPSRAACF-%~v1U3p6X^k`2o)e(A&1g-gY=F>j()%?ip6dT1# z@$?xA1wp;vX$|(CH(^)r>v4O>uh?s7QLFRuA>7slwM@EXH(l)o}h? zXh*{`G3d|D_50&bIHVyE$6V7$p;i-oeuRE#$%lJKrc&YjuEqNX{NbU**ZFP5F)T8E z4`<8@Xgg&)!XV%DoOjX??NtsPVOO{~#nLl-BHFt@NaaW4rIZHAT^P7QQ*|j>f5k)y z(rUNxjD{4B6s5o30;M%VuTuNT8m_>f9WO8LF4{($fW*)+NH89BVE8>;&E99>6Lve8 zDOl!rxonU$h<<84Rd6@#LqQmjfP@>{9hY&-WjTGO*8WMr9I%YbARTWO!b&DLW3dz| zRbQ#Y;?}5fR}YHSeh&CQimcfI3{s=Hx(X?5u?y|b0epp`y;fODwICJ9=|Q9VvG(5R zRkt;O_=T;lzXp}_WJ<P?t%JNd4Sd-#=EBXMI3DCjD-?B-) zB@$eAW=%#)d-C-sUMYJWXkyUc4D|-#KJ@fgDGdl7>f>Bd2DqwM{Q^4W)=Cp>SdCQ_ zP`<`2la7fxg$sIfXF)C97r@)EQAcoQ`$HEwk#;zS4GuCYC3J0w0%f)0zwHlT{1zg z1kk<7NKS1C_?Q6h0GPXt1>pCJFdNJru66y@(UnLSgK?`}U4TS)&L76y4Aa~0&ERXP zbb;=^@<=T4`Qvc$#-2PPP58ux`8uW|suu9zY?P!r((A2im``(odS0o<0MJaWyMUR9 z-ZcX%X?Ei1H{J(a=5TJeIa78s6Ohsa92f}n0*$U%YIVvyt0^zHh0=6O%RIjvgLhV&_th58j zi&?d26%#{!xltER%uG%o8&PZ)&k6}ntrVILI11_;HCg4rIch!i>busOs?FfT0RaM_ zeCWyr(w{D6-37`=!uzRg>5B!x;D*IPH$GrWhXwK6zPUMG8!J>|vAe5$P*{Ce{5ve4 z{8b#PXatjGDL!E-fRI$f=pk}&?6)Q!C*Zdx{@%;M()B8r6!*euYt*riZU>8Vm?C&# zsvd|{;OC$CbDMin`&2?9Rcr=GBiLl9opvOZV1Vk0?>d^lZM)L)YkSbBZ)B0Tc97jr zth!Ik=jcn{G^kw5j~q!KDc5O8Aa)%co1Hru?rRU?S5VwD?=ZJ3e7rJu6W9N$t2LCX zL@1QTXMefhsAy!#mSxm3N0l>3P(dUx1y_P-N7cY-u8^~%c(1&h@v=bj=P$u|8L@Ks z1N(K zxD#)_emvHt(J#1Whb*q&5L-&l^{ie^-PT~^wZ^2u_SU6Y1eD~Q$xcb^MR<(6xojpO zqp5BxBm~ckmEBV{J$0%KV$R!5taKokJV&Ry(O38;K9@$ma&j7MCTW5pu?4YP>`DyA zBu&sS`wlvF6`UzZoP_kJaz~jKaofyi4A<(?~@Gu~}9<EK z!x{K8r5j~iH{yJ(Yl=<6IjdM@@>Lz!e+A!-{tmv&zc?lpn6-PTmOyJLC%e*_ujk6@ zei1Wya|Y1-WoTjC3~c{S{s27e&st@ec{&`DY;{Gr|qNh8nYY zHX-$QeSDIv^;M$OY;pAp*Jx?}FAHy1k33*WhJfnK||2>r6~fp5cY-&f4M5dib)!M7>I6 zrKzb#N=I{6 z8kGLZk<{*qqt`UZ=#t+X$>E_OF)1QX0ZqUbX#89N!3rYyS@@VAv4;ZaghW6n;k?aSZe<1eO-v;WI6fLX zZ8$uL%o%4ahB#Xc*a)G%jU$5jL3BXy5Zv%R+W$nsey`e}TyIH6(&j%Pr`cKo)9MRV6x|&U-b+ zC7sc+gX_mH-qo*E>0VZfy(RB%MFOFOy|F`)v?t$u_2=is$)3uHra?|1xLUv*87WVx zc|d1;`Nr&9Db*pM0R9ra1PdmAHHIo`kZTCjD{w2b*{TENwV9?)Q&AI7iYg4!0tZ?;jb?cK#Z0hKsJq@eQtoQ;z>1S)+DNYQNxn{dP!Gl zb&T;^|jIZWfV;G6d&=QWwQ(SWu zy__z#*(rxN)nls~TB#Y8#jZ%tb5o~#X=-<406DWvFpUDksI_cBI7vAVlEb7wCURAp zC`%QjPO;>0JH9|&1|YFZc#@12BwSOz3^M_@2*9Q}vJ~4$)mVEt>W%MRvh@-PDyKYN zs}Krql<+#p>paRk9b!WB0HvA5JJbl#b&xV^idflnvrga!*1;wAmtwQ$4k=+7?&H9r zIt_>Jq;e)Y-tPv}Vgb2!z%1Er1K-G=@xl6%>Jug;)EfNzMUv`1k)XvoBbtxCN@m3| z~XclgFjH$fLac+QzR-Ewp+z3+CaiX3T96&cs(*>x5+HaXif7nGS^MGAl*d7z(=B zZDf-wCbH+ovL5-F|1crUeS>ke9V7ylUtxQ2#`E5CNwaIB|Md`FahajfF0q@Z*f zLO!#z9W>HGAoC2!xe_H?a3Yrle=iw0WCZF@1L$n`apNjw|f)HI-DZNQVF8w6g-!MeM(M-(rR1c6H8m>JXi zGZ~A^uY~7P4TOw=7blV;&RevdzD zppu*=&(5lXt%5t9NZ7qXDNuW=PaY2BvYC4@O*T0q z3hW$p>KrSk+m!9^v#jn_4QJM#DRJ#horsC-HS2dVAPJ6({ob|W1Ingny)QDcJH7G!T}qEAbgr$|%-1EJel{wJ zeu|QkHTvPtG69(lL%z=7A>bHt+=aR1nv6cLc%`N+IU(<|MY)~S$D4~Av8_h^XmX}O zNl&xf8vA*=dtg*3cJ6rIb5w&nQYL;Zx}e zZf$N#A|88z0nVjop{n-T^**&+vCR0GXqCwIY~ptpx~^j6{IV{FSIkj-2$9C& zfIC?M_=FeBa+~$>v8{D0B*K(o?`l;fxbBXrP`ehaL|@iTyO0WuH5Jh?5l@9bxU}>>YQ*GVSA59FJZp` z7~?gl%>NU?f7vZ=0Rh8?Zw*%nlH^hZgfrMXpCns&jT z*~|1yjN(|fV%ypT6TTP}{~b{R~rsS+_b2p_=QRNF;~QiX`M4l?rFGS2&Po1kbbO7_waX;QZ@{2 ze%}!`M3gYIPS0c|`j#9LgYOyEN{H0bkYkzpQdC-zuSl3h6){(lBodcS`6F=9ws-kG zF%&dNH?9mC$(GtKD?f(QV40DYL2DnxBa%~$^e*Or2oA3|1v%@CU|wj=)DIm^8~<_l zV)CO)#<=k;E2w<d zt`wg*Q;*^O4>RQxDG{BB71Y-=(9evNW0;#yqZNh?dSFw{t|W5uJ%CLZ-j#}{71Imf zWMOHWgguf;>ZE2??x^QHf1PCFJmYRps*FPEhY$3+R?8V2d-Q&_p8EPpxyzK_zB6U%Bls zW0do951o=VuE*j@1)t7c)%cxbLTG1xy!|vnp98i%5Z4w;n{=M{RGtbSCW!Zg)i|LY z5wZI>=4wwyu{*!V1Y+`>&s3M1zLGb41NFgep=ZEnVof)-=c7A2Y`)@BbaGq83e9BY ze8>jAxDg`&NDh7NLI{x5XoMa0*-H{*9gK1|G4T<8gmRlS1eytvofj%oI#pVpDSZ#H z`nQ#Eu|oCn2gbnc22D+KI|&YWhiS^tE5m!}wccf+_8W@METI}w6y(Nb(XLhJd!W=9 z4jDo_tA+sl$;sVFT5=0gex87zfF}|wzCE7c6iKf&HW81%Z;q_tDALkuy&sv0ZK#>SDm-hRJbI|0c^Pg7)3~A6M6iiR*enq>hES4YFJ9=r=OA2N*NXmqbv6 zZ)=pBN(qMHAZaB9byZ_9>2^wxGk#La&=r$yoPbwy8y(2$F4V=u0EmMeN#IA@wAvz& zV#lFx`G~yMF}7iqz_o$%1?k0$mw+y=87^(Q$a&adQBD|ow7?2+r>}jo&b4qU+#&ri zkmzdqt`e<7R>(G`$87WPV#h_XxZ;lswpLR+|7S0n7+xUci zF=ab?th>%60A%+kUKfq8I}X?w(hnQFxQt!=%JUwZUiSnN7I{JluT?4*y7 za;phHktU--Ha|b^5NFoP4jlLBKNlsSU_iF+*MH~QIzZZFDfl05Y^U>RpOCPIaadly zJ2^S=8rPUBxw>>XMv8K(J9ti|J$+qxmAbQHex=9%`LnQ7gU3|yq%y;j>XAUsIkJsF z(!{D8p?&m$Va}k8?|xv^o&JA_yML`ofuSFnDf`1t6~9Po-$ZKYv}X#g%myCg5)VS3 zH=b<C>xAd?wPd-nA_J{F$?&=`FF`HOO$w#KI<7vFB-x#qQ1Sm{%11 z*-Rd0eA-Nc-BN*wM?u+a9YHRvk9XlXLqJ?Pf#nixu|3` zb)~T4vp`i4^ese2pET7i{f0TLqDf{N<+a68xjmz%b^O|yPHxFkRJM2uBX6Uo*96j) z&6GJkkoq`5ZzL*qs(@@9iPwF(n&-uRRf7Rqe=eUM^tFwqO*+hmh0=Wp!!C9=xP(w; zHVZt}`y%~Kzn9Vaso6-jg_go{@7W-`Q~y%@13qH$G7@7qcTJL$1R&3@Q{RtEm+GZD zG|VQz9JM^_c+B#$^SsmOWV?eYAitu%ms6m>eWmiYmSfm~fLX{^|5&t1zd}USZehMp z{0`BPs7p75Cc6(GeKhWPHj4>i#a95j>Z(9*^e#(bq;}q&kc9kTv|2+l4^YRHw`5*@ zBq7e-e9fqDu(sIWw zB!N+n{#-riDM0nO_sBo%)TLJv>LucJJ10VA^kK1i+!-m5JR#-#_OjPxl{cWGk*c_AWCkwcZ z?o6S{`1O_rufjNC;1Cz@BMZ45AD|>%qZ#&pYjyrF2P`gg%-`@9VZRJs%&9cW|lXE7f}>ME1w`|N0-_f4<=>f*tXsE%IaDi=4#% z!CR+)i@X-eUYv-;Jez}FeH5^M4qQ`|w;RrQ(EMM9+;#maxJzt?bz`e zsXd8rTKwz@dm?XzHtJ~I`}XB;5fP>7Eky~>(>*d2XaVbpkk4N>g**P6mA~D8{h$%+ zz9Q@d|6dxUj~{o@-$)$t8^rvp+5OiaeB)MN*bU!Sk#WP9{}xsK3GV-k1Mrl)A(XaD zkbdXS`|`hZIoIDH;dti-C3PLO&yWA*6a4dE^B%XJV0jJTQ~iDlf8;~|^N(-RC~lCw z8houW#NpcejUok0hA!<2u{1CV>rT2$m6CYM^O8+Tk=H+4msOfMER{40PGcFboPs#vsPisAC zo{81@NDcjs@f0o2Om;KHVHEPjtan)=Mddx*T)D#btsTF|f_>d-hY>#`8IN|Q57bJA zo)6Xcc;%0h8ot^)QICoF7v{!$VxQh=mkrFY@jit}5eA!tq=yg;4W^5S=ZK|qFfWna zxTAdkuMyfSB)n6!$85jAkACt+pZ6VQH_dnPY#tn%&$!>l;8z+_0XfHWOjlTK4}!UX zK4ANNT;Q{$+p!yE#@76|H|Ds?13xn6Fi0}TQWr2T5i61E+ZAik_~*eiOFx>LW}9Yf z_@V%j)LS$R(ri_ob9Y`3=rZ0oim~)?izz?7wTJN0c3)zsll5SEyV6ebWSi4m>e5Dl z%=A%-@9LL);tQ*MK{pNy^?=WtW6xB!IT=5LrfNG<>&hvbaNw?}cD)f=N@d?_R0f%s za(SN2%r*OLed(3Ntk)=}1)8POttkuKn`;B|hiT=Ci26TUUesX{!QVUYjgoU0`6{T7OUd&$QmTVh#L#vPC!6~;s@=iEU+>`4?v?|; zWQBOF`nF*`w!Jr^-L=H#xs5K36WJhGMF>8AiPN;5;JP)nc@k9J?GzU-=;kggvApYZ z;H{kom}nJrt+L1-&NtlQBkk9{u{~5pu+oaV0mgUs?sb&Q?DQqbVd>-tQ5ThvpeC94>1*j_$?x zMnW2&za7#XUu?eJvx}S0fsD@P^lcqL3(4r4cG(#1O_iN<^ zJSS%4*&oXF+@A9I$a9Eq_{jhHpFg=Y@X5(L9$B5Bj~1f962MJ&9Gjf%&U0*_({k5y zb;R*OO1(?2Y$h2p)6R-1gt57fTN0A-9FHq8 zt)&N^b&AsrB&YubwGfpt0hhnU6=C7hM?lma8(pphQic|H_+5QhSv25JASYE_U&;7W z_`M^65tqwXD!k;F>5iH%{n(_v8Y?)#A)oq)wr4nDeS8jM5LgQo4XosVfHA0at-WFT z+-u%dme4?lD*W;Mw<(*-=VxhCN!#2TQ%BDo*C)^uQ~8sx0gia;oGgnc@+tHUs$u(U zeKIDMoQvZ&X9=L$%5fSGN=+-lqJnHbom;^aZ`x!NQt0Jk9a&-+vyKYw%S=%X#~oIV zhplEPO`h4}i)XQP1iVY!zy~^t#|lf~lR{z$fQf$~)|hqQ0otRucWsmAZtbnAyHena zdKx&5)p6yUaps!HDqme5s{(lXFcgyQfAjS^6@1p~>hg9WQyA9@ixnHVZ)#)13yfTw zE`~~=m9m^LtIDMLO?N!gbds)|7!p3AbL>Z-;NV&a)OATd+BE2OF?Z zYM$vT5MY9Ne#l%`64fW%NcLSjCS;&MohlZPa-)Ro?z8pJPQ>}i=aO8qnic+hPrA7w7mO)Z4d^LAECF~1cCu!Gfp{4u_=t&+NrHL>2cr63jMR8@I;q1DYc@Zk-^(JBL@TM^gbQ3siSi? zjxR6H)0)a zkc~^t|Lm|gp@;|7yT$fMjWaN9LfnZO&PNV&8KUvZu6^|2{&FRWQ^|~>Ervvhj zNd*Qs1bFf`fXk?)FTMf$QT0ksEFE2g4pXTGq#af%iL?WQ_Z&^4%WYM7xmi@ec^l{c zAj#Kx4RHC;94ZF0#ltgK&2y{%j4j)M<$A`FK+B|LL4j*$j%ZB_*{S}WkOX%u8 zfPHWkjtZ-s?)zq&3o2Qm$+L+&B#SUUM^C;i5TPjXc zPFHxo5J$RyGrs$_aYDdkIb-nB0b}wEcbU@WNbcb>-erw6P?t~0={@#IA{f*5pK{yL z@~f>AyfRqptqq=%?g?&&Y{hGNJQ?U{^f<{K5{KO9^xm63g;a*=kT`>@Y_wYs)fJS( zzj3dEUMD}m>t$&$N2?5W7=ye@VW=(*BU;Pj2;KwkxQh{#vnDeyoAW`#%+)8JHnPZX zPy*jOUT^)eIIp3f?Jby{*^?RUHB%HS)LcOjhiAyHD8uP&E9VZ+#1j$dwF(~_7_wM& z>RJ>%@nkmRa|QT zlp9EPg=eyoV+`DgOCyIGem}uodUc+!fl*Fa7}s&;=B^jTkw7e-2dC+YG+_|(mo`{o z^b<+&pZ>V}<8CDf<5$5dVp4v05nOZ5NQGpe!O(R?jv_B|Zo)P~)%4qhnrz^c-V#Zv z;3(an$LEVwH7g6-0;xlK87ZuK<#6UDEp8815@lp1E;7VUr8XxFZFHZn7DBLPQKgp; zx+3T)TjZedJR)K3U+^OZUIUbLB{AR1#zV3}0yzdN>ZNl@AUveu=4%`L7eR=z5Rr7Q zuDRP6Nhh6%=*4Q!h0k|sO^yrHNmMu(|Fqri`93XqidDPwFe@z0WPjzUpicgSzq0`F ztzk{+Og{0dHAyb(8+#uiw?SXPsZ2(RV!cgU6BZ?XtQiW?;_|5``+$zx9f439Ff^YEYL z!T3|+kPSQmJ|RXg`rFVeV?rYdh-`(P>8b5h5mO{pc(pEzI7M?yD;3M#=>jiI0+GB8 z!$unmeFxz7uA>Xx(bl$7ANO_rG`3G~!YzNKPJ#0Hn7$fgtBlHC_ZrKPF=l(?0kIx( zgZQ`3RFs6nu5~oYlly#)ETw&_?UCk4g2@uCSxykIYm8=q|1_G1rxgy?$+n<0#2G0x zFns!b8pdc=?%Zu>cqG7rq#0l|$H$V4uQWP3onK+iHZ5v0r2!eh34t>c%z7Kn&52~FsS$|d^~T?`+EBahS|S5i<>4cmWo?m2HUI}F!OCY z5+EysvxDcR+T$DV9c@a-GBhv;Rm@RD>a{0u7=Kg0giss;$S{XBY+;0tfej1ocw0ne zmYHS$%>F`I^9*(`iO-D+9rUSRMS~;K?vJQ?M8r}wWYFfJ{U9C7X65HfK zHG;x@%oQ>J#e}NcNK<8)V2j^Cmt7|5xkUhDIB5u?S43b2{SIqrwuu@%yLnhiYf*By z_t(Quo-|R-i8L#GK*O5Cmqa)4{Dg{ONn+~R_@oAsJD6qn?d21!ls@0Ml>;ft(M|qm z=Wwf7#LOh{-p3*vO1%kp)rS0w#e9_}72Db}>yf?*m(2w4cpG6mL&j<*3`;+vLGV0J zm&>NbMRUHK7?Z!A^2YU3-cd)AYy186lx_B;H-*SqYOluoplymHauy!X_JQ!-Qw=Tu z^YU4}ZmEEB1ZQLU+(!GI_QFS}cX>gB7=IiXZrp!)6OAmAKa?DQH{qy1psMGCJ(0j? zpIf;q^85=`kPT|S%JA30S&HqCHa2#(sy78PDyE$Zlps(x;vy%LZrJ( zxD!SCjxZ2gA`uWgM%vG;5 zUL*-gR^^>hP>_b}bpZPbRtgzCcWn`dmiDR?5~91mdD0dP+Kb}As6zEjc8MvDWkS5^ z0^r(^$3cmNO<=d##95~^nuS$N@2jt(wAkeOSEwCvam9L_)QhE~dUQLZdi2>DjI@g9 zdcAE3ELeEt)hJJJkZTUUfm|s$XQJOzPWUF|aLNy}<$hF77R)FkjPGD-D~UO*wbUqP z2=qTyHssM}--tXT`S2jY-~5CcxM5%@0nb2;ataT~_Da?gNDQ!cQ%|Wun1kef9qSch?IJq6oU`4_}SY z=1|oOBDvK#wc{sJ`&~1Utive|=S{Ix$Uue1A*|Vd z&aN42Z;&1S!Si%a+tBbCW-$t!>>CZG9gRF&1%uVCdA`66EeXaamqL* zRt==#GZb_w!}^?xp>@|z``l+pROVP=Ew)OE64R=wmI|kO7fM*aO(bslWB6H#AhlT( zr(C~6n+Mso$|$!yZO+o0bWZcx{+?sw(LJ6~mVM#`SgBFh3=o2kPp0TQdp_Y>`wiHc zD{$oL0~OM)kevhbK_EU%rddI4iK*K+IGVY8xYXp-p8jYsnqtqo-u1|C=MhJ{JeB_e z&}RPz2@|e{iih>l!{hXSF&(Bpthaf9G>}IGV78;5!ksHy?zc^n00mYAbPqyI+;Olj zjp`{)02rho%tX7fAub&5s*1|f!Dhb}2Vb4N+1Cd(z8df#OQPg4p|etp zjSBA3L-_GioV>3)TpdD0rhA2qYqU=)GVzK773@VrqPkZnV|N1|iD|Egm-nX`Rg(Y_ zGKs2e9qMwCE8H5TFMFS3)NmGXe0rT>`9Z;y2Q6{e#D_|?^=`K_|FPRWA!7(QFv+Mr zucXT^O)63!G8OCywv_La5uU!oR)QbV$@hw3A0i!Ztl1nM?;%)DH0LEyF0IFHXqUyz zv8m0H`HL~v)JR2d(5d2~aj+$1dPf}0i!>+z)tBF<{acFuxHCq^YZZVWDud?~$!wA> zOUf?i(^||PLZ4wT9dIR6KoObQ39$z{Hpf?A9ZaTKPle-O=@N6j!!P`zuWHyFvkKw8{28S+0BNfcOU7Jo%Iz%&J$o(#(|0t5x#ZHp}$rbIS82Y60!4AxV9p z;SWRHl}g}}3YhZTK+L;(C1CzLT20_&W`?Zi7^6=Z_?`2q%pwL{ z&W-WYmDoCkg~iUlMjN#KoW6S^>Oju^M}I0T&M6PdvEIrUdHMCTFr}jHw|*hmJ;1M% zPWh>k(EcqBFQHJd%jl?|a`Dq#-W2inwQ&tvFbYPyng~rfht43K<2E?`Gg2x0sqcB zSMfKtJkMN#xrp-X4OiHOyn?6b{$a9d?8Rd;G{(^*d&AG(AKDO%h z;}~|J1_%R(iq_@9ef>0;>Ex8&=|8#pDnjzrdg}RE@yfT>{*^3 zD?f{*=feG-*mSnO+knt^Z^U;~u8j&|=8l+<@3f+FGM z2Tb~lFQrBF5$lZ=a)n*0OOX~%d8djyo&dQ%RG3j#p{4#}#;uvbtdj4lPeyMe&1_HS zb?%ffnI~bk6ly8YUAS@@YEkt+me=%-QpLlc8Ao=#&c?w zEA61xVG7_QFAmMPG>N+{_{)LRKua5w+xGiu8o8jXrq-~3KIiwDKs~j)vvood58v6l z_Zb@oIPu)3&6w91oT)8^kbOW_B|Nnx#DQ0f z){aM`7y_rJO_#&<4+D7@OX(kG>l_eP!@y*}ut}Z&AM)krKi?A0hXi+!2uk3-@k;C@ zgPr@S2@$O9j-V0IhCcm@N}(0SS3GBKd=;#I+~t=pFumtC&3o-Fg}VEbHIS;jAma9F zVd=$wd-VB!6FNG`5gwQ5^ob7Ql9j5nDP4GR5~tRxR5AcdhDViJ_q%RRSbuZff%oou z$VWSV{+O*_ZyED-o42&YrW=0bO0~-xEwjm}{406p1ZgOUsHT3rZ=hanBjJ_$;L!)N zXX{8y7WP9x@3r)@T{oD_F6U5ALSF->gg1abL8sfDeeXr}A;%fmy6af4Tegl)WGb&` z`y}mJr*3)jd_P*>SSprYV=i+58=Q^h#qZjIeWi?dov4R;2ptf^OK<#2v;?P5Z%3}K zU#K5Ts>)gqW98;>%bZD51vPz0&*;$aiIw?F1V|}2r6C8Jx$m3eO+D3P|8{5GH-iEu zFVP>mv#INRsoG)7RqsbPo?Y%?#Qs+k9uw@vZ^lt&Ls1jemY0r%#5gHZd)fAv)a6P- zXWOq&PtV#NH-T@x`Hae^v@NQ{K55ECSzDv4D|bh1rqaw5Y3-`Dn~Bab!s5vLTHPC> z2hwZF%$S6W8j3x6cWfVzw-*-;faAVfBp6S8*cn)VVWhOd`0)l|Je&89_p01qE*~#o;qdU<`(M{lMNx=dBzQ2G}dfJ{}U18*qb4D_1r)bJkm-5&-SD+gWP01sZK#&e;ZqUAI=(T|J^M8@+8{h8x}%KbIIewP2q0(5b4u(#Y_~Y)QX% z;Vo;(Dz7Q+3@eE^_zEhN-;rHOVaJsN7E==2l2!%;Vqv4|j{;VpJUGUP!@i3#8P2E8 zMNO@&;+o-B&y&ATY<4){!Q9!Lc(Y1e3vt4pLAQ>B_6N07h80k9d0CHZbFQItVC;H6M1kUcYdBifkC~ z(y_8t=?VxXR;Yc2T&;ol8Lij{NN_tIZYD=5SelhtuknK`gs|k$PYbU)eS1is7ibJVzCd zd?MurZ|qnqIv#Xv&TJ>+8hMuKt4vE}Rm3c50cz>a5}ajCK#?Mo*ySQpHp6Aeqx`{P zHGNmmWia7zt<#WEkhj@;7+|ux3`F%W24eOU0i$u+TIou5Kznj38F{5OUTTzBg))cy z-qEAO)#Q+e)zbCTY^{Ej&O!4r3)&5VXNCWRVXxUyy{Crq}o+@b} zF=5bvUDDh995f1v*pVSIo}=pzD`(ipli`jZ8#UvVyJlgEUOZiGg85y6_5RaGS%N`c z$G9xz5}mPARBDMUJ2svyZu@0ViOO6!*YBZxQ*;O30aF`85xE5^t+_mVU>TJ-7l*CW z7b@3vTO_yfm=|wOL`O z0%e~>Ttf%NQV6mI0>!Ip7B8>Vwj98{NhUiUgz}%%r)lK@UzbT7Ws(tQs>g3C`C=b4 z9Bmtyr>9R*Pj=>TBUxp&Q%$~i-DNIqujI6_I}H{C6*(o5aDmAVJE-txd z9A0O3jm&MxK}I_`+@W~Ald*u&xFiSBh|X;L%C?~)Zp74qIwOi&!SisXQ=m4FtC05F zhg;2xjc50NN7CVMAn)e{N88XlD3s`iAcf1Khz5vBIYbi4K&;mvZ6EY`@^4kOn8PmJ zl$wv3;54*-wfS8w^sD6)UIgR~msy`K0?cNOGjx}#{QPelKwR z1r~4<-XjNLfmrL-VBrIt?0lJh@ki2zKi~c|%0ww)s7#tL!71AE^&^zc1Lwge zrnEEta4I1d(MakTGtxP!paf37#su)XtHp1&w!h>W_nw>sQWO5UB7wVp3>UcrAY2#I zQ|MG{`Ns?9_Fujt{=N6?*LZ*91;i(4DqsHHh0{QT_rym^m@hT zj;iz-#_v|n{}IF_J_DpGNx`25nSW2w|IaUchXvk?f&sz*_d4?*!^KGetSfE;_y8kr z(qN!4%u&lHM59&uIFunl^uQHV76q`k*R05@_`&y{_+yTEgp!B}O8Y4e2F`$yKLX+B zjZ-I7x1!1rWuQk0cEvSs2?n+GzV|;MfxjeA(@-`9mVov!oJ=vWQrkFr20Ac9aT%A-;1`Qxd^)Dd>3=|;TY!&iUJi6zQ_SIeC+ z!jGdI9pu!(3i@_IR&fxj;`vLyF&axx7n{+mwmnRFS;Lv6Kzd)d{-+#*SLqmF3~WxP zA1%z*8zc6{S1{dIhLv3md(HdYt^OHkF)Z6~X!fYSE3*3aM5&L>b4~6I z-A)f;gDJ!5gqp!#J~;(SC7(VA#$6K2VcW{#2R~~|qVr^Vgvu?p7fb1pHudwbA!C(6l%d0UpR$Zru^#44-Aws-b!o!!xHmm-nhEtL` zvZ)McbcfV0I2=B=xxNtD7|KXKZ4B6$d~mV89Ak|NGLMGevug|>cd52HJ}PjrxjZ`p zK!wM3$GkArZnyV$H~{IvPrANbM7!2r+OJz|0*y-b%TR`hK!e7)hn=z0D?wUSGym23 zn^FOyB2Ox~G@u8RB=N&YM$Aadj()zzrZ?>?RL4tWFG@LAp%=L}hted0%Vzh+Z%#MljmEwq z=njLN_dXG6O>f-4Wn(Wj5vP#N_!=Pzi#pBvcKbFKxFNXO7L1@) z>a)+ z;66XDFL-&6nYO-an5#2Kg_220>i27;ak7U8i@YhE_=j8=gEq9h&@iG+!P7O^KiJ*LTe2Qa=BDXX1D%*U# z9Kp0Nq;jU&Tk06Z9ba&n74Qbsx}Zd6p8vp1XiEMAoAN~RxZ1(vVt5TSO9oSPPA2NO!8;c7`<6zd>4kiteEK6#Ksdt-YV=9zMu4TI)IRV182`Z02qAvfoNq)VKRi*T*2dK|S@IyC??CoGJYR zk@6(0Jm(lg`+B+ZWl3qa5!li}02b{l8wy?nwe{I9R}Rj(k`faL>eWB*75APHlRi*K zL3U8k+{KxsC}Y7E!KEJ2?F)Ysmk_OB|A=WTt9PW5a#}_>+*0}8vUl4fxaD;BizC=Q zp&(poFOY-|swE4p)Wu%ItuIr>?)0EuGg^u`Xg1J!UmS2PfSy!bdpm#YapKVfs8%Q- z!@#`SYDbF3#jy*xS1(~)k9Q1iR~!OP71qfKwk%*q$}DTYb7)IAcz!)f4RO{Cb{9`! zL#7V<`7a>>$}vPp(9`GFWVRaf4#obW^1~jt{N*~z0*mWDb#a@m@s|2Dv^}XdKu%?M zlsqae?-vFmzDNx&xISi;pQVs`=wvfg=wP?DG1o8cYD$`lDqE?B?d54mc=U)XF-QA- zzhsI8n@c?>o9!z&?+;~;o!a0&E+(f&1_zOwZGFdNT-Lnu8Y7P9Rr}}5+_(KaL0L*6 z?kr8;Dm?k+Ip$oKbg{->$vxBMs4~Z6bCsDUg2kYI%~qmM0@jV=!gR~A3w$vxThm^P zzrAc(E)<6ur(UCRC~kkxfZ+N6N@6V{yzNY$JR{D z{6HNE*$#!`Y7oMkNRsg-Y788ujZKW0FZlYbKR4USf=3;16hv`_o_tV3!svR=; zY-JC2!oupaZNRR^Q}a#TiT0NAYwxQ{@gErvd=RZ={7ufe71q8Ia)j4s=+)x?h@ zgR_jt;5r~|wF&r+tp*e;)G8%!>!sg?j!tUYUS)%-bZx_*JvBF`yQG>L@ELSEZ2)u*gHy;pBdkxE2Z(Lkk8F59QEzm!mHT~R){gYKZW1kF-L(nfDRtV8 z8^+0~1yUcQ8MoOBDp8oATW+0t=M7O4rnV@v+$MMNOh*M8sWR7s?Qp`Ed!NRQ2cC1q zO6#bWUcJNO&<(_0?ULSWKFcA81--q-no;0=M^bHg5 zSH3aa$n9)TP=4V?$Rp{wtEf!0AqZn@5C7?LMzFz&Yd$+JXLb^g7ysxfBMZ7GKM{Q8 zABtZf{}dRsJEj?g*!ZM0IXW!})A|?*>~GxycX8~^RPeiUE(J%0 zM>tV+>EggG_tNNbSf!PNs7LESCi3Pl^t@WmxAk*u%Z7GycHS=!nNL8eR9MCZRHc{J zGuX;)_h^|v@yW3(maeNQPgaqqf&~L2X2~$UzLHY!>ngKfG7B= zJB~MH6kJv`lRy1|>(?ljqt&bojc?bxtQF`U#11d~7Qwyy;wMkR?^FQEDj3T+_?FgB z9~C1#c-;s_Odl~hfH5%^kmJ|@LHvwu(zDZSEkk~%U@8V@ipma`XT2<6&@>xO5-nS0 zY5I+>?S0w-UiY}}q1vPl&%g05`Yy55)B1#~` z@N72!MV&^r`^&-6^DsuGIs)PxQ0HU4-a{suI4*S!BYCTpYuR!0*@C)(c~)$NwgmuO z0|r9X^wdVv6upd!{^lnMY!dX!i$C|wcoZN3udgT|l|}{JAFFNQO{iKzV%i@ZDZ8Da z7zHs_RDr+PUlio`n5dU4Bq!%jE|0C*9WFm$aa5AkW%R}`5q(t_sS^$hG28YtzQpcF680!F7hZnP^7iH zdQ`qHj&WPL{k{PB)bbqZ(wsGR7KMGss>%AtF@+5NXD2whGbJgC`4Q?YfDA-xwC^WP zTcF`+UvHopOK%qZ?QZ340vvyp8xHUx&e(UYjD!i9V+hmHMNBT>heq&`FsFj|?2&G_$H9n!fHqNvu<+!ewZt=aa zJ_nQia%@V5A4cugFO;9S?5mS#YQ=rKDc$>ygl+ABKA)2{vEsj@Puzv^6yXKe8vr(# zNLzxN?Dq$sWrH??t5y##yLGe8c8rdzS-RBWLYO{XT8CHni=oaKY5DvCZXu zE!3m^=C?2-HhP#h(m#1v)TSawt`Ye83=T#8w6-1#Nm5q~4MQ_v%8rrQ`sEKYQeGl$ z17!Z(^j0^hh&8F^ZnOw~jFy3F1&gf#W=+)GL?MwOaITy5tYEfqhD9Sf5m^33jxK)h zri)C0;dAt}5rk~yA<{T_hq?~~hknp_0}9V{-5`rdaw#;KhW#X?xn0s~@N%$zr5#o7 z?4jk0B;J%CtBCSi09xOoBW4(bPAwTiSo7j?$WQHAA`}&fG~@N>tsO4oHl7|>{FcuB zg`D{Kysm}wdAe1?&9||p=45LINPE*)tO;An4(?lo@IEr=YtclwVbJU~Ld%wln$Tt0 z@uI_Q_njvk?kI_8K55wD$OeB@l9v8_v6v^57;zae9O>(F(vYr|07D6v8IbY7!P+lp z^62Rg<9xfXXn|ggC2wN7-OgnaVGxD}`5OQoN86Rv@0VR-DI!eY-*5I-CZMke$H2l; z?G%6z+R|C1jKumL8$KvLh~{L7?+W)vi`wzxXY)9@xrRPAdu^@F5J%z{z?+hjz!Jkz z_57lB?RYhp&i9!ui!&_$ySxmuRK<_}~hrSj8+U_#}oi6~K82^t= z3=oFj(>*J4?&AkCul>4R$l0m^DWD$%gO(eWQ#;ntr++XE{6zPVvF@u0FHiDM7PoPi z_T}zOwUz{(v$`EH^!ll%Pnk~3iuc`=RIj1ymji-jmpKO4bu56;a#4soxPSSTUY1;M zN3iZHtCJ{efbpW`q%EH#Ywat2lUjj^2o}dT=yYME8k6K{MQN$?q-NiFtt5r9Gr(KK zM6Jc1f7N%*?RM&*RHZ=CFM17PGJoBR{rE|k(!>_Cz5ndvwv`)J_qyN?*W8r)AtC}Br2Mw=16g1*pg6C2TyTp6j{1M9r z+^3c)HoJ+0hNI`j-^b1kj^Q2c5UsJk0Z!FvsXlTuOnoY=n^WG!J4-uo>(lKL`X-Na ziUlzMv@!HDB_it`IWxhzGuAgH@%ZQ2O8Fru<3)hW0L@8$l95}H5QDJsRu>4l$a&vn z0thzsySBTy?5TotM)o!WcOL(Xnov#n>L$)GoWO;>;$-WN0Q$1l>0y`}Ob)l=0>5&j zyR9D|K)w`CDIK0+&}~%w?0b8|?Ty&&)lm>Feld{B;FM)NHxc9K3|L-aY1>NMNcR12 zwh`{CoxPpGGEvCc6m=8!`Ov=zAme_~|Z#S;%ed4d$PR{UnonTetW z75#v9+{Clxhey375Vc#?*S`!=9gtmWbFa~=rT`s3%FXQMH^LuvVs;^fOY=S~3{RH^ z`Pb`ohQcsb?UWK2Fq*M_R~OdNbg*lQavZgvK5V?$KWsA`PD2_$g*+`s4Y(qYj@Hl| z4x!I;Dede4m%KS1t%Qk>ngH0oM zMLAz%1G%--ZfIzY!6s{hcpU>?4ralJ*OFD4_m{hJCn|hqgV&-1)SG72X=zpln7LopR^9 z7U3CY>V9|Ad}X$EmbI`ff%_z!kE;5S;Qf(mLl^9jZ9tj{-1$>qYN4_%)7UoYJ0!^c zu8i?-ZgG0-1-&9OfJ!pp=ik2WByewR-aIccBEyh}aCIftU*M(6E$V}acc84lR$jw>30IjPd;vE61-~QA2UYS*=LK3IMz+W*=#RkLdtl9a=^~03hPs>maE|GVWrbA%40Gu z8C9SfF`Ln+u%m;Nty4r8PA5fMq`C{p8x8hunlri%i9-R>k{bP_+fZ9G6S$WFa8#4E zf|>GvY$s&b0%)G1;Os~*o4>&8-@FJ8h9M>=peOKfHwC`C3loimJhSHh{5L=O>yZ8V zEtpS$N7r)z_S=1^Pzb3Zl13m6|0jSNXc-2cycXtv1-#hD0)9iC&&U5aB7t8GF63MI zvoI}j!IgJTLcj?ll;GrsxrhHAz#u-ZL8S#(+O`*>qH|9lJq>yIrxFW-A-}Fg`tpi^ ze%8p}{SPhT-`~+R^2gwHbR@$6gFyf8Pkj#)y2ra1Holtm2blbCuy!R0Ky%R$^8cy7 z`b9F``$QH53^!R}ueA36XN-UTcNSs*WAKju%YV<=KTWC>?k6ZJ;=uoAZ5H!&FTKiA z^OPBeSCi}p7txFtTLU?(tl#bc#gj$jgK!p8EX`)An$w{xz{gZ7#H4Xy3jfm>|NZNL z7W#>gSu7i%V7gP!HZ|GJKo1py5vq$=Sd^F(vU`wV{?tv~4Ja^_0PB(;JCaH*rJthV z#=#FD5~2ZHV;O%rA^~LkLQLCWDo{g>*Wthm8R8D-oxTqTO z=KHl#8eZdF(l@nLt;Gpj6<6Xsd!Q}5pcY^W$a=7kW*;93P?+!joo4{o+Fkdvc0Vcj3=K7fXIW8$^wjloBRkXN>;yb<3dCT(5sTi=`GDZ6j}#- z+UXUpy934aKp?m~iy7FV56zE8({&^KV>ZTqgn0iOXsM@ zgf{W~T*k=~@kV>~A}%%M>8KPk6X!>*d=j;=c-$c@22F7#sdq|6uJzp+CpotLqHkHy zS8Kt%i&bz@Ow!D`d@(_|Tq(1BZG%9~Y!WJ(cxQVDc^LE=IL#<-Qcz$v{B@O`Fpz z00Xzlg7snGvR+_E?}+kFqzP8Ew|2l|G9=Rz=(3lYD4`@q*q-z$)(=3lJX-0@u2E*K z&9w||2g+50Q+M6NP`P1;E?HO~z}8KpM_T;GZRYA7O7QInh^Ow`Z7nI`INWaD6zm`Q zqF)2iLu47g3qsC4ST+CT~vbvP^TsyxI z=u5yaJp$OjxWw5xk&w^u*aZpHz@2$nVpDo@x6PZ2u~E1?slDRi-Z{bK!$-eR>ZaTR z(iXP3QA2;a8HJ%ApI?=w|M3n4J)bL27(%5~sl>0lZtG?uqEtEa__Lzp=edi&fMW3s z*&(|Rwk&Q!>4vvci%D0NNwSVJ%vq7XYzxVh$Z znPyj5-nzqVuk?R}7-%1b`D6xQlIxKkmPrfeoh^Vz%1o`1Xzn0m@sy-g{eaAAwh}na zqkNS&)eScGgv5^_AXV84M}Rl#(>*|4viG;lYq}WaekwGbzY}KQmKV(tQmo(0d$<4jyjSf0 z)KwZ$is|Z67USyt+^gkFvP%|Z@7M4RU2O8klOeD9x)Y$JI7KvgV^Jo)71XUK3uK~h z3=E>6PFDrFFj%oP4|9hWo(Ug6mg>|GD)-#Z1j!WtPAL2L8u-WS(8myC$m9E?8zo~! zi}S$QL}9gH1x;zCH(R##D$8yllW@9{*vL<^ZezbFjAa8p>56~l&#R>bMn_f3 zjosh7!}%oGOEAJdpADy~*V=eJ_K#1~nBqu#YqvM+l5;#rcG_6_ev{mhR0G#rS7n?g zMiP)yq~95jOo!^Ov?yXS5l6wANHhIzN6EIi6;9K+2FDI-c*=oN~p4x?01!I9czZ2I!@fV z0cL>oq*-`_0&q!lC9w$r*v`&VTs)r|&nT|^HI20!`a#h=%LeFAZn?_b|5opxO2Dx?v-2K&!iQq0wKv*k-^+C*t0ubIg;7UOIROgQ&sec zGwUno@4}0dfrkb%w-1e;zx6PitJ->r61)WLgokMOoqHL#`DVf)I+u|NjU2lqU3Do1h31$fwKC zN+Ol0I&g6|=eCjLb~E^h|8%JCj_wSck!v zbqda>c5cx0Unk+O} zaA)FJ6tna7sM>Elsj)tzO_vB0RBf*aUZ;?H;*)}T@Gok6kw75q?B>qedHUnL#M>hv zH>Qr-XX+~m)9g25L?(mZ5|YyIBd=?TX)S?dF%0=XV!1g?5sawF)?a&ueLq;BF?lId zI;p@^pfu(v)o?SumBGgq_gC6p6OmBm-_rID(meoeZEs3Aw4bB=1CN#T=1KDK^a0O4 znSLI9l(min*<+D*br#pdl)D7HfB;Cy3=PLwy4SFvk3pY(*YO>^(yII3ug~TnsGEVj zuS673>WB6h)Inzf=cy&g>-E3c|6BL~xmTU06>!{aj7Eu~^jm3bZp??EWI)nYo&(H^ zyPc8YDITX0Wq^MRqBwLKaGygO)V$wK=sm1PZ&G{knJ1#eiSgL%>SC|uvf?vt z+MYPoeV65>Hqn+zr;;QRt*0-qVeo;#pf~1j=A@ph0LPm7Qv0-NrPOKfljnP6lfORi zz5CD)xG|6+W#;k5&=3HiWdV652#<-Of&f5cAQW@SlOn_~a(G!84#i#hz|4cL66z<` zk6;V_Sx)TEC%xsWohhtqCDA`MDW$e@|Bn7E-K^<9>1JmlzQL$f_PI%uXAc#Z8sDuX zYfPb#6%X;eq76z5r;r`^)ZCseA5|Y1L-H)?e4Fk@@O}FA^yI41Rh8IUzlFwC;(q3J zJ!LnBYAti1v%G%Eg=39|lOJ4tP*3?+u>EW;Vl`ba4}I-u|91Y#sr|Qp9(q+W&zsPZ zsYa7)xm}OhP3`*g+2csloC{RS=%kc-EZR^hKNWGtloa_AUiSa2j(v*zNw7Y>*pJ@E z>A~|q%HXFJ{l?fAx`-%aevGAIK>;)lqppQ1X6ki_vlu07$YH?-aq zPyy7{&$VG6dS__%rN4TaLLpGL`}vK!Z6~^r;`IVI6-3kjh%u;9iaq8}3Zuj@KVj5f z`(n&#pUZh{Ok_!zd(Bw%#OGjC!(`*~rppN2sw=I!L|0&QgK*Tk2je#0h_Q0v?pM(k zLbqwmB2{vY)lkxdEMb38>wqUNTz1rY&d7m_j0|l)75eN_OvW6V>ZIhdW;*V=5o0cH zwp5CQ?uifONbuudj}JcglXE#?)f)Ti=zw3oUFVU0xfqcH=4$hK~=YYwl0 zY>|>D`SXPbka$O4Um3G8ex87)k-wB+Rp)?r94JuV*^0dcL`&}noWPKcdk$!XI&vrh zYMQx~*=>;?%J6-F}@M{(A9AhPS58keUtRcZ0JB%fBkrGEn8_p zKN})ix$T>&kt2CIksfff82apn{sRmF?!!b>+Qd`F4?tia3>Qs5H;>}DNZobb*q#U~ zvf4?2=e&8@wd$ma?NwD*JKoLBIoCpvqkYX&H;aRDm+^Nd(rV5^-*991W$dOh0&6^9!rZv~^=em0fGdw%$d80DmQg>t@MmH==s$J7B#{Brb$j>% zM%Z%gwh-76O`S^U;%GIaWQ}$Jps0rXYfh_Yi0F+Ydq%!W+EQLSOLxU_kR9X|1J?!( z_&bO(pCwtM8M0HS8M-*KTML3pP02>HrDJ?C93p{KFg}R2$Hs8@EqK1|*yNM5&0!B4 z?9Qtm!}^=Wp*+nOT^aO~PV-N$zZuqe(EJEkv-%mZw&d7sk$d|-xBOv0!c#LGVW2_! z3fx{e1YF&{-Zg4m>Uz{)O0AdRab3VUeX?~j$Oy6O90S70q4^>W*&a{;i*lV@2C;zi zZ_U)CX*|sI12|&uWmRJKSS-zc=4R1@tev3pi#`%5Np3vF8g%@cw)wfIcNFG zAVWstvlpDysXj;3tyB>3i^Y`^W5*rauq15QP}?-=nLPI6k*`su^gSgJzz_27c3l7> z>8@bz1SPCU@H-&tXuWwe0=PRbef^VN5SzvFb9gM~$wnq1i2_?SFI?Z;#4O+ZFOBnX zWYdpCxEc$Q8jOOBgofRUAld>hiXg^sL;dlX^JbhAnME?{TI=Jg4MQZphG$!%a#^ok z7r`hMQxrS6b&6Z#fONWC2){snH!1O0$_WrRp5+gVMjy*wcUH&-9?Wr59z$~VaL(N8q50HAxY09HaU$XPn5wCOzVTja0!SF+jLSpYo|K^@m-_-CN zfkMM8U6(xPAQ#n&$O(7P+YfkvzOJWfRaI;%G96%pn#@n#S8O)ASh z;evCshcCG8hGwT$Rmzekb==|pv*o|VpGP4mawj!<3Lw`#$~Bf$UWk4cFD1Aq030El zlw2zls zki~BQztBx@iw(^cJQF~zg93^)Qg9GL->{hdNzP3)&doNfHLSXY#*Ki3ae*`|(`uJD zU_{)qeqL2ECtCGt-cLz3R#@$@QT545G69t49Lp$o$8@6`KpnR@RYw06!$xWpZ^=>^ zD+a(fWUlAIWcqgAMJ-F@OwLd{6LtND+@bA>*WMdVcv0DoE3gO$eTGhN$IK@M&ME-S z;fhun=giyQMsTR70iEJYBK>w!iQqkYi&BYTvXxGMV#SDbubBX7<9s9)5p@pQ zTCL}75IkDHD2aQ7) zGv^HBs_$@iPioQ?Sc*<0NUr)^dYXGpd(`8%xAasIdqkt)uSKT7V!<3Pn(A>;&ydc> z%ZxaUxp1koZ)4rj1>r2}b^=*=ohhb$Z84^87^L!-nVG;jX~0tuKWP_yJ2!ccUbW@q zHY39BrB3!pA>f`cEq7ILi?W_QbP``V%WQC!x+{rH3hXt@fKH_e2o{f6iTbEr0bg}6 zE|D{s74Y{XMMpPS6YZKH>`Tv6bTiQtV;HY8pIbFCjy$!w-7wRe$%AFx$E zyXkXX4uC|NIBh&aas|)}koEk_bg4Ln9utTOY<~?q-$469DP55$Fr1mf^eT#DWWmr33l4kTma>|U1XXwfAec@!#YIDZ;4 zDiJ+1x(?J|fnT4M?rF0w`;c|zJ>>tr`L+~#ERT{}B7wb(#hAI!q6QiH0={EhostN^ z(-kQwi=Xr}&il8o7wWMkj2ifBx6$C?cT}pPpC!1*=07@W2X*hrCflK4wysh;T)AwO zN5^!0f*{^bmh)2iG{b(c*!ztc$+jMSK;Mu95@%H9y28+wCu=zQ#Bn)K9R#uIg5E7p zJ^%pghS3*8Wl8>oxHwtU(6{}w5p4?c{0m3Wi^u{??$jyd^rX+w9zF7TgWC8}3u@%G z2R=T2+UxJIk)OvN(3FQiC|2sOH)>SD$Cu}SlEP06*eUr!9{Cu`icQP2KkbL%o_F776l3$-WCb+)}Sn}c<6 zCf)1rB$F;A6tI^D;dwO?ybtsS!cfwZ@TL_fj+3~rIxj45GL~rCKR5sYRHD?oL%2h$ z7mBL;$H_^7a80B;{ps<-Q)N7GR_M~9hh)S38AJ()>vY%gxtmMCaqX;)##JBeu< zwq@9oUgO6R4o3AmcVXAVKY@aJ@ZkQZkFQ_j;{&n+?9LgCTI;Ob2c(Wv^*>#MZT}wr+9;(M;-M%$CqBfoIK(WkG zJGQe61=>!Sk;)A&eQ91gjFoMZD%_6>y+7)9K}ap+e0KLl#`3=I!t@X&yTfMg`PBWh z8Hv&K!A`Mgd>4f$QQU#_pEicv4F%F>?|)4!UmSLQ=>Qr)g{i)1^XiT*d_=3rPVMMG z%60XcMD$DT?B~pHqK{1G>ec)z zjc^j*f++0^8cwl{Kv)U)OeI3HR>KN8ghn1gZ9BTYiJ#DUSQ zcYo=4(Y-6eMm74L9<(kwsba0ia2c0{V|iueD)cZ1xI90E42f|RZlzI6c)ah0Vdo(` zEpF8+2AM@)b0z3dx#0BcTC?W(Ri9#gBKwVD5&0p;&g6KHy#E}WMm%m({3r&AGg#`~ z&GOY-R^SSS0{`^(h{6*SP^^Y(JDLWk=|<*~7U)K`djr$}#YUwJ++K{aoR{?oicM?} zW~lj1U)S`FYCEvnUM5gdT$JT6Q;%O-vN^;Hu!iB}bdTfUefW-uJ$$Hx9`ukiYQ@?4 zV%Tn4+}AZ@DSyv7%#u0XgKj2+XDMCZt8?&*`O%~fD zghdzUPxA}ah+ie7UTs#xHHlR3@?O;QkuNM1Qy{xsPMGrkFt_M4|>O+jRO0oc@Gvrtg+^|hRsPG;YTHy=1WcN_NwRX zvMi>Zblgk6bcyB1!$tI_ZnP^lI~wls5h_sPyf;w2F|Kd=d{yq9QN8IKa`Gg{S_rs2tk^>+58E*~k z`kbvu#aRy9;`mXe*o(Kno4d%MdEva#C(o3R*S=Pft=hK~9dMO>2w4qZmF8raI+BYLT6v=@&Q#=reo0zH}j3sXNfl4sAJ{Mc7s<4X%H1|)F69N~o&!=b>5 zzf`fNR=T-qPdaX?#H2|%c(4r=Yl~s5Iq*)`X@q10({Je{9yIZH2WOIYCmDCGN#AmR z5WT%_ZnGLW&!;5^=D#>fZy*>Ny2GB;@`1t@w)#vm;|Po2mR)6}~VP9wqv>$=-t8nQn>bcBY6%ge-9A+!sZL zKpCN1rn(Pa&dhAB1d$_4fIJcrz10qzD>C5FEQa;Rb^ zS?rOZlgvxHT)_8I7tF8EUS~>N2UDDlvn=H!($YG=@JO`>g=#prp0NA z%ebxzA1-r)`FUCy^d1A})&M@Nm4c_o+gYbV>?CNlWL5bobB$>mj zdG>SfK9QlixY+@85MvN}g>jI7ja0e1X&#T+FMFRq2fgcgj(# z?%3{cB<)YM+qKp~LZ^1286d0K6N|Qw<4^m8h#11!tEs*&6x$GV3!nZ9o21=at=ckd z*=LgU*q6{-{CJTV=9E(Gy%4M9+8wX+%tVONM_1}>tE4%@rd?wRRiP9an9rmc48STB zD0h=@wa>}MiZPdi5v1pJM`Z0QU)DkqBT7Pd#uSAacF!fr+u=!fHd;DVmx4-lr8K@Mg{zf!%DF21AXI=1rfpV1M7Ud+@FR(G-uW~x^N9)<*|*&P_4 zB;l+Ysn|#w9FnpJg^sMb36uU1T>V6Bc(S6h$6tU{AT&TtA>e6P} zQ7e9=xP;pJmL4R5&yP{PcZK)HHFW)>uHE~9F$R2dH(d`2-17ukVrm2EvBBG^T~zI* zLvWr*kMsJ1vBX|bo$5j^U6ikZ5At5I)v$*7W233y^slemUL>RHzU8h5e8tmC8Eh|4 zW*LX1YG6v=+kD~#pIUc@x-OHhPkG8B5{i(cF-r7u2&XO`3UA(+EoQ#gw6gAH)B9cK~;5whFObsnE9HCbC* z63F#YPj$~1f;8boS-9gGO6xZ<{)5mn~9jX>6O;GxZeP(>^qjclhCM0cb?HkVu$Zch?=V zRewmjK8gAJDDYvQpX7x~*Z{lxfqGpC#AEk})o>i*DYTboO2l|X+IVXj9(IrZ7l#36 zHj}i!{;rtuM6IDth-MnK*2!nTFnbb_SOkoVTs>5ub=zT4(Z1%GsmO-oh_4obq0ezK>g* zh41;LZp4tGy+t!Rl9|qwIK6Fe20Qk=ziHr+*<lm`|WaJs?0# z%7f7NMp-bc=hOGZ`aK8fTTpoHUO3rxmgiqAQ;jbI?n@sfZBx{?}T%sDyrZDJ6xY30pX##GOaO0;(g&iYKdH~ z3F+%EAZ=gryp2S0Ta>Ox)NEgAtW<!P#Jmg=bq@mXl;j%(~mFEVd4G3D&>#tBo72tPYT>$tefAX`oKiE52EclAWm*`kd>mL+lB zNj|Hr`ztfYhO?Q#4e4Al!naSg97O+7l`(@HV$1G(6Sor^2^ zw?lal1ZG~z$qtOsb(TysFr61km60t2MZj%DYbgpXv79ektLLq!zx-Kd1k(x)|M5o6 zJn|Or4B?~^?C?rt3xmjPs@{Pyah3bu>-!9i@oonuk=fck)~nTVgT;Kto!37VMDL#f zUX=UY7{lrjW8|uJLyE{3Jff_PP$6Nz!eoT=5&pJ)% z*xiyRfpa1X50ppF{jBo|90Hu}$}(jf0xET!c0VJ!3hoKlMI`-<=h~D}7qpd+>VstI zewm7_u}PbH<{+jtgmH?I_Ir~s_3cV1MGIwgQ1E7hJFmv}<@W$Dx^egyn`@P?PR9d* zN~)J_Pz}HI^Z#Z5%g*M22T+@D+y^JfocJLN{pWo`5_{cD-(fXg$VgqUIE+T+LlbTc zKmb*xyBlicy?EvLF02rHB%S1I=|X1*dBtPf*5~IcF*z>DeP1G}&xd?EO5TZfywK`X zE(@qf8cy$3@2DPB+(#o8rPo7A9=}sJnwpU5+iQ-(FKEq&?vO=fZo6jsHS1x@JU7y{UGkgL=ZD=^HbW6_>j4MDT;dUag4RJt7 z!)I{5*wPY&@nz?sS?rxL|4rCXz%^!~zFYCaY~#E8T+S;W85doA4j5*JIEjR!x4IXO zW%@xjKf@ ziJ^{QGr}ZNSb22r1p2){EMcV!AYrvh>wo(WAEeT@qv$rq&+IH2o(o@YBC2vw2bA>I zrFPketan%nJ4CO!$fK;*JFAryu5;gqrtw;UhT1D4eb^EO3p`%9z57nX|Lw>TAK|;R zcdL*I&s|)A5$U^1M3uKqlQ6P_l>$A@_Rfdag@Qh?`xuY;Z`hp~nRV_Hukmd|v(+n77EZeEEvx}S-%NQ-x+*_0W4)hbp`exS z3PEKvVv6F~+ZD;74i~l*vC9O7>>mmwvT-#Utz!|f=HEl1ASF~&u!ZOX)`&d+{Bg>Q zJ$ENa3@6FK4z=4 za+3g<(N{&>jP5rtpk4p`_*885kj26s?Y4p9+f%XT^-V$kXi?Mc2U=w;C@GBD8{46& zk-`Ej=i6cWgL!JnDT*2|yfjZzFZn%0K2y7iHz?4y`BLQ9^amcq3eRQ_`C?`k!Sj3k zMG{KviJ=a&c|WWNf1PysD|ij9EM}TyKWDQg4k4&T4~0%BZ4!_)eug-A>(miAjW9aw zgN(*s83e)3#6omjx)HU1GdBGA``OfD?j4={-s~ROl)) zfj4`B7oqP#Fl93u&gszSMD^|C zm=f$sKhKAUx7yG(osoM!*Wq{WbJ`*WL1L$dlANeJ18nO+1)emhhALXRB<*XolhAwRL813?}{n%sB! z%14BIgrvK^cymVr;A8RPaE;_X_c)hjV+jIHf3TfKP45Xt89!oBBFn`F2z^b^LU|Cm z_na85Ha_;3qk0{3OxE()&kN<1*tg;pzvzx6n01g94@zJ9V@-X0{aG%oQpW~a3Kuwh zWfH#Y#+t-?1)&|+|KuM>He%mNAmn^8pmq&D=dR+|hMaHtTo^IQeo;g8sDUO1Xya}V z^HZ0>SBrcm1R0lO@~ECh2m8l`p^~TEM@|S`J5r{VGB11kPb;nQU3n}Ycz=@Ld%Qo_ z#WrNgZ^R1MO6;$-nDWU%8otBAri+C>i?JLz>0J$3lY~s-f4q2XbV2Me{W}d5Y<+oN zyZzzFNb;JRcI)e&kMErybYFFQ2mXT{0b7;|ln$2_j9^2jm2M?Y7R--e8O<}j<+5L(uH#yi+$ILb|VPTcE?Q=D41$!KKi+k|1DzxNoCBq&B@H? z)yBO(-dK?f{VVmQB@vE#G%9Zu5bF2*^k5!+z9n@nv3=%>WLM|S_=?qlel4Cu&H$;I zMV5fiIm<&~`!q6Ah8;xpt)~oe@^Ros8hpnuq2Kka0Y4S*?aTs8 z*=JnLjRStymhT0Ha?}bm4O`%6lLe=wrH|h`%VsEmMCCrR%idP zHD$ooLY$N|Z>(+Q*2F-VVa(>K)@|ck`7ZarB~39rwR}!JIVkbbDR&*7m&Wvnai_hU z5%prIgA1vzROK;n;(BWc?~OkAvUL>y^;htvc+I@RG-NYz`s}gM88H*J!K;R6kw=31 zaLY^-`NWof?QU58((o1+fBg|ejU#P!C+^ECn=iThxfAOzD^>_+`~l`agXcRp!L##b z^gOAjO>f_)f&!;ab#KzNHQWI~+%tmw}>g>^&Vh}M46>D{7 zXAJ|d4Qe7*lcFx6IsDhLM0>0uVb3RQ4EJfe4)Pj)y@SIkF+w2MQO&X17|VCRGn%h* z4{GOssFNBW0{5yHe8O6d_@J>nQ#k}vb0$l;JkwjONF6(Th)_S5E}hwRnovrHYFX&j z;fHf1NAA|rCf;L7vq5s*y!!6)flt^sN{Q<)TA&H8a9I2|XoA3S{mo0Sw%TJWSTZf5 zE;2hX>x3j3Tx-Io)qyUKAu07C0bUnF1OhIDxJ)SxYRFxgORF<3HcJ5;TH#sy?{PBI z4u`IfyM^O%kI3A8!eiDysrH9piTpbN6&sRlVTqRYJX-E624oX51&q3}ApF}pzytW^ z$Lb+EdyHu{Sv`A>n&oL3D>&<-v)QQYtz&0_jbpr2vGA;}8PNchHzL1_(nTv`Xk8D7 zij3gn0ADv3Wo?20=G0BE<6w3CSZ_x+E@jy(rBQd-wu#twk_J9GMG$D8?`ULekbeR> zL@pw~N;Jx|-+$_|!-X-2Z1D_V0NbD+b^VU0qVB0o3Nt$2{b52%LKUIm;aT!u&QJd?nvicIt6V$Ir~ zjXmp4PA|?g1d%gMFBcc7$OD;LsgDFTdgt?*wmH^XJA^KEE)Gf%1pTVv_AS`bqjmXu z@s|>r+(LWwuY?~6`hA(uH2fq79);U6LMOa8lUk+k+R+T%t$xq0R=hpr3wm4P?c$v4 zviZaqSO03rciyN4gd@?V7_9lTcwn99tW%c9shGj3HB59B-P zCZYwma1}9Ox4emCm>1YtU7dEZJ)18$%-qwpMTCtOzte{K>O|cQ4*I6=&l#JZBmWO; zxJ4Ije{(Hs>~;D2RN0S2C(9^ArYpvCpOP74Jg4%jl6T0gC6=7spJS|T-YW$|638MjBNQhXH}KMNo6k{V%ufLVvD=H(o9PF_saaUcIh{uW~U+UWpODTmXd0 zA-!-E>eBY?;0xSn4p3XA^`V3>{Zjh=z2=i4x3GvR%Epr*|5n-l65Ias2aO>HU-ZLg zExN-0^d$cjUH;Nu{`nCd0o*qyg=d7j`JWs5&%ggKz0VK>P1+Yd^fvnUv46i%|Il{+ z`TPG^|NoC~>cFrhf@+u|jD+=$J8nX2@F|a(iNT$=iuu~nx&_L0H%JAa{&=A$h4~M? z2Z;u1&#yYn0C7F&=^BR*`P_VERjydij+$7D62B@97IfI8PD6a=GP!A1P`vYSb>YXo zz1Ax!)<#gDuWmvj-g@9I?fq%^-RLppf)ffd(PL&c8Z^dVOzc9`m^0eix{Yv$9JBy9 zLaSJnZnvgUQDJDFNlX8#lWXK1u7pVUy&bxb!j^N!Znnz_;D8L}L*nW={B?JZI9AUG z4JeJGc$vRaR&_Iy@2RN9{#$v2JSg zN z5)5|ehKjPaM$!1qUnHZBQuBOv>_`it1nzoLDKP-^ zK>OrN*}_X2pG_s6X^^f2K8C9+7UQ`qMLv-HYcIvb3yhXC#gd?*!U>h!!PT)HXYUPK z>I`oOcoT`W^Z;*5&zwpnoBPwD+bO5`Iv`VbY{4Ig8_ixho|LNbncy|9K{4Z$UlEzA zThkaCst#+A?XZexlpN}Qy`R?nTULP_OQPL!OD1I!k+apYS!abqpWo*UlrA!D(vBAW z9W7t3%5}Gqd0wOM3E1wga_Ep)i!xlbNx9N4#KkK5PR7b$^O%3{hgl4;(Pl}O zWN%vx`1ifC(cx#X!Y7Gj!HEqWSrk|CHrEWx%*iMQRH8RsG=RvFf7MVwvk`LwJ?Os_AHZdMra>1XovFc}*yyo{9N!6Z^&@%R;(Y1d_;F66ni zW!n^Rc`1BH&;`2d4&t)5>m{F48cnIOBQKoZhrWE|md%W>{OUHpTSe}IF&!i@J4|G- zf(Ljvu%)~ke8RnLlrY^2 zczp5P0jwDAG6;(F&+8;Wst#c-%>`3mY6oVW^5c2#DDc~6f)(mGQ;>z=;C$?hp#~!`kWR&(wU*T7*^HqB3 zl!TL(NI>j>Q-sNAP5v7A7gwp+lES#bZSUPJnr9w1y>br)`87#O2I08h4saTc5-{3Z zI=l9Dcm{IaSn8w$M9mO1d`lo$_(d~v7i*$yi)#YenW$W}`NU4+cti@t(Tu{;d|{Co z4J);K5{9n!a_}>S6egJtzx-zcqEECI@&kGXSzB#$KJ`1SVL-P@c?|Y>Ju)!_qKA}M zQ+jv~1e`{d?Y57M7KjpNk8xAf93n2-p$P_Wzm!lnZyR2`$&jAZxPHA6kb> zuG^yw$1H7MhU-wYnf3ETcWXQ)Fz`Aj`R)#t8Xi+yOV`u0iqS55N5ZUH|7n8fuu(zh z@%Z_^WBGD**SN%N_&bT!<*0yx)9s)!+XhTPTI5{iB{~RbubK4{PIdmZVRvQUeXE$| z^6lkKr^J!s#k47X{GM}d1^JD(Q0g)(Xy+Kfy7*pI$!|wcG{9bIwav&(P9o8TZ6S_W z$@eC8p+=W>`$<8{US!)$-Y1x3HB)|1U;C>_WMZ*v&Hee6Hx;|qZl?hqprxNLu5ysR z1?baNZ_(l-i|)!$xnta9Dy7#gVzI(^|GiAdLMti~5PcXCC1BpTN{ zSISji#PDF7tQGba#G0M*BdxG_}QBP8@ zec{G>0H}6-(2>hCl`f@*r{Ph*P!UV&f>qGv^j>p&dgCRfPA%n}yHCZXy}h*r0qbB4 z7snmIoW8!tZ?uZGw3^o*E8su5z{zzmHajr#*sjrwjF?;RIZh4wHhVwBlK9es4!$dv zwd=MudAAb`2pahTab#J35Fj<{@G096P1fX3le-3=#clE4WCXp;q@SGaIm?JKM{!;Y zcm#fSI`(5OgGltPIQW4Q~jy9{kDq@KXf7K zq&{2u)XAeF)x^o1dpikK6vDLb>e%#~7sAis^(P~yUWVs*(jr_&l(A+{R0MR+BvI(t z^go^bAJJhU9-I}vIby`4j3I`RC|KD{mwm%#rp6@smKfn_epu+9?$@fXH{Hg@t4n+; zWWIfUL9ssS7!BE{8{&~Yo2{Qx^u>yrIX{Tmvt)06aN)Z5R7Bt@^#_zuhSNe%=>F!` zHPh-x25e&24G{DSTaFJT)OCx5>hi?rUWAV8XL);kVzPf#?oG~G!g)2nle%-1=wYD; zixRrRpF80-TZkgIhRAJd^QmLr3pO9Mny>$a0Oub7=N#%T(<>I_L@bmvqx=;c@3j9a zg4Y(@AMY5@ygZSJ{knVPC5@Gc65jQ@qp3%#sWjL2`I-GiYVDOafBUUdQcZr~tjW6^ z#ZZaWp-%%1P21XhE71}Qj%y5la@}enBMhV2)aWud@tXTj2{*6ObCZcn_;uT{=FbRE zo2a9EedeyB4}Xl0Vd>~PZAg(j6P?Za;`e_e35gjm`-$Ci3Pl_w=>S3%ZJT=MLDq98 z#m@wYRIi_ziT50Y-4QKsmGy0yJ|6_d;tSvDh>&4C8IcwVP49J+x8~$e>8S!U$+|xl zU|bHvPUk_&H1t78kX(zgZvnG8skk~4&ASHlf;3g;r?F3^20WiIe%1u z-R<=kKU^ibbg`R%8RWj9@c4u!aD*p2u5n!&39dNmAzt+3;0EcG>CQCV>vul(wh}6I zcSILSNAy&loFhG-S}YUHJ;iZ(i3yV&nAjxjE$H(~D4v%PI^s*1wNG}6GNG5r>z{06 zs-}w;TWYX~Y7gxX6ZNuOh4WS;I>PZ-W`!0CH>bY`>I3L{A6wZi96 zl`gbm(J0hHXuHxJC7aW*E88LxHbov69?m4!v%9z6Pqk!T^R>(YDvEX#+$k5E7u zzH^RKy)*H|^z&vfQyV8qU#PkbFs?szDU})U#lSnTPs!B8E_795V|Q5xS}VMp_a&8CW6%cmR?ul(#Fv^- zR2RH$Sm_^tePhE8i3*cpBwLKW=--@Q>|fqKWI7l z6{fRGWN{%={jwW6)x$JIcagu$CT#1#6JyDnMze}(ksQg&=r)CbQ;;=i+yEzKHmaUo zP*Ptwis=|0nbv}G1m$~}<`Zl~I-5&ZYnr}Zj&6NKKD9+k6oR|xR0Y>}Db$gUiS3po zf_v;=BseIpo|XrUDym<1R$iAIQPMpHuYBwq=9hIBf0VNv_Nw_y`|ij6&|1@2FZ^xi zlA{#H=e(}JD?-#(66IpXNzmJe#_~}JG3WH#78jX5T1q*S?kl1DE!@;^U5Cho4+7A_E#7UXswDZ4#4y`SNj>&YpOQcy`vnqKuM7&_YWLzwwr8{ka?p z55hV!Oe;INvzW;_ZT?Gv8dE*h_R9k2bBOf!gm~Mh1H{w7+;R-6lBQ#ue0+8%|L_~0 z>h#$Nm8{oBodvC(Ux3*S#DJUzNq$2eEloXpXK1?0U?Vdr5iF{%2*4&TpSWPZBFZZB-Tl;RhiHo>mvjKm3h~r{N<+lrzEP=W3O((MD7>ZcKsF9eV7X`Q z?vFcv^0iyL?3K*krJz{$R`LDB&}vTxq5a3YjT5dDZf7+Wn9ryl;&p-u5$2!rM3lYj zYm_= zV!^7qALsVRR8O@Ivu40C)PqNJ>wS}Dst${ForF3Oyw*EkioJ-0KNWG!Egdn!@^pb3 zJsSsLA#CaO$h9sh^?y_WUSF5NNrrBnRLmsMocy*uE-GM`H?%5w0PZP=uS!ereB7oH zDOzq$Ix*mRZxRxer)#2pZV0e05~6yeD;0gc@sIa4@| zdxQtwfai-U?R?@oC=e{pMWyFl#H3%E{lXHg2{w-?CMzs-aWUOmD+Gg`Oy6CG7);Nb zs43+;s#Fl??PmazIAO1)@OP$w|@DK zzEr;;+HP;@Nj4TX7}DPh%Nuxlf8(ORW+wPJ+)6KGI;LJTrq^&eKV1-jAG~I#Y61m6 z&MG<>s3)9X~+nXN`=uiI}(;;kd<#XGiF zMyEBppMcJwWcR`<)V8D(su?#GK409BVAvbeDa;|T}P-a+mJf8mn$EUg*_|P zg+3v8z4vk^2VOpC0LqgUJ@}hv96{cc?bO^cz!{Vf(QmjU#|>GG@Izf4zzt~~ag3@~ zBV-9mo79f*&fXhbeAyhJQ#hxAI{P#iOu6TSEO;zDMZH$H!x%yIr)LgcS+iC9=U{74 zRp-g+!?D;+u-gG2X?UE0hvea-KoQd;FY%{Sp(SA-y@G`!8Kgzd)4*#Z<6=vp-I@*w zYcl?NAn(H`m0z0;UOLGdUVAQ3)SmaV+Ybz3Y#%0$OKL7vT25k2)mX8lJC~?^!qHC^ zRky+p(IM8IE^O?fKI)OM>&09PL44+|%#g{3Op5jRb%QME~q0s?2^je8l+<~vw}f1+x<6m`j|1W8weinX!2NW zu~R$V5Hkz{wG)HcMVzs{{@=-Rtk>(dXmy=ez*4{MC6GEn9l0ps#7^BIEA9*0<^+ zAr|^K||gM;4-SHy{Z1KHk)@ zOMO%P<9hjkY9}tU)N4jWscFuIwkekL71;<1*OL^!|9C8?=_PBQY4%gQ$sHL3r!8iPKQ{usdpc|9>U_Ks^`gsnW<9> z0~uu+sv^d6=8^koM*7QBvy0tIPs~ODtg-+dzWhz!0>&^EL9UPW+o@ouJ6t+lDzO)2 z`!ITayb17cT_Hrv25w^fu(yDiU(OKnX>x$2r9=LDzxX#xg9_YkISn z1oGzjK$x%GeG}%Fc5|Lo7=PAGm*L!St>d8*{gwj)pM57ik30BOx!GY3_?eDGHsSIV z79g-6G1YynzmeMOlD=(()jl=0pKOpII0Fj3^(4X&hs%&x)x?;7k4EM@ zc}_+Mgxi|v|2LLk>nEujUxS!@Wz28~pOG(@UQo8oiBWciAcNOt_TI^k=zSS~D8|A) z4+-b}5&`5|P1NW%Cn__{(YbU8E2mY4}QI4hk2GwEZ#{KyY z$iub`JFVpBVxs;ZdFyWPTF&>W{<3>PTPz2DFd=?^=->pzl0Y@C8}6mH_?5X1}&ATZ4U0#lcC1b~0N00+Y8GFW-tM%`_Nn3XKf zD_M1nJ~ZYkPC|U0DK6bE#)ePQ!k?$dX{1ebthMjshH&V3)O#2f_$1q`VMj@F*x_wE zbLhHC>D_J~kF-jj6Zt^#+fr0Le=I+IrMmL88y(z*RmYQ{{H&Hn$>08%#iT^N{BTrhA-{R_&kbKsUj>-P8eUAtzQZ5}0_~}sSqmv01 zD9gt&vum{(8aGN4YTF;>vW$m2IHuOT=@b7W4NyjF*12r*-{rBMBrU4AnEVJxRk<8xp)*cf7+ZvBpyqZd@raqlYyqUNbW_r9^cunf}(Q%=@5ywn=gv z0G`w}qYppy{c<~yaIbdTJOK^;d%gQ{Ay}@A`|Z~qA~jXS^t>z{rr89Nu>NfbAyG_4 zUQ_qa4;O$M(9=&-j(Ys=H?e})WFSGt0-ba2bx(7EYdHraDx!I*yK`a21B?z-Iua`^ ze|i8e^lS{YT*hzE&JWnog#M148Ibrn<_)z4Bu6bsPlaMt#pz9hoN4zqlaeFr4xKbx z`uZp}!B=J;m$|}LOgLyScuqdgW`+sZBkqNd!09gt9M;%e zG%1j+2gkhg;_V5iA(w}wMAmy-xFFkka@FE*v#w&_bZm*-9caoRiPeKEU6zv2)7x~0 zKpxZ)cXSCHW%8TIu1?WdaK{Yp7p-9wI?yt>9o6unh)f?LJ^r_3RMz;} zVVj}4#NjY=3J(Vg&LUO_K*+kxB~Zr?NY*JH)8+pQ&i&h3?!2|aW{rMJJ3cyosI4iI zR~XhX@t*a!sZ_~p{wp+HPX?iwPU?!%XzEmk=qS8t1oQzq8|dZOI8Ay=2M`OR?2m;3 z$tXB|MjBkO4%d|)@Be0|u&&}BZy%f9S)q6hu-YR+k?wTn050`nqmOAUllCSEe$`BD z>t=rbG|9JW1B+Z0oT6yecYL-%)^p4#S1>q|3=tEkzDV2vwv@A-n)yXQ4G0S$b^ZC0 zO1|=|MovxCqYf9^hl1i~IRb#8j14S5d~D>xLvE{pTmdI>+_j|SiYQRw2<~JW8WHZs zB>EEJ{Q#IJ@UD_N-q!VabLyw|lZV)~zyNy8gyu@dHzF!+l7{~in;Xz_*s&8a{u9ATiE-i%Hl{JhJ1I?>XBxvczObZ*T*>0F1m zW{r^=3vz&SDfsx7hK~dQliu)H-_@I{y8nr|Xty)vYzJ1-e6Aq`kx){jL5{?5QF%wp zcF;So_hNFX6n7Ksppyw)yodckba%bpqWJ9R*=hi~lB)4@8AG91R;Vs+hVC`Mz@_|Q z;0TO3|JD10x@rA^PGA?xNJUv8Zd=d`n2LrVpZcnyBxxzt4<`r0t^uC+4_8?LS3^Yg zB~Q4s$U~?+)b0!-gc8_QAh`7b8#@zgwPxG^0n-|)7UX#sI`xw!Tt6@vqmW&u;DctG53fz3&4Vg6I06w;1<)uzn>GQzlR; zg@uXqaIaM23)kr~_BnsysS!_^roiPnkcx%DA|v`L8}8i^SxC?k-DWz5h0P5E4KzhF zSoIdfbuJ@!0amS>M0Ed?fZ7Ftedd}oU_I+6UvD~xz8PGP5D5B}XXnf001(zs%0T`N z@%r5Sy;rRAcCo+pzuLd_KWcSky8}IwfXiHPx-Jhf@+mnnb@$3#*e8XRDZTJWuRb&N z)lMhf$9jW1uE{d_bh2ONxt(qh&yAA`H71_+L)_eE>vbcl`XfB8F12e}^XHQ{MyIG7 zKT*~#cD6Dy>qb7?1sXX_Wzk=bxwjK;_vl>dsyywk>s-o3i&|8!P`W#1?9iZ6EdD-_ za;NRo5^2y3B@9ex6c}h@5v{hUWC2IDOmLD+{9gfIbQ~JvxeHej-(4gfE7`%LD8_!* z1CP0B9*4!NZng&m!U$z%K&|E`AO@PsZrTxdM~8rTRTemcxV7A^hx>GU7VF0@RBR;$ zMF$3>g#xMa?MR@ck)_ZHZ9zZy^f%vIUg1CPWH@+oe7qMX517}{=v%(J!vnR?cESIJ z?S15ZhZtz|n2uiDl$d#$h>yoJZr}9dEUKNr5e)~#FaD!*uZuRA z>0{gg6d8hfr;iJTHnBU{#*XWmFv*>nUs2WF7(~|Vz1AJvMqB-f$4UuYRDyfOBZ29f zR1W$As~@X}X`psNJX2&s`!LPC*9=lqe|*{br!uK=@dw{2P+T#V9IxvSH`HONOy9yc zYJc|}K=OTZ{v=da$D+tmV){!UUb>N$3Hxr9dq3$3N@BZM^#TL9+2jx-344wU_STD= zzJt2ytSp}#mpKL866X!~vBztlRf~b;_N3*prX4SPAzAzf9j=^TJ=r+ZcHmE|d;&B@ zG0Z{}-qCP^n{Qoyi=#e%vEh4p`e^o4AZ6X4dcwU;!luS^uFLX;aWz1GkWGiWtMGw$ zoGZ}+0z;|YV-7xOd$A9BB>*>^zI~dsWGo=k<5lW)!2uVKG8y#&8Y-;2MVB;BDS@zQ zp0d4<$b01dU6pgCl`mbP)*n6S9wz|eC?_bQ56!A|WMK8uc9d>6TN%<`$6 zN%1vyc@_CTE(LAx71!fk%*;PFZ=(+IZ)XArKxYNR1FzwWl%QhIiDhtMst-tq{;e7GP5(otYLc+qwfo_jPj#dG5(}slLc9=nnh$%xASFY zccW`-gyuL5s8@H629Qmh${To)NUuuT#e-pgkO{nZWkpcw)YQJ_JTp?w&uwEDuT>>4?%~zHhh6N-YvV^3#fPToSp6g+%5>Ue z$#I3!@VvMY)+0rnqX5w6$~S!st9{g%CTS#NeD>QS(2H}jo@7o6(h@g@UkO0V6fFrq z*AP~6aH>XTBAbJ^#__v;*ZZCw5mNKl`*cojb{Q3~y#h-u^c}WfNVRySlmm@j!P&}C zKwl1g%u&A_X5f~80?$KD{?U03$FC9XiW!P|>x3KW#UiC}sh-=VaFSNqvAr_1j$3Lw zGzpwl@>)Mlg~~Hw+#AY6qN;*Q+$$A0jaCO0Zh#r`hyZ4|`{oZ*oO5G@6J&L%@1}xp zB6mem`MG|ZH*;u7F^PNF>OgJdxuINC5^pl3rM&(kkqwB-T3X)OLl&iea4FH{c4*_5 z_wbf~_I^H)WG+Y;9#Y&G$yVg^xj;t$fg9z~ODVRfZcd+W&X;<;#nP+mln6I@C-8v1 zpJZCtN=;U}PWkhVO_nqdb+}Zv z!K73f5s{87&J#UVS9;tfd-fhftT^tKvl~*keOdjo!>0cgId%;;NF!8N$lXE`=X_ZG-R^ta7dw97Y(DNBzIX zf|+Ms^y3Gty!$J!!8Ui`{u_$U1)LN?<3o z_vLGoFWYpr;C%BmqejWn39R<>8sl1hE~P%PuGHt9$vH(G@1BzruIu+=0)&Q0d8P}n zATx&5Dj;8oio79#ERn-Vq*x4p-*?Gin` zmXd2H^_%c~NOymQ&l~`sTLH0|C0eUS(HdZCxVMo5&@(&BA?z?WL`6@V`jc9+;@;MR zaj-IO&U=tUgbsb>I}g?G)g?AIGQYn2O0nv@K*;(m(-->YY>p*B5>FyeM)@i>KZGkJbG>Y z9D}iDaWm=ycaz6z)shb9E7i)$ISack`ENv3?rtD|vrVV(_%F3Fb4%gszL;Nr_o^FWY!kXUc3KU{k+OSYcY!^o zj;JBP#s9%qll{f2-dW_HIdo#6ow@%7 z2@DVYO~)#)-*+={*LQOLd^3;Xra+ujbA}1H34`^izI(=hs9R>QyQbgx64<;x1lrNW zL@#jtKR|d}?n)9ah#5b?QTz|!?SDXkAGi2PzVsjX5C8i=U%-7S0Q^;9=4<^otNg$C zejq?IV`Kjp-ufS0@c;Y+Vh?WP(@SSAVEoS)@*lo`9}Q>#4e6M8+?WaUTt(Lyl3Tgi z5-+N*3_zD(ulYM>ET{cgveN^guA~>PD!NdW-hJZ4Rsv^|^3>)lGdG`+pIK;+YgBLF z7F`AVQJ%euT783QzX!Q+*~0+PoB&?l2CO5pA_SBf-9cObc?L0>X{)Udt(b;H(Uh(3 z)o8Y|-`%7nc{)%bUz>)02i>~om28wM!h`& z8rc>bBXpkM^QUcB64-Hm=s@Zs10+%rd?Ns2?q?-UvoB_h8X;cTZ|`dXrh;VXz%$81 z)juz@w6&2hW7_^T(Zh@$Zo~y}wL5Qk{7%?Xx?ZgQ|C8&*9y>{%uxx&GKRETgv*4ZZ zMuMff$T|P-xBfY%pBQ?m^+(=d#Ufi`>$DGoq9&TDBwe?M2yWw|CEg@f_ezRDW+fX6 zxtVVU)hts`xwD|~ViR{DZ*AG` z&BmbMGGA-2gpl2rm%7l^vOkdTH(iv?A%G5<)FlvN4FY=-Hhqq~zVXmKlw8gA2m3hi z^@n)eOa1#O$qDPb{`&W8&pykDS87%%sso)O@+3pwJ^PgelU^0!zP$dh5nzA-&^9(H z@rkWbHKaGK-r+5k1tsVLD1lVKv23{?FML@4zZ-S@5&Pdfb)cEEp^p?o!ZNyoU zpw7tuJcWBVPoaPmOjbbXbB!dZZLm)PTYAR9+xTdtDIhU-(Gzdl8Qcz*q7{Iq_PTU_ zBj!~5HzZ1kX4Egi+U9wao7o@fr<@~q5>pqEl8r#`T5J8iJ*H27ykScOMW1{r8?@Ez z%3`?MRHQ)b+7up7#{;vP=FH`3$})mt)U*zlawrg0@DnMSYkwQf@{9I;rVm2{qn<_! z#@R9(Z3(>l5YL*=cb+uKS+A)me+x}*$lJjtQdwb42x(#37C zWM?^%vhmhBa=Z)&%Fh?Oz09+LF{p@b`lilMJy8%cpA9S zNl$PK)hcPT^AAi%y%Y63Ivk6GRg3+xaI!n5bI?dN`-&C54<=12J$2PSn&gGIBnHi1 zXgaMx(^Nv(+YKi&!a$zUD4$u)$3V?x0gEHUSvA6E^lQ|CanbfKFU~rCPa5qG;Hj&U zyrXPoHGQkk&YnP(!D_M&iP&DF#kmKH>=2;ww1DKR9OT( zG@$J)&CY;$&Zmp?fB$6@YCb!;Ys!64k#GIB{K2+W^EIa1@wT1$g01r^?E7|SM; zXu|b15J&(-jE(oOOt`qz!$`U0=Z{T>)SjT|+gmutQ%s#=R`$!TeP32A@3vP4!73u; zoG28W8jj50>1P8>cJv>Z>|!(UQGP2(l+6N1qCH0m@I%qpxM)KF4Ehm-V2VUfD)8lH z-MLT{pdhJly&X7tJK3oC%ZLW_C3A23lHsnBs@J(BNs1FLuAzP4_i624wE5u5xiYwfz2kMz%rtyJG z`A;T)Fz47l%~jiVr+3P-(r2V0_W^A3j?<{JHEwdwZ+7VGD-ni?khc2l8R zvO;^0a@Cs5r`dsx(YZpG%tg;%w4@iI-hToSws7mATeUznHg z=BHj}zbjD5KjH2W8G@omVUqA*X?wt~Gd0Vp^%j|6ZDCMhRHF+ybos$jtLyQB8VA)n z+*KBvhuYQd4TzJ_A5ect13V**IN6_cV9`Cru{og^Sw;Eqe}=zpj!3gbClkQZ)`a=@ zWJspCcubUAcRdVfS?!YoSbN_69I0G!0p!rP7&{jGg#o*#x(A(L=q9M;BiG_TRFB|A0${t>9&~up4cLm~=1qpZ z+6&xoFvTGMn=U2vI`SO6AU?hTblAPm)^G~^@&Z!I2B*MNr@45S;xsXbA3M%!i2+XX z6aX4Ba6qH?5S)D3;nc?TfaDMOf9mzVQ0-xN@uzLkyJlB@ z`ITwnuBq((-u4zpkWKl@gSum)&8mq0&%bo*V`Nf2db7KLF}T5O=OLxcwP}hk^MbhG z)WOUNRLJ*d(ptq`Q>l*R_a2pkzS|J7&6jJfB}Qqw@>Ps&8IH z&Y6PzJKv%GTWYtC%5^9q&h)*5n)eS_Y}+IYF$@Jo&z1lc2XuG%ve3^cFFbm)ghu zR+BLd6P2@wNo(7bUBdWBWD37Z9d60n8Y?64*N}=u5*Ono#ynQ;QLl7uke~xL1Y$M( zBvmPXUj{Au+(2Px&D(VUr#Rd9oYQ0{BZ{)P48~ku6{NiO`VEU#Ky?=0j~ z8f};59k#;wwKoTPk!$;sxJdxW@NvMf;)%{L*o&vcof%7s-aKU7vzj)&T43qBRMvjT z5uZ`JKG$(*$Xb=@gF7>DG8-tK0KLH-xr8gbrMKgcfu4(Q%)+$)H)oW2HC&4G!)sgQ zk2m8Kzv^<#$tlHEs~j#n2#mg=OlCYX^1Zfgo#80?${& z+U)5Q+11fB%?Ftd<0oPx{+Lk%*}L&&DW@0jL{ z?*F_sKhjC=^T{aLpRw%+eeLe_Vl-vQ^`rTKgXd0;>ll1aURaGrkrLIKQ@eeJH%W#B z7eW&Xwi)l7cLFHVjq#DCf$is8dB}dt@jv0(PT&6ku5}*&ufw&iU%*Vjm-A|9U<_=v zqf&3ArK?A3`fWued(8yNJ5)=p$uc|U@DqwyRgFPY==8q*ReF~Y@jt?N7YN;ecwr;Z zl8{sHF{4A(LO28+dFkEtCoZn837d5=F*U{Z7p~0@XK3HzmjWJ+lfp}Mo{GBL$-hS; zBOas%Aq24{eQtXAP|kW`%JYPqfpdM$!wbdOe&)d<+n{5~I~2ip1^5@3#E@&ps$1EJ zzG&;c-ip_HW)>wGTe1 zg{hS=)T>mxJ@S*2d%loY^YgN(ss15<>T2U)bon;9C~$_U3I>s}<*?6+5og4+M4NHN zr^1h3N;?#*ucvErH&WoeaUcu>(w`0JaXBRs7_XngZr8pEv~2iz{fDgwjrh6CW%-WU zOup->oigc0e4z>gd3~=@_JFM$(4usddJVi zfc!zQ;Afp>7rBPxgS#5Vu;rx9n=S|i>0N+rN5!_zZ4_d@IP~Bk`q7~BaDi-IQ4E6Z z{4FsOqL`viF?5tF+9y>L>_( zHHBZI+owG{q}X>mX)3UDKel9lx|;8L9hLHawD}Rupriw>^zxRF3B~ovxzl`__}9S4 zT@&#fR#?*U9OPfVBE?f^x5dqut)rY_&`lp>BbL#MKd#MAy=~cOr&=9=6oeWkfR3N& z79+7#EmUnebvstmS=+utmn}X`a13KNmpA5}uo}+o{X43Fo%rhUzlqIiXZLVaG7QFR zpF4kdQCL`bXpj*$aYM4CKbJFV2w^h|2d)!lwj2G^jWw*cRN)`c5>lj@=jlJ?lE3a< zs9Of#hZ_snYM*S9Q;OL7njDwkN7|uMgaNRh_ex5Syz?^(INB>%o#@|xCMr;p+nvKd z9>W+;0Ihc_2Z%gf zpSs4-;jRcRrg}N}m@!}HIAf}kEULUe#9*Jqd{AxOQT=gu?N?#h;7St0}QmRbvj=K%&qpR zgjJBz$yhJMJm=!^d495Yh!ZAUsVFBIh`QeT?|4`o80Vp}*|*oihVjhOQv-J6qBR?L zu$2$tD4Wchp86=c^mFl?YxCt#YYRQcysP7Hfy@KVFpQV2?hEh)ier(1a^d0h$*#d+ zO(mRx#HMir2>#@}KIOQAb>{QmyxBZGht#GhQY}fg!{Hyj+|5A9F~<@4g?b<|z#y?m zmajoKHFe?NJ4khe=s&Wh1<Y zmn2O_y`}yG4AR_SRT&;P{uU^x5dLbbQQXN&V@ji-v++%<9fHW!6VW)^Ev_9+@|#xR zx=_owPl+CQ0 zm_+(W6!H)>p7|SGxOr?4M#E0oT_lRp!5^ zU9Gt7jYk>N`1J{GjU5p9)nrFY+l}@H&e8z%N=2i19ozgs6b$uh+{&?ig$g<23k>3h zTO|c=ct#ed_ov9|8xZ{E!5dx(rs1G) zZgvCDz~nw>vy2^(k@#u+UFT}K>g(k)-hb;0#koiXDRp5W^5+y9jkglu`~gAwe;#{g zP;p(k!Jf^A_sY%BTi^AYN5~P%0pq9Umrq^~n?TMnqXej=Pqa(-_Ffnf^OcyE$Skv) z^GP@lsB32h*;N~ZZNeKVl}YQ=EvSCl4Zc~mP9iOE!o9YIgZscuN}iRa;-x@J~%79 z@c~x+=>LcnCbPL#A2MSIW!N8jlrGnN&0@hu7C$MRxhkl1D94mxwz^UlHs` zQr~PC{xSC(c%;FNm0+y*hBsPq^fPpl`O7|=wjiZI+L$RoK&)^06kSbBx+uF@P^Rcj z3D-hcW$NX0iB>H&W-h`3IIb{l=akVnKj!*dxO64Vmm)M(Iz?8&#rQg|ilG&L$xEDPEY=*uQ(pzObT45nlg@m1f!6Gqm2cT`9 zNY&LlWU30y zB=ET4+&Ad|22<=GPMP*xy^9!t5F({UIJKcg4{aZ0!kI@}7*jPfW4#&NJluT;Dn&O> zc_J?F37W35n?qCr*4NsRn^D76=SF6~H}-7BzR9OnBrqn*1=yAov<1V-KD}3{Pp{j7 z;+tL8O)8Li+owh-o!^-P+I)G=pgEeU^s`Kqq^Pk2wKnu%8r#|Sr)J&CX1ulZ zYq_

gTsPNKxjL$d{4-j!jjsO-rqZ@cl`S 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%0AmFu7EOR(XU#zwv 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 KZxmd24E;a%QYcmc From 89fde35e2e87bbbab4e119f66cb0d7bdb8fb1aed Mon Sep 17 00:00:00 2001 From: deb Date: Mon, 23 Oct 2023 14:43:03 -0700 Subject: [PATCH 045/627] Update to have integration storage folder + include irys guide (#154) * Update storage folder + include irys guide --- .../ceramic-example.md} | 0 docs/integrations/storage/irys.md | 356 ++++++++++++++++++ sidebars.js | 10 +- static/img/irys-images/decrypting.png | Bin 0 -> 103871 bytes static/img/irys-images/encrypting.png | Bin 0 -> 133333 bytes 5 files changed, 365 insertions(+), 1 deletion(-) rename docs/integrations/{ceramicExample.md => storage/ceramic-example.md} (100%) create mode 100644 docs/integrations/storage/irys.md create mode 100644 static/img/irys-images/decrypting.png create mode 100644 static/img/irys-images/encrypting.png diff --git a/docs/integrations/ceramicExample.md b/docs/integrations/storage/ceramic-example.md similarity index 100% rename from docs/integrations/ceramicExample.md rename to docs/integrations/storage/ceramic-example.md diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md new file mode 100644 index 00000000..050364dd --- /dev/null +++ b/docs/integrations/storage/irys.md @@ -0,0 +1,356 @@ +# Irys + +## Encrypting on-chain data (server-side) +Learn how to encrypt data before storing on-chain on [Irys](https://irys.xyz/). + +--- + +## Objectives +At completion of this reading you should be able to: + +- Encrypt data using Lit Protocol. +- Establish a set of rules determining who can decrypt the data. +- Store encrypted data on Arweave using Irys. +- Decrypt data using Lit Protocol. + +--- + +## What is [Irys](https://irys.xyz/)? + +Irys is a provenance layer that enables users to scale permanent data and precisely attribute its origin. By tracing and verifying where data comes from, Irys paves the way to incorporate accountability into all information. + +Data uploaded to Irys is stored permanently on Arweave. Once on Arweave, this data becomes publicly accessible, anyone can view it. For projects where privacy is a concern, you can use Lit to encrypt your data before storing it on Irys. + +All of the code from this guide is also contained in [GitHub repository](https://github.com/irys-xyz/irys-lit). + +## Dependencies + +To follow along with this guide, you will need to install the following using npm: + +```bash +npm install @irys/sdk @lit-protocol/lit-node-client-nodejs@^3 dotenv ethers@^5 siwe@^2.1.4 +``` + +or yarn: + +```bash +yarn add @irys/sdk @lit-protocol/lit-node-client-nodejs@^3 dotenv ethers@^5 siwe@^2.1.4 +``` + +## Imports + +To run the code in this project, you'll need to import the following: + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +import Irys from "@irys/sdk"; +import ethers from "ethers"; +import siwe from "siwe"; +import dotenv from "dotenv"; +dotenv.config(); +``` + +## Encrypting data + +![Encrypting data with Irys and Lit](/img/irys-images/encrypting.png) + +There are three steps to encrypting data + +- Obtain a wallet signature ([authSig](../../sdk/authentication/overview.md)), which proves you own a wallet +- Define [access control conditions](../../sdk/access-control/intro.md) for who can decrypt your data +- Connect to a Lit node and request that it encrypt your data + +:::info + +Lit Protocol supports both wallet signatures and [session +signatures](../../sdk/authentication/session-sigs/intro). This guide focuses solely +on wallet signatures, as session signatures are currently in development and only available for Ethereum. + +::: + +### Wallet signature + +A wallet signature (`authSig`) demonstrates true ownership of a wallet. By signing a basic transaction, regardless of its contents, you verify access to the wallet. + +First, create a file called `.env` with a single value, and include your private key. + +```json +PRIVATE_KEY= +``` + +Then, create a helper function that creates a message and signs it using your private key. + +```js +async function getAuthSig() { + // Initialize the signer + const wallet = new ethers.Wallet(process.env.PRIVATE_KEY); + const address = ethers.utils.getAddress(await wallet.getAddress()); + + // Craft the SIWE message + const domain = "localhost"; + const origin = "https://localhost/login"; + const statement = "This is a test statement. You can put anything you want here."; + const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: "1", + chainId: "1", + }); + const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + const authSig = { + sig: signature, + derivedVia: "web3.eth.personal.sign", + signedMessage: messageToSign, + address: address, + }; + + return authSig; +} +``` + +### Access control conditions + +Lit Protocol enables users to set [access control conditions](../../sdk/access-control/intro.md) specifying who can decrypt data. This provides builders with the flexibility to designate data decryption permissions, including: + +- A single wallet address +- DAO membership +- Owners of an ERC20 or ERC721 +- Outcomes from a smart contract call +- Outcomes from an API call + +To ensure anyone can run the code in this repository, it uses the following for access control, allowing anyone with an ETH balance `>=` 0 to decrypt. More details on the different types of [access control conditions supported](../../sdk/access-control/intro.md). + +```ts +// This defines who can decrypt the data +function getAccessControlConditions() { + const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "0", // 0 ETH, so anyone can open + }, + }, + ]; + + return accessControlConditions; +} +``` + +:::info +Using Lit, the access control conditions provide near infinite flexibility. Imagine a system for government +bid management: bids are required to be submitted by a specific deadline, tracked using Irys' millisecond-accurate +timestamps. The bids remain encrypted up to this deadline, aiding in preventing corruption by ensuring the bids are +inaccessible to all parties until the designated time. +::: + +### Connecting to a Lit node + +Write a helper function to connect to a Lit node: + +```js +async function getLitNodeClient() { + // Initialize LitNodeClient + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: "cayenne", + }); + await litNodeClient.connect(); + + return litNodeClient; +} +``` + +### Encrypt data + +Finally, write a function that accepts a string and uses the code we wrote earlier to encrypt it. In this guide we're using the Lit function [`encryptString()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptString.html) which encrypts a string and returns both the encrypted string and a hash of the original string. Lit also has[`encryptFile()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptFile.html) for encrypting files directly. + +```js +async function encryptData(dataToEncrypt) { + const authSig = await getAuthSig(); + const accessControlConditions = getAccessControlConditions(); + const litNodeClient = await getLitNodeClient(); + + // 1. Encryption + // encryptedString + // dataToEncryptHash + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + authSig, + accessControlConditions, + dataToEncrypt: dataToEncrypt, + chain: "ethereum", + }, + litNodeClient, + ); + return [ciphertext, dataToEncryptHash]; +} +``` + +## Storing on Arweave via Irys + +To use Irys to store data on Arweave, first connect to an [Irys node](https://docs.irys.xyz/overview/nodes). This function uses the same private key from our `.env` file and connects to the Irys Devnet where uploads are stored for 60 days. In a production environment, you would change this to use Irys' [Node 1 or 2](https://docs.irys.xyz/overview/nodes) where uploads are permanent. + + +:::info +This code is configured to MATIC to pay for uploads, and while working with the Irys Devnet, you need to fund your +wallet with [free MUMBAI MATIC Devnet](https://mumbaifaucet.com/) tokens. Alternatively, you could use [any other +Devnet token](/overview/supported-tokens#devnet-tokens) supported by Irys. +::: + + +```js +async function getIrys() { + const url = "https://devnet.irys.xyz"; + const providerUrl = "https://rpc-mumbai.maticvigil.com"; + const token = "matic"; + + const irys = new Irys({ + url, // URL of the node you want to connect to + token, // Token used for payment + key: process.env.PRIVATE_KEY, // Private key + config: { providerUrl }, // Optional provider URL, only required when using Devnet + }); + return irys; +} +``` + +Then write a function that takes the encrypted data, the original data hash, the access control conditions, and stores it all on Arweave using Irys. + +Irys' upload function returns [a signed receipt](https://docs.irys.xyz/learn/receipts) containing the exact time (in milliseconds) of the upload and also a transaction ID, which can then be used to [download the data from a gateway](https://docs.irys.xyz/developer-docs/downloading). + +:::info +For simplicity, we'll consolidate all three values into a JSON object and upload it to Irys in one transaction. This +is a design choice; you have the flexibility to store these values as you see fit in your own implementation. +::: + +```js +async function storeOnIrys(cipherText, dataToEncryptHash) { + const irys = await getIrys(); + + const dataToUpload = { + cipherText: cipherText, + dataToEncryptHash: dataToEncryptHash, + accessControlConditions: getAccessControlConditions(), + }; + + let receipt; + try { + const tags = [{ name: "Content-Type", value: "application/json" }]; + receipt = await irys.upload(JSON.stringify(dataToUpload), { tags }); + } catch (e) { + console.log("Error uploading data ", e); + } + + return receipt?.id; +} +``` + +## Decrypting data + +![Decrypting data with Irys and Lit](/img/irys-images/decrypting.png) + +There are three steps to decrypting data: + +- Obtain a wallet signature ([AuthSig](../../sdk/authentication/overview.md)), which proves you own a wallet +- Retrieve data stored on Arweave +- Connect to a Lit node and request that it decrypt your data + +### Retrieving data from Arweve using the Irys gatway + +To download data stored on Arweave, the easiest way is to connect to a [gateway](https://docs.irys.xyz/overview/gateways) and request the data using your transaction ID. In this example, we'll use the Irys gateway. + +This function downloads the data JSON object, parses out the three values and returns them as an array of strings. + +```js +async function retrieveFromIrys(id) { + const gatewayAddress = "https://gateway.irys.xyz/"; + const url = `${gatewayAddress}${id}`; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`Failed to retrieve data for ID: ${id}`); + } + + const data = await response.json(); + return [data.cipherText, data.dataToEncryptHash, data.accessControlConditions]; + } catch (e) { + console.log("Error retrieving data ", e); + } +} +``` + +### Decrypting data + +Finally, we decrypt the data using Lit's [`decryptString()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptString.html) function. + +```js +async function decryptData(ciphertext, dataToEncryptHash, accessControlConditions) { + const authSig = await getAuthSig(); + const litNodeClient = await getLitNodeClient(); + + let decryptedString; + try { + decryptedString = await LitJsSdk.decryptToString( + { + authSig, + accessControlConditions, + ciphertext, + dataToEncryptHash, + chain: "ethereum", + }, + litNodeClient, + ); + } catch (e) { + console.log(e); + } + + return decryptedString; +} +``` + +## Main function + +Finally, write a `main()` function that calls the calls our encrypt, store and decrypt code. + +```js +async function main() { + const messageToEncrypt = "Irys + Lit is 🔥x2"; + + // 1. Encrypt data + const [cipherText, dataToEncryptHash] = await encryptData(messageToEncrypt); + + // 2. Store cipherText and dataToEncryptHash on Irys + const encryptedDataID = await storeOnIrys(cipherText, dataToEncryptHash); + + console.log(`Data stored at https://gateway.irys.xyz/${encryptedDataID}`); + + // 3. Retrieve data stored on Irys + // In real world applications, you could wait any amount of time before retrieving and decrypting + const [cipherTextRetrieved, dataToEncryptHashRetrieved, accessControlConditions] = await retrieveFromIrys( + encryptedDataID, + ); + // 4. Decrypt data + const decryptedString = await decryptData(cipherTextRetrieved, dataToEncryptHashRetrieved, accessControlConditions); + console.log("decryptedString:", decryptedString); +} + +main(); +``` + +## Getting support + +If you have questions while building, make sure to reach out to the Lit development team on [Discord](https://litgateway.com/discord). + +Questions about Irys? Go to the [Irys Discord](https://discord.irys.xyz) to get in touch. diff --git a/sidebars.js b/sidebars.js index 9fb2c9de..3b87121f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -224,7 +224,15 @@ const sidebars = { "integrations/aa/pimlico", ], }, - "integrations/ceramicExample", + { + type: "category", + label: "Storage", + collapsible: true, + items: [ + "integrations/storage/ceramic-example", + "integrations/storage/irys", + ], + }, ], }, { diff --git a/static/img/irys-images/decrypting.png b/static/img/irys-images/decrypting.png new file mode 100644 index 0000000000000000000000000000000000000000..5d2b84cbe53bf929c7ad480c49ef836d3d1fec79 GIT binary patch literal 103871 zcmeEu_g7O{`|qKMG6Fg}Dj-EfRGReObQo!&C{;RR3=u;>YG?s$;EWWd1duLGYUrH+ zI#Lo$r1zo_LQNo)7(%&+dEf8-2ktL--F44eEKW|&*=O%(Kl^F>^T}WL%nf;e5&Q)J z0A6FGKP&;@WF!D^^q=AauL$YYMT7sipBmZw0l?|=$A4_V`wV{YBAcJ3;qO2NQD_-Wdwl@Cbj&%^*+5x)n(I{Fp=%UJ}7zOCd{Df)FmcNVzAMnVB zdkl2kdj5c~cOPyXn3y&GmnY$Rv2cgwf{HP0RE}O|Ecp624J9#w2lcfrXVdFFB{^co zx1|FwDvVbNx&2yZ+|_%iq~%q=2DB*g|JBEz)_3(jZL6F*sEuxMp*970+vqTuVXuEj zZ50=-%=nRX7#Ukyat*Q<-;|yP`+Iztx1nVJa|WcIU~~J=X=K`2;CSTVk;?u5F9N{- zJp%a)B?rz5-$HJ*h{Kdmw{Y8R#O9ALUmU&L>HzZ;OsEbch#COi5!JN55D?Jm;E_}B zZ?rDO>n!X5OzLcOaJ(tX3VGr~Yh%pZEOL!F*!i+W(ra&g`u!7oSr&gaj@Ge8> zo*cGm(BOpTdGUB{U#kf7mDpmv6%rf&s10@po5-~?tlt>Mqz@-@(TCyL=-riG{mqqL zj!o-=^pup8QEO}>-y)3JSkCj6Wj+{ud}I!f)+@F_nBhX$MDvzXSJuR+s!M4t%zRKI z*o^h0Y1Ar3%Z#!}9!BdNY!BKw_H4PhxU9P9?-j<^;WFk!*6T*=G0`h5@T$vvs|*`D zU-7vvHsqzh!600Dh#=SQxvVv3itqW>Cn8xBGtx`45WMh)MQtG&g#i5a82Y-B*8E>L zvL5KRh=#6Jod5v1-JZwZE@c6IM)zmVp-`l78=|xL9Wl|rzIEf%={H#PI)b3*h#_#O zuV}5 z#7kqh!@c)P2H+>;Z(t&IIR@^9trQns1d8l6E3+aFnT4~#JHvJ zCN2U3$iSOz##6 zT{GBtJ7{t6tD7dx;c3Z2Zfb#iwNuxvyy}Z+r$< zChTHm8>sWghnomzB>XDjj^0+E(i^cp_W$_1$lxHx^YI{R6Xha>lpU#*Ct?Uc; zvkiF00*eZ+yf4nE>AH+(8FufWH?e9nLC~h!02l73qBR*7F5o(9@iEsJ{U8)^*y>Bh z{}{G&bvl7Vo4nyt-i@HtN7EIDxA2` z5-k$4)U`=*`jBBr%w6afViiDA7P`5}E~M;W)$47maHAxOVeoYkM-hP!=~&fdpQ3}N zU>RT9b?k6JWx!5yv$kgJvdc;aV>aT5PSapen-*K?aC{lG%zI>qAjE3kvs?HH5qQUX zot+lGRyn_oVSq43g27)@|z`h`2J>hO82m@=W>pu348=}DiO-OpEC%cE2!2c zdKsea8fq%~nzQy=P2dKi8gT*LZ?{6X`wde#c$$Sj)(u=)yJb9cBlZdFRAh48UpQ4^ zD+1HGHOL3bAvY?`lvAb8uF0L*>Wt4T$`0RK5nBjVOO}SBN19nJ*nCa#Q3Lzad5q9 zc7*%|LmRgfG~F=~jLEG3Qo&%=kMfhJQYl&5D!WR4=2%JU{KLOP9w5@1q_FY!dXuQb z_w*35leuQ0q23}!)4djBfzLQ->#At@rx|WZU|jp!tvl-UdDJCzedV`6G+#WLcW*+% z)#4rM?=WgE%O((AS6>jd$i(atngatXV5>^C>8PmfOta}O52Py=FM9AN_#J!sQmfGAf|T9& zBl?1O^*w({s>L~IQqJXTG}0Z`cplbT3-kmhIN9 z^|=PL+H0O|Y1gwES95QwTu$ECuyKj;??ScLd>NwX4I^AhUs9#cPFWHI2pK{oYhkMK zD70lJI()qpr|3@Ezr{AUk1hfJpcWNt6&00n3?rqhAMk1B9Qw#>fsbz8c!U=v)l6I}n~>|QE%goU$k znKWz*cSW{C!?*!#I5#l6cMjME1+l^i8GSzP;ry_izuMp54%4c!{Isd+x3Q$^p>AEA zG~w?I>y1k{Vy6lvVx#b=4C|X-GAC>08bE&-+n%zjKEiZ2&KoI6Dr~K=A1S$uX%K|8 z)jA%A56rnxXLTNNkLmjIZV3mQ?Fhqd&=J>=RtBcY-doO1H@aPZe7s4Xg2=Tgd+7Gs za`e9WqKhBWCnP+T9As=d#mLwPyoMW<<0{DZ)795p-sB^6U77VqdnPNf(L_YAoyM%f zN@eLnxL}R0H37aj28zqST@JP{h8?v|(pcZ^cb5+MrcY@?W8U;$Dqb~p&eqHyLL{IH zrBE%Fe6-cQ%oEe~j|T!LeT!tP!%%NztaOuckk(6RjJ_O+TD-bbu-<@W@c^lEY;yuq ztjhX{I$wLi7c9?=WFoOx^Wv^er>jKfNhTE?Ad<9dOAKD4ebx1sbzoqS{RyMpGqZU( zy)Lh(-iojryY|VU*Ou)yEegGID4_$n>VZYOL!GM?3t!H0X8DCrbp!Ecc%_B29!|SA zO}i&`H9H|^H)N!RUqzQ-g|3d>uV4)Yhy5LLpV_DHzqS}sK-Ip1&rlUO)kLD`)2GCq zcl4f&mbyf^{j%xAGe6-o_py?s#$v9(42h;d@?L=uzm{2|p2LEMx=r{K-dpf9GiLaj zP*>(tSEMQ6HUoNq5|y!wE&l9DU30nq@Z{J(XD{sASdP!yoo#eFD#p=1y*h2CH0VdQ zQVu*9_M~@JA3lV&(v%!zHq%;d=(Sfif_!-yXxZ-8sOXh@1avCjcoQ*Bk}-kf3M#Y8 z5@X>giP`u*EIOPr_1pn1tUsRR){Q$^zOJ;CLAxv+A^dsAgsD}O)`8DBJhyL_88%Cr ztsUMKcrE)ZQNMm3-==#>Qps2NOo5Ztdg`=no2&Q0b! z=^$#Z#g*d{6k(!#_X7*cW&;Ecq0KJEEf#g<9XQYn_wLMGoJ+OLVzKb7X#U4dcqgtK zumUXfF)igvWniC|rI%T-j^iZBs%(GQLDhRzZxYTNR&k#^1E`0Bv+-ndMxr#Sz|=8c z{5!wki@TZ+yH1q}Pu?W>iS3xPh^Flw4|ob)!|MC-PAdM}apC9TWG`H)98N{Yn)CZms#S+LQL} zmtAXu*t%3~oXon;qd=6a6$+o!DwcNZ@HY3CxiEW@7=oD zB`e%hY>`iVZxa^PxA>Jt2@$q>N~zV5g%R!THPtBU*KWGnO5xEMy)7EOOooF;@pX-i z+RT#_&BB+yLbO%~7PUC1TZS z-aS`%1zB8M)c;K|Mi#P=pV(r9L&TU@Qv3P`d@2!c8kB%pG$V7R%j$8p2_ zp3IqiANo=*Xh|Y4Vam37Xg=n0?afTrV6tFbKX}^H8x-oPu%t zBaS8`+n+)iejvVOcOtl}kwI8Hx{)2`>%)WBQ3zxPzSo*y2_nvRC+#GMQk&pDMpk5O zb@Y?ckvoaKpVQve%F3lQn{dk)$vn{@)%<3pQ3@kIaBNMgEhWSxM0G0$sRqPj{Jv@w zAO|QSJ)u{Z$0zu7%U>iqoUGV3BPH;`0{sVSB;4Q|_)S7hu>_#Ks5oD~lgIf)%|pN~ zS&@F67=~g~?l_Z^oA1n0?k$TeMP3FTivikDy9y`!+Lg(-!qv4S_4ucZwq+**B0F}? zdAEXqD%gD6MQrBsmST9^&fj|4qi6_Y<_=DcnML1*Y)E>j7~DXuzCJJ;^)Z3{~Jse$_radNY$_bIw-&{6WQtSQEQcOIThh4ax_nN7&E4~SKqCDB<>fiQVWJBT?`qv+VR!B7I&+sk1laW~o%mA%u}H5j+?_Huqv#MiPb zdwqozgQkY4dY`TV-wMf-i3~@qBeg33?nJEYGa8cPgzv2P=|AcUy@|B-hS`~)S!Ufs z30Y0;ia<+&r_5}&9X#F?n@Dtv#-ZZnx5lP7W^$a5!133ua1flkUu!g;|X5 zM}?E!@g8Mt#COmBLAU#rQNC6{{QdZwA_lr!%?KhB%cT<|;hR%z=6V0dn-~5D<4vin zhCXXI&Xj|vnyVq`U9kG#s2dn8bK?S~laio}28%N9aa;LYrOR5rRQ<4ZglkKP<*(kl zMPaT8O$;qv@r);nn#hG8P9(l0Z&D5)>`VkYHL1$(g)P>P8W&*6(%3BjrR~GDku7^l z{`ownZf{!^A%LhdO`h>=^WMWKq!Syy7{dqhDK#dm0j7r{mKXm(Xrydk-g9nAn%5_^ zR5;U#N!Ss30Y+Q%nls9Ha3m~ow1VsuS63%vF~L)Zu=nf3=8}irBHr3%F@tSuP1=wZ zOlc3rVHE`0t30Hj%)7~5AOCWs*$}}pN>d_A2M2r<+Zjlh?G9R`C^_KN0vNb~tZ@}& zqG~y%36dEq%5Y{3Gxq5?g}vJe6o;68gADqxLt*VAb1&<%BYw^)J}hug)3%P;K&Fh) zZ_G9z-Z$*d7VznfsI&%c{>XuP1<&vXyNE(v^i-ikZH3{Pi@0THA~Xgu_|P$Jj!Y&8 zn79_LxG@gT0l1xHuG?>_q>4StL(cJDQ@Ps+Epg-}sX& zG5%i5wZzr4nMu>5w}iv=x#W{lfDNsIaoufA>bX?pvZ+u=IP}D|!1c2;JN$(~b&I`M zJ^B^DJz7&nel2ZD@{_cR4h%W7eorv({N@8!{fgj<&WfF6u{(1(rswFs%Jx(g=CAUd z1kUumEW!h3{?3d?n_;{L7?}oBRQxNKZv}jAO*lkv9cY$!R^kG_S3OS-uG_t^=5S^P z4m3*S=#Bud7t%5CuT`j_?0VoSPLI)F!EqtVg@k!VU3Dpcq1Z4jF3WIQovRcZ^^Q^2 zjA{+{fWt}(Pmd`9_PgpmVic) zZHtV+T+3SjNHfD8(>$4y(A84tjk$d}1Y0*XSe6nRyc8e<>wHUo z=|JCo3%e36bGI4K4_j0aOemC)4RoezXD6atqr-^&tlNxtP(l-*vy^nOw^3Ty(E&ql z@o|q!R&*J5t=jC4XiJtOCg^fPyF-f5TIkoVvWTPu6V`iz3X3u2NBT&3l5*h1 zk|NwblRWD^URXvt2nAD2xjn)6UgaK~z_;Il)a&Ie&wMcjcX)(uX@OOtcaFc&?SQh| z2AU-a=CXyAg2Dl{+w0f7muf zquT6zNxaMc)XB85<}-mwI^$i6i#a*ad%GG)g}^Iek2Mll;VW^2&RnWP2`3%(pk?Tu zI5PygU?E;X)6Ytz7IR;gG%MDn-hf`f;>g>nJMkG-gt@o>#ujRq2XMwZzN4MSb=ukfw=G6)p8X@Z&^a-;S7wRbT0u#BH>Yyvf$W-m~GST_71U=`t%G<)@@4YU!G$>ky zJhMLWtu+<#w*Jvu9p2wXLq%ot4) zHY?yj;?qLPGc)urzc4PstftQkB8Ik9p_Du$7r}vFYvS*m@JmLh+ZGwG#*{BPUgT-& zvf@M}>M=CLADig2U$>fKzzS_ji)k$Xy;z?LjrI|~f3$B)GMsY?v!PtYVesi zgB7KRrsW)5i<)x?*FgKukMZb={ow&u`Ma*e-|l!DXAfcbaB;=jCxEzYFof6%S@<4S>0QoY<%=xh=f9xu{?+LXpqK=5lLuISQDNm!e;J!W6@_-XX zxr&d=No}gTF$+yIaLG%oe9G8*+DLN|u<;aH<~C$VIMDMaV@Hx#_OeifgG}1&=tXG& zK!detPu}I1{C->;)|pf91bERLwv(8NC+n$wJpGc-uQI2g4=#G*b1dvM-#HHG5qjzZ z6>HbL)A@4IvQ}y~Hyo4ZLLd{wfc8E#f6ILS4sNMbrAH42N8(dQv_oPX2L16Y-E(UQ z$*lo<%&0Y~Rsnu4dEgaL7>P9GosjMFr35s4T9X%e6q=zLG>R91}WVc^1pM~B3 zzVmRkcIHUHZG0kSs96Fss~L=#y*;4J`1zakApr0khd27}+sKmq#jQQnN(cCI{gYx- zZ%Fh=$EY9wj>M z!)O1$iO(_g7NO5WFT@Ie@uxvn*GkT9XIZA*nMtS!ru|0l|E)A~Vamb%RV|knpAFxx z4sqnpLo1!ZxLlksSb_gCMo%kRw|{^Uz6C*!VmX&d11lm$<$Y-rRkhxKi;;?;{cQ~^ zELliVseXgBhb`BK#SJXenqNJxffT3{2aGvOC4$&l;KV z&}GDZk)(eTOVN}K6>%SNKit;#D(Y*phm7N}Y&qTE;!Gy5NdH3CJwG+=JfK9jJ=9*G z49SpSiEKOLYGC#UnB;bcy>q@Z<BMB?bFjLC?e=_6?e(2{1p>o#cd2I2 zU_u+p>yQsxpLoZ*F zJ|;#-Rv>JpjiW2!8&B~W>2-Yk<92((QaM?*J!s6Gd}@tPexJ!Vvu_Ole@)}8B{9Ek z8YMS(JQ&Q1=)mm#dK|w}drC4FzA7cHt0`?O{(5=gjO}S)anAX)yN40k z-|-bPj&~87aRFr%{p4{ir)y#Zi&Mps>&{xJKq0!o4-uV}cJ{aK_lEJth`H?tgjC6_ z_2&xnh&J{hW|xzYN)6 zY-?I)8z3U(N!>_?llOS1SwFu=i)Pi9$w)t2nDLEg1EA-CtlZq1Q)~L4ay7s0-J)50 zUjFs{ZFhpm5G&*0GRp)m{DG$+aogXI=7&ik=msu-I}WKs0z5zKuKB6X;j%0|PPfwW z((LWx_?+bYVz#`Z+1!;=!0JKuzMp#xpAI9*8Qiv-n;E!;7HFD1cPfy?2DF?7 z-;6PN>hl`yrmh=}=YaL*;p)konEq-ebxpL!;<=Jg3pxO^l9U;x$Q5U`BFBDHzWm(2 zN~o7majAq3ufv}_+@E&qklxEvtFjDc1>r;yb^*ttI=24&@#YO$^4S~)nF#<-z+K6j z@`P5Ru5?wU3BlKNQZRI!QVMRbF@$9_M&evw++HkIiKmInPc|Eh9T?j!JeyApdDFI{ zZeX=`qMbMdv*JD!e54=(=~pb&KIu3ikxq9Z%(Qz@;uMy&y0daT**l@@!7X6Ts!ZsI zE+-HL?&;X~>Kf{=g>o%aJ?0HsuX(XhX3QbQTY?kT_t+?Z;$QG=Nb&c;S%Mxd5diKY zfS*%Mes791ci*j*L);g`rzis{=rmbv3;fZ1La5@Mq^e{c8>?*DhzKyc^4@RXqL9=A z-ukId2U9ZNpwpT?-#=^`^7S5OIH0o&bO#lGZYvwle)u(|OZB#`q8^yrVS{djx- z8TW^s;y>!GmCsw3G6Hl)Or9XR8M<0V#19MUxEK7@F+WNQdK|d!5h{9@(H+3i@qVut-Ow`S3jOVxIN;-;yVAb+KKvjhR3(}S*%}z z8p7lGXoI;sB3@`N`AnPAWY5ITwBw-OcQ+HRq|YOeuUsdY{i3{vP23}iZ0(mFd~v2E zU?(!kCM_*>w4&3Mgk?hR)njdt37EittZO0~jAspSEo%Z9l)cYq^jd}ds|h)u#ddxH z@d1h)Ka(KyH$$KCIJ*?Wnm&s?8yNiNkvwi8n<-M$RmVN5}#ScZ-&UFuMrZ2!_hTc9lx% zjGm5fxdZjP_Q}GfZO?M75NmCv7$(_su{fJ2O@XIwWY-J>&8&7-*zsK`&(3T%V^3yp zFHP2jyve6LfVBY|`vrQiCA@2}!EX5(vWVVL4y{56g4Twm?Tp-MC_f&G=XpT)3%+kQ zSG?ZQ{m4MG+!3>qCUsAfd7Qe6ab^>cQR4pxlq)a5-I;5QYQitt{R z*BPRd?ix_3)z}f$a$aLX2hkP(W+Y7Ei>{S^ioT9&Iq9F&J)HOQ**6(4Bm^zud44?R z_FV|iz6xZ7O;yjrxSnJV15a13m+x%nk3R5p_6@A7_qMEGU@F+$_Q%`Y{h)%4*XTgT zL8uLU*9kS?zT(V9F1UX2i`}mXNqv*dx&rOxmg#Y^q=OfJM~^HG3DpN+aBI)Lmt^vJ zsczI|vKTZ=tOg?r)YVE3mF8#hs)>ZKf;9*H@mNsOO2&CYQ{1Z}bJv5XUU|smhCig} zr$V0r-p67%2*Jz#r79-IT~pt^t*Gp>U%eL{#&zrKT>?EofsD?kIIY$_2`=;tDkqf} zuSl2gwA5&`8tSsLnx|9Q)So5QAbQYh!z*Aw`*ZmHXt$7%QulaJIopoH3r~D`Op+|xq5Vsbag2&T^V5?7;Z(mike3=d*{ z>QUqfs}8KpmqE*S<|lhoDJs|8)F^zzm@wO24Nn2?u%+?#chIaSf#kP*+BE=0u5*@C z#u5HKiSqUB9sRm<`np?+-sebnq|Rds6wWxiDiB(~j&-_b{sSL< zOTWrMu?ItEYdmVqGA}t2{nqS>emoEAZ*^+Bzc<%;oiX2UX-?KDhqM(8?7c(Ds9)QZ#3FR z!n@x_!rryMhubXyCULDe4nk9Zw|*D9W$NXd5m*HVV$v9IRk@W8g9N zi%5sn%h2RRzi~w7G>^wDPur-S@wgHh$GE$SR<-R2>KQrhr(!!Up+m~Tg#5mT*;}mJ zMy*?(^jMdh43LP#_<9gQOl9QeF`mZ0ehI8vy40E!&?;J}4z^E<9O`A2B2dmFtH-D# zqSTV3u`q)9jekJ0zbH}b!hSwv)g^d&tPun@oy>G3ignJ8bbYFbO&h$*^!(dA68hk< zNt$6q*QfWt?G)&3;I8JCRO(~b4ox6MQBS|u#KZG2+*5N@+vrO+8Dw=Ek+$Xd8+~^l z4P(W2-XpvCm&Po^sm){q2s)hT_)MW97d_ZAR(l`*`#K>Hw({3ND&|y zrXtJ0Du0I`>%96)Q`C)T*)xoeTco%AmZFa(DGpg}vRJSbT0!`&+vok3BLpoG?3)5N zg)qnVgfg!>I}(m`nbJEmwk<=WTj=6dp8k;8`Vj@z2r_Dc8%7MGR7xTJytkXeHI5Wk z|B)T7Q<JWhoB>j=~-G=NSVX0^~u~AQ(V!2xVS%proEa%bq(Ii>v1$Fr=%)c`u8aQwNus@ z6G+HH?X1NrwrEi*3G~}=r0UmON*C-jy2jg`1(;cO0=${O{+w?0r%p8$N>q+0Xsxc{ zx2}jkr)c`YW__{lu&7+tNHPmoX0QncSEh8Hzrwn8F$<40_2F#Md-(9=3+Ej06He*- zE-MqVf%d#FnSulErOAromhRW|C^qiD4VT&p`^wEE!DL~!9WQzvE7`ecDA`o2i@r_A+qAo3y@(RGY< z&Kh-F@1FB=epo^M!|0W!Fn1}t)3T|Ncz6o&rSdfgEz!ZBruQB#p%(Y)f`Xi5?n~!7 zi)`pdgaohj1wV5uXz{|4WNej;R*@Ao`lM*s)6EG4R=D(VYtw#)kfoD-zXTjJQH!Za)eoB>WDnsB583&gSvC$a^^=>u7 zf|;#)2gU+HxMJF$OFH+s-Vp8S`q_Tkkb{RnF~4L$tL!KLHZ02GyRYf zVu>|Zw7)LKJR!zSSJmT>j4$KL8Z?Dnc5@ET6rG(#_a1exPJX=Urfo*+Z@Xn-otC^vs>M_Bj>E2o$TD}2j$%}pAjCo zbf4ju>?_fo9OlY3$J=(2_z7rn(yPf}bJGShspMbW+0(4z`TBa66+<>tuWjhmCTb;r zb!MNmQYSzHF%r3fFx3IAD89FD;RBLBudh7i)+LoYK|&UpR+@V8##Cl8*GnJ%rmW%@ zu_{n^o~DyBncE`*i4;U;K0u|8jiJFuWagmBgVOZ z=B{9AOB}!Hy&n(QA4%NvwS{Bjs`~B|vIbdif&Sbi3AeB8`9>YrNik^hUzUYmRn8Pb zuX9w!_5S8~=c&-SAq|Y?1A%*=%K7dWDUZFG$X$(K{XFD+!sinnyhy4tPuv|8bN^m2 z6*3>Ib}>U|T=7pk=t(2OFFw)kmoNRh-!EV+E}Q(xpNp#XAoa>qc2YE^W8y*PRQFlV zTbadhod*pF=te5n%|A3h^7)uPZ!b&Kes^VKh#Zt<#o|#FHPOtD`>qWsN}i*&3hN7( z4c$T3RXU8T!m_Kcq3uJ?{dmh!iC;0b3TKG1tH2Pinnn=2!c*pHU}Sr^ux5M^oC3Gq z<0l!Fjx=IZdA!Et|DD7o=<5QS1LWrmYnwm=j&HR-|Ni_vpQ|;EV2N z>j9kB8bRlS{;L4r_yVD0{Hs9(CTSmqVgCaLkaDvK5?^I6pj3sb`D|CD*<;fS%$u;C zuG|wzl(vv-b^4so5=99$k5_yjX1|bK8CI!qYN}4nbHegmA2(#WV6T1;_Ek;Rp+ zCZ>lM>JQbJY}j2E0r*XTpGi_IAz}Tw28_Ye=OT0O=`B|cG2jxfa32)q6L2H!Pgnnw_vUUIm&nMF_mw6G?4_9CFQIt8Y!eK z^k}EaVLin=!s^VSgUW_JkXli_(mlj+&X(Mb)=nvO`65Xgr4k!4t=JW(ZHg8T`(*FTRh{G=;`nPt**aRI#W$X}>5%2{XWsT5GmX?z8MwEK zI^f2`-eGt>xozODEWUaF%7Q<$xICA?U3QS1X%LD)_d(US`zVsc;x);Tw|@l-7n?rR6JTa_xX%R!js{Yp&(%H$QwZh`YG_{95e5w~*a&cxZe3 zjGw0o7A#&Vp4m=z8^2!8EWud}yeq0n8NAA%fKbwb)wTk0lsUC=J}#ZQGsOxnPgL%a zCdE%}HO=biFXintS#n()AzchcYMue1cJ#XSiKJD_ir(f60&X8IZ8P*D!kG-+fN!-3 zbA63>TP3s_?H8jOW|V-Ny`sjXg=F33;_}~Jdm+b6gOK(k5D)6I_(k7@nZU{+9h}|S za>^6|QWF6AlgUv~sqTOiP0FV%5TE5Kmc-JVd8sOas6^#sFy#oB&6?5!7Ims6j+o5}AKxd3%8_KuF?eno;RYZDkv8s9?0 zXyr0Zx&=a3*|4qC!Z!gx-Ww*lr|S~7`32-Vtb+TePffHBf6lkfq>Q&ezq=7P!V+W6 zo0SJ(E1JHpoCE-`5yd4Ii1z|f*dylwF7sD0oK!8xZ$@s7HiYW1^|7|u z>gUJJTj=aqV;ODxbOINe1Mn0Bcrt!LUw-bvDag&!(Coi#Imjwee_Or9F7C{^QFVGa4yj6|Lpw&<0jK&1fiB4xpn|hu$L& z_V-zCIr1_Ht2YAp)kD$_Ce_aF^eK^KA{}Ae5$?tjo$k5HJq~NPnSykoSd*vKsUI87~1|_j&M+GFIngv z_!F=)G!G>ZS?-plsII*J5+`%S^Pk6S&+Q{UrUbZo(s}KrWI5zPcxqiH<^_@FK28y1 z{gOU>1^~9KC%9!pj|8`Q|MQHs;-EZ1ui)1)5ZfjWN^(p_$s@Y2&@8&|n8{J|j79Ah z4)zYe(LPBJeZ>+4yDfn{tmRc)Ra<|Fc~*EV)@=s$M2ASePYU^woiRscIB%}lsRQlZ zF(@GpBc^y+9n0xnQ?zl}yVZwqYTtiuDqz%^V4msh&Ko`64ggOz^AC@PtSrh8f;}$t zAjQW7xqzHlK)&)4_aR>z+gP;y^KY)y6i!>U0HSB2d3vj&V}w*w(e&uQkD}#m()D=w zP5_Ug+>hsm2y3n^;7$Z6rfpv?T9wqDCm{O%1&$4v;08E~90Z?pyR#uh!he3x6H?zC zarBlI3EQ~yLK7ri71V;lc`Obp$P>Zm@}}%%-TaTgihOwv_VD&2*p+n-ATsb+p9{oJ zwP+MxdFp;RgPKLZd2>nbn7LAojJ*Kf8TBiulm(m-Dx80!Bu<6(bRgou1Q9xu0@C-! zvIoq;IpYVFYUtPfS3U)P5~1v(51HgC68GWzui)GN;EF1YeQN_MF24b&Mk)h8A#Y7K zE*1KG|MZG{lXb~8%txWl&J`Wt17f3PXmDXIuy5K&`&-AI6bD&!aV~=4X%eY!?+)(# z>5%pp>zJ%TYv?;A;%C3O=c0>giw4u)&k#qw^_MrYf*ykG5~`P0u(LB@x)!HJeJ}-@ zPQvH`W43)CG^w*~VF401lSaXLtMcS@2ZyZQWFZQg*)JeDBqf4`o-(A)bH0^xZm!)Q zY~uknD>?A@30@DS3@sGZphYiYL{YxhOFDnryGst}XylA!i*(-s;{2BulFicx(yR{u z^0b9RMYEe7Ic)ANWVrllbH~*^zIgrVBRUQ$bK6HQjzfToFVkogvi`oeNmk&nF z)M{vC%!H;K#euF4!3;Ur8NDQj`}u=z5xDhD|ID<}tl136+xt?A#WjO-seW-HF1le^ zFkd+Mc#9t--K9i;&Ru=gi?x>>zO(Ys;8+&pds!_sTqAps6NRTGBduMX9QHQlwL+~$$#gjpBEFIGkGLdY5eGg>iHZLDh zj_ILu4_#~Zz*j+i+}S(E8zdojE_l2w5=-S;xX#Sn_mbr$2IO_>i{sikqm&fEt=IoH z93=5EtDqKfJXL0+u;lyzwX@lX25j2cL^e3^Ds`n$0L4J!m)4QIKaFlH@_wBFP5&iO z*nRQ!^WR~r-m;yWRL?n^YP+YXsQQCcum?3urks&ALe?necV!}L1*et`&TL2PV=a+r zn>#3E!0lU9>{<$w`OkojZ#hv%F2L~;h}v|V0{|dLs4?n1^q$feBpXf5O)Xa z#fB_I9R)|A^uXY3PDUNXYj{ChCO?9;Lnsw8X%|-`gg^see^wW2RM+n&Wy3{3>^%U5-&98< z`M|P29&_R_QQm^p!7yg2ZtUP*=vL?@IhWQ=TG-)yydKUep^Q4zL%Hr;?K#4~tW+=L zM=VwTCJF`>i(Ir)x-3dK;N)`q->cDs&uR{d!0Y$@vhkAS-+hX ztrS(lTiCUbIL50>E=zT1EW?YuqdV_u#DT;sSicU@=9oZDt{U|{NXS|R%dv+p;FS4$ zXyN9SYlT@W^$LE|)YdJc<4npn1Zb?k^_4Yn$O!;(Us^80|1gjkRSaPsFOuQZOb5Xc z4GfO=XHV#s7TQoP1)Vf-mKsXrZd^R*u7(ek%-<5HgA1T5XFaHSGVYjgYj%Y5Umn0S zV7vaKB?n-<0hs40RdM=18uAl-9ssRSenJ?q@!-c4R6F>mw5+HmtY%{ce?1t0$W8k@ z3FKy&M++GSM+mOkhm?Bt6^dUKudd;tt1|avyeisnbnk$5Oqq7M>z2?@|!dFiRFWiMq+l$k5jb(W1H5Q7q9ybr}|dhov~EvmmUu(u`%nJ6z4_FR<>C z9ZDo0BMewf%p7Q#ZTkbAz?-2@w07SC{_f(J(g$iMFUC@`BXAyp0V)4AJJx{ufVx>; zQ;W>db&u^rvDCRoqUg(;(_CBiTw(plkA-aQPm*>@4ECEDBLjEdk}RU{RC&$jJJ)eW z<~g;uP@56sy$Nxz%*1O|I>7a1Q!8vI+Fj2W*&Pp@THNdwZI{@{s3#X9?z?Llx~q?} z?TY=6CD;XS4csQao>P8QV{MyF&cyrLPm}8dle>Zrf;F;^m$ZJXNZs^7MgV<0{dwu# zf&3Qbv8uH?N7r^`qAUr_$V@@wvt28EKA*-F!Q%Ykm!)yo8pwMHj$J5G=@QudDRZc< zc;a9VNzrEf@?)z!UDnNjly4Kq5u*1VYWDt*O*%ntcAKWlyO!aXZT`H6)f_58-UqdU zcn;b9m2W!GbfY0%B<(NR9B_GOz-TT{q1OHa3K{n&gA3kGBOBdo{dZkV@*?a4KDYRb zYzs@wIDaU0@kM0Dob!Gc_k3@^Tc{I^BcDz@)~X2nSU+C^%O;e$l->p303T1AX z;g)kwG$MVyMU8I#KN3xeq?RgQX$f>5SUFqc5gQ3E=hUeB`S3^f>uWVryoX?#rOy=s zzB}$OiJVX)4n;!PFu`lbUKNq(^+I#Dzq!v=Hg+00aBrqSOfC{s*vhQ>c@?WV;qyEZ zAgj;Icrd>k^j^7N!QTdXnh89$IA(bi|9Xu3kPCbl<>BJ-;L`N3eNY7QAC%#Hgehn! zJqy>>%_e=O&rOo_j`kIQf@18@BK~vk+c>!6E|@%eY(^g2sMXIO?{ck`xV)E&9iyUR z$^(|Gs2^938O30CkPidzBR7#^JiaPaS_&7D# zREqBD*_gJ7%(&$ojuUsa11(4z*kE5WIIixYz&<#9(OY<%$TJVp zus!K%-#|lDG@Ql*6m?E2e$a?rpuPt2%(chXb$QlfY*)B96B+_CM!i~_#dGa?gBilY z2ViPAO;76vF^0hl`>YHlFz0bS?k;3fA$vOWRp$7&V+ZJ4zgv+IB_Ut&uaWNsdtJ0S zj*Kk)J_#T47aSq!vewLwohHwiMRb zGTzMwllPo)VN8ra*j;{;$xY#CFRkm-E!ob`+o63W<`a+Xm(THAu;}0xk^QkZ>_oaA z4PsrK`+8b%n>x}*5eD)%o{lAREgUnGtvD3(B5Q{13_?(b-bG@eAaw@m`41fXac_$T z#uRll*;r!8c3}7of_=c{#b67;F^`v{G!o9R6oV^?&l3t|wkhLX!q^*; zj(_#z@)(-Duk@n@>wooHTj4K<^$w`%t_O#pTIPHU)SgCm>&^tt$0i>|{GE&ir(t*9 z^hBh1>_*Jt*Vl`>ye%>3h@mKf6H|t|THVP8yY=%@;te%UHmd{H_S8}fLjxSN#QaU} z0C&F*Rd*S*cHh96-mVvB^)SnyxW-jQD1b{TH?vqG$F4WQ0`^x~b@zS2FppChojAVS zn5kQN4behYC;{xGSIc@~1Z9fAyu^%)nb2J{@Ya;`?K6HuRdjLwA4d_^?KBxTxe#Wu zx8vdJm3II}B0_JJM1iatWbDtH+Z;jw@Zc_}XcKYs-~Kx%j_hEu<@j)`_&-d6{~K06 z58i8-L2tDmeQiGu2s+Gag~6rjPM$u!2+0HMQIW|1T=;VCc$pp_N?^V0KWFmi**pFh zd2b$;bo#}ATQ)h(m`*hwzlT~I0 zX{+ZBe_G5)g_#x!X2UNmF-(i*K)(d|sNgv}ca{f!*b97JJIt41=;ci$3ns z_xPomt}dRYDXvV>b^;PUHz3jK?j=&{thSgTm(1P0@wMMb3pk>}ewxPbXXA7_alk~vy)ZLK*loUuWwRgp7H)zVr zi`Sl5f$M&3Y&cc343Fo_dTT+{%fedB+4*HAal(M`kdil={J8l*3r+&KuiJrQioUu)!UkcDIe*Fs9 zjP&4H=(QgOP9hKXzz9~xfH)t_IuG`4eX9ZTRY>Km}tLsX_ezHxzfDSYM*ymE7x)`YF5{y=8mQ76pwkhbr@jb+&m2>m-`3L+4 zivGBlST|dX5!ZM{9k*D4nGd5~o}k1m%|g8-n=~3I7UR14rKYTPyYJfqZMJS2Po;gz zzT0+O@K;eV1MRHH6+e9YU%22}>-N=u7t~=T8$rZ_ia8$np#G}D(SY2-f0K=!jEHVy zCOLfm=FDkGfW)hdTFzY@yR=Gv*YlU>y}QQSE%B-z0(u6w5v+cXkJLq@tMO}(+m~w> zt;1G^rfPj7LD(Amp}8aCl~|xl;_oBbK1%MQX@RCtBS%|lD!5LlRAT}78_mh-(=)rB zTS!KxFUG<>E4I$Sy4w35hH|d{a_r4yM#H*2N3J0=;-RmO_s|!36RzFq;o4S@#2{G7 zhh@F*i$@I)7WQN^{|^31_gUd+Z@UuNxaqcXIvaC(^kuWTI^mBpx%Q~f_8pF`{*NNu zJoeq+rg*q=ODazA)=E?9%kaQvuhALoK_vuDksz$pby1%2re!P8z*O$v5dxXvcR`c` z_vp3Q)6tY&VB4~{J8un#NY-^GmFVRJM=U&q?SU`UgeZ>L5$jZwwHwisn|eOO<&`mh z;;Rab;96g~{sxn?grXjYUqkK*?&eu{BDNw*srS3mPxGQ9k+(j_4Sh zvB9&;sK(usClO!|S&+o|@1r#8S;z&0D`jPM1{ddt0<@P0XIVgki~w%ODY$b!u~OIP z8634>!9m~aE?|~RJ!(L@-4?=6re*O#{M#>>iMZHOH=fl$FG>d!XoBvdv`;(jr;5Bs zlY}Ti8@D9ehCQ`ZYA}Ylewn>|V{Kid=Q&rT-Au4iq-4Cs@pC13Ny}(DEmdg*pwvMo zrcRjuE~&c+bUU-?VlFiD1d%J=?Q~OtUfoSjSHClalA;F$1}7w!1d-acud4B2y#S#gtcg>SjoRct=8mtpvhH~kR1cC?Se;kO;=U0P zu8;S(wCH=kds6?|cpMhf4IyFq`%a8n$-Y~DMwoVVRRm6tWzc@N{vm@_nU$`~VnRBh zN+`8)s78`0o0PQY(C67Mn9$86zIzW;KuL*d=&ua%`a{qPd}4Oq#9+{{5)8ew7Q}3> zf@A~`FL~~t>%QOFY121?hUYH4CBTq*6(j-y3e!=sU<^-vkFijI!M5K7$%yS_1WA+fyDwuj3lx{ zN%KMt^BDOETF-Y1MYN3Y3KfNlcwSpb#sOu07E@Fk~@s6{i)YqEv0Q z@a0K?c?y1cw?w|)*OoXk!DxMg>2GT2M&fVpMhcg*5-xD zSgKJ9Aocj7Q3%u@o(>Ms&}v?&?8&8PV2B9P#=m{vsc0~N+fZ8kFZ#$GTmXMW+m zZG#HpT$aegbojmX=`Ofl-8U}SBwB31*M%!ngThaUaUewo$FX&Hnb3nG-aL#SrshSm z7tv~F4rng@^DVSCfS!pE6Y_5|hx3D?Y5vPe*Fh82j_5CMp`|Mxz*XU(R?V!b?qf9o zziBep$H;n^bQRN)x1egnbd%RG|mAV0$2qlC{(%KVEF@^G7M(1O@fis;0yOR zEQIs+vy1wb8N9{0RB?m!-wsLrU}kjY6q(Nq!RL2I;IUr%$WzP8<3bgnro6oZE_D~D6Q9^JSNd=lqImz?2AYHG&E)P&fNRG~BQ#NH4L#Ki zYh`77)=YV-){`yHVPfTF>UK=c5HHdyNZVQpEyJ^_yXyB<6`U!-5GOyXvd9_d2OB`y zDpITP;0T|zMcol=$4VU(z$hkYNiBk~d%-6f`l+BOuQW?uuP9jb#qdJqMf*~YZl0AM zXD`+>o+A)9RO1T~VJiy(^-iE(pUlinnTuHHuTj5*>%=knZp=nh`*u&x|j|8iA)FyhkpHjNBd)?C;w zM<-v%8W^ot7Jp&cVHx=yt%3mvY7^|QgGz4v@0k!+c!-BBz3+&R$4 z;B*|}$&caz>x1Nxfj~-DG{=*5K2jf^3y&ttn(|qE7$`Bs5>gx*LMm}f6KVHUNeD1j zvO5hCcLKlf48XSuil%49Bup45LuDDEHCyTyW@~29f&>{u>q-Wm!g$eK9nskOrf#G6RPsr{F@w54cRyb8Pz~T zop{DY^lv z9-8K7R#=ROPENi*oT!wz!}Lx$`PuKGY@) z&uXpBvDSSywlmr#-qHheK~bs=*!MBtJ-`ORz~a?%q%?V;<8F*?LWDl6L`=ecBps8a z^hGQj$t7BjmQ1+muS#P29|O6#dGJ{d2RS*jK>s#s-o5k+#iMx8OH-+xLpK~XLMg@} zA=t|ISht^2s$^=uzDFx@nYEWl*|jH_a(n(?TJ$k?RQ~UZ6mi|;gV|$pjbj!p!~a}rlyqZ#+Pn})&q`i3nV*K5opb{l36G>~j3CkYSwIk>bRT0E zSe+~B)Yo)AlrUVqX@uVCUROaTA7n3KK!M{*?Sg=;R^VV`C!ZwCy+8^ARf58GfAY&o zNy-Q)-^n)%oJ96WiuS)d&yLH0V$vNQf{H_3;`4H z?jou0?(Gz1T*(M@?AV(&1yt}DCn`zg+QTbLyq(xJG08iH>!bRyOm~#S2s5{eVTzr; z&e%tfj1i1+5GP~u3cJZl^^SKhmben7I4-0oHuX1KhyfP}PW%!jIY= zODs&!8^ewGYrMVZ0n2lyVT;yle~BUJSuXi`~_Ih|7UrKMl>qRR=dT6~|nptVM1 z(_509k`nbpPMOlA%}+god{EoFTa!({(A6_^L}lOoHuC`tZ`a(t%$0%B&^q-m9esZ` zi%7>7wj>TX;~#jODAyK$N!QC%rZ3eXS_xr$Ncj>5n==(E#DH0zUNay(P-xK@q$d4@aLZ6&y92tiN!cCkZETpll;b_ z2B6LjXZ%%`ySGXV&|8TyWRLRo2t@%-cEAR`Ie}F~yLGbGpUly^^U?;zxCCd8sn?n4hIRQ(REcDaAq$>kVj zX;w^~IiD#;4@IxCQE2Mri5%0yeNRhnR%?zHKNdl7R!T7$PZonA|Jky4!kw?y9Q6Ar ztNQZSuAvnBPucm>n(wS4xaO zcgY@jnyooSuXUF;AkHOuwj^-gRTP<>E*XFhzi8TAIBKzzB34HZ>Z%6+xLxn9WuAM_9l3z_XstUg$}Qri zqf`AwURznL%N$p@%^Ov(d^8v&D_+()vw+)v-^F9Q@Z(EH;f|4lA2=WJ_Dm{hdoV>1 zRGX^hG?Z`4@C2r5yPV5o8Gnvm=&2DTxmb)8G7wyGkvqEijPTcz@;G)30%HYi#qxUQ znL!eq%te%AXL9IS3@CxIodZ4V%bh`45h#R?!tLx(%{QskEjJA92o3e^X$m0>9TQ3& zWCi5ob0ZUB=rDX{mbN!SX2!|%(ovg}c>4`6<5HRfJZ%tV<}>qG6-~!$L5O+8OdBH+ z5W^?0490{?eSFF7G-2#CCJgN%)AL45#^P39MEki6E5i66Rh}hd`TP*(<*4CZoY1`4 z!Ht3VfJDd^f z9n50p!*pZmP3pE*GP6fTn;rBfIuH~Y!%9>Tjhk-T$T;kRM{*#V1>%;&E@i~%>}0}= zffrE{zA+CR9vw53aW*?h?FV|gSlJEXuBh*Hdd4XO?>eyusVEM!^3fJIS zTtz?V14nBj4FAV$S;oXdbFJ2J`20j9jqX<4o3!PyS#sf;h=%54cHX3D{F(MGaVqmS z@)}|6u$`)ikLxPoNk_s~+QeToQ}-f&DGQkjw(6&D{jIhI70;I(XQB0uS$#MV}@ zx*w{O69^sxX)EBol%?2(d&9BpknL``%I1dsJ<}6k$I#k-OdAO%>bVvj zpTa_MaSxtE%PiAnb`O7s0C(h-@d29$ZS&^m^U#ZvG+m^NPTPv&de`*Zy3)2~RNsAh zPn_CO-maQ9jX{kJwH~^&5zF^=(b1a6Z%;Bp6#l|rWmH~-7zdpMC=V(mr8|9)1OXF6 z_!od({rUngHMu5il+vuWXeW2}Lu1U&(3`eE-YZcK}A*j4@p|_rlIX8l= z!?nu~AK?JvfZ`!>Q|R`wFiT&mu0ldWc%h^xJk8pqVEjM8rAqUK?4e{npB~m` zMd)ipS#x6aZ_dmF5qE|*U282ZmWL7ge(Fc3®QBXvZADCil~EH51C=w!nnHAW(K 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 E2S{S??*IS* literal 0 HcmV?d00001 diff --git a/static/img/irys-images/encrypting.png b/static/img/irys-images/encrypting.png new file mode 100644 index 0000000000000000000000000000000000000000..132ce2f540ed26d5d5b135b14c690b43e6303d7a GIT binary patch literal 133333 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

men$7zUL<9NdQt~z;BH>q_$ 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

g{9ZxGakoI5!FyK%)V|5C@n~gJfRYT9 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 PGw}N{)1&!DPS^hjjn~Qi literal 0 HcmV?d00001 From e664bc28ad0fbc2783e08e51130111b5b5736361 Mon Sep 17 00:00:00 2001 From: Bean Date: Mon, 23 Oct 2023 17:44:49 -0400 Subject: [PATCH 046/627] remove recaptcha, add more session signature info (#151) * remove recaptcha, add more session signature info --------- Co-authored-by: deb --- .../session-sigs/auth-methods/email-sms.md | 113 ++++++++------- .../sessionSigs/authMethods/email-sms.md | 132 +++++++++++------- 2 files changed, 137 insertions(+), 108 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md index cfb0e010..86991d22 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md @@ -35,60 +35,6 @@ If you are using Lit Relay Server, you will need to request an API key [here](ht ::: -## ReCaptcha verification -To send an otp code to the user they must first complete a ReCaptcha verification, to verify a user via ReCaptcha you may either use our embeddable captcha or use our `site key` in our own ReCaptcha package of choice - -### Embedding ReCaptcha -```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); -``` -In the above example the `element-id-of-anchor` is id of the html tag to inject the recaptcha view into. -After the user confirms the `response`, it will be added to a global variable `LIT_AUTH_CLIENT_CAPTCHA_RES`. When an `OtpProvider` is created it will look for this variable when initializing. -If you wish to refresh the `response` you can use the `setCaptchaResponse` method on the `OtpProvider` - -**example** -```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); -authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); - -// starting a validation session -let session = authClient.initProvider(ProviderType.Otp,{ - userId: '' -}); -session.setCaptchaResponse(window.LIT_AUTH_CLIENT_CAPTCHA_RES); - -let status = await session.sendOtpCode(); -let authMethod = await session.authenticate({ - code: "" -}); -const txHash = await session.mintPKPThroughRelayer(authMethod); -``` -**note** ReCaptcha Responses are valid for 2 minutes. For information on ReCaptcha, [read more](https://developers.google.com/recaptcha/intro). - - -### Using the ReCaptcha Site Key in Another ReCaptcha implementation -If you would like to use another ReCaptcha implementation such as [react google recaptcha](https://www.npmjs.com/package/react-google-recaptcha) you can access the ReCaptcha `site key` shown below: -```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -authClient.getSiteKey(); -``` - - ## Minting via Contract An alternative to minting the PKP NFT via the Lit Relay Server is to send a transaction to the smart contract yourself. You can reference the following example data that is passed to the `mintNextAndAddAuthMethods` method of the `PKPHelper` smart contract: @@ -154,3 +100,62 @@ const sessionSigs = await provider.getSessionSigs({ }, }); ``` + +### Generating Session Signatures using the `LitNodeClient` + +::: note + +The example will assume you are using `LitNodeClient` but this example also works with `LitNodeClientNodeJS` + +::: + +Initalize an instance of the `LitNodeClient` and connect to the network + +```javascript +const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ + litNetwork: 'cayenne', + debug: true +}); +await litNodeClient.connect(); +``` + +Request a specified pkp to sign a session signature, authenticating with an `Auth Method` for a given `PKP` +The `session.fetchPKPThroughRelayer` method above can be used to query PKP public keys associated with a given auth method. You can also use the `contracts-sdk` to query PKP information by Authentication Method. + +```javascript +// The implementation below is wrapped by the above `provider.getSessionSigs` +const authNeededCallback = async (params: AuthCallbackParams) => { + console.log("params", params) + const response = await litNodeClient.signSessionKey({ + sessionKey: sessionKeyPair, + statement: params.statement, + authMethods: [authMethod], // auth method from one of the `lit-auth-client` authentication providers + pkpPublicKey: "", // pkp which has the auth method configured for authentication above + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + console.log("callback response", response) + return response.authSig; +}; + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + sessionKey: sessionKeyPair, + authNeededCallback +}).catch((err) => { + console.log("error while attempting to access session signatures: ", err) + throw err; +}); +console.log("session signatures: ", sessionSigs); +const authSig = sessionSigs[Object.keys(sessionSigs)[0]]; +console.log("authSig", authSig); +``` diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md index cfb0e010..dfdb0791 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -35,60 +35,6 @@ If you are using Lit Relay Server, you will need to request an API key [here](ht ::: -## ReCaptcha verification -To send an otp code to the user they must first complete a ReCaptcha verification, to verify a user via ReCaptcha you may either use our embeddable captcha or use our `site key` in our own ReCaptcha package of choice - -### Embedding ReCaptcha -```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); -``` -In the above example the `element-id-of-anchor` is id of the html tag to inject the recaptcha view into. -After the user confirms the `response`, it will be added to a global variable `LIT_AUTH_CLIENT_CAPTCHA_RES`. When an `OtpProvider` is created it will look for this variable when initializing. -If you wish to refresh the `response` you can use the `setCaptchaResponse` method on the `OtpProvider` - -**example** -```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); -authClient.embeddCaptchaInElement("element-id-of-anchor", document.head); - -// starting a validation session -let session = authClient.initProvider(ProviderType.Otp,{ - userId: '' -}); -session.setCaptchaResponse(window.LIT_AUTH_CLIENT_CAPTCHA_RES); - -let status = await session.sendOtpCode(); -let authMethod = await session.authenticate({ - code: "" -}); -const txHash = await session.mintPKPThroughRelayer(authMethod); -``` -**note** ReCaptcha Responses are valid for 2 minutes. For information on ReCaptcha, [read more](https://developers.google.com/recaptcha/intro). - - -### Using the ReCaptcha Site Key in Another ReCaptcha implementation -If you would like to use another ReCaptcha implementation such as [react google recaptcha](https://www.npmjs.com/package/react-google-recaptcha) you can access the ReCaptcha `site key` shown below: -```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -authClient.getSiteKey(); -``` - - ## Minting via Contract An alternative to minting the PKP NFT via the Lit Relay Server is to send a transaction to the smart contract yourself. You can reference the following example data that is passed to the `mintNextAndAddAuthMethods` method of the `PKPHelper` smart contract: @@ -154,3 +100,81 @@ const sessionSigs = await provider.getSessionSigs({ }, }); ``` + +### Generating `SessionSigs` + +After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. + +```javascript +// Get session signatures for the given PKP public key and auth method +const sessionSigs = await provider.getSessionSigs({ + authMethod: '', + sessionSigsParams: { + chain: 'ethereum', + resourceAbilityRequests: [{ + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + }], + }, +}); +``` + +### Generating Session Signatures using the `LitNodeClient` + +::: note + +The example assumes you are using `LitNodeClient` and also works with `LitNodeClientNodeJS` + +::: + +Initalize an instance of the `LitNodeClient` and connect to the network + +```javascript +const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ + litNetwork: 'cayenne', + debug: true +}); +await litNodeClient.connect(); +``` + +Request a specified PKP to sign a session signature, authenticating with an `Auth Method` for a given `PKP` +The `session.fetchPKPThroughRelayer` method above can be used to query PKP public keys associated with a given auth method. You can also use the `contracts-sdk` to query PKP information by Authentication Method. + +```javascript +// The implementation below is wrapped by the above `provider.getSessionSigs` +const authNeededCallback = async (params: AuthCallbackParams) => { + console.log("params", params) + const response = await litNodeClient.signSessionKey({ + sessionKey: sessionKeyPair, + statement: params.statement, + authMethods: [authMethod], // auth method from one of the `lit-auth-client` authentication providers + pkpPublicKey: "", // pkp which has the auth method configured for authentication above + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + console.log("callback response", response) + return response.authSig; +}; + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + sessionKey: sessionKeyPair, + authNeededCallback +}).catch((err) => { + console.log("error while attempting to access session signatures: ", err) + throw err; +}); +console.log("session signatures: ", sessionSigs); +const authSig = sessionSigs[Object.keys(sessionSigs)[0]]; +console.log("authSig", authSig); +``` + From 9bd6a15584d122c9b2b636bee31d7bf5bba64966 Mon Sep 17 00:00:00 2001 From: debie Date: Mon, 23 Oct 2023 14:51:30 -0700 Subject: [PATCH 047/627] rename relevant sections to smart contract account --- docs/integrations/aa/overview.md | 17 +++++++++++------ docs/integrations/aa/pimlico.md | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md index 54ec3dd3..e9670922 100644 --- a/docs/integrations/aa/overview.md +++ b/docs/integrations/aa/overview.md @@ -1,4 +1,4 @@ -# Account Abstraction +# Smart Contract Accounts Learn how to use Lit Protocol with account abstraction providers to streamline how you use web3 wallets! @@ -7,8 +7,8 @@ Learn how to use Lit Protocol with account abstraction providers to streamline h ## Objectives At completion of this reading you should be able to: -- Define use cases for Lit with account abstraction (AA). -- Understand how to build Lit with an AA provider. +- Define use cases for Lit with smart contract accounts. +- Understand how to build Lit with an account abstraction (AA) provider. --- @@ -20,14 +20,19 @@ EIP-4337 sets a standard interface for everyone to work with when creating smart How AA enhances user experience: 1. Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. + 2. Social Recovery - In [Why we need wide adoption of social recovery wallets](https://vitalik.ca/general/2021/01/11/recovery.html) by Vitalik Buterin, he writes that a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery with AA can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. ## How to use Lit with Account Abstraction (AA) 1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. + 2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. + 3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. + 4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. + 5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. ## Account Abstraction Providers @@ -40,11 +45,11 @@ AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account te **Chart made by Prez Thomas in the piece ["Top 6 Account Abstraction Providers: An In-Depth Review"](https://medium.com/coinmonks/top-6-account-abstraction-providers-an-in-depth-review-3a09b9fc707c), Sept 13, 2023** -## Account Abstraction Integrations +## Smart Contract Account Integrations | Provider | Description | Link to Guide | | --- | --- | --- | -| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](https://accountkit.alchemy.com/smart-accounts/signers/lit.html) | -| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](https://docs.pimlico.io/tutorial/integrations/lit-protocol) | +| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](../aa/alchemy-account-kit.md) | +| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](../aa/pimlico.md) | | - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://nut.sh/ell/forms/352580/YEk9vu) | diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md index 564fda30..2cec13f9 100644 --- a/docs/integrations/aa/pimlico.md +++ b/docs/integrations/aa/pimlico.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Pimlico -Learn how to use Lit Protocol's OTP sign-in (email, SMS, and Whatsapp) with a smart account whose user operations are relayed and sponsored by [Pimlico](https://www.pimlico.io/). +Learn how to use Lit Protocol's one time password (OTP) sign-in (email, SMS, and Whatsapp) with a smart account whose user operations are relayed and sponsored by [Pimlico](https://www.pimlico.io/). From 896c8e74d33a1357ac9c8a6054fd7c63517198ed Mon Sep 17 00:00:00 2001 From: deb Date: Tue, 24 Oct 2023 12:16:34 -0700 Subject: [PATCH 048/627] Add in serverless signing section (#153) --- docs/concepts/aa-x-lit.md | 2 +- docs/concepts/programmable-signing-concept.md | 2 +- docs/integrations/aa/alchemy-account-kit.md | 2 +- docs/network/rollup.mdx | 2 +- .../conditional-signing.md | 39 ++- docs/sdk/serverless-signing/eip191.md | 59 +++++ docs/sdk/serverless-signing/fetch.md | 114 +++++++++ docs/sdk/serverless-signing/overview.md | 47 ++++ .../processing-validation.md | 212 +++++++++++++++ docs/sdk/serverless-signing/quick-start.md | 241 ++++++++++++++++++ docs/sdk/wallets/intro.md | 2 +- docs/support/faq.md | 2 +- netlify.toml | 4 +- sidebars.js | 17 +- 14 files changed, 729 insertions(+), 16 deletions(-) rename docs/sdk/{wallets => serverless-signing}/conditional-signing.md (82%) create mode 100644 docs/sdk/serverless-signing/eip191.md create mode 100644 docs/sdk/serverless-signing/fetch.md create mode 100644 docs/sdk/serverless-signing/overview.md create mode 100644 docs/sdk/serverless-signing/processing-validation.md create mode 100644 docs/sdk/serverless-signing/quick-start.md diff --git a/docs/concepts/aa-x-lit.md b/docs/concepts/aa-x-lit.md index 179ee236..3e682253 100644 --- a/docs/concepts/aa-x-lit.md +++ b/docs/concepts/aa-x-lit.md @@ -32,7 +32,7 @@ Ideal cases for PKPs and Lit Actions - Generating proofs are ideal for usage with AA wallets, essentially this is programmable transaction validation through Lit’s network with a signer - Looking up permitted actions, addresses, and [auth methods](../sdk/authentication/overview.md) associated with a PKP -- Checking access control conditions with [conditional signing](../sdk/wallets/conditional-signing.md) +- Checking access control conditions with [conditional signing](../sdk/serverless-signing/conditional-signing.md) ## A Brief Account Abstraction (AA) Intro diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index 8610669c..8636e589 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -9,7 +9,7 @@ sidebar_position: 2 Lit’s distributed key management network can be used to produce programmable signatures and transaction automations. Functionally, this feature gives developers the capacity to build distributed serverless functions and applications that have the ability to sign data with their own private key. The signing keys generated by Lit are: 1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): Lit keys can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: Lit keys can be programmed to sign based on pre-defined conditions, referred to as [conditional signatures](../sdk/wallets/conditional-signing) in the docs. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods), or generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. +2. Programmable: Lit keys can be programmed to sign based on pre-defined conditions, referred to as [conditional signatures](../sdk/serverless-signing/conditional-signing.md) in the docs. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods), or generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. 3. Fault-tolerant: Each key is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key pair where no one node ever holds the key in its entirety. To get started building with these tools right away, check out the Lit [SDK install guide](../sdk/installation). Otherwise, keep reading to get a better understanding of how digital signatures work, why the technology is important, and potential ways this tooling can be implemented in the real world! diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index f9a5d7bd..091b8939 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -277,6 +277,6 @@ export const litSigner: SmartAccountSigner = new WalletClientSigner( ## Next Steps -Continue learning about [Lit's severless signing](../../sdk/wallets/conditional-signing.md) capabilities. +Continue learning about [Lit's severless signing](../../sdk/serverless-signing/conditional-signing.md) capabilities. Explore [Account Kit](https://accountkit.alchemy.com/). diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index 2369f3a0..a9c84be6 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -49,4 +49,4 @@ We are also working on a decentralized sequencer for the rollup, such that all C ## Next Steps -Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../sdk/wallets/conditional-signing). +Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../sdk/serverless-signing/conditional-signing). diff --git a/docs/sdk/wallets/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md similarity index 82% rename from docs/sdk/wallets/conditional-signing.md rename to docs/sdk/serverless-signing/conditional-signing.md index e1383a72..e2731dc6 100644 --- a/docs/sdk/wallets/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -3,7 +3,13 @@ import TabItem from '@theme/TabItem'; # Conditional Signing -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. +## Prerequisites + +- Familiarity with JavaScript +- Basic understanding of [severless signing](../serverless-signing/quick-start.md) + +## Overview +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be used to uphold the integrity of data on the open web, in its function as a decentralized notary. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. @@ -13,10 +19,15 @@ The below example will check if the user has at least 1 Wei on Ethereum, only re The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. ::: -```js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +Installed the latest client on `cayenne` + +```bash +yarn install @lit-protocol/lit-node-client@cayenne +``` + +Set up the Lit Action code to be run on the Lit nodes. -// this code will be run on the node +```jsx const litActionCode = ` const go = async () => { // test an access control condition @@ -40,9 +51,14 @@ const go = async () => { go(); `; +``` +Obtain an AuthSig + +```jsx // you need an AuthSig to auth with the nodes // normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) + const authSig = { sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", derivedVia: "web3.eth.personal.sign", @@ -51,12 +67,21 @@ const authSig = { address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", }; +``` + +Run the Lit Action code on the Lit nodes: + +```jsx + const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClient({ + +const litNodeClient = new LitJsSdk.LitNodeClient({ litNetwork: "cayenne", }); - await litNodeClient.connect(); - const signatures = await litNodeClient.executeJs({ + +await litNodeClient.connect(); + +const signatures =await litNodeClient.executeJs({ code: litActionCode, authSig, jsParams: { diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md new file mode 100644 index 00000000..bd457725 --- /dev/null +++ b/docs/sdk/serverless-signing/eip191.md @@ -0,0 +1,59 @@ +# Signing with EIP191 + +Use EIP191 `eth_personal_sign` to sign a message instead of a transaction or raw signature. + +This can be done with + +```jsx +LitActions.ethPersonalSignMessageEcdsa({ message, publicKey , sigName });  +``` + +It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash and sign it according to https://eips.ethereum.org/EIPS/eip-191. + +```jsx +const go = async () => { + const message = "Hello World"; + const litNodeClient = new LitJsSdk.LitNodeClient({ + litNetwork: "cayenne", + }); + await litNodeClient.connect(); + +const signatures = await litNodeClient.executeJs({ + code: litActionCode, + jsParams: { + // this is the string "Hello World" for testing + message, + publicKey: + "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", + sigName: "sig1", + }, + authSig, + }); + console.log("signatures: ", signatures); + const sig = signatures.sig1; + const dataSigned = "0x" + sig.dataSigned; + const encodedSig = joinSignature({ + r: "0x" + sig.r, + s: "0x" + sig.s, + v: sig.recid, + }); + + console.log("encodedSig", encodedSig); + console.log("sig length in bytes: ", encodedSig.substring(2).length / 2); + console.log("dataSigned", dataSigned); + const splitSig = splitSignature(encodedSig); + console.log("splitSig", splitSig); + + const recoveredPubkey = recoverPublicKey(dataSigned, encodedSig); + console.log("uncompressed recoveredPubkey", recoveredPubkey); + const compressedRecoveredPubkey = computePublicKey(recoveredPubkey, true); + console.log("compressed recoveredPubkey", compressedRecoveredPubkey); + const recoveredAddress = recoverAddress(dataSigned, encodedSig); + console.log("recoveredAddress", recoveredAddress); + + const recoveredAddressViaMessage = verifyMessage(message, encodedSig); + console.log("recoveredAddressViaMessage", recoveredAddressViaMessage); +}; + +go(); +``` diff --git a/docs/sdk/serverless-signing/fetch.md b/docs/sdk/serverless-signing/fetch.md new file mode 100644 index 00000000..501d3c41 --- /dev/null +++ b/docs/sdk/serverless-signing/fetch.md @@ -0,0 +1,114 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Using Fetch + +## Prerequisites + +- Familiarity with JavaScript +- Basic understanding of [severless signing](../serverless-signing/quick-start.md) + +## Overview +Unlike traditional smart contract ecosystems, Lit Actions can natively talk to the external world. This is useful for things like fetching data from the web, or sending API requests to other services. + +The Lit Action below will get the current temperature from the [National Weather Service](https://www.weather.gov/) API, and ONLY sign a txn if the temperature is forecast to be **above 60 degrees F**. Since you can put this HTTP request and logic that uses the response directly in your Lit Action, you don't have to worry about using a 3rd party oracle to pull data in. + +### How it works + +The HTTP request will be sent out by all the Lit Nodes in parallel, and consensus is based on at least 2/3 of the nodes getting the same response. If less than 2/3 nodes get the same response, then the user can not collect the signature shares above the threshold and therefore cannot produce the final signature. Note that your HTTP request will be sent N times where N is the number of nodes in the Lit Network, because it's sent from every Lit Node in parallel. + +Be careful about how many requests you're making and note that this may trigger rate limiting issues on some servers. + +## Example + +### Lit Action code + +:::note +`toSign` data is required to be in 32 byte format. + +The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. +::: + +```jsx +const litActionCode = ` +const go = async () => { + const url = "https://api.weather.gov/gridpoints/TOP/31,80/forecast"; + const resp = await fetch(url).then((response) => response.json()); + const temp = resp.properties.periods[0].temperature; + + // only sign if the temperature is above 60. if it's below 60, exit. + if (temp < 60) { + return; + } + + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function + const sigShare = await LitActions.signEcdsa({ toSign, publicKey , sigName }); +}; + +go(); +`; +``` + +### Execute Lit Action code on Lit nodes + +```jsx +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + litNetwork: "cayenne", + debug: true, + }); + await litNodeClient.connect(); + const signatures = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + publicKey: + "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", + sigName: "sig1", + }, + }); + console.log("signatures: ", signatures); +}; + +runLitAction(); +``` + +## Using fetch() to write data +You can also use fetch() inside a Lit Action to write data, but you **must be careful** (because the HTTP request will be run N times where N is the number of Lit Nodes). On Serrano, N is 10, so any fetch() request will be sent to the server 10 times. + +**This is safe**, however, if the place you're writing the data to is *idempotent*. Idempotent means that applying the same operation over and over will not change the result. So for example, a SQL Insert is not idempotent, becuase if you run it 10 times, it will create 10 rows. On the other hand, a SQL Update is idempotent, because if you run it 10 times, it will only update the row once. So if you're using fetch() to write data, make sure the server you're writing to is idempotent. + +### Lit Action code + +```jsx +const runLitAction = async () => { + if (day === "") { + alert("Select a day first!"); + return; + } + + const litActionCode = ` + const fetchWeatherApiResponse = async () => { + const url = "https://api.weather.gov/gridpoints/LWX/97,71/forecast"; + let toSign; + try { + const response = await fetch(url).then((res) => res.json()); + const forecast = response.properties.periods[day]; + toSign = { temp: forecast.temperature + " " + forecast.temperatureUnit, shortForecast: forecast.shortForecast }; + const sigShare = await LitActions.signEcdsa({ toSign, publicKey, sigName }); + } catch(e) { + console.log(e); + } + LitActions.setResponse({ response: JSON.stringify(toSign) }); + }; + + fetchWeatherApiResponse(); + `; + +``` diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md new file mode 100644 index 00000000..5770f18b --- /dev/null +++ b/docs/sdk/serverless-signing/overview.md @@ -0,0 +1,47 @@ +# Overview + +:::note +💡 Lit Actions are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! + +For an in-depth review of the functionality provided by the Lit Actions SDK, take a look at our [API docs](https://actions-docs.litprotocol.com/). +::: + +## Quick Start + +1. Guide: [Getting Started](../serverless-signing/quick-start.md) +2. Tool: [GetLit CLI](https://developer.litprotocol.com/v3/tools/getlit-cli) +3. Example: [Fetching Off-Chain Data in a Lit Action](../serverless-signing/fetch.md) +4. Example: [Conditional Signing with Lit Actions](../serverless-signing/conditional-signing.md) + +### Overview + +Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method for allowing developers to encode logic that dictate signing. + +Severless signing or what we’ll refer to as Lit Actions are JavaScript programs that can be used to specify signing and authentication logic for programmable key pairs (PKPs). When used in conjunction with PKPs, Lit Actions are serverless functions with their own private key-pair. Together these tools can be used to write data to blockchains and other state machines. + +A trivial example would be a Lit Action and associated PKP that checks if a number is prime, only returning a signature if the number is prime. Each node will execute the Lit Action with a submitted input and verify that it meets the required conditions. If it does, the node will provision an independent signing share. Only after more than two-thirds of these shares have been collected can the complete signature be formed. + +### Features + +1. [Blockchain Agnostic](../../resources/supported-chains.md): Lit Actions can be used to write data to blockchains using PKPs. +2. Immutable: Once a Lit Action has been published, just like a blockchain smart contract - it cannot be modified. Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. +3. Off-Chain Compatibility: Lit Actions can pull in data from off-chain sources natively, without requiring the use of a third party oracle. + +### Use Cases + +**Ideal use cases** + +- Generating proofs +- Looking up permitted actions, addresses and auth methods associated with a PKP +- Checking access control conditions with conditional signing + +**Not Recommended Use Cases** + +- POST request that inserts a new SQL row (if not called in single execution, the Lit Action will be executed by every node in parallel, you will end up with n number of rows, where n is no less than two-thirds the number of total nodes in the Lit network) +- ETH RPC calls +- Sending a transaction that needs an external API call (the API call will be sent n times, where n is no less than two-thirds the number of total nodes in the Lit network) + +### Examples + +1. [Executing a trade on Uniswap](https://github.com/LIT-Protocol/lit-apps/blob/master/packages/lit-actions/src/to-be-converted/wip-swap.action.mjs?ref=spark.litprotocol.com) +2. [Fetching off-chain price data](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/#how-it-works) diff --git a/docs/sdk/serverless-signing/processing-validation.md b/docs/sdk/serverless-signing/processing-validation.md new file mode 100644 index 00000000..dcae0ad1 --- /dev/null +++ b/docs/sdk/serverless-signing/processing-validation.md @@ -0,0 +1,212 @@ +# Processing & Validation + +## Generating Signed Transactions + +How to generate a [signed Ethereum transaction](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/signTxn.js) with PKPs and Lit Actions. + +This example relies on the following packages: + +```jsx +@lit-protocol/lit-node-client@cayenne +@ethersproject/transactions +@ethersproject/signing-key +@ethersproject/bytes +``` + +The packages to import will look like: + +```jsx +import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import fs from "fs"; +import { serialize, recoverAddress } from "@ethersproject/transactions"; +import { + hexlify, + splitSignature, + hexZeroPad, + joinSignature, +} from "@ethersproject/bytes"; +import { recoverPublicKey, computePublicKey } from "@ethersproject/signing-key"; +``` + +Create the Lit Action code + +```jsx +const litActionCode = fs.readFileSync("./build/signTxnTest.js"); +``` + +Where we will refer to the `signTxnTest.js` file here: https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/build/signTxnTest.js. + +Set up an AuthSig, you can read more about that here. + +Call the Lit Actions code with the Lit nodes + +```jsx +const go = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + minNodeCount: 6, + debug: true, + litNetwork: "cayenne", + }); + await litNodeClient.connect(); + const results = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + jsParams: {}, + }); + const { signatures, response } = results; + console.log("response", response); + + const sig = signatures.sig1; + const { dataSigned } = sig; + const encodedSig = joinSignature({ + r: "0x" + sig.r, + s: "0x" + sig.s, + v: sig.recid, + }); + + const { txParams } = response; + + console.log("encodedSig", encodedSig); + console.log("sig length in bytes: ", encodedSig.substring(2).length / 2); + console.log("dataSigned", dataSigned); + const splitSig = splitSignature(encodedSig); + console.log("splitSig", splitSig); + + const recoveredPubkey = recoverPublicKey(dataSigned, encodedSig); + console.log("uncompressed recoveredPubkey", recoveredPubkey); + const compressedRecoveredPubkey = computePublicKey(recoveredPubkey, true); + console.log("compressed recoveredPubkey", compressedRecoveredPubkey); + const recoveredAddress = recoverAddress(dataSigned, encodedSig); + console.log("recoveredAddress", recoveredAddress); + + const txn = serialize(txParams, encodedSig); + + console.log("txn", txn); +}; + +go(); +``` + +## Generating a Session Key + +```jsx +@lit-protocol/lit-node-client@cayenne +@ethersproject/wallet +@ethersproject/transactions +siwe +``` + +With a simple Lit Action code + +This requests a signature share from the Lit Node. The signature share will be automatically returned in the response from the node and combined into a full signature by the LitJsSdk for use on the client. + +All the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function + + +```jsx +const litActionCode = ` + const go = async () => { + const sigShare = await LitActions.signEcdsa({ toSign, publicKey, sigName }); + }; + + go(); +`; +``` + +## Logging + +Log using `console.log()` or `console.error()` and the results will be returned under the "logs" key. + +Note that your Lit Action is being run on multiple nodes that may provide different logs. Therefore, the most common log message will be the one that is returned. Pass the `debug: true` flag to executeJs to see all logs from all nodes. + +```jsx +const results = await litNodeClient.executeJs({ + code: "console.log('hello')", + authSig, +}); +console.log("logs: ", results.logs); +``` + +Returning Responses + +You can return a JSON response from your Lit Action and results will be returned under the "response" key. + +Note that your Lit Action is being run on multiple nodes that may provide different responses. Therefore, the most common response will be the one that is returned. Pass the `debug: true` flag to executeJs to see all logs from all nodes. + +```jsx +const results = await litNodeClient.executeJs({ + code: "LitActions.setResponse({response: JSON.stringify({hello: 'world'})})", + authSig, +}); +console.log("response: ", results.response); +``` + +## Composability + +You can call Lit Actions from inside Lit Actions and any signatures or decryptions will be appended to the parent Lit Action response. + +You do this by passing an IPFS ID to the Lit.Actions.call() function like so:  + +```jsx +Lit.Actions.call({ ipfsId: "Qmb2sJtVLXiNNXnerWB7zjSpAhoM8AxJF2uZsU2iednTtT", params: {})  +``` + +which would call the Lit Action at the given IPFS ID with the params you pass in to the `params` key. + +Check out that action code here to see how it works: https://ipfs.io/ipfs/Qmb2sJtVLXiNNXnerWB7zjSpAhoM8AxJF2uZsU2iednTtT + +Below is an action that takes a function name to run, and runs a "child" Lit Action accordingly. This example only has 1 function ("signEcdsa") but it could have many. + +All child Lit Actions run inside a new JS runtime / sandbox so none of the parent variables, functions, or state are available to the child action. + +Lit Action code + +```jsx +const litActionCode = ` +const signEcdsa = async () => { + // this Lit Action simply requests an ECDSA signature share from the Lit Node + const resp = await Lit.Actions.call({ + ipfsId: "QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm", + params: { + // this is the string "Hello World" for testing + toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + publicKey: + "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", + sigName: "childSig", + }, + }); + + console.log("results: ", resp); +}; + +if (functionToRun === "signEcdsa") { + signEcdsa(); +} +`; +``` + +Running the Lit Action on the Lit nodes: + +```jsx +import * as LitJsSdk from '@lit-protocol/lit-node-client'; + +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + litNetwork: "serrano", + debug: true, + }); + await litNodeClient.connect(); + const results = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + // all jsParams can be used anywhere in your litActionCode + jsParams: { + functionToRun: "signEcdsa", + }, + }); +}; + +runLitAction(); +``` \ No newline at end of file diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md new file mode 100644 index 00000000..6cac1d58 --- /dev/null +++ b/docs/sdk/serverless-signing/quick-start.md @@ -0,0 +1,241 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Getting Started + +:::note +💡 Lit Actions and PKPs are still heavily in development and things may change. + +**API DOCUMENTATION** For the most up to date API documentation, check out the [Lit JS SDK V3 docs](https://lit-js-sdk-v3-api-docs.vercel.app/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. + +Need some `LIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! + +::: + +## Prerequisites + +- Familiarity with JavaScript +- Read the Overview section about [serverless signing](../serverless-signing/overview.md) + +## What are Lit Actions + +Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../pkp/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. + +To create a Lit Action write some JavaScript code that will accomplish your goals. The Lit Protocol provides JS function bindings to do things like request a signature or check an arbitrary condition. If you need to include dependencies like NPM packages, use a bundler like Webpack or ESBuild to create a single JS file and provide that bundle as your Lit Action. + +In order to collect the responses from the Lit nodes, you'll also need to write some client side JS. This will allow you to combine the collected key shares [above the threshold](../../resources/how-it-works.md) to form the complete signature. + +In the example below, we will write a simple Lit Action that requests a signature from the Lit nodes and signs a message that says "Hello World". + +## 1. Install the Lit JS SDK V3 + +On the client side + +```jsx +yarn add @lit-protocol/lit-node-client@cayenne +``` + +For server side + +```jsx +yarn add @lit-protocol/lit-node-client-nodejs@cayenne +``` + +## 2. Obtain a PKP + +Go to https://explorer.litprotocol.com/ and mint a PKP. + +:::tip + +Save the public key which will be used in the steps below. + +::: + +## 3. Request a Signature + +The Lit Action below will sign the string "Hello World" with the shared testnet ECDSA key and return the signature. + +The JS below will be run by every node in the network in parallel. + +```jsx +const go = async () => { + // this is the string "Hello World" for testing + const toSign = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]; + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + const sigShare = await Lit.Actions.signEcdsa({ + toSign, + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", + }); +}; + +go(); +``` + +You also need some client side JS to send the above JS to the nodes, collect the signature shares, combine them, and print the complete signature. In the following code, we store the above code into a variable called `litActionCode`. We execute it, obtain the signature, and print it: + + + + +```jsx +import * as LitJsSdk from '@lit-protocol/lit-node-client'; + +// this code will be run on the node +const litActionCode = ` +const go = async () => { + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function + const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey , sigName }); +}; + +go(); +`; + +const runLitAction = async () => { + // you need an AuthSig to auth with the nodes + // this will get it from MetaMask or any browser wallet + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); + + const litNodeClient = new LitJsSdk.LitNodeClient({ litNetwork: "serrano" }); + await litNodeClient.connect(); + const signatures = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", + }, + }); + console.log("signatures: ", signatures); +}; + +runLitAction(); +``` + + + + + +```jsx +import * as LitJsSdk from '@lit-protocol/lit-node-client-nodejs'; + +// this code will be run on the node +const litActionCode = ` +const go = async () => { + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function + const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey , sigName }); +}; + +go(); +`; + +// you need an AuthSig to auth with the nodes +// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) +const authSig = { + sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", + derivedVia: "web3.eth.personal.sign", + signedMessage: + "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", + address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", +}; + +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: "serrano" }); + await litNodeClient.connect(); + const signatures = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", + }, + }); + console.log("signatures: ", signatures); +}; + +runLitAction(); +``` + + + + +Passing JS to be run by the Lit Nodes + +There are 2 ways to pass JS run by the Lit Nodes. You may pass the raw JS in the `code` param, or you may pass the IPFS ID of a file that contains the JS in the `ipfsId` param. The following two examples are equivalent: + +**Using the code param** + +```jsx +const litActionCode = ` +const go = async () => { + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function + const sigShare = await LitActions.signEcdsa({ toSign, publicKey, sigName }); +}; + +go(); +`; + +const signatures = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", + }, +}); +``` + +**Using the ipfsId param** + +The ipfs ID: `QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm` contains the same code as the "litActionCode" variable above. + +You can check out the code here: https://ipfs.litgateway.com/ipfs/QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm . + +```jsx +const signatures = await litNodeClient.executeJs({ + ipfsId: "QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm", + authSig, + // all jsParams can be used anywhere in your Lit Action Code + jsParams: { + // this is the string "Hello World" for testing + toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", + }, +}); +``` + +## Conclusion and More Examples + +And that's it, you have now successfully written your first Lit Action! + +Continue on to the modules ahead to learn more about the types of use cases and functionality that can be supported, as well as example implementations associated with each. + +Reach out to us on [Discord](https://litgateway.com/discord) if you need help or have questions! diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 271ac366..8e405861 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -30,7 +30,7 @@ Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be utilized ## Features 1. [Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Lit Actions](../wallets/conditional-signing.md) contain the application logic that each PKP should follow. This is useful for defining signing automations, handling [authentication](../wallets/auth-methods.md), or generating conditional proofs. +2. Programmable: [Serverless signing](../serverless-signing/overview.md) is useful for defining signing automations, handling [authentication](../wallets/auth-methods.md), or generating conditional proofs. 3. Atomicity: Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. 4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 5. Interoperable: Use a provider like [WalletConnect](../wallets/walletconnect.md) to connect PKPs to your favorite dApps, just like any other EOA wallet. diff --git a/docs/support/faq.md b/docs/support/faq.md index a13a822c..53cf1a1b 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -155,7 +155,7 @@ For other permissions, please see the contract [here](https://github.com/LIT-Pro Assign the PKP to itself as we don’t want the PKP owner to arbitrarily change the functioning of the LitAction. Use the PKPHelper.`mintNextAndAddAuthMethods()` for that & to initially setup allow only specific IPFS CIDs to execute. -But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction, can fetch it from there or put that in the LitAction itself and use `conditional-signing` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../lit-actions/working-with-actions/conditional-signing). +But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction, can fetch it from there or put that in the LitAction itself and use `conditional-signing` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../sdk/serverless-signing/conditional-signing.md). ### 3. But I want to upgrade the permitted lit-actions/users? diff --git a/netlify.toml b/netlify.toml index 24a85a2e..02c8c242 100644 --- a/netlify.toml +++ b/netlify.toml @@ -475,13 +475,13 @@ force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/conditionalSigning" - to = "/lit-actions/working-with-actions/conditional-signing" + to = "/v2/LitActions/workingWithActions/conditionalSigning" status = 301 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/usingFetch" - to = "/lit-actions/working-with-actions/using-fetch" + to = "/v2/LitActions/workingWithActions/usingFetch" status = 301 force = false diff --git a/sidebars.js b/sidebars.js index 3b87121f..c4b2a243 100644 --- a/sidebars.js +++ b/sidebars.js @@ -187,10 +187,25 @@ const sidebars = { items: [ "sdk/wallets/auth-methods", "sdk/wallets/minting", - "sdk/wallets/conditional-signing", "sdk/wallets/walletconnect", ], }, + { + type: "category", + label: "Serverless Signing", + link: { + type: "doc", + id: "sdk/serverless-signing/overview", + }, + collapsible: true, + items: [ + "sdk/serverless-signing/quick-start", + "sdk/serverless-signing/conditional-signing", + "sdk/serverless-signing/fetch", + "sdk/serverless-signing/processing-validation", + "sdk/serverless-signing/eip191", + ], + }, "sdk/tests", ], }, From 32fae1037fd7d3554668e440096487ff67559342 Mon Sep 17 00:00:00 2001 From: deb Date: Wed, 25 Oct 2023 12:52:05 -0700 Subject: [PATCH 049/627] Update and move claimable keys docs into programmable wallets (#156) --- docs/concepts/claimable-keys.md | 38 ------------------- .../sdk/{ => wallets}/claimable-keys/intro.md | 11 +++++- .../sdk/{ => wallets}/claimable-keys/usage.md | 0 netlify.toml | 9 ++++- sidebars.js | 25 ++++++------ 5 files changed, 30 insertions(+), 53 deletions(-) delete mode 100644 docs/concepts/claimable-keys.md rename docs/sdk/{ => wallets}/claimable-keys/intro.md (72%) rename docs/sdk/{ => wallets}/claimable-keys/usage.md (100%) diff --git a/docs/concepts/claimable-keys.md b/docs/concepts/claimable-keys.md deleted file mode 100644 index b222590f..00000000 --- a/docs/concepts/claimable-keys.md +++ /dev/null @@ -1,38 +0,0 @@ -# Claimable Keys (HD Keys) - -## Overview - -When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. We're going to abbreviate claimable keys as HD keys, short for homogeneous derived keys. - -HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. - -## Use Cases -1. Send a welcome bonus to new users' email addresses before they sign up. The user can claim the funds once they verify their email. -2. Allow users to receive funds via their phone number before installing an app. They can claim the funds once they verify their phone number. -3. Send promotional funds to Twitter handles. Users can claim the funds by authenticating their Twitter account. -4. Distribute airdrops to Discord users using their IDs. They can claim the airdrop once they connect their Discord account. -5. Onboard new users by sending them a small amount to their web3 social profile (like a Lens profile). They can claim it by verifying ownership of their Lens account. - -## Vocabulary - -| Term | Definition | -| --- | --- | -| authentication methods | Deterministically generated identifier from authentication material | -| auth method identifier | An ID generated from a given authentication method | -| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | -| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | -| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | - -The `key identifier` is generated from an `auth method identifier` from`authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. - -This also allows you to generate many keys from a single `Authentication Method` . Since this identifier is known ahead of time from deriving the `Auth Method` to it’s `Auth Method Identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. -With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. - -To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. - -## Getting Started and Further Reading - -Some links to further reading and resources to help you get started building with HD keys on the Lit network today: - -- Getting started with the [Lit SDK](../sdk/installation) -- Learn how to set up [HD keys](../sdk/claimable-keys/intro.md) diff --git a/docs/sdk/claimable-keys/intro.md b/docs/sdk/wallets/claimable-keys/intro.md similarity index 72% rename from docs/sdk/claimable-keys/intro.md rename to docs/sdk/wallets/claimable-keys/intro.md index 17aeb3a0..5cd1c36a 100644 --- a/docs/sdk/claimable-keys/intro.md +++ b/docs/sdk/wallets/claimable-keys/intro.md @@ -9,10 +9,19 @@ Ready to jump right in? Quickly learn how you can integrate claimable keys into ## Overview -With the release of the test network `cayenne` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. +When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. We're going to abbreviate claimable keys as HD keys, short for homogeneous derived keys. + +With the release of the test network `cayenne` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. +## Use Cases +1. Send a welcome bonus to new users' email addresses before they sign up. The user can claim the funds once they verify their email. +2. Allow users to receive funds via their phone number before installing an app. They can claim the funds once they verify their phone number. +3. Send promotional funds to Twitter handles. Users can claim the funds by authenticating their Twitter account. +4. Distribute airdrops to Discord users using their IDs. They can claim the airdrop once they connect their Discord account. +5. Onboard new users by sending them a small amount to their web3 social profile (like a Lens profile). They can claim it by verifying ownership of their Lens account. + ## Key vocabulary | Term | Definition | diff --git a/docs/sdk/claimable-keys/usage.md b/docs/sdk/wallets/claimable-keys/usage.md similarity index 100% rename from docs/sdk/claimable-keys/usage.md rename to docs/sdk/wallets/claimable-keys/usage.md diff --git a/netlify.toml b/netlify.toml index 02c8c242..99d0b750 100644 --- a/netlify.toml +++ b/netlify.toml @@ -646,9 +646,16 @@ force = false status = 301 force = false -# home redirect 7/11/23 +# home redirect 7/11/23, pointing to V2... update to V3 when ready [[redirects]] from = "/" to = "/v2/" status = 301 force = false + +# 10/24/23 +[[redirects]] + from = "/concepts/claimable-keys" + to = "/sdk/wallets/claimable-keys/intro" + status = 301 + force = false diff --git a/sidebars.js b/sidebars.js index c4b2a243..0b0a42b1 100644 --- a/sidebars.js +++ b/sidebars.js @@ -60,7 +60,6 @@ const sidebars = { items: [ "concepts/access-control-concept", "concepts/aa-x-lit", - "concepts/claimable-keys", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet"], }, @@ -164,18 +163,6 @@ const sidebars = { }, ], }, - { - type: "category", - label: "Claimable Keys (HD Keys)", - link: { - type: "doc", - id: "sdk/claimable-keys/intro", - }, - collapsible: true, - items: [ - "sdk/claimable-keys/usage", - ], - }, { type: "category", label: "Programmable Wallets", @@ -188,6 +175,18 @@ const sidebars = { "sdk/wallets/auth-methods", "sdk/wallets/minting", "sdk/wallets/walletconnect", + { + type: "category", + label: "Claimable Keys (HD Keys)", + link: { + type: "doc", + id: "sdk/wallets/claimable-keys/intro", + }, + collapsible: true, + items: [ + "sdk/wallets/claimable-keys/usage", + ], + }, ], }, { From d414b3608de84889cef96b8fa7d081de97e6c11b Mon Sep 17 00:00:00 2001 From: deb Date: Fri, 27 Oct 2023 08:25:37 -0700 Subject: [PATCH 050/627] Update state-of-network.md (#155) * Update state-of-network.md * rolling it all into habanero --------- Co-authored-by: Chris Cassano <1285652+glitch003@users.noreply.github.com> --- .pnp.cjs | 27234 +++++++++++++++++++++++++++++ .pnp.loader.mjs | 2047 +++ docs/network/state-of-network.md | 16 +- yarn.lock | 5774 +++--- 4 files changed, 32429 insertions(+), 2642 deletions(-) create mode 100755 .pnp.cjs create mode 100644 .pnp.loader.mjs diff --git a/.pnp.cjs b/.pnp.cjs new file mode 100755 index 00000000..a5e6b6ea --- /dev/null +++ b/.pnp.cjs @@ -0,0 +1,27234 @@ +#!/usr/bin/env node +/* eslint-disable */ +"use strict"; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse('{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost. We also recommend you not to read",\ + "it either without using the @yarnpkg/pnp package, as the data layout",\ + "is entirely unspecified and WILL change from a version to another."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "lit-docs",\ + "reference": "workspace:."\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["lit-docs", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:7.18.6"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/plugin-google-analytics", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/preset-classic", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@lit-protocol/constants", "npm:2.9.90"],\ + ["@mdx-js/react", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.6.22"],\ + ["@svgr/webpack", "npm:5.5.0"],\ + ["clsx", "npm:1.2.1"],\ + ["dotenv", "npm:16.0.3"],\ + ["file-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:6.2.0"],\ + ["husky", "npm:7.0.4"],\ + ["node-fetch", "npm:3.3.1"],\ + ["prism-react-renderer", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.3.5"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["url-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:4.1.1"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@algolia/autocomplete-core", [\ + ["npm:1.7.1", {\ + "packageLocation": "./.yarn/cache/@algolia-autocomplete-core-npm-1.7.1-488e460895-511176e9c2.zip/node_modules/@algolia/autocomplete-core/",\ + "packageDependencies": [\ + ["@algolia/autocomplete-core", "npm:1.7.1"],\ + ["@algolia/autocomplete-shared", "npm:1.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/autocomplete-preset-algolia", [\ + ["npm:1.7.1", {\ + "packageLocation": "./.yarn/cache/@algolia-autocomplete-preset-algolia-npm-1.7.1-cda1dae133-cb031d5ed4.zip/node_modules/@algolia/autocomplete-preset-algolia/",\ + "packageDependencies": [\ + ["@algolia/autocomplete-preset-algolia", "npm:1.7.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:45202314b275c1c02aee792851a6ec34e21e8784c7e3ee5da4d07df6247de0842d989d936e4df583538ed4dfaacd80c9598037d0e6aa48346447a95638879770#npm:1.7.1", {\ + "packageLocation": "./.yarn/__virtual__/@algolia-autocomplete-preset-algolia-virtual-9b5dc9940c/0/cache/@algolia-autocomplete-preset-algolia-npm-1.7.1-cda1dae133-cb031d5ed4.zip/node_modules/@algolia/autocomplete-preset-algolia/",\ + "packageDependencies": [\ + ["@algolia/autocomplete-preset-algolia", "virtual:45202314b275c1c02aee792851a6ec34e21e8784c7e3ee5da4d07df6247de0842d989d936e4df583538ed4dfaacd80c9598037d0e6aa48346447a95638879770#npm:1.7.1"],\ + ["@algolia/autocomplete-shared", "npm:1.7.1"],\ + ["@algolia/client-search", null],\ + ["@types/algolia__client-search", null],\ + ["@types/algoliasearch", null],\ + ["algoliasearch", "npm:4.14.2"]\ + ],\ + "packagePeers": [\ + "@algolia/client-search",\ + "@types/algolia__client-search",\ + "@types/algoliasearch",\ + "algoliasearch"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/autocomplete-shared", [\ + ["npm:1.7.1", {\ + "packageLocation": "./.yarn/cache/@algolia-autocomplete-shared-npm-1.7.1-749810ff60-0e137f1a47.zip/node_modules/@algolia/autocomplete-shared/",\ + "packageDependencies": [\ + ["@algolia/autocomplete-shared", "npm:1.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/cache-browser-local-storage", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-cache-browser-local-storage-npm-4.14.2-1525dcd2d0-e7d5f43ff0.zip/node_modules/@algolia/cache-browser-local-storage/",\ + "packageDependencies": [\ + ["@algolia/cache-browser-local-storage", "npm:4.14.2"],\ + ["@algolia/cache-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/cache-common", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-cache-common-npm-4.14.2-cd5ab62e07-4fd04c714a.zip/node_modules/@algolia/cache-common/",\ + "packageDependencies": [\ + ["@algolia/cache-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/cache-in-memory", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-cache-in-memory-npm-4.14.2-b2851f6d42-d6981f812a.zip/node_modules/@algolia/cache-in-memory/",\ + "packageDependencies": [\ + ["@algolia/cache-in-memory", "npm:4.14.2"],\ + ["@algolia/cache-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/client-account", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-client-account-npm-4.14.2-638e7c4fd3-2e9eed5a4b.zip/node_modules/@algolia/client-account/",\ + "packageDependencies": [\ + ["@algolia/client-account", "npm:4.14.2"],\ + ["@algolia/client-common", "npm:4.14.2"],\ + ["@algolia/client-search", "npm:4.14.2"],\ + ["@algolia/transporter", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/client-analytics", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-client-analytics-npm-4.14.2-6d6467051e-61874e026c.zip/node_modules/@algolia/client-analytics/",\ + "packageDependencies": [\ + ["@algolia/client-analytics", "npm:4.14.2"],\ + ["@algolia/client-common", "npm:4.14.2"],\ + ["@algolia/client-search", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"],\ + ["@algolia/transporter", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/client-common", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-client-common-npm-4.14.2-36b62d83ee-da2be279ac.zip/node_modules/@algolia/client-common/",\ + "packageDependencies": [\ + ["@algolia/client-common", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"],\ + ["@algolia/transporter", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/client-personalization", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-client-personalization-npm-4.14.2-c1d119b502-0dd25c84a4.zip/node_modules/@algolia/client-personalization/",\ + "packageDependencies": [\ + ["@algolia/client-personalization", "npm:4.14.2"],\ + ["@algolia/client-common", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"],\ + ["@algolia/transporter", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/client-search", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-client-search-npm-4.14.2-f4a9cad087-2695bc9e8c.zip/node_modules/@algolia/client-search/",\ + "packageDependencies": [\ + ["@algolia/client-search", "npm:4.14.2"],\ + ["@algolia/client-common", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"],\ + ["@algolia/transporter", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/events", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/@algolia-events-npm-4.0.1-06815ef938-4f63943f45.zip/node_modules/@algolia/events/",\ + "packageDependencies": [\ + ["@algolia/events", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/logger-common", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-logger-common-npm-4.14.2-55301effc4-a4000a9883.zip/node_modules/@algolia/logger-common/",\ + "packageDependencies": [\ + ["@algolia/logger-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/logger-console", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-logger-console-npm-4.14.2-b33418d7de-96c6209c7e.zip/node_modules/@algolia/logger-console/",\ + "packageDependencies": [\ + ["@algolia/logger-console", "npm:4.14.2"],\ + ["@algolia/logger-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/requester-browser-xhr", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-requester-browser-xhr-npm-4.14.2-7e8355ca8a-7d8666e21c.zip/node_modules/@algolia/requester-browser-xhr/",\ + "packageDependencies": [\ + ["@algolia/requester-browser-xhr", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/requester-common", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-requester-common-npm-4.14.2-9e4f0ea5c3-7de4148a55.zip/node_modules/@algolia/requester-common/",\ + "packageDependencies": [\ + ["@algolia/requester-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/requester-node-http", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-requester-node-http-npm-4.14.2-c97bb16407-5f5fe8b040.zip/node_modules/@algolia/requester-node-http/",\ + "packageDependencies": [\ + ["@algolia/requester-node-http", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@algolia/transporter", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/@algolia-transporter-npm-4.14.2-95bfbf32f6-72c72013f3.zip/node_modules/@algolia/transporter/",\ + "packageDependencies": [\ + ["@algolia/transporter", "npm:4.14.2"],\ + ["@algolia/cache-common", "npm:4.14.2"],\ + ["@algolia/logger-common", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ampproject/remapping", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/@ampproject-remapping-npm-2.2.0-114878fa50-d74d170d06.zip/node_modules/@ampproject/remapping/",\ + "packageDependencies": [\ + ["@ampproject/remapping", "npm:2.2.0"],\ + ["@jridgewell/gen-mapping", "npm:0.1.1"],\ + ["@jridgewell/trace-mapping", "npm:0.3.17"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/code-frame", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-code-frame-npm-7.18.6-25229a7e34-195e2be317.zip/node_modules/@babel/code-frame/",\ + "packageDependencies": [\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@babel/highlight", "npm:7.18.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/compat-data", [\ + ["npm:7.21.0", {\ + "packageLocation": "./.yarn/cache/@babel-compat-data-npm-7.21.0-8983856f86-dbf632c532.zip/node_modules/@babel/compat-data/",\ + "packageDependencies": [\ + ["@babel/compat-data", "npm:7.21.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/core", [\ + ["npm:7.12.9", {\ + "packageLocation": "./.yarn/cache/@babel-core-npm-7.12.9-8369e5cab5-4d34eca468.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@babel/generator", "npm:7.21.3"],\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helpers", "npm:7.21.0"],\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"],\ + ["convert-source-map", "npm:1.9.0"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["lodash", "npm:4.17.21"],\ + ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d"],\ + ["semver", "npm:5.7.1"],\ + ["source-map", "npm:0.5.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.21.3", {\ + "packageLocation": "./.yarn/cache/@babel-core-npm-7.21.3-625d9d4efe-bef25fbea9.zip/node_modules/@babel/core/",\ + "packageDependencies": [\ + ["@babel/core", "npm:7.21.3"],\ + ["@ampproject/remapping", "npm:2.2.0"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@babel/generator", "npm:7.21.3"],\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helpers", "npm:7.21.0"],\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"],\ + ["convert-source-map", "npm:1.9.0"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["gensync", "npm:1.0.0-beta.2"],\ + ["json5", "npm:2.2.3"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/generator", [\ + ["npm:7.21.3", {\ + "packageLocation": "./.yarn/cache/@babel-generator-npm-7.21.3-176ee60a78-be6bb5a32a.zip/node_modules/@babel/generator/",\ + "packageDependencies": [\ + ["@babel/generator", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"],\ + ["@jridgewell/gen-mapping", "npm:0.3.2"],\ + ["@jridgewell/trace-mapping", "npm:0.3.17"],\ + ["jsesc", "npm:2.5.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-annotate-as-pure", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-annotate-as-pure-npm-7.18.6-36e25293d8-88ccd15ced.zip/node_modules/@babel/helper-annotate-as-pure/",\ + "packageDependencies": [\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-builder-binary-assignment-operator-visitor", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-helper-builder-binary-assignment-operator-visitor-npm-7.18.9-a2c86d7a16-b4bc214cb5.zip/node_modules/@babel/helper-builder-binary-assignment-operator-visitor/",\ + "packageDependencies": [\ + ["@babel/helper-builder-binary-assignment-operator-visitor", "npm:7.18.9"],\ + ["@babel/helper-explode-assignable-expression", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-compilation-targets", [\ + ["npm:7.20.7", {\ + "packageLocation": "./.yarn/cache/@babel-helper-compilation-targets-npm-7.20.7-fbd2fdfc71-8c32c873ba.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/helper-compilation-targets", "npm:7.20.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-compilation-targets-virtual-a7c0d3ed89/0/cache/@babel-helper-compilation-targets-npm-7.20.7-fbd2fdfc71-8c32c873ba.zip/node_modules/@babel/helper-compilation-targets/",\ + "packageDependencies": [\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/compat-data", "npm:7.21.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-validator-option", "npm:7.18.6"],\ + ["@types/babel__core", null],\ + ["browserslist", "npm:4.21.4"],\ + ["lru-cache", "npm:5.1.1"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-class-features-plugin", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-helper-create-class-features-plugin-npm-7.19.0-684397371f-f0c6fb77b6.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "npm:7.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-class-features-plugin-virtual-7727da7eaa/0/cache/@babel-helper-create-class-features-plugin-npm-7.19.0-684397371f-f0c6fb77b6.zip/node_modules/@babel/helper-create-class-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-class-features-plugin", "virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-function-name", "npm:7.21.0"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.18.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.18.6"],\ + ["@babel/helper-replace-supers", "npm:7.19.1"],\ + ["@babel/helper-split-export-declaration", "npm:7.18.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-create-regexp-features-plugin", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-helper-create-regexp-features-plugin-npm-7.19.0-664f2c7fc6-811cc90afe.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "npm:7.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:eee5846be600a4df47c87c8b8aa16e1cdabdffe580b1c7bcc3bc32f294d09da9164d4657d972aa269947575370890321d5083a8cb5d5053c155008f173768f35#npm:7.19.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-create-regexp-features-plugin-virtual-47949657d0/0/cache/@babel-helper-create-regexp-features-plugin-npm-7.19.0-664f2c7fc6-811cc90afe.zip/node_modules/@babel/helper-create-regexp-features-plugin/",\ + "packageDependencies": [\ + ["@babel/helper-create-regexp-features-plugin", "virtual:eee5846be600a4df47c87c8b8aa16e1cdabdffe580b1c7bcc3bc32f294d09da9164d4657d972aa269947575370890321d5083a8cb5d5053c155008f173768f35#npm:7.19.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@types/babel__core", null],\ + ["regexpu-core", "npm:5.2.1"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-define-polyfill-provider", [\ + ["npm:0.3.3", {\ + "packageLocation": "./.yarn/cache/@babel-helper-define-polyfill-provider-npm-0.3.3-8c896ae707-8e3fe75513.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "npm:0.3.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:673fcb2b193747a2fb72576cd76b63144f907bdcfdaaaf8a026c7600eb0d1096d2c603fd0292f716a1503184f51b309bd065fc68355da7d5bcf4ea1d18fc94e2#npm:0.3.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-define-polyfill-provider-virtual-07ba57f841/0/cache/@babel-helper-define-polyfill-provider-npm-0.3.3-8c896ae707-8e3fe75513.zip/node_modules/@babel/helper-define-polyfill-provider/",\ + "packageDependencies": [\ + ["@babel/helper-define-polyfill-provider", "virtual:673fcb2b193747a2fb72576cd76b63144f907bdcfdaaaf8a026c7600eb0d1096d2c603fd0292f716a1503184f51b309bd065fc68355da7d5bcf4ea1d18fc94e2#npm:0.3.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["lodash.debounce", "npm:4.0.8"],\ + ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-environment-visitor", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-helper-environment-visitor-npm-7.18.9-9f5b3635a1-b25101f616.zip/node_modules/@babel/helper-environment-visitor/",\ + "packageDependencies": [\ + ["@babel/helper-environment-visitor", "npm:7.18.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-explode-assignable-expression", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-explode-assignable-expression-npm-7.18.6-9b20d989e6-225cfcc337.zip/node_modules/@babel/helper-explode-assignable-expression/",\ + "packageDependencies": [\ + ["@babel/helper-explode-assignable-expression", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-function-name", [\ + ["npm:7.21.0", {\ + "packageLocation": "./.yarn/cache/@babel-helper-function-name-npm-7.21.0-a17ce5a05a-d63e63c3e0.zip/node_modules/@babel/helper-function-name/",\ + "packageDependencies": [\ + ["@babel/helper-function-name", "npm:7.21.0"],\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-hoist-variables", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-hoist-variables-npm-7.18.6-6eb061f405-fd9c35bb43.zip/node_modules/@babel/helper-hoist-variables/",\ + "packageDependencies": [\ + ["@babel/helper-hoist-variables", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-member-expression-to-functions", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-helper-member-expression-to-functions-npm-7.18.9-3d2128582a-fcf8184e3b.zip/node_modules/@babel/helper-member-expression-to-functions/",\ + "packageDependencies": [\ + ["@babel/helper-member-expression-to-functions", "npm:7.18.9"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-imports", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-module-imports-npm-7.18.6-1031faa864-f393f8a3b3.zip/node_modules/@babel/helper-module-imports/",\ + "packageDependencies": [\ + ["@babel/helper-module-imports", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-module-transforms", [\ + ["npm:7.21.2", {\ + "packageLocation": "./.yarn/cache/@babel-helper-module-transforms-npm-7.21.2-c33f2d2d0e-8a1c129a4f.zip/node_modules/@babel/helper-module-transforms/",\ + "packageDependencies": [\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-module-imports", "npm:7.18.6"],\ + ["@babel/helper-simple-access", "npm:7.20.2"],\ + ["@babel/helper-split-export-declaration", "npm:7.18.6"],\ + ["@babel/helper-validator-identifier", "npm:7.19.1"],\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-optimise-call-expression", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-optimise-call-expression-npm-7.18.6-65705387c4-e518fe8418.zip/node_modules/@babel/helper-optimise-call-expression/",\ + "packageDependencies": [\ + ["@babel/helper-optimise-call-expression", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-plugin-utils", [\ + ["npm:7.10.4", {\ + "packageLocation": "./.yarn/cache/@babel-helper-plugin-utils-npm-7.10.4-af87df4f11-639ed8fc46.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.10.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-helper-plugin-utils-npm-7.19.0-744ad0c26b-eedc996c63.zip/node_modules/@babel/helper-plugin-utils/",\ + "packageDependencies": [\ + ["@babel/helper-plugin-utils", "npm:7.19.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-remap-async-to-generator", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-helper-remap-async-to-generator-npm-7.18.9-c29d128186-4be6076192.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:45ddd9ce25a11cf139edde9022104aacea0744a6821b7d6e5cc2d9476a32a1bd518dcbd431418daa2c3eb6281c5163b6333093ca52ab25337b99d4f4576e7f4a#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-helper-remap-async-to-generator-virtual-0f5e214256/0/cache/@babel-helper-remap-async-to-generator-npm-7.18.9-c29d128186-4be6076192.zip/node_modules/@babel/helper-remap-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/helper-remap-async-to-generator", "virtual:45ddd9ce25a11cf139edde9022104aacea0744a6821b7d6e5cc2d9476a32a1bd518dcbd431418daa2c3eb6281c5163b6333093ca52ab25337b99d4f4576e7f4a#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-wrap-function", "npm:7.19.0"],\ + ["@babel/types", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-replace-supers", [\ + ["npm:7.19.1", {\ + "packageLocation": "./.yarn/cache/@babel-helper-replace-supers-npm-7.19.1-669aa2ecc7-a0e4bf79eb.zip/node_modules/@babel/helper-replace-supers/",\ + "packageDependencies": [\ + ["@babel/helper-replace-supers", "npm:7.19.1"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-member-expression-to-functions", "npm:7.18.9"],\ + ["@babel/helper-optimise-call-expression", "npm:7.18.6"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-simple-access", [\ + ["npm:7.20.2", {\ + "packageLocation": "./.yarn/cache/@babel-helper-simple-access-npm-7.20.2-842ec98fbb-ad1e96ee2e.zip/node_modules/@babel/helper-simple-access/",\ + "packageDependencies": [\ + ["@babel/helper-simple-access", "npm:7.20.2"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-skip-transparent-expression-wrappers", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-helper-skip-transparent-expression-wrappers-npm-7.18.9-25945bbc6b-6e93ccd102.zip/node_modules/@babel/helper-skip-transparent-expression-wrappers/",\ + "packageDependencies": [\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.18.9"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-split-export-declaration", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-split-export-declaration-npm-7.18.6-53ebf8ad4c-c6d3dede53.zip/node_modules/@babel/helper-split-export-declaration/",\ + "packageDependencies": [\ + ["@babel/helper-split-export-declaration", "npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-string-parser", [\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-helper-string-parser-npm-7.19.4-0db110dc3a-b2f8a3920b.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.19.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.22.5", {\ + "packageLocation": "./.yarn/cache/@babel-helper-string-parser-npm-7.22.5-448ff0e489-836851ca5e.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.22.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-identifier", [\ + ["npm:7.19.1", {\ + "packageLocation": "./.yarn/cache/@babel-helper-validator-identifier-npm-7.19.1-d84f19e1dc-0eca5e86a7.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.19.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.22.20", {\ + "packageLocation": "./.yarn/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-136412784d.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.22.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-option", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-helper-validator-option-npm-7.18.6-cc7d1a3315-f9cc6eb7cc.zip/node_modules/@babel/helper-validator-option/",\ + "packageDependencies": [\ + ["@babel/helper-validator-option", "npm:7.18.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-wrap-function", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-helper-wrap-function-npm-7.19.0-0db6124801-2453a6b134.zip/node_modules/@babel/helper-wrap-function/",\ + "packageDependencies": [\ + ["@babel/helper-wrap-function", "npm:7.19.0"],\ + ["@babel/helper-function-name", "npm:7.21.0"],\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helpers", [\ + ["npm:7.21.0", {\ + "packageLocation": "./.yarn/cache/@babel-helpers-npm-7.21.0-083aef3af1-9370dad2bb.zip/node_modules/@babel/helpers/",\ + "packageDependencies": [\ + ["@babel/helpers", "npm:7.21.0"],\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/highlight", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-highlight-npm-7.18.6-9d35ad2e27-92d8ee6154.zip/node_modules/@babel/highlight/",\ + "packageDependencies": [\ + ["@babel/highlight", "npm:7.18.6"],\ + ["@babel/helper-validator-identifier", "npm:7.19.1"],\ + ["chalk", "npm:2.4.2"],\ + ["js-tokens", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/parser", [\ + ["npm:7.21.3", {\ + "packageLocation": "./.yarn/cache/@babel-parser-npm-7.21.3-0ad17a2817-a71e6456a1.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/types", "npm:7.23.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.18.6-f7c2554216-845bd280c5.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-43ebc4c3ae/0/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.18.6-f7c2554216-845bd280c5.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-virtual-3ff3ce9124/0/cache/@babel-plugin-bugfix-safari-id-destructuring-collision-in-function-expression-npm-7.18.6-f7c2554216-845bd280c5.zip/node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:7.18.6"],\ + ["@babel/core", null],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.18.9-4ab877f7f6-93abb5cb17.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-virtual-c1ec6f4a8b/0/cache/@babel-plugin-bugfix-v8-spread-parameters-in-optional-chaining-npm-7.18.9-4ab877f7f6-93abb5cb17.zip/node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.18.9"],\ + ["@babel/plugin-proposal-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-async-generator-functions", [\ + ["npm:7.19.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-async-generator-functions-npm-7.19.1-ec555c8b68-f101555b00.zip/node_modules/@babel/plugin-proposal-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-async-generator-functions", "npm:7.19.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-async-generator-functions-virtual-45ddd9ce25/0/cache/@babel-plugin-proposal-async-generator-functions-npm-7.19.1-ec555c8b68-f101555b00.zip/node_modules/@babel/plugin-proposal-async-generator-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-async-generator-functions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.1"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-remap-async-to-generator", "virtual:45ddd9ce25a11cf139edde9022104aacea0744a6821b7d6e5cc2d9476a32a1bd518dcbd431418daa2c3eb6281c5163b6333093ca52ab25337b99d4f4576e7f4a#npm:7.18.9"],\ + ["@babel/plugin-syntax-async-generators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-class-properties", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-class-properties-npm-7.18.6-5f5c2d730f-49a78a2773.zip/node_modules/@babel/plugin-proposal-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-class-properties", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-class-properties-virtual-bdaff04f86/0/cache/@babel-plugin-proposal-class-properties-npm-7.18.6-5f5c2d730f-49a78a2773.zip/node_modules/@babel/plugin-proposal-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-class-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-class-features-plugin", "virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-class-static-block", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-class-static-block-npm-7.18.6-abe0aa00be-b8d7ae99ed.zip/node_modules/@babel/plugin-proposal-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-class-static-block", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-class-static-block-virtual-95ef09cf8c/0/cache/@babel-plugin-proposal-class-static-block-npm-7.18.6-abe0aa00be-b8d7ae99ed.zip/node_modules/@babel/plugin-proposal-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-class-static-block", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-class-features-plugin", "virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-dynamic-import", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-dynamic-import-npm-7.18.6-73822d1a00-96b1c8a8ad.zip/node_modules/@babel/plugin-proposal-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-dynamic-import", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-dynamic-import-virtual-eed65a7818/0/cache/@babel-plugin-proposal-dynamic-import-npm-7.18.6-73822d1a00-96b1c8a8ad.zip/node_modules/@babel/plugin-proposal-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-export-namespace-from", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-export-namespace-from-npm-7.18.9-6093116864-84ff22bacc.zip/node_modules/@babel/plugin-proposal-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-export-namespace-from", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-export-namespace-from-virtual-fa4b684c1e/0/cache/@babel-plugin-proposal-export-namespace-from-npm-7.18.9-6093116864-84ff22bacc.zip/node_modules/@babel/plugin-proposal-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-export-namespace-from", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-export-namespace-from", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-json-strings", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-json-strings-npm-7.18.6-af58bc33f9-25ba0e6b9d.zip/node_modules/@babel/plugin-proposal-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-json-strings", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-json-strings-virtual-6c0d0d7936/0/cache/@babel-plugin-proposal-json-strings-npm-7.18.6-af58bc33f9-25ba0e6b9d.zip/node_modules/@babel/plugin-proposal-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-json-strings", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-json-strings", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-logical-assignment-operators", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-logical-assignment-operators-npm-7.18.9-53329219f5-dd87fa4a48.zip/node_modules/@babel/plugin-proposal-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-logical-assignment-operators", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-logical-assignment-operators-virtual-dc5d1a984e/0/cache/@babel-plugin-proposal-logical-assignment-operators-npm-7.18.9-53329219f5-dd87fa4a48.zip/node_modules/@babel/plugin-proposal-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-logical-assignment-operators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-nullish-coalescing-operator", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-nullish-coalescing-operator-npm-7.18.6-cf22ea8526-949c9ddcde.zip/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-nullish-coalescing-operator", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-nullish-coalescing-operator-virtual-1c17a7e30c/0/cache/@babel-plugin-proposal-nullish-coalescing-operator-npm-7.18.6-cf22ea8526-949c9ddcde.zip/node_modules/@babel/plugin-proposal-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-nullish-coalescing-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-numeric-separator", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-numeric-separator-npm-7.18.6-cfcd55888a-f370ea584c.zip/node_modules/@babel/plugin-proposal-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-numeric-separator", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-numeric-separator-virtual-3ec88f4677/0/cache/@babel-plugin-proposal-numeric-separator-npm-7.18.6-cfcd55888a-f370ea584c.zip/node_modules/@babel/plugin-proposal-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-numeric-separator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-object-rest-spread", [\ + ["npm:7.12.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-object-rest-spread-npm-7.12.1-23ec83a49a-221a41630c.zip/node_modules/@babel/plugin-proposal-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-object-rest-spread", "npm:7.12.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-object-rest-spread-npm-7.19.4-68e455a9f2-90a2a59da3.zip/node_modules/@babel/plugin-proposal-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-object-rest-spread", "npm:7.19.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-object-rest-spread-virtual-f6ad346c03/0/cache/@babel-plugin-proposal-object-rest-spread-npm-7.12.1-23ec83a49a-221a41630c.zip/node_modules/@babel/plugin-proposal-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-object-rest-spread", "virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.8.3"],\ + ["@babel/plugin-transform-parameters", "virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.18.8"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-object-rest-spread-virtual-93d3827eb2/0/cache/@babel-plugin-proposal-object-rest-spread-npm-7.19.4-68e455a9f2-90a2a59da3.zip/node_modules/@babel/plugin-proposal-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-object-rest-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4"],\ + ["@babel/compat-data", "npm:7.21.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-transform-parameters", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-optional-catch-binding", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-optional-catch-binding-npm-7.18.6-a4235a25be-7b5b39fb5d.zip/node_modules/@babel/plugin-proposal-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-optional-catch-binding", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-optional-catch-binding-virtual-af5335729d/0/cache/@babel-plugin-proposal-optional-catch-binding-npm-7.18.6-a4235a25be-7b5b39fb5d.zip/node_modules/@babel/plugin-proposal-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-optional-catch-binding", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-optional-chaining", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-optional-chaining-npm-7.18.9-f7302c42f9-f2db40e261.zip/node_modules/@babel/plugin-proposal-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-optional-chaining", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-optional-chaining-virtual-18bed7daa8/0/cache/@babel-plugin-proposal-optional-chaining-npm-7.18.9-f7302c42f9-f2db40e261.zip/node_modules/@babel/plugin-proposal-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.18.9"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-private-methods", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-private-methods-npm-7.18.6-55729207b7-22d8502ee9.zip/node_modules/@babel/plugin-proposal-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-methods", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-methods-virtual-635954612b/0/cache/@babel-plugin-proposal-private-methods-npm-7.18.6-55729207b7-22d8502ee9.zip/node_modules/@babel/plugin-proposal-private-methods/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-methods", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-class-features-plugin", "virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-private-property-in-object", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-private-property-in-object-npm-7.18.6-755223e615-c8e56a9729.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-property-in-object", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-private-property-in-object-virtual-af44d9cb04/0/cache/@babel-plugin-proposal-private-property-in-object-npm-7.18.6-755223e615-c8e56a9729.zip/node_modules/@babel/plugin-proposal-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/helper-create-class-features-plugin", "virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-proposal-unicode-property-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-proposal-unicode-property-regex-npm-7.18.6-3a6294aa39-a8575ecb7f.zip/node_modules/@babel/plugin-proposal-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-unicode-property-regex", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-proposal-unicode-property-regex-virtual-eee5846be6/0/cache/@babel-plugin-proposal-unicode-property-regex-npm-7.18.6-3a6294aa39-a8575ecb7f.zip/node_modules/@babel/plugin-proposal-unicode-property-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-proposal-unicode-property-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:eee5846be600a4df47c87c8b8aa16e1cdabdffe580b1c7bcc3bc32f294d09da9164d4657d972aa269947575370890321d5083a8cb5d5053c155008f173768f35#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-async-generators", [\ + ["npm:7.8.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "npm:7.8.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-async-generators-virtual-fd29a0ee29/0/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-7ed1c1d9b9.zip/node_modules/@babel/plugin-syntax-async-generators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-async-generators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.4"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-class-properties", [\ + ["npm:7.12.13", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "npm:7.12.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.12.13", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-properties-virtual-f4122578c8/0/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-24f34b196d.zip/node_modules/@babel/plugin-syntax-class-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.12.13"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-class-static-block", [\ + ["npm:7.14.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-class-static-block-virtual-2d378e1322/0/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-3e80814b5b.zip/node_modules/@babel/plugin-syntax-class-static-block/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-class-static-block", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-dynamic-import", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip/node_modules/@babel/plugin-syntax-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-dynamic-import", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-dynamic-import-virtual-f3e770aa43/0/cache/@babel-plugin-syntax-dynamic-import-npm-7.8.3-fb9ff5634a-ce307af83c.zip/node_modules/@babel/plugin-syntax-dynamic-import/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-export-namespace-from", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip/node_modules/@babel/plugin-syntax-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-export-namespace-from", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-export-namespace-from-virtual-c0a2cd57b5/0/cache/@babel-plugin-syntax-export-namespace-from-npm-7.8.3-1747201aa9-85740478be.zip/node_modules/@babel/plugin-syntax-export-namespace-from/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-export-namespace-from", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-import-assertions", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-import-assertions-npm-7.18.6-b2578fc1d0-54918a0537.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-import-assertions-virtual-af1eb6cd1c/0/cache/@babel-plugin-syntax-import-assertions-npm-7.18.6-b2578fc1d0-54918a0537.zip/node_modules/@babel/plugin-syntax-import-assertions/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-import-assertions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-json-strings", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-json-strings-virtual-19656e6aea/0/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-bf5aea1f31.zip/node_modules/@babel/plugin-syntax-json-strings/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-json-strings", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-jsx", [\ + ["npm:7.12.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-jsx-npm-7.12.1-fec38141bc-d4b9b589c4.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.12.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-jsx-npm-7.18.6-3e378d5f11-6d37ea9729.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-631d98627e/0/cache/@babel-plugin-syntax-jsx-npm-7.12.1-fec38141bc-d4b9b589c4.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:a5fe3ec5303ab7ee9c13275971c08e23f93e5315d74d2797f99f7b093a650c2cffff394cd6c314a90b51bb29e96b8303caa1699acb5d4455b1b0e3e0a7fc4bb2#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-jsx-virtual-10172787bc/0/cache/@babel-plugin-syntax-jsx-npm-7.18.6-3e378d5f11-6d37ea9729.zip/node_modules/@babel/plugin-syntax-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-jsx", "virtual:a5fe3ec5303ab7ee9c13275971c08e23f93e5315d74d2797f99f7b093a650c2cffff394cd6c314a90b51bb29e96b8303caa1699acb5d4455b1b0e3e0a7fc4bb2#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-logical-assignment-operators", [\ + ["npm:7.10.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-logical-assignment-operators-virtual-ff7e036cd8/0/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-aff3357703.zip/node_modules/@babel/plugin-syntax-logical-assignment-operators/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-nullish-coalescing-operator-virtual-e4fb45dd67/0/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-87aca49189.zip/node_modules/@babel/plugin-syntax-nullish-coalescing-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-numeric-separator", [\ + ["npm:7.10.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "npm:7.10.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-numeric-separator-virtual-ad980252a5/0/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-01ec5547bd.zip/node_modules/@babel/plugin-syntax-numeric-separator/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-numeric-separator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-object-rest-spread", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-03e96e1dd7/0/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-object-rest-spread-virtual-7049db6edc/0/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-fddcf581a5.zip/node_modules/@babel/plugin-syntax-object-rest-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.8.3"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-optional-catch-binding", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-catch-binding-virtual-3a8dfa3e28/0/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-910d90e72b.zip/node_modules/@babel/plugin-syntax-optional-catch-binding/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-optional-chaining", [\ + ["npm:7.8.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "npm:7.8.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-optional-chaining-virtual-d255729c86/0/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-eef94d53a1.zip/node_modules/@babel/plugin-syntax-optional-chaining/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-private-property-in-object", [\ + ["npm:7.14.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-private-property-in-object-virtual-75a5a98199/0/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-b317174783.zip/node_modules/@babel/plugin-syntax-private-property-in-object/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-top-level-await", [\ + ["npm:7.14.5", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "npm:7.14.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-top-level-await-virtual-126cd0ab4b/0/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-bbd1a56b09.zip/node_modules/@babel/plugin-syntax-top-level-await/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-top-level-await", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-syntax-typescript", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-syntax-typescript-npm-7.18.6-4ad9dd7d2a-2cde73725e.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:530c7ac73b0bdf5d7a50bc3fd9d052453c72b1a7e6a0faf50195e04c79c4a04045d194c5aecb0b18198cb20b9699a608524a7c5992b1de344e46b8446f861f72#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-syntax-typescript-virtual-c8f60d8066/0/cache/@babel-plugin-syntax-typescript-npm-7.18.6-4ad9dd7d2a-2cde73725e.zip/node_modules/@babel/plugin-syntax-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-syntax-typescript", "virtual:530c7ac73b0bdf5d7a50bc3fd9d052453c72b1a7e6a0faf50195e04c79c4a04045d194c5aecb0b18198cb20b9699a608524a7c5992b1de344e46b8446f861f72#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-arrow-functions", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-arrow-functions-npm-7.18.6-ffcfe88ab6-900f5c6957.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-arrow-functions", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-arrow-functions-virtual-43013de962/0/cache/@babel-plugin-transform-arrow-functions-npm-7.18.6-ffcfe88ab6-900f5c6957.zip/node_modules/@babel/plugin-transform-arrow-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-arrow-functions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-async-to-generator", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-async-to-generator-npm-7.18.6-17dc8a459f-c2cca47468.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-async-to-generator-virtual-2c336cbc99/0/cache/@babel-plugin-transform-async-to-generator-npm-7.18.6-17dc8a459f-c2cca47468.zip/node_modules/@babel/plugin-transform-async-to-generator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-async-to-generator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-module-imports", "npm:7.18.6"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-remap-async-to-generator", "virtual:45ddd9ce25a11cf139edde9022104aacea0744a6821b7d6e5cc2d9476a32a1bd518dcbd431418daa2c3eb6281c5163b6333093ca52ab25337b99d4f4576e7f4a#npm:7.18.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoped-functions", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-block-scoped-functions-npm-7.18.6-34b3375353-0a0df61f94.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoped-functions-virtual-370d74344f/0/cache/@babel-plugin-transform-block-scoped-functions-npm-7.18.6-34b3375353-0a0df61f94.zip/node_modules/@babel/plugin-transform-block-scoped-functions/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-block-scoping", [\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-block-scoping-npm-7.19.4-6a21a584c0-86353ccbb5.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "npm:7.19.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-block-scoping-virtual-8c80c3c547/0/cache/@babel-plugin-transform-block-scoping-npm-7.19.4-6a21a584c0-86353ccbb5.zip/node_modules/@babel/plugin-transform-block-scoping/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-block-scoping", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-classes", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-classes-npm-7.19.0-6768e825ce-5500953031.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "npm:7.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-classes-virtual-87d956a95a/0/cache/@babel-plugin-transform-classes-npm-7.19.0-6768e825ce-5500953031.zip/node_modules/@babel/plugin-transform-classes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-classes", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-function-name", "npm:7.21.0"],\ + ["@babel/helper-optimise-call-expression", "npm:7.18.6"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-replace-supers", "npm:7.19.1"],\ + ["@babel/helper-split-export-declaration", "npm:7.18.6"],\ + ["@types/babel__core", null],\ + ["globals", "npm:11.12.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-computed-properties", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-computed-properties-npm-7.18.9-bc774f46b8-a6bfbea207.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-computed-properties-virtual-31559fd5ee/0/cache/@babel-plugin-transform-computed-properties-npm-7.18.9-bc774f46b8-a6bfbea207.zip/node_modules/@babel/plugin-transform-computed-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-computed-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-destructuring", [\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-destructuring-npm-7.19.4-bfbd7d9430-0ca40f6abf.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "npm:7.19.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-destructuring-virtual-9c6db501e7/0/cache/@babel-plugin-transform-destructuring-npm-7.19.4-bfbd7d9430-0ca40f6abf.zip/node_modules/@babel/plugin-transform-destructuring/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-destructuring", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-dotall-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-dotall-regex-npm-7.18.6-6cf8766a0f-cbe5d7063e.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-dotall-regex-virtual-9203ecd7d6/0/cache/@babel-plugin-transform-dotall-regex-npm-7.18.6-6cf8766a0f-cbe5d7063e.zip/node_modules/@babel/plugin-transform-dotall-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-dotall-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:eee5846be600a4df47c87c8b8aa16e1cdabdffe580b1c7bcc3bc32f294d09da9164d4657d972aa269947575370890321d5083a8cb5d5053c155008f173768f35#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-duplicate-keys", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-duplicate-keys-npm-7.18.9-5c77fd31ac-220bf4a9fe.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-keys", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-duplicate-keys-virtual-e90f824edb/0/cache/@babel-plugin-transform-duplicate-keys-npm-7.18.9-5c77fd31ac-220bf4a9fe.zip/node_modules/@babel/plugin-transform-duplicate-keys/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-duplicate-keys", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-exponentiation-operator", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-exponentiation-operator-npm-7.18.6-2c202b4eb5-7f70222f68.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-exponentiation-operator-virtual-b590604855/0/cache/@babel-plugin-transform-exponentiation-operator-npm-7.18.6-2c202b4eb5-7f70222f68.zip/node_modules/@babel/plugin-transform-exponentiation-operator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-builder-binary-assignment-operator-visitor", "npm:7.18.9"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-for-of", [\ + ["npm:7.18.8", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-for-of-npm-7.18.8-ae76b5daf1-ca64c623cf.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-for-of", "npm:7.18.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-for-of-virtual-8d4c7da64e/0/cache/@babel-plugin-transform-for-of-npm-7.18.8-ae76b5daf1-ca64c623cf.zip/node_modules/@babel/plugin-transform-for-of/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-for-of", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-function-name", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-function-name-npm-7.18.9-4e425dceeb-62dd9c6cdc.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-function-name", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-function-name-virtual-f6de93c1e8/0/cache/@babel-plugin-transform-function-name-npm-7.18.9-4e425dceeb-62dd9c6cdc.zip/node_modules/@babel/plugin-transform-function-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-function-name", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/helper-function-name", "npm:7.21.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-literals", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-literals-npm-7.18.9-d87aa5e6d7-3458dd2f1a.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-literals", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-literals-virtual-d950b88f93/0/cache/@babel-plugin-transform-literals-npm-7.18.9-d87aa5e6d7-3458dd2f1a.zip/node_modules/@babel/plugin-transform-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-member-expression-literals", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-member-expression-literals-npm-7.18.6-a4d6fae7df-35a3d04f66.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-member-expression-literals-virtual-5c541513a6/0/cache/@babel-plugin-transform-member-expression-literals-npm-7.18.6-a4d6fae7df-35a3d04f66.zip/node_modules/@babel/plugin-transform-member-expression-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-member-expression-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-amd", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-amd-npm-7.18.6-bb510ab5c3-f60c4c4e0e.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-amd", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-amd-virtual-f99512f2bc/0/cache/@babel-plugin-transform-modules-amd-npm-7.18.6-bb510ab5c3-f60c4c4e0e.zip/node_modules/@babel/plugin-transform-modules-amd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-amd", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null],\ + ["babel-plugin-dynamic-import-node", "npm:2.3.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-commonjs", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-commonjs-npm-7.18.6-1e83be3fa4-7e356e3df8.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-commonjs-virtual-411b0a9e64/0/cache/@babel-plugin-transform-modules-commonjs-npm-7.18.6-1e83be3fa4-7e356e3df8.zip/node_modules/@babel/plugin-transform-modules-commonjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-commonjs", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-simple-access", "npm:7.20.2"],\ + ["@types/babel__core", null],\ + ["babel-plugin-dynamic-import-node", "npm:2.3.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-systemjs", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-systemjs-npm-7.19.0-60b11d2425-a0742deee4.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "npm:7.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-systemjs-virtual-964cfbdda3/0/cache/@babel-plugin-transform-modules-systemjs-npm-7.19.0-60b11d2425-a0742deee4.zip/node_modules/@babel/plugin-transform-modules-systemjs/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-systemjs", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-hoist-variables", "npm:7.18.6"],\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-validator-identifier", "npm:7.19.1"],\ + ["@types/babel__core", null],\ + ["babel-plugin-dynamic-import-node", "npm:2.3.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-modules-umd", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-modules-umd-npm-7.18.6-d649b47a80-c3b6796c6f.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-umd", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-modules-umd-virtual-aa90effccd/0/cache/@babel-plugin-transform-modules-umd-npm-7.18.6-d649b47a80-c3b6796c6f.zip/node_modules/@babel/plugin-transform-modules-umd/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-modules-umd", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-module-transforms", "npm:7.21.2"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-named-capturing-groups-regex", [\ + ["npm:7.19.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.19.1-6822ddb28e-8a40f5d04f.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "npm:7.19.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-named-capturing-groups-regex-virtual-22d9f92537/0/cache/@babel-plugin-transform-named-capturing-groups-regex-npm-7.19.1-6822ddb28e-8a40f5d04f.zip/node_modules/@babel/plugin-transform-named-capturing-groups-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.1"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:eee5846be600a4df47c87c8b8aa16e1cdabdffe580b1c7bcc3bc32f294d09da9164d4657d972aa269947575370890321d5083a8cb5d5053c155008f173768f35#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-new-target", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-new-target-npm-7.18.6-1067ae195f-bd780e14f4.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-new-target", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-new-target-virtual-654dba8398/0/cache/@babel-plugin-transform-new-target-npm-7.18.6-1067ae195f-bd780e14f4.zip/node_modules/@babel/plugin-transform-new-target/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-new-target", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-object-super", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-object-super-npm-7.18.6-d30d73d9fb-0fcb04e15d.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-object-super-virtual-2c1624d58c/0/cache/@babel-plugin-transform-object-super-npm-7.18.6-d30d73d9fb-0fcb04e15d.zip/node_modules/@babel/plugin-transform-object-super/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-object-super", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-replace-supers", "npm:7.19.1"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-parameters", [\ + ["npm:7.18.8", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-parameters-npm-7.18.8-4c778bfd7e-2b5863300d.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "npm:7.18.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-317be49bb0/0/cache/@babel-plugin-transform-parameters-npm-7.18.8-4c778bfd7e-2b5863300d.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.18.8", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-parameters-virtual-050e25ee48/0/cache/@babel-plugin-transform-parameters-npm-7.18.8-4c778bfd7e-2b5863300d.zip/node_modules/@babel/plugin-transform-parameters/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-parameters", "virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.18.8"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-property-literals", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-property-literals-npm-7.18.6-e5f7030fd5-1c16e64de5.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-property-literals-virtual-16c508c935/0/cache/@babel-plugin-transform-property-literals-npm-7.18.6-e5f7030fd5-1c16e64de5.zip/node_modules/@babel/plugin-transform-property-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-property-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-react-constant-elements", [\ + ["npm:7.18.12", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-constant-elements-npm-7.18.12-c89dcdf4ad-d83fbc65e8.zip/node_modules/@babel/plugin-transform-react-constant-elements/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-constant-elements", "npm:7.18.12"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.12", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-constant-elements-virtual-7387bf89dd/0/cache/@babel-plugin-transform-react-constant-elements-npm-7.18.12-c89dcdf4ad-d83fbc65e8.zip/node_modules/@babel/plugin-transform-react-constant-elements/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-constant-elements", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.12"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-react-display-name", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-display-name-npm-7.18.6-dad446a24b-51c087ab9e.zip/node_modules/@babel/plugin-transform-react-display-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-display-name", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-display-name-virtual-a7f1eba372/0/cache/@babel-plugin-transform-react-display-name-npm-7.18.6-dad446a24b-51c087ab9e.zip/node_modules/@babel/plugin-transform-react-display-name/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-display-name", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-react-jsx", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-jsx-npm-7.19.0-a26bc7e3f9-d7d6f0b8f2.zip/node_modules/@babel/plugin-transform-react-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-jsx", "npm:7.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.19.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-jsx-virtual-a5fe3ec530/0/cache/@babel-plugin-transform-react-jsx-npm-7.19.0-a26bc7e3f9-d7d6f0b8f2.zip/node_modules/@babel/plugin-transform-react-jsx/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-jsx", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.19.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/helper-module-imports", "npm:7.18.6"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-jsx", "virtual:a5fe3ec5303ab7ee9c13275971c08e23f93e5315d74d2797f99f7b093a650c2cffff394cd6c314a90b51bb29e96b8303caa1699acb5d4455b1b0e3e0a7fc4bb2#npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-react-jsx-development", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-jsx-development-npm-7.18.6-1b4b00c77d-ec9fa65db6.zip/node_modules/@babel/plugin-transform-react-jsx-development/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-jsx-development", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-jsx-development-virtual-0b77d1a71d/0/cache/@babel-plugin-transform-react-jsx-development-npm-7.18.6-1b4b00c77d-ec9fa65db6.zip/node_modules/@babel/plugin-transform-react-jsx-development/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-jsx-development", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/plugin-transform-react-jsx", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-react-pure-annotations", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-react-pure-annotations-npm-7.18.6-ed47d931a2-97c4873d40.zip/node_modules/@babel/plugin-transform-react-pure-annotations/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-pure-annotations", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-react-pure-annotations-virtual-c27e3602e8/0/cache/@babel-plugin-transform-react-pure-annotations-npm-7.18.6-ed47d931a2-97c4873d40.zip/node_modules/@babel/plugin-transform-react-pure-annotations/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-react-pure-annotations", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-annotate-as-pure", "npm:7.18.6"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-regenerator", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-regenerator-npm-7.18.6-176f080664-60bd482cb0.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-regenerator-virtual-4ecff9b090/0/cache/@babel-plugin-transform-regenerator-npm-7.18.6-176f080664-60bd482cb0.zip/node_modules/@babel/plugin-transform-regenerator/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-regenerator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null],\ + ["regenerator-transform", "npm:0.15.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-reserved-words", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-reserved-words-npm-7.18.6-9136c5120e-0738cdc30a.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-reserved-words", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-reserved-words-virtual-3fad5ad473/0/cache/@babel-plugin-transform-reserved-words-npm-7.18.6-9136c5120e-0738cdc30a.zip/node_modules/@babel/plugin-transform-reserved-words/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-reserved-words", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-runtime", [\ + ["npm:7.19.1", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-runtime-npm-7.19.1-ff83462bc6-d9f693003a.zip/node_modules/@babel/plugin-transform-runtime/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-runtime", "npm:7.19.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.19.1", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-runtime-virtual-752420d0fa/0/cache/@babel-plugin-transform-runtime-npm-7.19.1-ff83462bc6-d9f693003a.zip/node_modules/@babel/plugin-transform-runtime/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-runtime", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.19.1"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-module-imports", "npm:7.18.6"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.3.3"],\ + ["babel-plugin-polyfill-corejs3", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.6.0"],\ + ["babel-plugin-polyfill-regenerator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.4.1"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-shorthand-properties", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-shorthand-properties-npm-7.18.6-ceff6bef39-b8e4e8acc2.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-shorthand-properties-virtual-f8c58a0ce5/0/cache/@babel-plugin-transform-shorthand-properties-npm-7.18.6-ceff6bef39-b8e4e8acc2.zip/node_modules/@babel/plugin-transform-shorthand-properties/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-shorthand-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-spread", [\ + ["npm:7.19.0", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-spread-npm-7.19.0-ab4a212eb3-e73a4deb09.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "npm:7.19.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-spread-virtual-e92dd732d7/0/cache/@babel-plugin-transform-spread-npm-7.19.0-ab4a212eb3-e73a4deb09.zip/node_modules/@babel/plugin-transform-spread/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-skip-transparent-expression-wrappers", "npm:7.18.9"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-sticky-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-sticky-regex-npm-7.18.6-a75414f831-68ea18884a.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-sticky-regex-virtual-d1b5a02a5b/0/cache/@babel-plugin-transform-sticky-regex-npm-7.18.6-a75414f831-68ea18884a.zip/node_modules/@babel/plugin-transform-sticky-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-sticky-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-template-literals", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-template-literals-npm-7.18.9-787bf6a528-3d2fcd79b7.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-template-literals-virtual-fd78876e56/0/cache/@babel-plugin-transform-template-literals-npm-7.18.9-787bf6a528-3d2fcd79b7.zip/node_modules/@babel/plugin-transform-template-literals/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-template-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typeof-symbol", [\ + ["npm:7.18.9", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-typeof-symbol-npm-7.18.9-0775d325d9-e754e0d8b8.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "npm:7.18.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typeof-symbol-virtual-717ce36936/0/cache/@babel-plugin-transform-typeof-symbol-npm-7.18.9-0775d325d9-e754e0d8b8.zip/node_modules/@babel/plugin-transform-typeof-symbol/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typeof-symbol", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-typescript", [\ + ["npm:7.19.3", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-typescript-npm-7.19.3-f9b18d40fd-094c8c4ad0.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "npm:7.19.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:251d2dbc48734434bac64d51a4a9a3642dc19797647cbbd66dabbedbc72fbd549584204d6805ecbb631659d55fdbf48ddb51e4ca3fd7d7775c28f33ab4ba63a8#npm:7.19.3", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-typescript-virtual-530c7ac73b/0/cache/@babel-plugin-transform-typescript-npm-7.19.3-f9b18d40fd-094c8c4ad0.zip/node_modules/@babel/plugin-transform-typescript/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-typescript", "virtual:251d2dbc48734434bac64d51a4a9a3642dc19797647cbbd66dabbedbc72fbd549584204d6805ecbb631659d55fdbf48ddb51e4ca3fd7d7775c28f33ab4ba63a8#npm:7.19.3"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-class-features-plugin", "virtual:bdaff04f866abe993b609627b165dfc4c980fc999f74028b344f4e5c4b2154ebd9d475ca5564f0e7d28cdc13883abd1e73563117edb7cec2dc284a50b85075d5#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-syntax-typescript", "virtual:530c7ac73b0bdf5d7a50bc3fd9d052453c72b1a7e6a0faf50195e04c79c4a04045d194c5aecb0b18198cb20b9699a608524a7c5992b1de344e46b8446f861f72#npm:7.18.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-escapes", [\ + ["npm:7.18.10", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-escapes-npm-7.18.10-83a00fbee1-f5baca55cb.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "npm:7.18.10"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.10", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-escapes-virtual-760315a0bc/0/cache/@babel-plugin-transform-unicode-escapes-npm-7.18.10-83a00fbee1-f5baca55cb.zip/node_modules/@babel/plugin-transform-unicode-escapes/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-escapes", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.10"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/plugin-transform-unicode-regex", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-plugin-transform-unicode-regex-npm-7.18.6-0f8a7395d6-d9e18d5753.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-plugin-transform-unicode-regex-virtual-3428be9560/0/cache/@babel-plugin-transform-unicode-regex-npm-7.18.6-0f8a7395d6-d9e18d5753.zip/node_modules/@babel/plugin-transform-unicode-regex/",\ + "packageDependencies": [\ + ["@babel/plugin-transform-unicode-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-create-regexp-features-plugin", "virtual:eee5846be600a4df47c87c8b8aa16e1cdabdffe580b1c7bcc3bc32f294d09da9164d4657d972aa269947575370890321d5083a8cb5d5053c155008f173768f35#npm:7.19.0"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-env", [\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-preset-env-npm-7.19.4-b69b33437e-f12af25281.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "npm:7.19.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.19.4", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-env-virtual-abbede386b/0/cache/@babel-preset-env-npm-7.19.4-b69b33437e-f12af25281.zip/node_modules/@babel/preset-env/",\ + "packageDependencies": [\ + ["@babel/preset-env", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.19.4"],\ + ["@babel/compat-data", "npm:7.21.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-compilation-targets", "virtual:625d9d4efedd22fe51df765d7a98356cb874dc0109cf1f710dc9fdba7e7f6064c12982d14a5752dad4096aac65a6a2795fb26627fd984128ad51620715b3854e#npm:7.20.7"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-validator-option", "npm:7.18.6"],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-proposal-async-generator-functions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.1"],\ + ["@babel/plugin-proposal-class-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-class-static-block", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-export-namespace-from", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-proposal-json-strings", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-logical-assignment-operators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-proposal-nullish-coalescing-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-numeric-separator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-object-rest-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4"],\ + ["@babel/plugin-proposal-optional-catch-binding", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-proposal-private-methods", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-private-property-in-object", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-proposal-unicode-property-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-syntax-async-generators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.4"],\ + ["@babel/plugin-syntax-class-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.12.13"],\ + ["@babel/plugin-syntax-class-static-block", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-export-namespace-from", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-import-assertions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-syntax-json-strings", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-logical-assignment-operators", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4"],\ + ["@babel/plugin-syntax-nullish-coalescing-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-numeric-separator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.10.4"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-catch-binding", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-optional-chaining", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-syntax-private-property-in-object", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@babel/plugin-syntax-top-level-await", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.14.5"],\ + ["@babel/plugin-transform-arrow-functions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-async-to-generator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-block-scoped-functions", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-block-scoping", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4"],\ + ["@babel/plugin-transform-classes", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0"],\ + ["@babel/plugin-transform-computed-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-transform-destructuring", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.4"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-duplicate-keys", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-transform-exponentiation-operator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-for-of", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8"],\ + ["@babel/plugin-transform-function-name", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-transform-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-transform-member-expression-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-modules-amd", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-modules-commonjs", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-modules-systemjs", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0"],\ + ["@babel/plugin-transform-modules-umd", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-named-capturing-groups-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.1"],\ + ["@babel/plugin-transform-new-target", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-object-super", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-parameters", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.8"],\ + ["@babel/plugin-transform-property-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-regenerator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-reserved-words", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-shorthand-properties", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-spread", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.19.0"],\ + ["@babel/plugin-transform-sticky-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-template-literals", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-transform-typeof-symbol", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.9"],\ + ["@babel/plugin-transform-unicode-escapes", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.10"],\ + ["@babel/plugin-transform-unicode-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/preset-modules", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.1.5"],\ + ["@babel/types", "npm:7.21.3"],\ + ["@types/babel__core", null],\ + ["babel-plugin-polyfill-corejs2", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.3.3"],\ + ["babel-plugin-polyfill-corejs3", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.6.0"],\ + ["babel-plugin-polyfill-regenerator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.4.1"],\ + ["core-js-compat", "npm:3.25.5"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-modules", [\ + ["npm:0.1.5", {\ + "packageLocation": "./.yarn/cache/@babel-preset-modules-npm-0.1.5-15ffcd64c2-8430e0e9e9.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/preset-modules", "npm:0.1.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.1.5", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-modules-virtual-686f69f7be/0/cache/@babel-preset-modules-npm-0.1.5-15ffcd64c2-8430e0e9e9.zip/node_modules/@babel/preset-modules/",\ + "packageDependencies": [\ + ["@babel/preset-modules", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.1.5"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/plugin-proposal-unicode-property-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/plugin-transform-dotall-regex", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.18.6"],\ + ["@babel/types", "npm:7.21.3"],\ + ["@types/babel__core", null],\ + ["esutils", "npm:2.0.3"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-react", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-preset-react-npm-7.18.6-d1cea43c32-540d9cf0a0.zip/node_modules/@babel/preset-react/",\ + "packageDependencies": [\ + ["@babel/preset-react", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-react-virtual-27272fcb7e/0/cache/@babel-preset-react-npm-7.18.6-d1cea43c32-540d9cf0a0.zip/node_modules/@babel/preset-react/",\ + "packageDependencies": [\ + ["@babel/preset-react", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-validator-option", "npm:7.18.6"],\ + ["@babel/plugin-transform-react-display-name", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6"],\ + ["@babel/plugin-transform-react-jsx", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.19.0"],\ + ["@babel/plugin-transform-react-jsx-development", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6"],\ + ["@babel/plugin-transform-react-pure-annotations", "virtual:27272fcb7e8c03731df2aa884c1fe818706e60b5261a0923f09f9d622a016cd777ceb26cf8ef6d8ce7551c6af044d6999b164a9e53c4fc7816a13b900de263bb#npm:7.18.6"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/preset-typescript", [\ + ["npm:7.18.6", {\ + "packageLocation": "./.yarn/cache/@babel-preset-typescript-npm-7.18.6-8099191daa-7fe0da5103.zip/node_modules/@babel/preset-typescript/",\ + "packageDependencies": [\ + ["@babel/preset-typescript", "npm:7.18.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:7.18.6", {\ + "packageLocation": "./.yarn/__virtual__/@babel-preset-typescript-virtual-251d2dbc48/0/cache/@babel-preset-typescript-npm-7.18.6-8099191daa-7fe0da5103.zip/node_modules/@babel/preset-typescript/",\ + "packageDependencies": [\ + ["@babel/preset-typescript", "virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:7.18.6"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-plugin-utils", "npm:7.19.0"],\ + ["@babel/helper-validator-option", "npm:7.18.6"],\ + ["@babel/plugin-transform-typescript", "virtual:251d2dbc48734434bac64d51a4a9a3642dc19797647cbbd66dabbedbc72fbd549584204d6805ecbb631659d55fdbf48ddb51e4ca3fd7d7775c28f33ab4ba63a8#npm:7.19.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/runtime", [\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-runtime-npm-7.19.4-9f106cb4dd-66b7e3c13e.zip/node_modules/@babel/runtime/",\ + "packageDependencies": [\ + ["@babel/runtime", "npm:7.19.4"],\ + ["regenerator-runtime", "npm:0.13.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/runtime-corejs3", [\ + ["npm:7.19.4", {\ + "packageLocation": "./.yarn/cache/@babel-runtime-corejs3-npm-7.19.4-0547036932-3418534964.zip/node_modules/@babel/runtime-corejs3/",\ + "packageDependencies": [\ + ["@babel/runtime-corejs3", "npm:7.19.4"],\ + ["core-js-pure", "npm:3.25.5"],\ + ["regenerator-runtime", "npm:0.13.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/template", [\ + ["npm:7.20.7", {\ + "packageLocation": "./.yarn/cache/@babel-template-npm-7.20.7-c157fc5838-2eb1a0ab8d.zip/node_modules/@babel/template/",\ + "packageDependencies": [\ + ["@babel/template", "npm:7.20.7"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/traverse", [\ + ["npm:7.21.3", {\ + "packageLocation": "./.yarn/cache/@babel-traverse-npm-7.21.3-b3b3d9c94e-0af5bcd47a.zip/node_modules/@babel/traverse/",\ + "packageDependencies": [\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@babel/generator", "npm:7.21.3"],\ + ["@babel/helper-environment-visitor", "npm:7.18.9"],\ + ["@babel/helper-function-name", "npm:7.21.0"],\ + ["@babel/helper-hoist-variables", "npm:7.18.6"],\ + ["@babel/helper-split-export-declaration", "npm:7.18.6"],\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/types", "npm:7.21.3"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/types", [\ + ["npm:7.21.3", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.21.3-2a27aede05-b750274718.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.21.3"],\ + ["@babel/helper-string-parser", "npm:7.19.4"],\ + ["@babel/helper-validator-identifier", "npm:7.19.1"],\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.23.0", {\ + "packageLocation": "./.yarn/cache/@babel-types-npm-7.23.0-332fd21daf-215fe04bd7.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.23.0"],\ + ["@babel/helper-string-parser", "npm:7.22.5"],\ + ["@babel/helper-validator-identifier", "npm:7.22.20"],\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@colors/colors", [\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/@colors-colors-npm-1.5.0-875af3a8b4-d64d5260be.zip/node_modules/@colors/colors/",\ + "packageDependencies": [\ + ["@colors/colors", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docsearch/css", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/@docsearch-css-npm-3.2.1-74e2292a38-ab7a36a34c.zip/node_modules/@docsearch/css/",\ + "packageDependencies": [\ + ["@docsearch/css", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docsearch/react", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/@docsearch-react-npm-3.2.1-dcbe05bdcc-62e4b45bc1.zip/node_modules/@docsearch/react/",\ + "packageDependencies": [\ + ["@docsearch/react", "npm:3.2.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:5d70309838d983cdc317e33ff8cce2992bc6591fc8e566b8dadba97be3a4807c6c97e735a6880d6918a0fc2ced13a148e0cf3630c95279012ca6cd7d298c5b5d#npm:3.2.1", {\ + "packageLocation": "./.yarn/__virtual__/@docsearch-react-virtual-45202314b2/0/cache/@docsearch-react-npm-3.2.1-dcbe05bdcc-62e4b45bc1.zip/node_modules/@docsearch/react/",\ + "packageDependencies": [\ + ["@docsearch/react", "virtual:5d70309838d983cdc317e33ff8cce2992bc6591fc8e566b8dadba97be3a4807c6c97e735a6880d6918a0fc2ced13a148e0cf3630c95279012ca6cd7d298c5b5d#npm:3.2.1"],\ + ["@algolia/autocomplete-core", "npm:1.7.1"],\ + ["@algolia/autocomplete-preset-algolia", "virtual:45202314b275c1c02aee792851a6ec34e21e8784c7e3ee5da4d07df6247de0842d989d936e4df583538ed4dfaacd80c9598037d0e6aa48346447a95638879770#npm:1.7.1"],\ + ["@docsearch/css", "npm:3.2.1"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["algoliasearch", "npm:4.14.2"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/core", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-core-npm-2.1.0-ee70472f68-c8f12d87d0.zip/node_modules/@docusaurus/core/",\ + "packageDependencies": [\ + ["@docusaurus/core", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:8e3fbe94e732f9d2898fbe637d6d2066c38da4242a311011dac316ca649b3f6a8fcc0d634729742db1d722cc81914a0295e59698f2e7879b927051daf47c9f63#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-core-virtual-15fe6d8eda/0/cache/@docusaurus-core-npm-2.1.0-ee70472f68-c8f12d87d0.zip/node_modules/@docusaurus/core/",\ + "packageDependencies": [\ + ["@docusaurus/core", "virtual:8e3fbe94e732f9d2898fbe637d6d2066c38da4242a311011dac316ca649b3f6a8fcc0d634729742db1d722cc81914a0295e59698f2e7879b927051daf47c9f63#npm:2.1.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/generator", "npm:7.21.3"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-transform-runtime", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.19.1"],\ + ["@babel/preset-env", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.19.4"],\ + ["@babel/preset-react", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.6"],\ + ["@babel/preset-typescript", "virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:7.18.6"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@babel/runtime-corejs3", "npm:7.19.4"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@docusaurus/cssnano-preset", "npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/react-loadable", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@docusaurus/utils-common", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@slorber/static-site-generator-webpack-plugin", "npm:4.0.7"],\ + ["@svgr/webpack", "npm:6.5.0"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["autoprefixer", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:10.4.12"],\ + ["babel-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:8.2.5"],\ + ["babel-plugin-dynamic-import-node", "npm:2.3.3"],\ + ["boxen", "npm:6.2.1"],\ + ["chalk", "npm:4.1.2"],\ + ["chokidar", "npm:3.5.3"],\ + ["clean-css", "npm:5.3.1"],\ + ["cli-table3", "npm:0.6.3"],\ + ["combine-promises", "npm:1.1.0"],\ + ["commander", "npm:5.1.0"],\ + ["copy-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:11.0.0"],\ + ["core-js", "npm:3.25.5"],\ + ["css-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:6.7.1"],\ + ["css-minimizer-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.2.2"],\ + ["cssnano", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.13"],\ + ["del", "npm:6.1.1"],\ + ["detect-port", "npm:1.5.1"],\ + ["escape-html", "npm:1.0.3"],\ + ["eta", "npm:1.12.3"],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["html-minifier-terser", "npm:6.1.0"],\ + ["html-tags", "npm:3.2.0"],\ + ["html-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["leven", "npm:3.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["mini-css-extract-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.6.1"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.0.1"],\ + ["prompts", "npm:2.4.2"],\ + ["react", "npm:17.0.2"],\ + ["react-dev-utils", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:12.0.1"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-helmet-async", "virtual:46de2b254c1254acd905d0b74b89e91a770440127f58d56cb576088a5aee107b27daf72bdb7c1b700170662f89888581b3406f60e69c9043b91a8c5fb3637db9#npm:1.3.0"],\ + ["react-loadable", [\ + "@docusaurus/react-loadable",\ + "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"\ + ]],\ + ["react-loadable-ssr-addon-v5-slorber", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.0.1"],\ + ["react-router", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4"],\ + ["react-router-config", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.1.1"],\ + ["react-router-dom", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4"],\ + ["rtl-detect", "npm:1.0.4"],\ + ["semver", "npm:7.3.8"],\ + ["serve-handler", "npm:6.1.3"],\ + ["shelljs", "npm:0.8.5"],\ + ["terser-webpack-plugin", "virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:5.3.6"],\ + ["tslib", "npm:2.4.0"],\ + ["update-notifier", "npm:5.1.0"],\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["wait-on", "npm:6.0.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"],\ + ["webpack-bundle-analyzer", "npm:4.6.1"],\ + ["webpack-dev-server", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.11.1"],\ + ["webpack-merge", "npm:5.8.0"],\ + ["webpackbar", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-core-virtual-f91089afd2/0/cache/@docusaurus-core-npm-2.1.0-ee70472f68-c8f12d87d0.zip/node_modules/@docusaurus/core/",\ + "packageDependencies": [\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/generator", "npm:7.21.3"],\ + ["@babel/plugin-syntax-dynamic-import", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:7.8.3"],\ + ["@babel/plugin-transform-runtime", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.19.1"],\ + ["@babel/preset-env", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.19.4"],\ + ["@babel/preset-react", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.6"],\ + ["@babel/preset-typescript", "virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:7.18.6"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@babel/runtime-corejs3", "npm:7.19.4"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@docusaurus/cssnano-preset", "npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/react-loadable", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@docusaurus/utils-common", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@slorber/static-site-generator-webpack-plugin", "npm:4.0.7"],\ + ["@svgr/webpack", "npm:6.5.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["autoprefixer", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:10.4.12"],\ + ["babel-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:8.2.5"],\ + ["babel-plugin-dynamic-import-node", "npm:2.3.3"],\ + ["boxen", "npm:6.2.1"],\ + ["chalk", "npm:4.1.2"],\ + ["chokidar", "npm:3.5.3"],\ + ["clean-css", "npm:5.3.1"],\ + ["cli-table3", "npm:0.6.3"],\ + ["combine-promises", "npm:1.1.0"],\ + ["commander", "npm:5.1.0"],\ + ["copy-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:11.0.0"],\ + ["core-js", "npm:3.25.5"],\ + ["css-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:6.7.1"],\ + ["css-minimizer-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.2.2"],\ + ["cssnano", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.13"],\ + ["del", "npm:6.1.1"],\ + ["detect-port", "npm:1.5.1"],\ + ["escape-html", "npm:1.0.3"],\ + ["eta", "npm:1.12.3"],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["html-minifier-terser", "npm:6.1.0"],\ + ["html-tags", "npm:3.2.0"],\ + ["html-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["leven", "npm:3.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["mini-css-extract-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.6.1"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.0.1"],\ + ["prompts", "npm:2.4.2"],\ + ["react", "npm:17.0.2"],\ + ["react-dev-utils", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:12.0.1"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-helmet-async", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.3.0"],\ + ["react-loadable", [\ + "@docusaurus/react-loadable",\ + "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"\ + ]],\ + ["react-loadable-ssr-addon-v5-slorber", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.0.1"],\ + ["react-router", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"],\ + ["react-router-config", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.1"],\ + ["react-router-dom", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"],\ + ["rtl-detect", "npm:1.0.4"],\ + ["semver", "npm:7.3.8"],\ + ["serve-handler", "npm:6.1.3"],\ + ["shelljs", "npm:0.8.5"],\ + ["terser-webpack-plugin", "virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:5.3.6"],\ + ["tslib", "npm:2.4.0"],\ + ["update-notifier", "npm:5.1.0"],\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["wait-on", "npm:6.0.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"],\ + ["webpack-bundle-analyzer", "npm:4.6.1"],\ + ["webpack-dev-server", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.11.1"],\ + ["webpack-merge", "npm:5.8.0"],\ + ["webpackbar", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/cssnano-preset", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-cssnano-preset-npm-2.1.0-a1a0dadc88-3589dcd8dc.zip/node_modules/@docusaurus/cssnano-preset/",\ + "packageDependencies": [\ + ["@docusaurus/cssnano-preset", "npm:2.1.0"],\ + ["cssnano-preset-advanced", "virtual:a1a0dadc885f0ca20d0d9fbfe4da9762d2b6b802e20b920d038ec3611a4cf88bb1a2044a0fc293c72d4430bcb0d505ad184aaf62d01523df162f1e4f9fffc0c4#npm:5.3.8"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-sort-media-queries", "virtual:a1a0dadc885f0ca20d0d9fbfe4da9762d2b6b802e20b920d038ec3611a4cf88bb1a2044a0fc293c72d4430bcb0d505ad184aaf62d01523df162f1e4f9fffc0c4#npm:4.3.0"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/logger", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-logger-npm-2.1.0-56726a5a69-af13df70b6.zip/node_modules/@docusaurus/logger/",\ + "packageDependencies": [\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["chalk", "npm:4.1.2"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/mdx-loader", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-mdx-loader-npm-2.1.0-8a33968e6f-799982ad50.zip/node_modules/@docusaurus/mdx-loader/",\ + "packageDependencies": [\ + ["@docusaurus/mdx-loader", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-mdx-loader-virtual-96b6f3ea60/0/cache/@docusaurus-mdx-loader-npm-2.1.0-8a33968e6f-799982ad50.zip/node_modules/@docusaurus/mdx-loader/",\ + "packageDependencies": [\ + ["@docusaurus/mdx-loader", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@mdx-js/mdx", "npm:1.6.22"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["escape-html", "npm:1.0.3"],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["image-size", "npm:1.0.2"],\ + ["mdast-util-to-string", "npm:2.0.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["remark-emoji", "npm:2.2.0"],\ + ["stringify-object", "npm:3.3.0"],\ + ["tslib", "npm:2.4.0"],\ + ["unified", "npm:9.2.2"],\ + ["unist-util-visit", "npm:2.0.3"],\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-mdx-loader-virtual-51e4c1ec1d/0/cache/@docusaurus-mdx-loader-npm-2.1.0-8a33968e6f-799982ad50.zip/node_modules/@docusaurus/mdx-loader/",\ + "packageDependencies": [\ + ["@docusaurus/mdx-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@babel/parser", "npm:7.21.3"],\ + ["@babel/traverse", "npm:7.21.3"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@mdx-js/mdx", "npm:1.6.22"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["escape-html", "npm:1.0.3"],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["image-size", "npm:1.0.2"],\ + ["mdast-util-to-string", "npm:2.0.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["remark-emoji", "npm:2.2.0"],\ + ["stringify-object", "npm:3.3.0"],\ + ["tslib", "npm:2.4.0"],\ + ["unified", "npm:9.2.2"],\ + ["unist-util-visit", "npm:2.0.3"],\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/module-type-aliases", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-module-type-aliases-npm-2.1.0-1477f1425a-229e792fbc.zip/node_modules/@docusaurus/module-type-aliases/",\ + "packageDependencies": [\ + ["@docusaurus/module-type-aliases", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4cfee17183540aef0fed942aa3edbab52a5e09658518cbb6939de9d39f8402110be1699e7d12dd1facb3849930ae751b36937d75616a628566bfb96672a8f757#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-module-type-aliases-virtual-8558d4b266/0/cache/@docusaurus-module-type-aliases-npm-2.1.0-1477f1425a-229e792fbc.zip/node_modules/@docusaurus/module-type-aliases/",\ + "packageDependencies": [\ + ["@docusaurus/module-type-aliases", "virtual:4cfee17183540aef0fed942aa3edbab52a5e09658518cbb6939de9d39f8402110be1699e7d12dd1facb3849930ae751b36937d75616a628566bfb96672a8f757#npm:2.1.0"],\ + ["@docusaurus/react-loadable", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@types/history", "npm:4.7.11"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["@types/react-router-config", "npm:5.0.6"],\ + ["@types/react-router-dom", "npm:5.3.3"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-helmet-async", "virtual:46de2b254c1254acd905d0b74b89e91a770440127f58d56cb576088a5aee107b27daf72bdb7c1b700170662f89888581b3406f60e69c9043b91a8c5fb3637db9#npm:1.3.0"],\ + ["react-loadable", [\ + "@docusaurus/react-loadable",\ + "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"\ + ]]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-content-blog", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-content-blog-npm-2.1.0-0ad5c1d031-9cc47886f9.zip/node_modules/@docusaurus/plugin-content-blog/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-blog", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-content-blog-virtual-0a9c9ed7b4/0/cache/@docusaurus-plugin-content-blog-npm-2.1.0-0ad5c1d031-9cc47886f9.zip/node_modules/@docusaurus/plugin-content-blog/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-blog", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-common", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["cheerio", "npm:1.0.0-rc.12"],\ + ["feed", "npm:4.2.2"],\ + ["fs-extra", "npm:10.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["reading-time", "npm:1.5.0"],\ + ["tslib", "npm:2.4.0"],\ + ["unist-util-visit", "npm:2.0.3"],\ + ["utility-types", "npm:3.10.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-content-blog-virtual-8e3fbe94e7/0/cache/@docusaurus-plugin-content-blog-npm-2.1.0-0ad5c1d031-9cc47886f9.zip/node_modules/@docusaurus/plugin-content-blog/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-blog", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:8e3fbe94e732f9d2898fbe637d6d2066c38da4242a311011dac316ca649b3f6a8fcc0d634729742db1d722cc81914a0295e59698f2e7879b927051daf47c9f63#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-common", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["cheerio", "npm:1.0.0-rc.12"],\ + ["feed", "npm:4.2.2"],\ + ["fs-extra", "npm:10.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["reading-time", "npm:1.5.0"],\ + ["tslib", "npm:2.4.0"],\ + ["unist-util-visit", "npm:2.0.3"],\ + ["utility-types", "npm:3.10.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-content-docs", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-content-docs-npm-2.1.0-e33a6bac60-40100821e0.zip/node_modules/@docusaurus/plugin-content-docs/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-docs", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-content-docs-virtual-4cfee17183/0/cache/@docusaurus-plugin-content-docs-npm-2.1.0-e33a6bac60-40100821e0.zip/node_modules/@docusaurus/plugin-content-docs/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-docs", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/module-type-aliases", "virtual:4cfee17183540aef0fed942aa3edbab52a5e09658518cbb6939de9d39f8402110be1699e7d12dd1facb3849930ae751b36937d75616a628566bfb96672a8f757#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["@types/react-router-config", "npm:5.0.6"],\ + ["combine-promises", "npm:1.1.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"],\ + ["utility-types", "npm:3.10.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-content-docs-virtual-485a1f5e64/0/cache/@docusaurus-plugin-content-docs-npm-2.1.0-e33a6bac60-40100821e0.zip/node_modules/@docusaurus/plugin-content-docs/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-docs", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:8e3fbe94e732f9d2898fbe637d6d2066c38da4242a311011dac316ca649b3f6a8fcc0d634729742db1d722cc81914a0295e59698f2e7879b927051daf47c9f63#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/module-type-aliases", "virtual:4cfee17183540aef0fed942aa3edbab52a5e09658518cbb6939de9d39f8402110be1699e7d12dd1facb3849930ae751b36937d75616a628566bfb96672a8f757#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["@types/react-router-config", "npm:5.0.6"],\ + ["combine-promises", "npm:1.1.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"],\ + ["utility-types", "npm:3.10.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-content-pages", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-content-pages-npm-2.1.0-389ce890c5-c2fc027ce6.zip/node_modules/@docusaurus/plugin-content-pages/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-pages", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-content-pages-virtual-1ace046704/0/cache/@docusaurus-plugin-content-pages-npm-2.1.0-389ce890c5-c2fc027ce6.zip/node_modules/@docusaurus/plugin-content-pages/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-pages", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["fs-extra", "npm:10.1.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-content-pages-virtual-f89ad64579/0/cache/@docusaurus-plugin-content-pages-npm-2.1.0-389ce890c5-c2fc027ce6.zip/node_modules/@docusaurus/plugin-content-pages/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-content-pages", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:8e3fbe94e732f9d2898fbe637d6d2066c38da4242a311011dac316ca649b3f6a8fcc0d634729742db1d722cc81914a0295e59698f2e7879b927051daf47c9f63#npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["fs-extra", "npm:10.1.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-debug", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-debug-npm-2.1.0-e919772018-e5fd1e90d8.zip/node_modules/@docusaurus/plugin-debug/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-debug", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-debug-virtual-b4a5a519d3/0/cache/@docusaurus-plugin-debug-npm-2.1.0-e919772018-e5fd1e90d8.zip/node_modules/@docusaurus/plugin-debug/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-debug", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["fs-extra", "npm:10.1.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-json-view", "virtual:b4a5a519d3e3e90e5d1b2e5145f3868601baa7f2f631c108119188fb46cdd0de6e3ee9b8c57a1fe1d4e449f99340a3c165007c30e7689d8563621ae8f4e41692#npm:1.21.3"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-google-analytics", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-google-analytics-npm-2.1.0-c002527eca-38949208ad.zip/node_modules/@docusaurus/plugin-google-analytics/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-google-analytics", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-google-analytics-virtual-e94bbb68d4/0/cache/@docusaurus-plugin-google-analytics-npm-2.1.0-c002527eca-38949208ad.zip/node_modules/@docusaurus/plugin-google-analytics/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-google-analytics", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-google-gtag", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-google-gtag-npm-2.1.0-f47ba6eddf-fdfffc37e1.zip/node_modules/@docusaurus/plugin-google-gtag/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-google-gtag", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-google-gtag-virtual-6d5ac0a9c8/0/cache/@docusaurus-plugin-google-gtag-npm-2.1.0-f47ba6eddf-fdfffc37e1.zip/node_modules/@docusaurus/plugin-google-gtag/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-google-gtag", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/plugin-sitemap", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-plugin-sitemap-npm-2.1.0-a6ece1f04d-c3b8dccd86.zip/node_modules/@docusaurus/plugin-sitemap/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-sitemap", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-plugin-sitemap-virtual-7c4173d364/0/cache/@docusaurus-plugin-sitemap-npm-2.1.0-a6ece1f04d-c3b8dccd86.zip/node_modules/@docusaurus/plugin-sitemap/",\ + "packageDependencies": [\ + ["@docusaurus/plugin-sitemap", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-common", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["fs-extra", "npm:10.1.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["sitemap", "npm:7.1.1"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/preset-classic", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-preset-classic-npm-2.1.0-d002eafd42-9a7507dfc3.zip/node_modules/@docusaurus/preset-classic/",\ + "packageDependencies": [\ + ["@docusaurus/preset-classic", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-preset-classic-virtual-47919fd0d9/0/cache/@docusaurus-preset-classic-npm-2.1.0-d002eafd42-9a7507dfc3.zip/node_modules/@docusaurus/preset-classic/",\ + "packageDependencies": [\ + ["@docusaurus/preset-classic", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/plugin-content-blog", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-content-docs", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-content-pages", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-debug", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-google-analytics", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/plugin-google-gtag", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-sitemap", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-classic", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-common", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-search-algolia", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/react-loadable", [\ + ["npm:5.5.2", {\ + "packageLocation": "./.yarn/cache/@docusaurus-react-loadable-npm-5.5.2-95fd202d5d-930fb9e293.zip/node_modules/@docusaurus/react-loadable/",\ + "packageDependencies": [\ + ["@docusaurus/react-loadable", "npm:5.5.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-react-loadable-virtual-5c6d3d7600/0/cache/@docusaurus-react-loadable-npm-5.5.2-95fd202d5d-930fb9e293.zip/node_modules/@docusaurus/react-loadable/",\ + "packageDependencies": [\ + ["@docusaurus/react-loadable", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"],\ + ["@types/react", "npm:18.0.21"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/theme-classic", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-theme-classic-npm-2.1.0-93bff6d503-e6c57a187e.zip/node_modules/@docusaurus/theme-classic/",\ + "packageDependencies": [\ + ["@docusaurus/theme-classic", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-theme-classic-virtual-bbdaa0ca32/0/cache/@docusaurus-theme-classic-npm-2.1.0-93bff6d503-e6c57a187e.zip/node_modules/@docusaurus/theme-classic/",\ + "packageDependencies": [\ + ["@docusaurus/theme-classic", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/module-type-aliases", "virtual:4cfee17183540aef0fed942aa3edbab52a5e09658518cbb6939de9d39f8402110be1699e7d12dd1facb3849930ae751b36937d75616a628566bfb96672a8f757#npm:2.1.0"],\ + ["@docusaurus/plugin-content-blog", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-content-docs", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/plugin-content-pages", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-common", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-translations", "npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-common", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@mdx-js/react", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.6.22"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["clsx", "npm:1.2.1"],\ + ["copy-text-to-clipboard", "npm:3.0.1"],\ + ["infima", "npm:0.2.0-alpha.42"],\ + ["lodash", "npm:4.17.21"],\ + ["nprogress", "npm:0.2.0"],\ + ["postcss", "npm:8.4.18"],\ + ["prism-react-renderer", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.3.5"],\ + ["prismjs", "npm:1.29.0"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-router-dom", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"],\ + ["rtlcss", "npm:3.5.0"],\ + ["tslib", "npm:2.4.0"],\ + ["utility-types", "npm:3.10.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/theme-common", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-theme-common-npm-2.1.0-d5ae2a9539-8620309cf8.zip/node_modules/@docusaurus/theme-common/",\ + "packageDependencies": [\ + ["@docusaurus/theme-common", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-theme-common-virtual-a7c9446959/0/cache/@docusaurus-theme-common-npm-2.1.0-d5ae2a9539-8620309cf8.zip/node_modules/@docusaurus/theme-common/",\ + "packageDependencies": [\ + ["@docusaurus/theme-common", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/mdx-loader", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/module-type-aliases", "virtual:4cfee17183540aef0fed942aa3edbab52a5e09658518cbb6939de9d39f8402110be1699e7d12dd1facb3849930ae751b36937d75616a628566bfb96672a8f757#npm:2.1.0"],\ + ["@docusaurus/plugin-content-blog", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/plugin-content-docs", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/plugin-content-pages", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@types/history", "npm:4.7.11"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["@types/react-router-config", "npm:5.0.6"],\ + ["clsx", "npm:1.2.1"],\ + ["parse-numeric-range", "npm:1.3.0"],\ + ["prism-react-renderer", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:1.3.5"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"],\ + ["utility-types", "npm:3.10.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/theme-search-algolia", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-theme-search-algolia-npm-2.1.0-ea962f25ef-cfe851c748.zip/node_modules/@docusaurus/theme-search-algolia/",\ + "packageDependencies": [\ + ["@docusaurus/theme-search-algolia", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-theme-search-algolia-virtual-5d70309838/0/cache/@docusaurus-theme-search-algolia-npm-2.1.0-ea962f25ef-cfe851c748.zip/node_modules/@docusaurus/theme-search-algolia/",\ + "packageDependencies": [\ + ["@docusaurus/theme-search-algolia", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docsearch/react", "virtual:5d70309838d983cdc317e33ff8cce2992bc6591fc8e566b8dadba97be3a4807c6c97e735a6880d6918a0fc2ced13a148e0cf3630c95279012ca6cd7d298c5b5d#npm:3.2.1"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/plugin-content-docs", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-common", "virtual:47919fd0d919915797b0c881a63af7b4ba266734975febb14f5a7d03083a186f867b96bbfad2b87549e4345fefc2df1228dbb2e62c6511f56cc9e74cbd6a4015#npm:2.1.0"],\ + ["@docusaurus/theme-translations", "npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["algoliasearch", "npm:4.14.2"],\ + ["algoliasearch-helper", "virtual:5d70309838d983cdc317e33ff8cce2992bc6591fc8e566b8dadba97be3a4807c6c97e735a6880d6918a0fc2ced13a148e0cf3630c95279012ca6cd7d298c5b5d#npm:3.11.1"],\ + ["clsx", "npm:1.2.1"],\ + ["eta", "npm:1.12.3"],\ + ["fs-extra", "npm:10.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["tslib", "npm:2.4.0"],\ + ["utility-types", "npm:3.10.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/theme-translations", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-theme-translations-npm-2.1.0-208fa00f22-26d9f2889d.zip/node_modules/@docusaurus/theme-translations/",\ + "packageDependencies": [\ + ["@docusaurus/theme-translations", "npm:2.1.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/types", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-types-npm-2.1.0-d21f3381d8-e6112cd682.zip/node_modules/@docusaurus/types/",\ + "packageDependencies": [\ + ["@docusaurus/types", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-types-virtual-46de2b254c/0/cache/@docusaurus-types-npm-2.1.0-d21f3381d8-e6112cd682.zip/node_modules/@docusaurus/types/",\ + "packageDependencies": [\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@types/history", "npm:4.7.11"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["commander", "npm:5.1.0"],\ + ["joi", "npm:17.6.3"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-helmet-async", "virtual:46de2b254c1254acd905d0b74b89e91a770440127f58d56cb576088a5aee107b27daf72bdb7c1b700170662f89888581b3406f60e69c9043b91a8c5fb3637db9#npm:1.3.0"],\ + ["utility-types", "npm:3.10.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"],\ + ["webpack-merge", "npm:5.8.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/utils", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-utils-npm-2.1.0-aff6efc19a-970c8b2716.zip/node_modules/@docusaurus/utils/",\ + "packageDependencies": [\ + ["@docusaurus/utils", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-utils-virtual-1d9e1fc5ef/0/cache/@docusaurus-utils-npm-2.1.0-aff6efc19a-970c8b2716.zip/node_modules/@docusaurus/utils/",\ + "packageDependencies": [\ + ["@docusaurus/utils", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@svgr/webpack", "npm:6.5.0"],\ + ["@types/docusaurus__types", null],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["github-slugger", "npm:1.4.0"],\ + ["globby", "npm:11.1.0"],\ + ["gray-matter", "npm:4.0.3"],\ + ["js-yaml", "npm:4.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["micromatch", "npm:4.0.5"],\ + ["resolve-pathname", "npm:3.0.0"],\ + ["shelljs", "npm:0.8.5"],\ + ["tslib", "npm:2.4.0"],\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@docusaurus/types",\ + "@types/docusaurus__types"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-utils-virtual-1cf37528d1/0/cache/@docusaurus-utils-npm-2.1.0-aff6efc19a-970c8b2716.zip/node_modules/@docusaurus/utils/",\ + "packageDependencies": [\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/types", null],\ + ["@svgr/webpack", "npm:6.5.0"],\ + ["@types/docusaurus__types", null],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["fs-extra", "npm:10.1.0"],\ + ["github-slugger", "npm:1.4.0"],\ + ["globby", "npm:11.1.0"],\ + ["gray-matter", "npm:4.0.3"],\ + ["js-yaml", "npm:4.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["micromatch", "npm:4.0.5"],\ + ["resolve-pathname", "npm:3.0.0"],\ + ["shelljs", "npm:0.8.5"],\ + ["tslib", "npm:2.4.0"],\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@docusaurus/types",\ + "@types/docusaurus__types"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/utils-common", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-utils-common-npm-2.1.0-7c83c53819-b4a9282f55.zip/node_modules/@docusaurus/utils-common/",\ + "packageDependencies": [\ + ["@docusaurus/utils-common", "npm:2.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-utils-common-virtual-0a7168e496/0/cache/@docusaurus-utils-common-npm-2.1.0-7c83c53819-b4a9282f55.zip/node_modules/@docusaurus/utils-common/",\ + "packageDependencies": [\ + ["@docusaurus/utils-common", "virtual:0a9c9ed7b4446f893bc2c8153f533c06186143d5c678b9f1c4f069af5be9e9e6bb97054bac8768c464861692a4529408d5a2c200a21f1e896e1b63c4b1c19294#npm:2.1.0"],\ + ["@docusaurus/types", "virtual:e94bbb68d4df604aafca4e87afcdda3a99e51818bbed750e198d5c1970a87c455581f48d08acad25895b67a1ea1d71c26a45db7a8f3a87c170b77c25602c156c#npm:2.1.0"],\ + ["@types/docusaurus__types", null],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "packagePeers": [\ + "@docusaurus/types",\ + "@types/docusaurus__types"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0", {\ + "packageLocation": "./.yarn/__virtual__/@docusaurus-utils-common-virtual-62da7cc2b1/0/cache/@docusaurus-utils-common-npm-2.1.0-7c83c53819-b4a9282f55.zip/node_modules/@docusaurus/utils-common/",\ + "packageDependencies": [\ + ["@docusaurus/utils-common", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.1.0"],\ + ["@docusaurus/types", null],\ + ["@types/docusaurus__types", null],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "packagePeers": [\ + "@docusaurus/types",\ + "@types/docusaurus__types"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@docusaurus/utils-validation", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/@docusaurus-utils-validation-npm-2.1.0-4f80534005-63fa924768.zip/node_modules/@docusaurus/utils-validation/",\ + "packageDependencies": [\ + ["@docusaurus/utils-validation", "npm:2.1.0"],\ + ["@docusaurus/logger", "npm:2.1.0"],\ + ["@docusaurus/utils", "virtual:4f80534005707206c8dd15a4664c772af49a6746065a59860247b984d9a8bf3e10189a5062a04f56e50d4ef503072f7e0490ebfa88a060f26e2a8f7ec47795ad#npm:2.1.0"],\ + ["joi", "npm:17.6.3"],\ + ["js-yaml", "npm:4.1.0"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/abi", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-abi-npm-5.7.0-fdd80304df-bc6962bb6c.zip/node_modules/@ethersproject/abi/",\ + "packageDependencies": [\ + ["@ethersproject/abi", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/hash", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/abstract-provider", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-abstract-provider-npm-5.7.0-f94be4e0b0-74cf469624.zip/node_modules/@ethersproject/abstract-provider/",\ + "packageDependencies": [\ + ["@ethersproject/abstract-provider", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/networks", "npm:5.7.1"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["@ethersproject/web", "npm:5.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/abstract-signer", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-abstract-signer-npm-5.7.0-f61d0a970e-a823dac9cf.zip/node_modules/@ethersproject/abstract-signer/",\ + "packageDependencies": [\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/abstract-provider", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/address", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-address-npm-5.7.0-d27f4f2b80-64ea5ebea9.zip/node_modules/@ethersproject/address/",\ + "packageDependencies": [\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/rlp", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/base64", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-base64-npm-5.7.0-ddf99521e0-7dd5d734d6.zip/node_modules/@ethersproject/base64/",\ + "packageDependencies": [\ + ["@ethersproject/base64", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/basex", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-basex-npm-5.7.0-78ae312582-326087b7e1.zip/node_modules/@ethersproject/basex/",\ + "packageDependencies": [\ + ["@ethersproject/basex", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/bignumber", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-bignumber-npm-5.7.0-cd761880ac-8c9a134b76.zip/node_modules/@ethersproject/bignumber/",\ + "packageDependencies": [\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["bn.js", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/bytes", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-bytes-npm-5.7.0-4454fe4cb0-66ad365cea.zip/node_modules/@ethersproject/bytes/",\ + "packageDependencies": [\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/constants", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-constants-npm-5.7.0-24294ccfde-6d4b135574.zip/node_modules/@ethersproject/constants/",\ + "packageDependencies": [\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/contracts", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-contracts-npm-5.7.0-4d3730222f-6ccf1121cb.zip/node_modules/@ethersproject/contracts/",\ + "packageDependencies": [\ + ["@ethersproject/contracts", "npm:5.7.0"],\ + ["@ethersproject/abi", "npm:5.7.0"],\ + ["@ethersproject/abstract-provider", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/hash", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-hash-npm-5.7.0-7c00366b4e-6e9fa8d14e.zip/node_modules/@ethersproject/hash/",\ + "packageDependencies": [\ + ["@ethersproject/hash", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/base64", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/hdnode", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-hdnode-npm-5.7.0-c6d5c6aa1c-bfe5ca2d89.zip/node_modules/@ethersproject/hdnode/",\ + "packageDependencies": [\ + ["@ethersproject/hdnode", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/basex", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/pbkdf2", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/sha2", "npm:5.7.0"],\ + ["@ethersproject/signing-key", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["@ethersproject/wordlists", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/json-wallets", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-json-wallets-npm-5.7.0-f73c4734e5-f583458d22.zip/node_modules/@ethersproject/json-wallets/",\ + "packageDependencies": [\ + ["@ethersproject/json-wallets", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/hdnode", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/pbkdf2", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/random", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["aes-js", "npm:3.0.0"],\ + ["scrypt-js", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/keccak256", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-keccak256-npm-5.7.0-be838547c4-ff70950d82.zip/node_modules/@ethersproject/keccak256/",\ + "packageDependencies": [\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["js-sha3", "npm:0.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/logger", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-logger-npm-5.7.0-63fe9c3d29-075ab2f605.zip/node_modules/@ethersproject/logger/",\ + "packageDependencies": [\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/networks", [\ + ["npm:5.7.1", {\ + "packageLocation": "./.yarn/cache/@ethersproject-networks-npm-5.7.1-eb06956095-0339f31230.zip/node_modules/@ethersproject/networks/",\ + "packageDependencies": [\ + ["@ethersproject/networks", "npm:5.7.1"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/pbkdf2", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-pbkdf2-npm-5.7.0-5b8e51d4b9-b895adb9e3.zip/node_modules/@ethersproject/pbkdf2/",\ + "packageDependencies": [\ + ["@ethersproject/pbkdf2", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/sha2", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/properties", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-properties-npm-5.7.0-00a99c747b-6ab0ccf0c3.zip/node_modules/@ethersproject/properties/",\ + "packageDependencies": [\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/providers", [\ + ["npm:5.7.2", {\ + "packageLocation": "./.yarn/cache/@ethersproject-providers-npm-5.7.2-88293ff29f-1754c731a5.zip/node_modules/@ethersproject/providers/",\ + "packageDependencies": [\ + ["@ethersproject/providers", "npm:5.7.2"],\ + ["@ethersproject/abstract-provider", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/base64", "npm:5.7.0"],\ + ["@ethersproject/basex", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/hash", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/networks", "npm:5.7.1"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/random", "npm:5.7.0"],\ + ["@ethersproject/rlp", "npm:5.7.0"],\ + ["@ethersproject/sha2", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["@ethersproject/web", "npm:5.7.1"],\ + ["bech32", "npm:1.1.4"],\ + ["ws", "virtual:88293ff29fa54efecc98d655f7a7551b282025b3465bc23ca5bb7a89a31c17930a7319e98225cf138bf4e6ccead5b30ae3c800738697b87af3441226d65f7ee3#npm:7.4.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/random", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-random-npm-5.7.0-a0466f53f9-017829c91c.zip/node_modules/@ethersproject/random/",\ + "packageDependencies": [\ + ["@ethersproject/random", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/rlp", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-rlp-npm-5.7.0-a6c9e763ff-bce165b0f7.zip/node_modules/@ethersproject/rlp/",\ + "packageDependencies": [\ + ["@ethersproject/rlp", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/sha2", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-sha2-npm-5.7.0-569c8bdff0-09321057c0.zip/node_modules/@ethersproject/sha2/",\ + "packageDependencies": [\ + ["@ethersproject/sha2", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["hash.js", "npm:1.1.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/signing-key", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-signing-key-npm-5.7.0-51cfa7708e-8f8de09b0a.zip/node_modules/@ethersproject/signing-key/",\ + "packageDependencies": [\ + ["@ethersproject/signing-key", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["bn.js", "npm:5.2.1"],\ + ["elliptic", "npm:6.5.4"],\ + ["hash.js", "npm:1.1.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/solidity", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-solidity-npm-5.7.0-75baa4e133-9a02f37f80.zip/node_modules/@ethersproject/solidity/",\ + "packageDependencies": [\ + ["@ethersproject/solidity", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/sha2", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/strings", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-strings-npm-5.7.0-efcb671e56-5ff78693ae.zip/node_modules/@ethersproject/strings/",\ + "packageDependencies": [\ + ["@ethersproject/strings", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/transactions", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-transactions-npm-5.7.0-9a32c9e61a-a31b71996d.zip/node_modules/@ethersproject/transactions/",\ + "packageDependencies": [\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/rlp", "npm:5.7.0"],\ + ["@ethersproject/signing-key", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/units", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-units-npm-5.7.0-1c1f5ec7ca-304714f848.zip/node_modules/@ethersproject/units/",\ + "packageDependencies": [\ + ["@ethersproject/units", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/wallet", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-wallet-npm-5.7.0-f553c726b7-a4009bf733.zip/node_modules/@ethersproject/wallet/",\ + "packageDependencies": [\ + ["@ethersproject/wallet", "npm:5.7.0"],\ + ["@ethersproject/abstract-provider", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/hash", "npm:5.7.0"],\ + ["@ethersproject/hdnode", "npm:5.7.0"],\ + ["@ethersproject/json-wallets", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/random", "npm:5.7.0"],\ + ["@ethersproject/signing-key", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["@ethersproject/wordlists", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/web", [\ + ["npm:5.7.1", {\ + "packageLocation": "./.yarn/cache/@ethersproject-web-npm-5.7.1-dabb653410-7028c47103.zip/node_modules/@ethersproject/web/",\ + "packageDependencies": [\ + ["@ethersproject/web", "npm:5.7.1"],\ + ["@ethersproject/base64", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ethersproject/wordlists", [\ + ["npm:5.7.0", {\ + "packageLocation": "./.yarn/cache/@ethersproject-wordlists-npm-5.7.0-00d314bfdb-30eb6eb073.zip/node_modules/@ethersproject/wordlists/",\ + "packageDependencies": [\ + ["@ethersproject/wordlists", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/hash", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@hapi/hoek", [\ + ["npm:9.3.0", {\ + "packageLocation": "./.yarn/cache/@hapi-hoek-npm-9.3.0-447eb8d274-4771c7a776.zip/node_modules/@hapi/hoek/",\ + "packageDependencies": [\ + ["@hapi/hoek", "npm:9.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@hapi/topo", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/@hapi-topo-npm-5.1.0-5e0b776809-604dfd5dde.zip/node_modules/@hapi/topo/",\ + "packageDependencies": [\ + ["@hapi/topo", "npm:5.1.0"],\ + ["@hapi/hoek", "npm:9.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "./.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-4a473b9b32.zip/node_modules/@isaacs/cliui/",\ + "packageDependencies": [\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.0.1"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/schemas", [\ + ["npm:29.0.0", {\ + "packageLocation": "./.yarn/cache/@jest-schemas-npm-29.0.0-5d6c90262d-41355c78f0.zip/node_modules/@jest/schemas/",\ + "packageDependencies": [\ + ["@jest/schemas", "npm:29.0.0"],\ + ["@sinclair/typebox", "npm:0.24.46"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/types", [\ + ["npm:29.2.0", {\ + "packageLocation": "./.yarn/cache/@jest-types-npm-29.2.0-37b80da29e-6b04cbb233.zip/node_modules/@jest/types/",\ + "packageDependencies": [\ + ["@jest/types", "npm:29.2.0"],\ + ["@jest/schemas", "npm:29.0.0"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.4"],\ + ["@types/istanbul-reports", "npm:3.0.1"],\ + ["@types/node", "npm:18.11.0"],\ + ["@types/yargs", "npm:17.0.13"],\ + ["chalk", "npm:4.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/gen-mapping", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.1.1-3bad172ac6-3bcc21fe78.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.1.1"],\ + ["@jridgewell/set-array", "npm:1.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.3.2", {\ + "packageLocation": "./.yarn/cache/@jridgewell-gen-mapping-npm-0.3.2-c64eeb4a4e-1832707a1c.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.2"],\ + ["@jridgewell/set-array", "npm:1.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.14"],\ + ["@jridgewell/trace-mapping", "npm:0.3.17"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/resolve-uri", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/@jridgewell-resolve-uri-npm-3.1.0-6ff2351e61-b5ceaaf9a1.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageDependencies": [\ + ["@jridgewell/resolve-uri", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/set-array", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-69a84d5980.zip/node_modules/@jridgewell/set-array/",\ + "packageDependencies": [\ + ["@jridgewell/set-array", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/source-map", [\ + ["npm:0.3.2", {\ + "packageLocation": "./.yarn/cache/@jridgewell-source-map-npm-0.3.2-6fd1f37b22-1b83f0eb94.zip/node_modules/@jridgewell/source-map/",\ + "packageDependencies": [\ + ["@jridgewell/source-map", "npm:0.3.2"],\ + ["@jridgewell/gen-mapping", "npm:0.3.2"],\ + ["@jridgewell/trace-mapping", "npm:0.3.17"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.4.14", {\ + "packageLocation": "./.yarn/cache/@jridgewell-sourcemap-codec-npm-1.4.14-f5f0630788-61100637b6.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/trace-mapping", [\ + ["npm:0.3.17", {\ + "packageLocation": "./.yarn/cache/@jridgewell-trace-mapping-npm-0.3.17-57578fd48c-9d703b859c.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.17"],\ + ["@jridgewell/resolve-uri", "npm:3.1.0"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@leichtgewicht/ip-codec", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/@leichtgewicht-ip-codec-npm-2.0.4-dd4d657af8-468de1f04d.zip/node_modules/@leichtgewicht/ip-codec/",\ + "packageDependencies": [\ + ["@leichtgewicht/ip-codec", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@lit-protocol/auth-helpers", [\ + ["npm:2.9.90", {\ + "packageLocation": "./.yarn/cache/@lit-protocol-auth-helpers-npm-2.9.90-0122701742-1ff093575d.zip/node_modules/@lit-protocol/auth-helpers/",\ + "packageDependencies": [\ + ["@lit-protocol/auth-helpers", "npm:2.9.90"],\ + ["siwe", "virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:2.1.4"],\ + ["siwe-recap", "virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:0.0.2-alpha.0"],\ + ["tslib", "npm:2.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@lit-protocol/constants", [\ + ["npm:2.9.90", {\ + "packageLocation": "./.yarn/cache/@lit-protocol-constants-npm-2.9.90-4a1cd59824-965899261a.zip/node_modules/@lit-protocol/constants/",\ + "packageDependencies": [\ + ["@lit-protocol/constants", "npm:2.9.90"],\ + ["@lit-protocol/auth-helpers", "npm:2.9.90"],\ + ["@lit-protocol/types", "npm:2.9.90"],\ + ["ethers", "npm:5.7.2"],\ + ["jszip", "npm:3.10.1"],\ + ["siwe", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:2.1.4"],\ + ["siwe-recap", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:0.0.2-alpha.0"],\ + ["tslib", "npm:2.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@lit-protocol/types", [\ + ["npm:2.9.90", {\ + "packageLocation": "./.yarn/cache/@lit-protocol-types-npm-2.9.90-de198588e5-444aaa5ad0.zip/node_modules/@lit-protocol/types/",\ + "packageDependencies": [\ + ["@lit-protocol/types", "npm:2.9.90"],\ + ["@lit-protocol/auth-helpers", "npm:2.9.90"],\ + ["ethers", "npm:5.7.2"],\ + ["jszip", "npm:3.10.1"],\ + ["siwe", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:2.1.4"],\ + ["siwe-recap", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:0.0.2-alpha.0"],\ + ["tslib", "npm:2.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mdx-js/mdx", [\ + ["npm:1.6.22", {\ + "packageLocation": "./.yarn/cache/@mdx-js-mdx-npm-1.6.22-ba5aaf406b-0839b4a389.zip/node_modules/@mdx-js/mdx/",\ + "packageDependencies": [\ + ["@mdx-js/mdx", "npm:1.6.22"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/plugin-syntax-jsx", "virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1"],\ + ["@babel/plugin-syntax-object-rest-spread", "virtual:f6ad346c03ca00bdd6689dddf792d9d913ccc565d113120ca12f09dc9a367146e863108f86c9c8f114b10becd648148f6352be7102e5a67baf7715a5fe2553a8#npm:7.8.3"],\ + ["@mdx-js/util", "npm:1.6.22"],\ + ["babel-plugin-apply-mdx-type-prop", "virtual:ba5aaf406b89f66130202033a970328dfa310231cacf02f7bdc59e8a60b63d4cafd4215b4a79f400f5c4d2a94b6b21a3ed821072bb70361f1d6cdff271851c1a#npm:1.6.22"],\ + ["babel-plugin-extract-import-names", "npm:1.6.22"],\ + ["camelcase-css", "npm:2.0.1"],\ + ["detab", "npm:2.0.4"],\ + ["hast-util-raw", "npm:6.0.1"],\ + ["lodash.uniq", "npm:4.5.0"],\ + ["mdast-util-to-hast", "npm:10.0.1"],\ + ["remark-footnotes", "npm:2.0.0"],\ + ["remark-mdx", "npm:1.6.22"],\ + ["remark-parse", "npm:8.0.3"],\ + ["remark-squeeze-paragraphs", "npm:4.0.0"],\ + ["style-to-object", "npm:0.3.0"],\ + ["unified", "npm:9.2.0"],\ + ["unist-builder", "npm:2.0.3"],\ + ["unist-util-visit", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mdx-js/react", [\ + ["npm:1.6.22", {\ + "packageLocation": "./.yarn/cache/@mdx-js-react-npm-1.6.22-57e4c05c2b-bc84bd514b.zip/node_modules/@mdx-js/react/",\ + "packageDependencies": [\ + ["@mdx-js/react", "npm:1.6.22"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.6.22", {\ + "packageLocation": "./.yarn/__virtual__/@mdx-js-react-virtual-19dadea7ca/0/cache/@mdx-js-react-npm-1.6.22-57e4c05c2b-bc84bd514b.zip/node_modules/@mdx-js/react/",\ + "packageDependencies": [\ + ["@mdx-js/react", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.6.22"],\ + ["@types/react", null],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@mdx-js/util", [\ + ["npm:1.6.22", {\ + "packageLocation": "./.yarn/cache/@mdx-js-util-npm-1.6.22-8e56495eac-4b393907e3.zip/node_modules/@mdx-js/util/",\ + "packageDependencies": [\ + ["@mdx-js/util", "npm:1.6.22"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@noble/hashes", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/@noble-hashes-npm-1.3.0-ce5907dcd3-d7ddb6d7c6.zip/node_modules/@noble/hashes/",\ + "packageDependencies": [\ + ["@noble/hashes", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.13.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/fs", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/@npmcli-fs-npm-3.1.0-0844a57978-a50a6818de.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["semver", "npm:7.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "./.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-6ad6a00fc4.zip/node_modules/@pkgjs/parseargs/",\ + "packageDependencies": [\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@polka/url", [\ + ["npm:1.0.0-next.21", {\ + "packageLocation": "./.yarn/cache/@polka-url-npm-1.0.0-next.21-02342f3d90-c7654046d3.zip/node_modules/@polka/url/",\ + "packageDependencies": [\ + ["@polka/url", "npm:1.0.0-next.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sideway/address", [\ + ["npm:4.1.4", {\ + "packageLocation": "./.yarn/cache/@sideway-address-npm-4.1.4-32f94bc9f5-b9fca2a93a.zip/node_modules/@sideway/address/",\ + "packageDependencies": [\ + ["@sideway/address", "npm:4.1.4"],\ + ["@hapi/hoek", "npm:9.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sideway/formula", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/@sideway-formula-npm-3.0.0-8688cb96b6-8ae26a0ed6.zip/node_modules/@sideway/formula/",\ + "packageDependencies": [\ + ["@sideway/formula", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sideway/pinpoint", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/@sideway-pinpoint-npm-2.0.0-66d94e687e-0f4491e589.zip/node_modules/@sideway/pinpoint/",\ + "packageDependencies": [\ + ["@sideway/pinpoint", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinclair/typebox", [\ + ["npm:0.24.46", {\ + "packageLocation": "./.yarn/cache/@sinclair-typebox-npm-0.24.46-d630eef884-19d708fe93.zip/node_modules/@sinclair/typebox/",\ + "packageDependencies": [\ + ["@sinclair/typebox", "npm:0.24.46"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sindresorhus/is", [\ + ["npm:0.14.0", {\ + "packageLocation": "./.yarn/cache/@sindresorhus-is-npm-0.14.0-9f906ea34b-971e0441dd.zip/node_modules/@sindresorhus/is/",\ + "packageDependencies": [\ + ["@sindresorhus/is", "npm:0.14.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@slorber/static-site-generator-webpack-plugin", [\ + ["npm:4.0.7", {\ + "packageLocation": "./.yarn/cache/@slorber-static-site-generator-webpack-plugin-npm-4.0.7-6a392c1caa-a1e1d8b22d.zip/node_modules/@slorber/static-site-generator-webpack-plugin/",\ + "packageDependencies": [\ + ["@slorber/static-site-generator-webpack-plugin", "npm:4.0.7"],\ + ["eval", "npm:0.1.8"],\ + ["p-map", "npm:4.0.0"],\ + ["webpack-sources", "npm:3.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@spruceid/siwe-parser", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/@spruceid-siwe-parser-npm-2.0.2-8513c9c60d-689b09a730.zip/node_modules/@spruceid/siwe-parser/",\ + "packageDependencies": [\ + ["@spruceid/siwe-parser", "npm:2.0.2"],\ + ["@noble/hashes", "npm:1.3.0"],\ + ["apg-js", "npm:4.1.3"],\ + ["uri-js", "npm:4.4.1"],\ + ["valid-url", "npm:1.0.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@stablelib/binary", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@stablelib-binary-npm-1.0.1-dbaa06d163-dca9b98eb1.zip/node_modules/@stablelib/binary/",\ + "packageDependencies": [\ + ["@stablelib/binary", "npm:1.0.1"],\ + ["@stablelib/int", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@stablelib/int", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@stablelib-int-npm-1.0.1-c8f9f3f48e-65bfbf50a3.zip/node_modules/@stablelib/int/",\ + "packageDependencies": [\ + ["@stablelib/int", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@stablelib/random", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/@stablelib-random-npm-1.0.2-9ec4c00173-f5ace0a588.zip/node_modules/@stablelib/random/",\ + "packageDependencies": [\ + ["@stablelib/random", "npm:1.0.2"],\ + ["@stablelib/binary", "npm:1.0.1"],\ + ["@stablelib/wipe", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@stablelib/wipe", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@stablelib-wipe-npm-1.0.1-3395f422e4-287802eb14.zip/node_modules/@stablelib/wipe/",\ + "packageDependencies": [\ + ["@stablelib/wipe", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-add-jsx-attribute", [\ + ["npm:5.4.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-add-jsx-attribute-npm-5.4.0-7f1e614ce1-1c538cf312.zip/node_modules/@svgr/babel-plugin-add-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-add-jsx-attribute", "npm:5.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-add-jsx-attribute-npm-6.5.0-25a1a6464c-f65ca26905.zip/node_modules/@svgr/babel-plugin-add-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-add-jsx-attribute", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-add-jsx-attribute-virtual-e7f6c31ece/0/cache/@svgr-babel-plugin-add-jsx-attribute-npm-6.5.0-25a1a6464c-f65ca26905.zip/node_modules/@svgr/babel-plugin-add-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-add-jsx-attribute", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-remove-jsx-attribute", [\ + ["npm:5.4.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-5.4.0-81b60827fa-ad2231bfcb.zip/node_modules/@svgr/babel-plugin-remove-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-attribute", "npm:5.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-6.5.0-cb2cc9c876-7a4dfc1345.zip/node_modules/@svgr/babel-plugin-remove-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-attribute", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-remove-jsx-attribute-virtual-27aeff8726/0/cache/@svgr-babel-plugin-remove-jsx-attribute-npm-6.5.0-cb2cc9c876-7a4dfc1345.zip/node_modules/@svgr/babel-plugin-remove-jsx-attribute/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-attribute", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-5.0.1-61d6aef206-175c8f13dd.zip/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-6.5.0-b00e18d6ad-3e173f720d.zip/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-remove-jsx-empty-expression-virtual-6c84fcc5ba/0/cache/@svgr-babel-plugin-remove-jsx-empty-expression-npm-6.5.0-b00e18d6ad-3e173f720d.zip/node_modules/@svgr/babel-plugin-remove-jsx-empty-expression/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-5.0.1-b13516ed13-68f4e2a5b9.zip/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-6.5.0-425dac32f8-e8e77e4026.zip/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-replace-jsx-attribute-value-virtual-a332935a6b/0/cache/@svgr-babel-plugin-replace-jsx-attribute-value-npm-6.5.0-425dac32f8-e8e77e4026.zip/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-svg-dynamic-title", [\ + ["npm:5.4.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-svg-dynamic-title-npm-5.4.0-6e508e9c0a-c46feb5245.zip/node_modules/@svgr/babel-plugin-svg-dynamic-title/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-dynamic-title", "npm:5.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-svg-dynamic-title-npm-6.5.0-eb9c53a7e8-55f36f6e3e.zip/node_modules/@svgr/babel-plugin-svg-dynamic-title/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-dynamic-title", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-svg-dynamic-title-virtual-43b26845e9/0/cache/@svgr-babel-plugin-svg-dynamic-title-npm-6.5.0-eb9c53a7e8-55f36f6e3e.zip/node_modules/@svgr/babel-plugin-svg-dynamic-title/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-dynamic-title", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-svg-em-dimensions", [\ + ["npm:5.4.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-svg-em-dimensions-npm-5.4.0-0229e38da4-0d19b26147.zip/node_modules/@svgr/babel-plugin-svg-em-dimensions/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-em-dimensions", "npm:5.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-svg-em-dimensions-npm-6.5.0-b00599070f-af6508c042.zip/node_modules/@svgr/babel-plugin-svg-em-dimensions/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-em-dimensions", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-svg-em-dimensions-virtual-29e22b5916/0/cache/@svgr-babel-plugin-svg-em-dimensions-npm-6.5.0-b00599070f-af6508c042.zip/node_modules/@svgr/babel-plugin-svg-em-dimensions/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-svg-em-dimensions", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-transform-react-native-svg", [\ + ["npm:5.4.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-transform-react-native-svg-npm-5.4.0-62f0a6e8dc-8ac5dc9fb2.zip/node_modules/@svgr/babel-plugin-transform-react-native-svg/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-react-native-svg", "npm:5.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-transform-react-native-svg-npm-6.5.0-cbc2e8489f-0e7f1d85a2.zip/node_modules/@svgr/babel-plugin-transform-react-native-svg/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-react-native-svg", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-transform-react-native-svg-virtual-3baaf0b2d2/0/cache/@svgr-babel-plugin-transform-react-native-svg-npm-6.5.0-cbc2e8489f-0e7f1d85a2.zip/node_modules/@svgr/babel-plugin-transform-react-native-svg/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-react-native-svg", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-plugin-transform-svg-component", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-transform-svg-component-npm-5.5.0-82fe1aa0d7-94c3fed490.zip/node_modules/@svgr/babel-plugin-transform-svg-component/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-svg-component", "npm:5.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-plugin-transform-svg-component-npm-6.5.0-abdf2e035f-8613ef673b.zip/node_modules/@svgr/babel-plugin-transform-svg-component/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-svg-component", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-plugin-transform-svg-component-virtual-5f9e012f05/0/cache/@svgr-babel-plugin-transform-svg-component-npm-6.5.0-abdf2e035f-8613ef673b.zip/node_modules/@svgr/babel-plugin-transform-svg-component/",\ + "packageDependencies": [\ + ["@svgr/babel-plugin-transform-svg-component", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/babel-preset", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-preset-npm-5.5.0-0c81dfc2a6-5d396c4499.zip/node_modules/@svgr/babel-preset/",\ + "packageDependencies": [\ + ["@svgr/babel-preset", "npm:5.5.0"],\ + ["@svgr/babel-plugin-add-jsx-attribute", "npm:5.4.0"],\ + ["@svgr/babel-plugin-remove-jsx-attribute", "npm:5.4.0"],\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "npm:5.0.1"],\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "npm:5.0.1"],\ + ["@svgr/babel-plugin-svg-dynamic-title", "npm:5.4.0"],\ + ["@svgr/babel-plugin-svg-em-dimensions", "npm:5.4.0"],\ + ["@svgr/babel-plugin-transform-react-native-svg", "npm:5.4.0"],\ + ["@svgr/babel-plugin-transform-svg-component", "npm:5.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-babel-preset-npm-6.5.0-e35a40337b-987f6eafeb.zip/node_modules/@svgr/babel-preset/",\ + "packageDependencies": [\ + ["@svgr/babel-preset", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-babel-preset-virtual-d0e012add3/0/cache/@svgr-babel-preset-npm-6.5.0-e35a40337b-987f6eafeb.zip/node_modules/@svgr/babel-preset/",\ + "packageDependencies": [\ + ["@svgr/babel-preset", "virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@svgr/babel-plugin-add-jsx-attribute", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-remove-jsx-attribute", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-remove-jsx-empty-expression", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-replace-jsx-attribute-value", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-svg-dynamic-title", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-svg-em-dimensions", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-transform-react-native-svg", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@svgr/babel-plugin-transform-svg-component", "virtual:d0e012add3c18aea2145a84ea83dd5233b9bd57e6a194f500f82628933a54931f5c100934385a12ec74f5e323287587bd51a71e489b7caae3bc466a20028844f#npm:6.5.0"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/core", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-core-npm-5.5.0-7d395fbcff-39b230151e.zip/node_modules/@svgr/core/",\ + "packageDependencies": [\ + ["@svgr/core", "npm:5.5.0"],\ + ["@svgr/plugin-jsx", "npm:5.5.0"],\ + ["camelcase", "npm:6.3.0"],\ + ["cosmiconfig", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-core-npm-6.5.0-84fe38d421-235747a1d1.zip/node_modules/@svgr/core/",\ + "packageDependencies": [\ + ["@svgr/core", "npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@svgr/babel-preset", "virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0"],\ + ["@svgr/plugin-jsx", "virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0"],\ + ["camelcase", "npm:6.3.0"],\ + ["cosmiconfig", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/hast-util-to-babel-ast", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-hast-util-to-babel-ast-npm-5.5.0-fef404b2de-a03c1c7ab9.zip/node_modules/@svgr/hast-util-to-babel-ast/",\ + "packageDependencies": [\ + ["@svgr/hast-util-to-babel-ast", "npm:5.5.0"],\ + ["@babel/types", "npm:7.21.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-hast-util-to-babel-ast-npm-6.5.0-4517d4b264-77dcadb467.zip/node_modules/@svgr/hast-util-to-babel-ast/",\ + "packageDependencies": [\ + ["@svgr/hast-util-to-babel-ast", "npm:6.5.0"],\ + ["@babel/types", "npm:7.21.3"],\ + ["entities", "npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/plugin-jsx", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-plugin-jsx-npm-5.5.0-987cc347ac-e053f8dd6b.zip/node_modules/@svgr/plugin-jsx/",\ + "packageDependencies": [\ + ["@svgr/plugin-jsx", "npm:5.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@svgr/babel-preset", "npm:5.5.0"],\ + ["@svgr/hast-util-to-babel-ast", "npm:5.5.0"],\ + ["svg-parser", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-plugin-jsx-npm-6.5.0-c9d166002c-dec7cd47f1.zip/node_modules/@svgr/plugin-jsx/",\ + "packageDependencies": [\ + ["@svgr/plugin-jsx", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-plugin-jsx-virtual-9a7a9bd3ed/0/cache/@svgr-plugin-jsx-npm-6.5.0-c9d166002c-dec7cd47f1.zip/node_modules/@svgr/plugin-jsx/",\ + "packageDependencies": [\ + ["@svgr/plugin-jsx", "virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@svgr/babel-preset", "virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0"],\ + ["@svgr/core", "npm:6.5.0"],\ + ["@svgr/hast-util-to-babel-ast", "npm:6.5.0"],\ + ["@types/svgr__core", null],\ + ["svg-parser", "npm:2.0.4"]\ + ],\ + "packagePeers": [\ + "@svgr/core",\ + "@types/svgr__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/plugin-svgo", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-plugin-svgo-npm-5.5.0-e165085f83-bef5d09581.zip/node_modules/@svgr/plugin-svgo/",\ + "packageDependencies": [\ + ["@svgr/plugin-svgo", "npm:5.5.0"],\ + ["cosmiconfig", "npm:7.0.1"],\ + ["deepmerge", "npm:4.2.2"],\ + ["svgo", "npm:1.3.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-plugin-svgo-npm-6.5.0-846c7ea004-d1a0ee7928.zip/node_modules/@svgr/plugin-svgo/",\ + "packageDependencies": [\ + ["@svgr/plugin-svgo", "npm:6.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:6.5.0", {\ + "packageLocation": "./.yarn/__virtual__/@svgr-plugin-svgo-virtual-dbfa2cda24/0/cache/@svgr-plugin-svgo-npm-6.5.0-846c7ea004-d1a0ee7928.zip/node_modules/@svgr/plugin-svgo/",\ + "packageDependencies": [\ + ["@svgr/plugin-svgo", "virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:6.5.0"],\ + ["@svgr/core", "npm:6.5.0"],\ + ["@types/svgr__core", null],\ + ["cosmiconfig", "npm:7.0.1"],\ + ["deepmerge", "npm:4.2.2"],\ + ["svgo", "npm:2.8.0"]\ + ],\ + "packagePeers": [\ + "@svgr/core",\ + "@types/svgr__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@svgr/webpack", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-webpack-npm-5.5.0-0d3ac09bc6-540391bd63.zip/node_modules/@svgr/webpack/",\ + "packageDependencies": [\ + ["@svgr/webpack", "npm:5.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/plugin-transform-react-constant-elements", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.12"],\ + ["@babel/preset-env", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.19.4"],\ + ["@babel/preset-react", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.6"],\ + ["@svgr/core", "npm:5.5.0"],\ + ["@svgr/plugin-jsx", "npm:5.5.0"],\ + ["@svgr/plugin-svgo", "npm:5.5.0"],\ + ["loader-utils", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/@svgr-webpack-npm-6.5.0-43344da04c-2c0b18b206.zip/node_modules/@svgr/webpack/",\ + "packageDependencies": [\ + ["@svgr/webpack", "npm:6.5.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/plugin-transform-react-constant-elements", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.12"],\ + ["@babel/preset-env", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.19.4"],\ + ["@babel/preset-react", "virtual:0d3ac09bc69ff6f5b2ac593856de04c532ec6d2cf18b78443f418f411b60f83c0f94400da7d048ef2418caf9f222b695a9bd62d7c763e677281a627f1ac95357#npm:7.18.6"],\ + ["@babel/preset-typescript", "virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:7.18.6"],\ + ["@svgr/core", "npm:6.5.0"],\ + ["@svgr/plugin-jsx", "virtual:84fe38d421dd6303ca228d783b8000f8a41af78308ef7fa9369c1aa1d00248a792358a52ab016fdc6c76bb00e30aeea59d23e7fd93dac63ff6303ed6d0fe9a85#npm:6.5.0"],\ + ["@svgr/plugin-svgo", "virtual:43344da04c0112e62d505cde389adc448b5679b3d34052edc1f3ca4ded06f071585097ce6a09a92aa60ed49966d63f687be08f905dcf97c1162e3ee6d8ec80bd#npm:6.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@szmarczak/http-timer", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/@szmarczak-http-timer-npm-1.1.2-ea82ca2d55-4d9158061c.zip/node_modules/@szmarczak/http-timer/",\ + "packageDependencies": [\ + ["@szmarczak/http-timer", "npm:1.1.2"],\ + ["defer-to-connect", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tootallnate/once", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/@tootallnate-once-npm-2.0.0-e36cf4f140-ad87447820.zip/node_modules/@tootallnate/once/",\ + "packageDependencies": [\ + ["@tootallnate/once", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@trysound/sax", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/@trysound-sax-npm-0.2.0-9f763d0295-11226c39b5.zip/node_modules/@trysound/sax/",\ + "packageDependencies": [\ + ["@trysound/sax", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/body-parser", [\ + ["npm:1.19.2", {\ + "packageLocation": "./.yarn/cache/@types-body-parser-npm-1.19.2-f845b7b538-e17840c7d7.zip/node_modules/@types/body-parser/",\ + "packageDependencies": [\ + ["@types/body-parser", "npm:1.19.2"],\ + ["@types/connect", "npm:3.4.35"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/bonjour", [\ + ["npm:3.5.10", {\ + "packageLocation": "./.yarn/cache/@types-bonjour-npm-3.5.10-2862bada55-bfcadb042a.zip/node_modules/@types/bonjour/",\ + "packageDependencies": [\ + ["@types/bonjour", "npm:3.5.10"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/connect", [\ + ["npm:3.4.35", {\ + "packageLocation": "./.yarn/cache/@types-connect-npm-3.4.35-7337eee0a3-fe81351470.zip/node_modules/@types/connect/",\ + "packageDependencies": [\ + ["@types/connect", "npm:3.4.35"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/connect-history-api-fallback", [\ + ["npm:1.3.5", {\ + "packageLocation": "./.yarn/cache/@types-connect-history-api-fallback-npm-1.3.5-a53af77794-464d06e5ab.zip/node_modules/@types/connect-history-api-fallback/",\ + "packageDependencies": [\ + ["@types/connect-history-api-fallback", "npm:1.3.5"],\ + ["@types/express-serve-static-core", "npm:4.17.31"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/eslint", [\ + ["npm:8.4.6", {\ + "packageLocation": "./.yarn/cache/@types-eslint-npm-8.4.6-a8726d8319-bfaf27b000.zip/node_modules/@types/eslint/",\ + "packageDependencies": [\ + ["@types/eslint", "npm:8.4.6"],\ + ["@types/estree", "npm:1.0.0"],\ + ["@types/json-schema", "npm:7.0.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/eslint-scope", [\ + ["npm:3.7.4", {\ + "packageLocation": "./.yarn/cache/@types-eslint-scope-npm-3.7.4-c11d226d71-ea6a9363e9.zip/node_modules/@types/eslint-scope/",\ + "packageDependencies": [\ + ["@types/eslint-scope", "npm:3.7.4"],\ + ["@types/eslint", "npm:8.4.6"],\ + ["@types/estree", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/estree", [\ + ["npm:0.0.51", {\ + "packageLocation": "./.yarn/cache/@types-estree-npm-0.0.51-bc20719267-e56a3bcf75.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:0.0.51"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/@types-estree-npm-1.0.0-eddde5b631-910d97fb70.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/express", [\ + ["npm:4.17.14", {\ + "packageLocation": "./.yarn/cache/@types-express-npm-4.17.14-076e1b4711-15c1af46d0.zip/node_modules/@types/express/",\ + "packageDependencies": [\ + ["@types/express", "npm:4.17.14"],\ + ["@types/body-parser", "npm:1.19.2"],\ + ["@types/express-serve-static-core", "npm:4.17.31"],\ + ["@types/qs", "npm:6.9.7"],\ + ["@types/serve-static", "npm:1.15.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/express-serve-static-core", [\ + ["npm:4.17.31", {\ + "packageLocation": "./.yarn/cache/@types-express-serve-static-core-npm-4.17.31-846873f446-009bfbe107.zip/node_modules/@types/express-serve-static-core/",\ + "packageDependencies": [\ + ["@types/express-serve-static-core", "npm:4.17.31"],\ + ["@types/node", "npm:18.11.0"],\ + ["@types/qs", "npm:6.9.7"],\ + ["@types/range-parser", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/hast", [\ + ["npm:2.3.4", {\ + "packageLocation": "./.yarn/cache/@types-hast-npm-2.3.4-7249cc0ece-fff47998f4.zip/node_modules/@types/hast/",\ + "packageDependencies": [\ + ["@types/hast", "npm:2.3.4"],\ + ["@types/unist", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/history", [\ + ["npm:4.7.11", {\ + "packageLocation": "./.yarn/cache/@types-history-npm-4.7.11-fe05d7b2e1-c92e2ba407.zip/node_modules/@types/history/",\ + "packageDependencies": [\ + ["@types/history", "npm:4.7.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/html-minifier-terser", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/@types-html-minifier-terser-npm-6.1.0-707ea07fcb-eb843f6a8d.zip/node_modules/@types/html-minifier-terser/",\ + "packageDependencies": [\ + ["@types/html-minifier-terser", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/http-proxy", [\ + ["npm:1.17.9", {\ + "packageLocation": "./.yarn/cache/@types-http-proxy-npm-1.17.9-fa2f5ce316-7a6746d007.zip/node_modules/@types/http-proxy/",\ + "packageDependencies": [\ + ["@types/http-proxy", "npm:1.17.9"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-coverage", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/@types-istanbul-lib-coverage-npm-2.0.4-734954bb56-a25d7589ee.zip/node_modules/@types/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-coverage", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-report", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/@types-istanbul-lib-report-npm-3.0.0-50de3e6b3b-656398b62d.zip/node_modules/@types/istanbul-lib-report/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-report", "npm:3.0.0"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-reports", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/@types-istanbul-reports-npm-3.0.1-770e825002-f1ad54bc68.zip/node_modules/@types/istanbul-reports/",\ + "packageDependencies": [\ + ["@types/istanbul-reports", "npm:3.0.1"],\ + ["@types/istanbul-lib-report", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/json-schema", [\ + ["npm:7.0.11", {\ + "packageLocation": "./.yarn/cache/@types-json-schema-npm-7.0.11-79462ae5ca-527bddfe62.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/keyv", [\ + ["npm:3.1.4", {\ + "packageLocation": "./.yarn/cache/@types-keyv-npm-3.1.4-a8082ea56b-e009a2bfb5.zip/node_modules/@types/keyv/",\ + "packageDependencies": [\ + ["@types/keyv", "npm:3.1.4"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/mdast", [\ + ["npm:3.0.10", {\ + "packageLocation": "./.yarn/cache/@types-mdast-npm-3.0.10-9e9c39e4a4-3f587bfc0a.zip/node_modules/@types/mdast/",\ + "packageDependencies": [\ + ["@types/mdast", "npm:3.0.10"],\ + ["@types/unist", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/mime", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/@types-mime-npm-3.0.1-dec03536dc-4040fac73f.zip/node_modules/@types/mime/",\ + "packageDependencies": [\ + ["@types/mime", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/node", [\ + ["npm:17.0.45", {\ + "packageLocation": "./.yarn/cache/@types-node-npm-17.0.45-fdb38d1624-aa04366b91.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:17.0.45"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:18.11.0", {\ + "packageLocation": "./.yarn/cache/@types-node-npm-18.11.0-89df5ccaa0-f27f899ab4.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/parse-json", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/@types-parse-json-npm-4.0.0-298522afa6-fd6bce2b67.zip/node_modules/@types/parse-json/",\ + "packageDependencies": [\ + ["@types/parse-json", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/parse5", [\ + ["npm:5.0.3", {\ + "packageLocation": "./.yarn/cache/@types-parse5-npm-5.0.3-d544890715-d6b7495cb1.zip/node_modules/@types/parse5/",\ + "packageDependencies": [\ + ["@types/parse5", "npm:5.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/prop-types", [\ + ["npm:15.7.5", {\ + "packageLocation": "./.yarn/cache/@types-prop-types-npm-15.7.5-2aa48aa177-5b43b8b154.zip/node_modules/@types/prop-types/",\ + "packageDependencies": [\ + ["@types/prop-types", "npm:15.7.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/q", [\ + ["npm:1.5.5", {\ + "packageLocation": "./.yarn/cache/@types-q-npm-1.5.5-ffd6e0cd72-3bd386fb97.zip/node_modules/@types/q/",\ + "packageDependencies": [\ + ["@types/q", "npm:1.5.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/qs", [\ + ["npm:6.9.7", {\ + "packageLocation": "./.yarn/cache/@types-qs-npm-6.9.7-4a3e6ca0d0-7fd6f9c250.zip/node_modules/@types/qs/",\ + "packageDependencies": [\ + ["@types/qs", "npm:6.9.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/range-parser", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/@types-range-parser-npm-1.2.4-23d797fbde-b7c0dfd508.zip/node_modules/@types/range-parser/",\ + "packageDependencies": [\ + ["@types/range-parser", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/react", [\ + ["npm:18.0.21", {\ + "packageLocation": "./.yarn/cache/@types-react-npm-18.0.21-e933f9864e-36c1a7c9d5.zip/node_modules/@types/react/",\ + "packageDependencies": [\ + ["@types/react", "npm:18.0.21"],\ + ["@types/prop-types", "npm:15.7.5"],\ + ["@types/scheduler", "npm:0.16.2"],\ + ["csstype", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/react-router", [\ + ["npm:5.1.19", {\ + "packageLocation": "./.yarn/cache/@types-react-router-npm-5.1.19-cb9302b3da-3536c3dec7.zip/node_modules/@types/react-router/",\ + "packageDependencies": [\ + ["@types/react-router", "npm:5.1.19"],\ + ["@types/history", "npm:4.7.11"],\ + ["@types/react", "npm:18.0.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/react-router-config", [\ + ["npm:5.0.6", {\ + "packageLocation": "./.yarn/cache/@types-react-router-config-npm-5.0.6-e713150eb2-e32a7b19d1.zip/node_modules/@types/react-router-config/",\ + "packageDependencies": [\ + ["@types/react-router-config", "npm:5.0.6"],\ + ["@types/history", "npm:4.7.11"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-router", "npm:5.1.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/react-router-dom", [\ + ["npm:5.3.3", {\ + "packageLocation": "./.yarn/cache/@types-react-router-dom-npm-5.3.3-9f687b5b3a-28c4ea4890.zip/node_modules/@types/react-router-dom/",\ + "packageDependencies": [\ + ["@types/react-router-dom", "npm:5.3.3"],\ + ["@types/history", "npm:4.7.11"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-router", "npm:5.1.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/responselike", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/@types-responselike-npm-1.0.1-f495d21276-ae8c36c935.zip/node_modules/@types/responselike/",\ + "packageDependencies": [\ + ["@types/responselike", "npm:1.0.1"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "./.yarn/cache/@types-retry-npm-0.12.0-e4e6294a2c-61a072c763.zip/node_modules/@types/retry/",\ + "packageDependencies": [\ + ["@types/retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sax", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/@types-sax-npm-1.2.4-559564fa4f-2aa50cbf1d.zip/node_modules/@types/sax/",\ + "packageDependencies": [\ + ["@types/sax", "npm:1.2.4"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/scheduler", [\ + ["npm:0.16.2", {\ + "packageLocation": "./.yarn/cache/@types-scheduler-npm-0.16.2-ba3a7d8c68-b6b4dcfeae.zip/node_modules/@types/scheduler/",\ + "packageDependencies": [\ + ["@types/scheduler", "npm:0.16.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/serve-index", [\ + ["npm:1.9.1", {\ + "packageLocation": "./.yarn/cache/@types-serve-index-npm-1.9.1-9d3cd16a7a-026f3995fb.zip/node_modules/@types/serve-index/",\ + "packageDependencies": [\ + ["@types/serve-index", "npm:1.9.1"],\ + ["@types/express", "npm:4.17.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/serve-static", [\ + ["npm:1.15.0", {\ + "packageLocation": "./.yarn/cache/@types-serve-static-npm-1.15.0-ec80a4ac87-b6ac93d471.zip/node_modules/@types/serve-static/",\ + "packageDependencies": [\ + ["@types/serve-static", "npm:1.15.0"],\ + ["@types/mime", "npm:3.0.1"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sockjs", [\ + ["npm:0.3.33", {\ + "packageLocation": "./.yarn/cache/@types-sockjs-npm-0.3.33-07d624a8b3-b9bbb2b5c5.zip/node_modules/@types/sockjs/",\ + "packageDependencies": [\ + ["@types/sockjs", "npm:0.3.33"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/unist", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/@types-unist-npm-2.0.6-82641b4aa5-25cb860ff1.zip/node_modules/@types/unist/",\ + "packageDependencies": [\ + ["@types/unist", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/ws", [\ + ["npm:8.5.3", {\ + "packageLocation": "./.yarn/cache/@types-ws-npm-8.5.3-ae52c483f1-0ce46f850d.zip/node_modules/@types/ws/",\ + "packageDependencies": [\ + ["@types/ws", "npm:8.5.3"],\ + ["@types/node", "npm:18.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yargs", [\ + ["npm:17.0.13", {\ + "packageLocation": "./.yarn/cache/@types-yargs-npm-17.0.13-67226ed55b-0ab269abc2.zip/node_modules/@types/yargs/",\ + "packageDependencies": [\ + ["@types/yargs", "npm:17.0.13"],\ + ["@types/yargs-parser", "npm:21.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/yargs-parser", [\ + ["npm:21.0.0", {\ + "packageLocation": "./.yarn/cache/@types-yargs-parser-npm-21.0.0-c8a3b32c52-b2f4c8d12a.zip/node_modules/@types/yargs-parser/",\ + "packageDependencies": [\ + ["@types/yargs-parser", "npm:21.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/ast", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-ast-npm-1.11.1-623d3d973e-1eee1534ad.zip/node_modules/@webassemblyjs/ast/",\ + "packageDependencies": [\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/helper-numbers", "npm:1.11.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/floating-point-hex-parser", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-floating-point-hex-parser-npm-1.11.1-f8af5c0037-b8efc6fa08.zip/node_modules/@webassemblyjs/floating-point-hex-parser/",\ + "packageDependencies": [\ + ["@webassemblyjs/floating-point-hex-parser", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/helper-api-error", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-api-error-npm-1.11.1-b839d59053-0792813f0e.zip/node_modules/@webassemblyjs/helper-api-error/",\ + "packageDependencies": [\ + ["@webassemblyjs/helper-api-error", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/helper-buffer", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-buffer-npm-1.11.1-6afb1ef4aa-a337ee44b4.zip/node_modules/@webassemblyjs/helper-buffer/",\ + "packageDependencies": [\ + ["@webassemblyjs/helper-buffer", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/helper-numbers", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-numbers-npm-1.11.1-a41f7439eb-44d2905dac.zip/node_modules/@webassemblyjs/helper-numbers/",\ + "packageDependencies": [\ + ["@webassemblyjs/helper-numbers", "npm:1.11.1"],\ + ["@webassemblyjs/floating-point-hex-parser", "npm:1.11.1"],\ + ["@webassemblyjs/helper-api-error", "npm:1.11.1"],\ + ["@xtuc/long", "npm:4.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/helper-wasm-bytecode", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-wasm-bytecode-npm-1.11.1-84f0ee4c30-eac4001131.zip/node_modules/@webassemblyjs/helper-wasm-bytecode/",\ + "packageDependencies": [\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/helper-wasm-section", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-helper-wasm-section-npm-1.11.1-e4e8450b9d-617696cfe8.zip/node_modules/@webassemblyjs/helper-wasm-section/",\ + "packageDependencies": [\ + ["@webassemblyjs/helper-wasm-section", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/helper-buffer", "npm:1.11.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-gen", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/ieee754", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-ieee754-npm-1.11.1-897eb85879-23a0ac02a5.zip/node_modules/@webassemblyjs/ieee754/",\ + "packageDependencies": [\ + ["@webassemblyjs/ieee754", "npm:1.11.1"],\ + ["@xtuc/ieee754", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/leb128", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-leb128-npm-1.11.1-fd9f27673d-33ccc4ade2.zip/node_modules/@webassemblyjs/leb128/",\ + "packageDependencies": [\ + ["@webassemblyjs/leb128", "npm:1.11.1"],\ + ["@xtuc/long", "npm:4.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/utf8", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-utf8-npm-1.11.1-583036e767-972c5cfc76.zip/node_modules/@webassemblyjs/utf8/",\ + "packageDependencies": [\ + ["@webassemblyjs/utf8", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/wasm-edit", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-edit-npm-1.11.1-34565c1e92-6d7d9efaec.zip/node_modules/@webassemblyjs/wasm-edit/",\ + "packageDependencies": [\ + ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/helper-buffer", "npm:1.11.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ + ["@webassemblyjs/helper-wasm-section", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-gen", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-opt", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/wast-printer", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/wasm-gen", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-gen-npm-1.11.1-a6d0b4d37d-1f6921e640.zip/node_modules/@webassemblyjs/wasm-gen/",\ + "packageDependencies": [\ + ["@webassemblyjs/wasm-gen", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ + ["@webassemblyjs/ieee754", "npm:1.11.1"],\ + ["@webassemblyjs/leb128", "npm:1.11.1"],\ + ["@webassemblyjs/utf8", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/wasm-opt", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-opt-npm-1.11.1-0bb73c20b9-21586883a2.zip/node_modules/@webassemblyjs/wasm-opt/",\ + "packageDependencies": [\ + ["@webassemblyjs/wasm-opt", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/helper-buffer", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-gen", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/wasm-parser", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wasm-parser-npm-1.11.1-cd49c51fdc-1521644065.zip/node_modules/@webassemblyjs/wasm-parser/",\ + "packageDependencies": [\ + ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/helper-api-error", "npm:1.11.1"],\ + ["@webassemblyjs/helper-wasm-bytecode", "npm:1.11.1"],\ + ["@webassemblyjs/ieee754", "npm:1.11.1"],\ + ["@webassemblyjs/leb128", "npm:1.11.1"],\ + ["@webassemblyjs/utf8", "npm:1.11.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@webassemblyjs/wast-printer", [\ + ["npm:1.11.1", {\ + "packageLocation": "./.yarn/cache/@webassemblyjs-wast-printer-npm-1.11.1-f1213430d6-f15ae4c244.zip/node_modules/@webassemblyjs/wast-printer/",\ + "packageDependencies": [\ + ["@webassemblyjs/wast-printer", "npm:1.11.1"],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@xtuc/long", "npm:4.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@xtuc/ieee754", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/@xtuc-ieee754-npm-1.2.0-ec0ce4e025-ac56d4ca6e.zip/node_modules/@xtuc/ieee754/",\ + "packageDependencies": [\ + ["@xtuc/ieee754", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@xtuc/long", [\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/@xtuc-long-npm-4.2.2-37236e6d72-8ed0d477ce.zip/node_modules/@xtuc/long/",\ + "packageDependencies": [\ + ["@xtuc/long", "npm:4.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abbrev", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/abbrev-npm-1.1.1-3659247eab-a4a97ec07d.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["accepts", [\ + ["npm:1.3.8", {\ + "packageLocation": "./.yarn/cache/accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip/node_modules/accepts/",\ + "packageDependencies": [\ + ["accepts", "npm:1.3.8"],\ + ["mime-types", "npm:2.1.35"],\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn", [\ + ["npm:8.8.0", {\ + "packageLocation": "./.yarn/cache/acorn-npm-8.8.0-9ef399ab45-7270ca82b2.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-import-assertions", [\ + ["npm:1.8.0", {\ + "packageLocation": "./.yarn/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-5c4cf7c850.zip/node_modules/acorn-import-assertions/",\ + "packageDependencies": [\ + ["acorn-import-assertions", "npm:1.8.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:1.8.0", {\ + "packageLocation": "./.yarn/__virtual__/acorn-import-assertions-virtual-18bab1eb39/0/cache/acorn-import-assertions-npm-1.8.0-e9a9d57e27-5c4cf7c850.zip/node_modules/acorn-import-assertions/",\ + "packageDependencies": [\ + ["acorn-import-assertions", "virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:1.8.0"],\ + ["@types/acorn", null],\ + ["acorn", "npm:8.8.0"]\ + ],\ + "packagePeers": [\ + "@types/acorn",\ + "acorn"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-walk", [\ + ["npm:8.2.0", {\ + "packageLocation": "./.yarn/cache/acorn-walk-npm-8.2.0-2f2cac3177-1715e76c01.zip/node_modules/acorn-walk/",\ + "packageDependencies": [\ + ["acorn-walk", "npm:8.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["address", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/address-npm-1.2.1-e8f7122c11-e4c0f96146.zip/node_modules/address/",\ + "packageDependencies": [\ + ["address", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aes-js", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/aes-js-npm-3.0.0-fdf135c6be-251e26d533.zip/node_modules/aes-js/",\ + "packageDependencies": [\ + ["aes-js", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agent-base", [\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agentkeepalive", [\ + ["npm:4.5.0", {\ + "packageLocation": "./.yarn/cache/agentkeepalive-npm-4.5.0-f237b580b2-13278cd5b1.zip/node_modules/agentkeepalive/",\ + "packageDependencies": [\ + ["agentkeepalive", "npm:4.5.0"],\ + ["humanize-ms", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aggregate-error", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/aggregate-error-npm-3.1.0-415a406f4e-1101a33f21.zip/node_modules/aggregate-error/",\ + "packageDependencies": [\ + ["aggregate-error", "npm:3.1.0"],\ + ["clean-stack", "npm:2.2.0"],\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv", [\ + ["npm:6.12.6", {\ + "packageLocation": "./.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:6.12.6"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["json-schema-traverse", "npm:0.4.1"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.11.0", {\ + "packageLocation": "./.yarn/cache/ajv-npm-8.11.0-83d029789c-5e0ff22680.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:8.11.0"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["json-schema-traverse", "npm:1.0.0"],\ + ["require-from-string", "npm:2.0.2"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv-formats", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/ajv-formats-npm-2.1.1-3cec02eae9-4a287d937f.zip/node_modules/ajv-formats/",\ + "packageDependencies": [\ + ["ajv-formats", "npm:2.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4b7d8bb1684f7f69bf042a03dae4d118ab00edf0e34f409e5270fb3cce9e5fcf8ce9581b8f5bc8597c1e50c52a23eba5d4eadeede8c58ab0be3187e2389e11d5#npm:2.1.1", {\ + "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-967e01a5f8/0/cache/ajv-formats-npm-2.1.1-3cec02eae9-4a287d937f.zip/node_modules/ajv-formats/",\ + "packageDependencies": [\ + ["ajv-formats", "virtual:4b7d8bb1684f7f69bf042a03dae4d118ab00edf0e34f409e5270fb3cce9e5fcf8ce9581b8f5bc8597c1e50c52a23eba5d4eadeede8c58ab0be3187e2389e11d5#npm:2.1.1"],\ + ["@types/ajv", null],\ + ["ajv", "npm:8.11.0"]\ + ],\ + "packagePeers": [\ + "@types/ajv",\ + "ajv"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv-keywords", [\ + ["npm:3.5.2", {\ + "packageLocation": "./.yarn/cache/ajv-keywords-npm-3.5.2-0e391b70e2-7dc5e59316.zip/node_modules/ajv-keywords/",\ + "packageDependencies": [\ + ["ajv-keywords", "npm:3.5.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/ajv-keywords-npm-5.1.0-ee670a3944-c35193940b.zip/node_modules/ajv-keywords/",\ + "packageDependencies": [\ + ["ajv-keywords", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4b7d8bb1684f7f69bf042a03dae4d118ab00edf0e34f409e5270fb3cce9e5fcf8ce9581b8f5bc8597c1e50c52a23eba5d4eadeede8c58ab0be3187e2389e11d5#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/ajv-keywords-virtual-78d583bce9/0/cache/ajv-keywords-npm-5.1.0-ee670a3944-c35193940b.zip/node_modules/ajv-keywords/",\ + "packageDependencies": [\ + ["ajv-keywords", "virtual:4b7d8bb1684f7f69bf042a03dae4d118ab00edf0e34f409e5270fb3cce9e5fcf8ce9581b8f5bc8597c1e50c52a23eba5d4eadeede8c58ab0be3187e2389e11d5#npm:5.1.0"],\ + ["@types/ajv", null],\ + ["ajv", "npm:8.11.0"],\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "packagePeers": [\ + "@types/ajv",\ + "ajv"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2", {\ + "packageLocation": "./.yarn/__virtual__/ajv-keywords-virtual-8b373d3ee8/0/cache/ajv-keywords-npm-3.5.2-0e391b70e2-7dc5e59316.zip/node_modules/ajv-keywords/",\ + "packageDependencies": [\ + ["ajv-keywords", "virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2"],\ + ["@types/ajv", null],\ + ["ajv", "npm:6.12.6"]\ + ],\ + "packagePeers": [\ + "@types/ajv",\ + "ajv"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["algoliasearch", [\ + ["npm:4.14.2", {\ + "packageLocation": "./.yarn/cache/algoliasearch-npm-4.14.2-df3332ab38-4365a0d0f0.zip/node_modules/algoliasearch/",\ + "packageDependencies": [\ + ["algoliasearch", "npm:4.14.2"],\ + ["@algolia/cache-browser-local-storage", "npm:4.14.2"],\ + ["@algolia/cache-common", "npm:4.14.2"],\ + ["@algolia/cache-in-memory", "npm:4.14.2"],\ + ["@algolia/client-account", "npm:4.14.2"],\ + ["@algolia/client-analytics", "npm:4.14.2"],\ + ["@algolia/client-common", "npm:4.14.2"],\ + ["@algolia/client-personalization", "npm:4.14.2"],\ + ["@algolia/client-search", "npm:4.14.2"],\ + ["@algolia/logger-common", "npm:4.14.2"],\ + ["@algolia/logger-console", "npm:4.14.2"],\ + ["@algolia/requester-browser-xhr", "npm:4.14.2"],\ + ["@algolia/requester-common", "npm:4.14.2"],\ + ["@algolia/requester-node-http", "npm:4.14.2"],\ + ["@algolia/transporter", "npm:4.14.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["algoliasearch-helper", [\ + ["npm:3.11.1", {\ + "packageLocation": "./.yarn/cache/algoliasearch-helper-npm-3.11.1-1cc35e5b35-207616ca45.zip/node_modules/algoliasearch-helper/",\ + "packageDependencies": [\ + ["algoliasearch-helper", "npm:3.11.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:5d70309838d983cdc317e33ff8cce2992bc6591fc8e566b8dadba97be3a4807c6c97e735a6880d6918a0fc2ced13a148e0cf3630c95279012ca6cd7d298c5b5d#npm:3.11.1", {\ + "packageLocation": "./.yarn/__virtual__/algoliasearch-helper-virtual-e79470a8f0/0/cache/algoliasearch-helper-npm-3.11.1-1cc35e5b35-207616ca45.zip/node_modules/algoliasearch-helper/",\ + "packageDependencies": [\ + ["algoliasearch-helper", "virtual:5d70309838d983cdc317e33ff8cce2992bc6591fc8e566b8dadba97be3a4807c6c97e735a6880d6918a0fc2ced13a148e0cf3630c95279012ca6cd7d298c5b5d#npm:3.11.1"],\ + ["@algolia/events", "npm:4.0.1"],\ + ["@types/algoliasearch", null],\ + ["algoliasearch", "npm:4.14.2"]\ + ],\ + "packagePeers": [\ + "@types/algoliasearch",\ + "algoliasearch"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-align", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/ansi-align-npm-3.0.1-8e6288d20a-6abfa08f21.zip/node_modules/ansi-align/",\ + "packageDependencies": [\ + ["ansi-align", "npm:3.0.1"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-html-community", [\ + ["npm:0.0.8", {\ + "packageLocation": "./.yarn/cache/ansi-html-community-npm-0.0.8-5eaef55f1b-04c568e834.zip/node_modules/ansi-html-community/",\ + "packageDependencies": [\ + ["ansi-html-community", "npm:0.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-regex", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/ansi-regex-npm-6.0.1-8d663a607d-1ff8b7667c.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-styles", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-d85ade01c1.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:3.2.1"],\ + ["color-convert", "npm:1.9.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:4.3.0"],\ + ["color-convert", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "./.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-ef940f2f0c.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["anymatch", [\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/anymatch-npm-3.1.2-1d5471acfa-985163db22.zip/node_modules/anymatch/",\ + "packageDependencies": [\ + ["anymatch", "npm:3.1.2"],\ + ["normalize-path", "npm:3.0.0"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["apg-js", [\ + ["npm:4.1.3", {\ + "packageLocation": "./.yarn/cache/apg-js-npm-4.1.3-70ea94c283-fa815838fc.zip/node_modules/apg-js/",\ + "packageDependencies": [\ + ["apg-js", "npm:4.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aproba", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/aproba-npm-2.0.0-8716bcfde6-5615cadcfb.zip/node_modules/aproba/",\ + "packageDependencies": [\ + ["aproba", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["are-we-there-yet", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/are-we-there-yet-npm-3.0.1-3395b1512f-52590c2486.zip/node_modules/are-we-there-yet/",\ + "packageDependencies": [\ + ["are-we-there-yet", "npm:3.0.1"],\ + ["delegates", "npm:1.0.0"],\ + ["readable-stream", "npm:3.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arg", [\ + ["npm:5.0.2", {\ + "packageLocation": "./.yarn/cache/arg-npm-5.0.2-2f5805a547-6c69ada1a9.zip/node_modules/arg/",\ + "packageDependencies": [\ + ["arg", "npm:5.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["argparse", [\ + ["npm:1.0.10", {\ + "packageLocation": "./.yarn/cache/argparse-npm-1.0.10-528934e59d-7ca6e45583.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:1.0.10"],\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/argparse-npm-2.0.1-faff7999e6-83644b5649.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-flatten", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/array-flatten-npm-1.1.1-9d94ad5f1d-a9925bf351.zip/node_modules/array-flatten/",\ + "packageDependencies": [\ + ["array-flatten", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/array-flatten-npm-2.1.2-0223106268-e8988aac1f.zip/node_modules/array-flatten/",\ + "packageDependencies": [\ + ["array-flatten", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-union", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip/node_modules/array-union/",\ + "packageDependencies": [\ + ["array-union", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array.prototype.reduce", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/array.prototype.reduce-npm-1.0.4-ab4d2ed3f3-6a57a1a2d3.zip/node_modules/array.prototype.reduce/",\ + "packageDependencies": [\ + ["array.prototype.reduce", "npm:1.0.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"],\ + ["es-array-method-boxes-properly", "npm:1.0.0"],\ + ["is-string", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["asap", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/asap-npm-2.0.6-36714d439d-b296c92c4b.zip/node_modules/asap/",\ + "packageDependencies": [\ + ["asap", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["at-least-node", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/at-least-node-npm-1.0.0-2b36e661fa-463e2f8e43.zip/node_modules/at-least-node/",\ + "packageDependencies": [\ + ["at-least-node", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["autoprefixer", [\ + ["npm:10.4.12", {\ + "packageLocation": "./.yarn/cache/autoprefixer-npm-10.4.12-e87232197d-6ae79cbacd.zip/node_modules/autoprefixer/",\ + "packageDependencies": [\ + ["autoprefixer", "npm:10.4.12"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:10.4.12", {\ + "packageLocation": "./.yarn/__virtual__/autoprefixer-virtual-66fe3e53b4/0/cache/autoprefixer-npm-10.4.12-e87232197d-6ae79cbacd.zip/node_modules/autoprefixer/",\ + "packageDependencies": [\ + ["autoprefixer", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:10.4.12"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["caniuse-lite", "npm:1.0.30001420"],\ + ["fraction.js", "npm:4.2.0"],\ + ["normalize-range", "npm:0.1.2"],\ + ["picocolors", "npm:1.0.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["axios", [\ + ["npm:0.25.0", {\ + "packageLocation": "./.yarn/cache/axios-npm-0.25.0-a1c287d287-2a8a3787c0.zip/node_modules/axios/",\ + "packageDependencies": [\ + ["axios", "npm:0.25.0"],\ + ["follow-redirects", "virtual:a1c287d287cceec925a9c0ff143359f3710be8008f8559da00a15e4d93f76849e9493b8b7760d073ae605ea56d1482d54174c007b28cbf6b38332d152576190f#npm:1.15.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-loader", [\ + ["npm:8.2.5", {\ + "packageLocation": "./.yarn/cache/babel-loader-npm-8.2.5-e749e26bb5-a660555788.zip/node_modules/babel-loader/",\ + "packageDependencies": [\ + ["babel-loader", "npm:8.2.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:8.2.5", {\ + "packageLocation": "./.yarn/__virtual__/babel-loader-virtual-b856a031dc/0/cache/babel-loader-npm-8.2.5-e749e26bb5-a660555788.zip/node_modules/babel-loader/",\ + "packageDependencies": [\ + ["babel-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:8.2.5"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@types/babel__core", null],\ + ["@types/webpack", null],\ + ["find-cache-dir", "npm:3.3.2"],\ + ["loader-utils", "npm:2.0.2"],\ + ["make-dir", "npm:3.1.0"],\ + ["schema-utils", "npm:2.7.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core",\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-apply-mdx-type-prop", [\ + ["npm:1.6.22", {\ + "packageLocation": "./.yarn/cache/babel-plugin-apply-mdx-type-prop-npm-1.6.22-d30c1623e3-43e2100164.zip/node_modules/babel-plugin-apply-mdx-type-prop/",\ + "packageDependencies": [\ + ["babel-plugin-apply-mdx-type-prop", "npm:1.6.22"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:ba5aaf406b89f66130202033a970328dfa310231cacf02f7bdc59e8a60b63d4cafd4215b4a79f400f5c4d2a94b6b21a3ed821072bb70361f1d6cdff271851c1a#npm:1.6.22", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-apply-mdx-type-prop-virtual-77b4817976/0/cache/babel-plugin-apply-mdx-type-prop-npm-1.6.22-d30c1623e3-43e2100164.zip/node_modules/babel-plugin-apply-mdx-type-prop/",\ + "packageDependencies": [\ + ["babel-plugin-apply-mdx-type-prop", "virtual:ba5aaf406b89f66130202033a970328dfa310231cacf02f7bdc59e8a60b63d4cafd4215b4a79f400f5c4d2a94b6b21a3ed821072bb70361f1d6cdff271851c1a#npm:1.6.22"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/helper-plugin-utils", "npm:7.10.4"],\ + ["@mdx-js/util", "npm:1.6.22"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-dynamic-import-node", [\ + ["npm:2.3.3", {\ + "packageLocation": "./.yarn/cache/babel-plugin-dynamic-import-node-npm-2.3.3-be081936a9-c9d24415bc.zip/node_modules/babel-plugin-dynamic-import-node/",\ + "packageDependencies": [\ + ["babel-plugin-dynamic-import-node", "npm:2.3.3"],\ + ["object.assign", "npm:4.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-extract-import-names", [\ + ["npm:1.6.22", {\ + "packageLocation": "./.yarn/cache/babel-plugin-extract-import-names-npm-1.6.22-5c9be6cf13-145ccf09c9.zip/node_modules/babel-plugin-extract-import-names/",\ + "packageDependencies": [\ + ["babel-plugin-extract-import-names", "npm:1.6.22"],\ + ["@babel/helper-plugin-utils", "npm:7.10.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs2", [\ + ["npm:0.3.3", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs2-npm-0.3.3-374b04c5be-7db3044993.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "npm:0.3.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.3.3", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs2-virtual-673fcb2b19/0/cache/babel-plugin-polyfill-corejs2-npm-0.3.3-374b04c5be-7db3044993.zip/node_modules/babel-plugin-polyfill-corejs2/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs2", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.3.3"],\ + ["@babel/compat-data", "npm:7.21.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-define-polyfill-provider", "virtual:673fcb2b193747a2fb72576cd76b63144f907bdcfdaaaf8a026c7600eb0d1096d2c603fd0292f716a1503184f51b309bd065fc68355da7d5bcf4ea1d18fc94e2#npm:0.3.3"],\ + ["@types/babel__core", null],\ + ["semver", "npm:6.3.0"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-corejs3", [\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-corejs3-npm-0.6.0-2d0edf85b8-470bb8c59f.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "npm:0.6.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.6.0", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-corejs3-virtual-bd18ac5849/0/cache/babel-plugin-polyfill-corejs3-npm-0.6.0-2d0edf85b8-470bb8c59f.zip/node_modules/babel-plugin-polyfill-corejs3/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-corejs3", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.6.0"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-define-polyfill-provider", "virtual:673fcb2b193747a2fb72576cd76b63144f907bdcfdaaaf8a026c7600eb0d1096d2c603fd0292f716a1503184f51b309bd065fc68355da7d5bcf4ea1d18fc94e2#npm:0.3.3"],\ + ["@types/babel__core", null],\ + ["core-js-compat", "npm:3.25.5"]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["babel-plugin-polyfill-regenerator", [\ + ["npm:0.4.1", {\ + "packageLocation": "./.yarn/cache/babel-plugin-polyfill-regenerator-npm-0.4.1-f2ab3efe27-ab0355efba.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "npm:0.4.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.4.1", {\ + "packageLocation": "./.yarn/__virtual__/babel-plugin-polyfill-regenerator-virtual-413ee7a995/0/cache/babel-plugin-polyfill-regenerator-npm-0.4.1-f2ab3efe27-ab0355efba.zip/node_modules/babel-plugin-polyfill-regenerator/",\ + "packageDependencies": [\ + ["babel-plugin-polyfill-regenerator", "virtual:abbede386b59b05fa75ddc5bfd5d6060f13ce5b3f30301368c40f0d3dd7393ff5c28e028e764d54baa545a9237f8e4212102b6322c843a5004f9dd1d496d9182#npm:0.4.1"],\ + ["@babel/core", "npm:7.21.3"],\ + ["@babel/helper-define-polyfill-provider", "virtual:673fcb2b193747a2fb72576cd76b63144f907bdcfdaaaf8a026c7600eb0d1096d2c603fd0292f716a1503184f51b309bd065fc68355da7d5bcf4ea1d18fc94e2#npm:0.3.3"],\ + ["@types/babel__core", null]\ + ],\ + "packagePeers": [\ + "@babel/core",\ + "@types/babel__core"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bail", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/bail-npm-1.0.5-2d4ac89442-6c334940d7.zip/node_modules/bail/",\ + "packageDependencies": [\ + ["bail", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["balanced-match", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip/node_modules/balanced-match/",\ + "packageDependencies": [\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["base16", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/base16-npm-1.0.0-8525ba5e40-0cd449a2db.zip/node_modules/base16/",\ + "packageDependencies": [\ + ["base16", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["batch", [\ + ["npm:0.6.1", {\ + "packageLocation": "./.yarn/cache/batch-npm-0.6.1-70e2e81169-61f9934c73.zip/node_modules/batch/",\ + "packageDependencies": [\ + ["batch", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bech32", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/bech32-npm-1.1.4-87b69922f7-0e98db6191.zip/node_modules/bech32/",\ + "packageDependencies": [\ + ["bech32", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["big.js", [\ + ["npm:5.2.2", {\ + "packageLocation": "./.yarn/cache/big.js-npm-5.2.2-e147c30820-b89b6e8419.zip/node_modules/big.js/",\ + "packageDependencies": [\ + ["big.js", "npm:5.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["binary-extensions", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/binary-extensions-npm-2.2.0-180c33fec7-ccd267956c.zip/node_modules/binary-extensions/",\ + "packageDependencies": [\ + ["binary-extensions", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bn.js", [\ + ["npm:4.12.0", {\ + "packageLocation": "./.yarn/cache/bn.js-npm-4.12.0-3ec6c884f6-39afb4f15f.zip/node_modules/bn.js/",\ + "packageDependencies": [\ + ["bn.js", "npm:4.12.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/bn.js-npm-5.2.1-dc952b1965-3dd8c8d380.zip/node_modules/bn.js/",\ + "packageDependencies": [\ + ["bn.js", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["body-parser", [\ + ["npm:1.20.1", {\ + "packageLocation": "./.yarn/cache/body-parser-npm-1.20.1-759fd14db9-f1050dbac3.zip/node_modules/body-parser/",\ + "packageDependencies": [\ + ["body-parser", "npm:1.20.1"],\ + ["bytes", "npm:3.1.2"],\ + ["content-type", "npm:1.0.4"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["destroy", "npm:1.2.0"],\ + ["http-errors", "npm:2.0.0"],\ + ["iconv-lite", "npm:0.4.24"],\ + ["on-finished", "npm:2.4.1"],\ + ["qs", "npm:6.11.0"],\ + ["raw-body", "npm:2.5.1"],\ + ["type-is", "npm:1.6.18"],\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bonjour-service", [\ + ["npm:1.0.14", {\ + "packageLocation": "./.yarn/cache/bonjour-service-npm-1.0.14-42da5d049d-4a825bbf18.zip/node_modules/bonjour-service/",\ + "packageDependencies": [\ + ["bonjour-service", "npm:1.0.14"],\ + ["array-flatten", "npm:2.1.2"],\ + ["dns-equal", "npm:1.0.0"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["multicast-dns", "npm:7.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["boolbase", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/boolbase-npm-1.0.0-965fe9af6d-3e25c80ef6.zip/node_modules/boolbase/",\ + "packageDependencies": [\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["boxen", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/boxen-npm-5.1.2-364ee34f2f-82d03e42a7.zip/node_modules/boxen/",\ + "packageDependencies": [\ + ["boxen", "npm:5.1.2"],\ + ["ansi-align", "npm:3.0.1"],\ + ["camelcase", "npm:6.3.0"],\ + ["chalk", "npm:4.1.2"],\ + ["cli-boxes", "npm:2.2.1"],\ + ["string-width", "npm:4.2.3"],\ + ["type-fest", "npm:0.20.2"],\ + ["widest-line", "npm:3.1.0"],\ + ["wrap-ansi", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "./.yarn/cache/boxen-npm-6.2.1-7c992b86cc-2b3226092f.zip/node_modules/boxen/",\ + "packageDependencies": [\ + ["boxen", "npm:6.2.1"],\ + ["ansi-align", "npm:3.0.1"],\ + ["camelcase", "npm:6.3.0"],\ + ["chalk", "npm:4.1.2"],\ + ["cli-boxes", "npm:3.0.0"],\ + ["string-width", "npm:5.1.2"],\ + ["type-fest", "npm:2.19.0"],\ + ["widest-line", "npm:4.0.1"],\ + ["wrap-ansi", "npm:8.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brace-expansion", [\ + ["npm:1.1.11", {\ + "packageLocation": "./.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:1.1.11"],\ + ["balanced-match", "npm:1.0.2"],\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["braces", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-e2a8e769a8.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.2"],\ + ["fill-range", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brorand", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/brorand-npm-1.1.0-ea86634c4b-8a05c9f3c4.zip/node_modules/brorand/",\ + "packageDependencies": [\ + ["brorand", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["browserslist", [\ + ["npm:4.21.4", {\ + "packageLocation": "./.yarn/cache/browserslist-npm-4.21.4-7d64a96afc-4af3793704.zip/node_modules/browserslist/",\ + "packageDependencies": [\ + ["browserslist", "npm:4.21.4"],\ + ["caniuse-lite", "npm:1.0.30001420"],\ + ["electron-to-chromium", "npm:1.4.284"],\ + ["node-releases", "npm:2.0.6"],\ + ["update-browserslist-db", "virtual:7d64a96afc8cf9b31b95951ccc2f47931d0cf97faa526fd0d20448bf2c73ddf9f5ef9e5cd28839ae8b5791451df45079a407b3f4978367b4210748169f5848f6#npm:1.0.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-from", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/buffer-from-npm-1.1.2-03d2f20d7e-0448524a56.zip/node_modules/buffer-from/",\ + "packageDependencies": [\ + ["buffer-from", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bytes", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/bytes-npm-3.0.0-19be09472d-a2b386dd81.zip/node_modules/bytes/",\ + "packageDependencies": [\ + ["bytes", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/bytes-npm-3.1.2-28b8643004-e4bcd3948d.zip/node_modules/bytes/",\ + "packageDependencies": [\ + ["bytes", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:17.1.4", {\ + "packageLocation": "./.yarn/cache/cacache-npm-17.1.4-51ef53d0a8-b7751df756.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:17.1.4"],\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["fs-minipass", "npm:3.0.3"],\ + ["glob", "npm:10.3.10"],\ + ["lru-cache", "npm:7.18.3"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["p-map", "npm:4.0.0"],\ + ["ssri", "npm:10.0.5"],\ + ["tar", "npm:6.2.0"],\ + ["unique-filename", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacheable-request", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/cacheable-request-npm-6.1.0-684b834873-b510b237b1.zip/node_modules/cacheable-request/",\ + "packageDependencies": [\ + ["cacheable-request", "npm:6.1.0"],\ + ["clone-response", "npm:1.0.3"],\ + ["get-stream", "npm:5.2.0"],\ + ["http-cache-semantics", "npm:4.1.0"],\ + ["keyv", "npm:3.1.0"],\ + ["lowercase-keys", "npm:2.0.0"],\ + ["normalize-url", "npm:4.5.1"],\ + ["responselike", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["call-bind", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/call-bind-npm-1.0.2-c957124861-f8e31de9d1.zip/node_modules/call-bind/",\ + "packageDependencies": [\ + ["call-bind", "npm:1.0.2"],\ + ["function-bind", "npm:1.1.1"],\ + ["get-intrinsic", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["callsites", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip/node_modules/callsites/",\ + "packageDependencies": [\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["camel-case", [\ + ["npm:4.1.2", {\ + "packageLocation": "./.yarn/cache/camel-case-npm-4.1.2-082bf67a9a-bcbd25cd25.zip/node_modules/camel-case/",\ + "packageDependencies": [\ + ["camel-case", "npm:4.1.2"],\ + ["pascal-case", "npm:3.1.2"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["camelcase", [\ + ["npm:6.3.0", {\ + "packageLocation": "./.yarn/cache/camelcase-npm-6.3.0-e5e42a0d15-8c96818a90.zip/node_modules/camelcase/",\ + "packageDependencies": [\ + ["camelcase", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["camelcase-css", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/camelcase-css-npm-2.0.1-90d1b6df08-1cec2b3b3d.zip/node_modules/camelcase-css/",\ + "packageDependencies": [\ + ["camelcase-css", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["caniuse-api", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/caniuse-api-npm-3.0.0-1272c2981e-db2a229383.zip/node_modules/caniuse-api/",\ + "packageDependencies": [\ + ["caniuse-api", "npm:3.0.0"],\ + ["browserslist", "npm:4.21.4"],\ + ["caniuse-lite", "npm:1.0.30001420"],\ + ["lodash.memoize", "npm:4.1.2"],\ + ["lodash.uniq", "npm:4.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["caniuse-lite", [\ + ["npm:1.0.30001420", {\ + "packageLocation": "./.yarn/cache/caniuse-lite-npm-1.0.30001420-f322909669-dfa5027b2a.zip/node_modules/caniuse-lite/",\ + "packageDependencies": [\ + ["caniuse-lite", "npm:1.0.30001420"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["canonicalize", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/canonicalize-npm-2.0.0-a4c91ec2bf-541dee6e53.zip/node_modules/canonicalize/",\ + "packageDependencies": [\ + ["canonicalize", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ccount", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/ccount-npm-1.1.0-c87febc594-b335a79d0a.zip/node_modules/ccount/",\ + "packageDependencies": [\ + ["ccount", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chalk", [\ + ["npm:2.4.2", {\ + "packageLocation": "./.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-ec3661d38f.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:2.4.2"],\ + ["ansi-styles", "npm:3.2.1"],\ + ["escape-string-regexp", "npm:1.0.5"],\ + ["supports-color", "npm:5.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.2", {\ + "packageLocation": "./.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:4.1.2"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["character-entities", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/character-entities-npm-1.2.4-a5c359383c-e154571657.zip/node_modules/character-entities/",\ + "packageDependencies": [\ + ["character-entities", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["character-entities-legacy", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/character-entities-legacy-npm-1.1.4-e3e7c8ee55-fe03a82c15.zip/node_modules/character-entities-legacy/",\ + "packageDependencies": [\ + ["character-entities-legacy", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["character-reference-invalid", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/character-reference-invalid-npm-1.1.4-e5e17a1a38-20274574c7.zip/node_modules/character-reference-invalid/",\ + "packageDependencies": [\ + ["character-reference-invalid", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cheerio", [\ + ["npm:1.0.0-rc.12", {\ + "packageLocation": "./.yarn/cache/cheerio-npm-1.0.0-rc.12-6785a97c2a-5d4c1b7a53.zip/node_modules/cheerio/",\ + "packageDependencies": [\ + ["cheerio", "npm:1.0.0-rc.12"],\ + ["cheerio-select", "npm:2.1.0"],\ + ["dom-serializer", "npm:2.0.0"],\ + ["domhandler", "npm:5.0.3"],\ + ["domutils", "npm:3.0.1"],\ + ["htmlparser2", "npm:8.0.1"],\ + ["parse5", "npm:7.1.1"],\ + ["parse5-htmlparser2-tree-adapter", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cheerio-select", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/cheerio-select-npm-2.1.0-e92bc2f296-843d6d4799.zip/node_modules/cheerio-select/",\ + "packageDependencies": [\ + ["cheerio-select", "npm:2.1.0"],\ + ["boolbase", "npm:1.0.0"],\ + ["css-select", "npm:5.1.0"],\ + ["css-what", "npm:6.1.0"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:5.0.3"],\ + ["domutils", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chokidar", [\ + ["npm:3.5.3", {\ + "packageLocation": "./.yarn/cache/chokidar-npm-3.5.3-c5f9b0a56a-b49fcde401.zip/node_modules/chokidar/",\ + "packageDependencies": [\ + ["chokidar", "npm:3.5.3"],\ + ["anymatch", "npm:3.1.2"],\ + ["braces", "npm:3.0.2"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1"],\ + ["glob-parent", "npm:5.1.2"],\ + ["is-binary-path", "npm:2.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["normalize-path", "npm:3.0.0"],\ + ["readdirp", "npm:3.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chownr", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chrome-trace-event", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/chrome-trace-event-npm-1.0.3-e0ae3dcd60-cb8b1fc7e8.zip/node_modules/chrome-trace-event/",\ + "packageDependencies": [\ + ["chrome-trace-event", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ci-info", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ci-info-npm-2.0.0-78012236a1-3b374666a8.zip/node_modules/ci-info/",\ + "packageDependencies": [\ + ["ci-info", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.5.0", {\ + "packageLocation": "./.yarn/cache/ci-info-npm-3.5.0-9f42814be7-7def378970.zip/node_modules/ci-info/",\ + "packageDependencies": [\ + ["ci-info", "npm:3.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clean-css", [\ + ["npm:5.3.1", {\ + "packageLocation": "./.yarn/cache/clean-css-npm-5.3.1-e052e24a9f-860696c605.zip/node_modules/clean-css/",\ + "packageDependencies": [\ + ["clean-css", "npm:5.3.1"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clean-stack", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/clean-stack-npm-2.2.0-a8ce435a5c-2ac8cd2b2f.zip/node_modules/clean-stack/",\ + "packageDependencies": [\ + ["clean-stack", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cli-boxes", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/cli-boxes-npm-2.2.1-7125a5ba44-be79f8ec23.zip/node_modules/cli-boxes/",\ + "packageDependencies": [\ + ["cli-boxes", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/cli-boxes-npm-3.0.0-e5de3a0d5e-637d84419d.zip/node_modules/cli-boxes/",\ + "packageDependencies": [\ + ["cli-boxes", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cli-table3", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/cli-table3-npm-0.6.3-1dca7f9152-09897f6846.zip/node_modules/cli-table3/",\ + "packageDependencies": [\ + ["cli-table3", "npm:0.6.3"],\ + ["@colors/colors", "npm:1.5.0"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clone-deep", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/clone-deep-npm-4.0.1-70adab92c8-770f912fe4.zip/node_modules/clone-deep/",\ + "packageDependencies": [\ + ["clone-deep", "npm:4.0.1"],\ + ["is-plain-object", "npm:2.0.4"],\ + ["kind-of", "npm:6.0.3"],\ + ["shallow-clone", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clone-response", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/clone-response-npm-1.0.3-f71cb6aff5-4e671cac39.zip/node_modules/clone-response/",\ + "packageDependencies": [\ + ["clone-response", "npm:1.0.3"],\ + ["mimic-response", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clsx", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/clsx-npm-1.2.1-77792dc182-30befca801.zip/node_modules/clsx/",\ + "packageDependencies": [\ + ["clsx", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["coa", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/coa-npm-2.0.2-f6033e2e60-44736914aa.zip/node_modules/coa/",\ + "packageDependencies": [\ + ["coa", "npm:2.0.2"],\ + ["@types/q", "npm:1.5.5"],\ + ["chalk", "npm:2.4.2"],\ + ["q", "npm:1.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["collapse-white-space", [\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/collapse-white-space-npm-1.0.6-6fdbf5906f-9673fb7979.zip/node_modules/collapse-white-space/",\ + "packageDependencies": [\ + ["collapse-white-space", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-convert", [\ + ["npm:1.9.3", {\ + "packageLocation": "./.yarn/cache/color-convert-npm-1.9.3-1fe690075e-fd7a64a17c.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:1.9.3"],\ + ["color-name", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:2.0.1"],\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-name", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/color-name-npm-1.1.3-728b7b5d39-09c5d3e33d.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-support", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/color-support-npm-1.1.3-3be5c53455-9b73568176.zip/node_modules/color-support/",\ + "packageDependencies": [\ + ["color-support", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["colord", [\ + ["npm:2.9.3", {\ + "packageLocation": "./.yarn/cache/colord-npm-2.9.3-5c35c27898-95d909bfbc.zip/node_modules/colord/",\ + "packageDependencies": [\ + ["colord", "npm:2.9.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["colorette", [\ + ["npm:2.0.19", {\ + "packageLocation": "./.yarn/cache/colorette-npm-2.0.19-f73dfe6a4e-888cf5493f.zip/node_modules/colorette/",\ + "packageDependencies": [\ + ["colorette", "npm:2.0.19"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["combine-promises", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/combine-promises-npm-1.1.0-6b725f6dbc-23b55f66d5.zip/node_modules/combine-promises/",\ + "packageDependencies": [\ + ["combine-promises", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["comma-separated-tokens", [\ + ["npm:1.0.8", {\ + "packageLocation": "./.yarn/cache/comma-separated-tokens-npm-1.0.8-00dbbf3418-0adcb07174.zip/node_modules/comma-separated-tokens/",\ + "packageDependencies": [\ + ["comma-separated-tokens", "npm:1.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commander", [\ + ["npm:2.20.3", {\ + "packageLocation": "./.yarn/cache/commander-npm-2.20.3-d8dcbaa39b-ab8c07884e.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:2.20.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/commander-npm-5.1.0-7e939e7832-0b7fec1712.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:5.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.0", {\ + "packageLocation": "./.yarn/cache/commander-npm-7.2.0-19178180f8-53501cbeee.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.3.0", {\ + "packageLocation": "./.yarn/cache/commander-npm-8.3.0-c0d18c66d5-0f82321821.zip/node_modules/commander/",\ + "packageDependencies": [\ + ["commander", "npm:8.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["commondir", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/commondir-npm-1.0.1-291b790340-59715f2fc4.zip/node_modules/commondir/",\ + "packageDependencies": [\ + ["commondir", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["compressible", [\ + ["npm:2.0.18", {\ + "packageLocation": "./.yarn/cache/compressible-npm-2.0.18-ee5ab04d88-58321a85b3.zip/node_modules/compressible/",\ + "packageDependencies": [\ + ["compressible", "npm:2.0.18"],\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["compression", [\ + ["npm:1.7.4", {\ + "packageLocation": "./.yarn/cache/compression-npm-1.7.4-e0cd6afa69-35c0f2eb1f.zip/node_modules/compression/",\ + "packageDependencies": [\ + ["compression", "npm:1.7.4"],\ + ["accepts", "npm:1.3.8"],\ + ["bytes", "npm:3.0.0"],\ + ["compressible", "npm:2.0.18"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["on-headers", "npm:1.0.2"],\ + ["safe-buffer", "npm:5.1.2"],\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-map", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip/node_modules/concat-map/",\ + "packageDependencies": [\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["configstore", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/configstore-npm-5.0.1-739433cdc5-60ef65d493.zip/node_modules/configstore/",\ + "packageDependencies": [\ + ["configstore", "npm:5.0.1"],\ + ["dot-prop", "npm:5.3.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["make-dir", "npm:3.1.0"],\ + ["unique-string", "npm:2.0.0"],\ + ["write-file-atomic", "npm:3.0.3"],\ + ["xdg-basedir", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["connect-history-api-fallback", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/connect-history-api-fallback-npm-2.0.0-27b00b1571-dc5368690f.zip/node_modules/connect-history-api-fallback/",\ + "packageDependencies": [\ + ["connect-history-api-fallback", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["consola", [\ + ["npm:2.15.3", {\ + "packageLocation": "./.yarn/cache/consola-npm-2.15.3-7b4cf44fed-8ef7a09b70.zip/node_modules/consola/",\ + "packageDependencies": [\ + ["consola", "npm:2.15.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["console-control-strings", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip/node_modules/console-control-strings/",\ + "packageDependencies": [\ + ["console-control-strings", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["content-disposition", [\ + ["npm:0.5.2", {\ + "packageLocation": "./.yarn/cache/content-disposition-npm-0.5.2-1f3e0caef2-298d7da632.zip/node_modules/content-disposition/",\ + "packageDependencies": [\ + ["content-disposition", "npm:0.5.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.5.4", {\ + "packageLocation": "./.yarn/cache/content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip/node_modules/content-disposition/",\ + "packageDependencies": [\ + ["content-disposition", "npm:0.5.4"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["content-type", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip/node_modules/content-type/",\ + "packageDependencies": [\ + ["content-type", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["convert-source-map", [\ + ["npm:1.9.0", {\ + "packageLocation": "./.yarn/cache/convert-source-map-npm-1.9.0-e294555f4b-dc55a1f28d.zip/node_modules/convert-source-map/",\ + "packageDependencies": [\ + ["convert-source-map", "npm:1.9.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cookie", [\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/cookie-npm-0.5.0-e2d58a161a-1f4bd2ca57.zip/node_modules/cookie/",\ + "packageDependencies": [\ + ["cookie", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cookie-signature", [\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/cookie-signature-npm-1.0.6-93f325f7f0-f4e1b0a98a.zip/node_modules/cookie-signature/",\ + "packageDependencies": [\ + ["cookie-signature", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["copy-text-to-clipboard", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/copy-text-to-clipboard-npm-3.0.1-cf7504b96b-4c301b9a65.zip/node_modules/copy-text-to-clipboard/",\ + "packageDependencies": [\ + ["copy-text-to-clipboard", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["copy-webpack-plugin", [\ + ["npm:11.0.0", {\ + "packageLocation": "./.yarn/cache/copy-webpack-plugin-npm-11.0.0-9a07415855-df4f8743f0.zip/node_modules/copy-webpack-plugin/",\ + "packageDependencies": [\ + ["copy-webpack-plugin", "npm:11.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:11.0.0", {\ + "packageLocation": "./.yarn/__virtual__/copy-webpack-plugin-virtual-788da718c9/0/cache/copy-webpack-plugin-npm-11.0.0-9a07415855-df4f8743f0.zip/node_modules/copy-webpack-plugin/",\ + "packageDependencies": [\ + ["copy-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:11.0.0"],\ + ["@types/webpack", null],\ + ["fast-glob", "npm:3.2.12"],\ + ["glob-parent", "npm:6.0.2"],\ + ["globby", "npm:13.1.2"],\ + ["normalize-path", "npm:3.0.0"],\ + ["schema-utils", "npm:4.0.0"],\ + ["serialize-javascript", "npm:6.0.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js", [\ + ["npm:3.25.5", {\ + "packageLocation": "./.yarn/unplugged/core-js-npm-3.25.5-a4ed2eca5b/node_modules/core-js/",\ + "packageDependencies": [\ + ["core-js", "npm:3.25.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js-compat", [\ + ["npm:3.25.5", {\ + "packageLocation": "./.yarn/cache/core-js-compat-npm-3.25.5-085d444501-30686b750d.zip/node_modules/core-js-compat/",\ + "packageDependencies": [\ + ["core-js-compat", "npm:3.25.5"],\ + ["browserslist", "npm:4.21.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-js-pure", [\ + ["npm:3.25.5", {\ + "packageLocation": "./.yarn/unplugged/core-js-pure-npm-3.25.5-aaaed61bed/node_modules/core-js-pure/",\ + "packageDependencies": [\ + ["core-js-pure", "npm:3.25.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["core-util-is", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/core-util-is-npm-1.0.3-ca74b76c90-9de8597363.zip/node_modules/core-util-is/",\ + "packageDependencies": [\ + ["core-util-is", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cosmiconfig", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/cosmiconfig-npm-6.0.0-cb7d64a2b9-8eed7c854b.zip/node_modules/cosmiconfig/",\ + "packageDependencies": [\ + ["cosmiconfig", "npm:6.0.0"],\ + ["@types/parse-json", "npm:4.0.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["parse-json", "npm:5.2.0"],\ + ["path-type", "npm:4.0.0"],\ + ["yaml", "npm:1.10.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.1", {\ + "packageLocation": "./.yarn/cache/cosmiconfig-npm-7.0.1-dd19ae2403-4be63e7117.zip/node_modules/cosmiconfig/",\ + "packageDependencies": [\ + ["cosmiconfig", "npm:7.0.1"],\ + ["@types/parse-json", "npm:4.0.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["parse-json", "npm:5.2.0"],\ + ["path-type", "npm:4.0.0"],\ + ["yaml", "npm:1.10.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-fetch", [\ + ["npm:3.1.5", {\ + "packageLocation": "./.yarn/cache/cross-fetch-npm-3.1.5-e414995db9-f6b8c6ee3e.zip/node_modules/cross-fetch/",\ + "packageDependencies": [\ + ["cross-fetch", "npm:3.1.5"],\ + ["node-fetch", "virtual:e414995db9c779306e687c7a7c66965e66d0cd7270f6b9fc4f00cc9772c5d50b305ab83e142e0e21dbf10968f7437cbdfcb170d05f4bde68707ac7d0082c9cca#npm:2.6.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-spawn", [\ + ["npm:7.0.3", {\ + "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-671cc7c728.zip/node_modules/cross-spawn/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.3"],\ + ["path-key", "npm:3.1.1"],\ + ["shebang-command", "npm:2.0.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["crypto-random-string", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/crypto-random-string-npm-2.0.0-8ab47992ef-0283879f55.zip/node_modules/crypto-random-string/",\ + "packageDependencies": [\ + ["crypto-random-string", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-declaration-sorter", [\ + ["npm:6.3.1", {\ + "packageLocation": "./.yarn/cache/css-declaration-sorter-npm-6.3.1-06bf8d7c1c-ff0d9989ee.zip/node_modules/css-declaration-sorter/",\ + "packageDependencies": [\ + ["css-declaration-sorter", "npm:6.3.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:6.3.1", {\ + "packageLocation": "./.yarn/__virtual__/css-declaration-sorter-virtual-dda70f5bb1/0/cache/css-declaration-sorter-npm-6.3.1-06bf8d7c1c-ff0d9989ee.zip/node_modules/css-declaration-sorter/",\ + "packageDependencies": [\ + ["css-declaration-sorter", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:6.3.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-loader", [\ + ["npm:6.7.1", {\ + "packageLocation": "./.yarn/cache/css-loader-npm-6.7.1-b93a2de0d4-170fdbc630.zip/node_modules/css-loader/",\ + "packageDependencies": [\ + ["css-loader", "npm:6.7.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:6.7.1", {\ + "packageLocation": "./.yarn/__virtual__/css-loader-virtual-e1fda2488c/0/cache/css-loader-npm-6.7.1-b93a2de0d4-170fdbc630.zip/node_modules/css-loader/",\ + "packageDependencies": [\ + ["css-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:6.7.1"],\ + ["@types/webpack", null],\ + ["icss-utils", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:5.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-modules-extract-imports", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:3.0.0"],\ + ["postcss-modules-local-by-default", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:4.0.0"],\ + ["postcss-modules-scope", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:3.0.0"],\ + ["postcss-modules-values", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:4.0.0"],\ + ["postcss-value-parser", "npm:4.2.0"],\ + ["semver", "npm:7.3.8"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-minimizer-webpack-plugin", [\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/css-minimizer-webpack-plugin-npm-4.2.2-9f9fa02a92-5417e76a44.zip/node_modules/css-minimizer-webpack-plugin/",\ + "packageDependencies": [\ + ["css-minimizer-webpack-plugin", "npm:4.2.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.2.2", {\ + "packageLocation": "./.yarn/__virtual__/css-minimizer-webpack-plugin-virtual-711a1921e0/0/cache/css-minimizer-webpack-plugin-npm-4.2.2-9f9fa02a92-5417e76a44.zip/node_modules/css-minimizer-webpack-plugin/",\ + "packageDependencies": [\ + ["css-minimizer-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.2.2"],\ + ["@parcel/css", null],\ + ["@swc/css", null],\ + ["@types/clean-css", null],\ + ["@types/csso", null],\ + ["@types/esbuild", null],\ + ["@types/lightningcss", null],\ + ["@types/parcel__css", null],\ + ["@types/swc__css", null],\ + ["@types/webpack", null],\ + ["clean-css", "npm:5.3.1"],\ + ["cssnano", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.13"],\ + ["csso", null],\ + ["esbuild", null],\ + ["jest-worker", "npm:29.2.0"],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["schema-utils", "npm:4.0.0"],\ + ["serialize-javascript", "npm:6.0.0"],\ + ["source-map", "npm:0.6.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@parcel/css",\ + "@swc/css",\ + "@types/clean-css",\ + "@types/csso",\ + "@types/esbuild",\ + "@types/lightningcss",\ + "@types/parcel__css",\ + "@types/swc__css",\ + "@types/webpack",\ + "clean-css",\ + "csso",\ + "esbuild",\ + "lightningcss",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-select", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/css-select-npm-2.1.0-c123ed1e29-0c4099910f.zip/node_modules/css-select/",\ + "packageDependencies": [\ + ["css-select", "npm:2.1.0"],\ + ["boolbase", "npm:1.0.0"],\ + ["css-what", "npm:3.4.2"],\ + ["domutils", "npm:1.7.0"],\ + ["nth-check", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/css-select-npm-4.3.0-72f53028ec-d620273683.zip/node_modules/css-select/",\ + "packageDependencies": [\ + ["css-select", "npm:4.3.0"],\ + ["boolbase", "npm:1.0.0"],\ + ["css-what", "npm:6.1.0"],\ + ["domhandler", "npm:4.3.1"],\ + ["domutils", "npm:2.8.0"],\ + ["nth-check", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/css-select-npm-5.1.0-9365a79de5-2772c049b1.zip/node_modules/css-select/",\ + "packageDependencies": [\ + ["css-select", "npm:5.1.0"],\ + ["boolbase", "npm:1.0.0"],\ + ["css-what", "npm:6.1.0"],\ + ["domhandler", "npm:5.0.3"],\ + ["domutils", "npm:3.0.1"],\ + ["nth-check", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-select-base-adapter", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/css-select-base-adapter-npm-0.1.1-5a43b37539-c107e9cfa5.zip/node_modules/css-select-base-adapter/",\ + "packageDependencies": [\ + ["css-select-base-adapter", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-tree", [\ + ["npm:1.0.0-alpha.37", {\ + "packageLocation": "./.yarn/cache/css-tree-npm-1.0.0-alpha.37-0186f4818a-0e419a1388.zip/node_modules/css-tree/",\ + "packageDependencies": [\ + ["css-tree", "npm:1.0.0-alpha.37"],\ + ["mdn-data", "npm:2.0.4"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/css-tree-npm-1.1.3-9c46f35513-79f9b81803.zip/node_modules/css-tree/",\ + "packageDependencies": [\ + ["css-tree", "npm:1.1.3"],\ + ["mdn-data", "npm:2.0.14"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["css-what", [\ + ["npm:3.4.2", {\ + "packageLocation": "./.yarn/cache/css-what-npm-3.4.2-7b91a90423-26bb5ec3ae.zip/node_modules/css-what/",\ + "packageDependencies": [\ + ["css-what", "npm:3.4.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/css-what-npm-6.1.0-57f751efbb-b975e547e1.zip/node_modules/css-what/",\ + "packageDependencies": [\ + ["css-what", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssesc", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/cssesc-npm-3.0.0-15ec56f86f-f8c4ababff.zip/node_modules/cssesc/",\ + "packageDependencies": [\ + ["cssesc", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssnano", [\ + ["npm:5.1.13", {\ + "packageLocation": "./.yarn/cache/cssnano-npm-5.1.13-15b03b6fab-3af0810c98.zip/node_modules/cssnano/",\ + "packageDependencies": [\ + ["cssnano", "npm:5.1.13"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.13", {\ + "packageLocation": "./.yarn/__virtual__/cssnano-virtual-37710cf7d5/0/cache/cssnano-npm-5.1.13-15b03b6fab-3af0810c98.zip/node_modules/cssnano/",\ + "packageDependencies": [\ + ["cssnano", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.13"],\ + ["@types/postcss", null],\ + ["cssnano-preset-default", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.12"],\ + ["lilconfig", "npm:2.0.6"],\ + ["postcss", "npm:8.4.18"],\ + ["yaml", "npm:1.10.2"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssnano-preset-advanced", [\ + ["npm:5.3.8", {\ + "packageLocation": "./.yarn/cache/cssnano-preset-advanced-npm-5.3.8-36f49365c5-ba18332d39.zip/node_modules/cssnano-preset-advanced/",\ + "packageDependencies": [\ + ["cssnano-preset-advanced", "npm:5.3.8"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1a0dadc885f0ca20d0d9fbfe4da9762d2b6b802e20b920d038ec3611a4cf88bb1a2044a0fc293c72d4430bcb0d505ad184aaf62d01523df162f1e4f9fffc0c4#npm:5.3.8", {\ + "packageLocation": "./.yarn/__virtual__/cssnano-preset-advanced-virtual-7bd07da2d6/0/cache/cssnano-preset-advanced-npm-5.3.8-36f49365c5-ba18332d39.zip/node_modules/cssnano-preset-advanced/",\ + "packageDependencies": [\ + ["cssnano-preset-advanced", "virtual:a1a0dadc885f0ca20d0d9fbfe4da9762d2b6b802e20b920d038ec3611a4cf88bb1a2044a0fc293c72d4430bcb0d505ad184aaf62d01523df162f1e4f9fffc0c4#npm:5.3.8"],\ + ["@types/postcss", null],\ + ["autoprefixer", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:10.4.12"],\ + ["cssnano-preset-default", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.12"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-discard-unused", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.0"],\ + ["postcss-merge-idents", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.1"],\ + ["postcss-reduce-idents", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.0"],\ + ["postcss-zindex", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssnano-preset-default", [\ + ["npm:5.2.12", {\ + "packageLocation": "./.yarn/cache/cssnano-preset-default-npm-5.2.12-c625a52141-3d6c05e771.zip/node_modules/cssnano-preset-default/",\ + "packageDependencies": [\ + ["cssnano-preset-default", "npm:5.2.12"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.12", {\ + "packageLocation": "./.yarn/__virtual__/cssnano-preset-default-virtual-40a3371bcc/0/cache/cssnano-preset-default-npm-5.2.12-c625a52141-3d6c05e771.zip/node_modules/cssnano-preset-default/",\ + "packageDependencies": [\ + ["cssnano-preset-default", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.12"],\ + ["@types/postcss", null],\ + ["css-declaration-sorter", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:6.3.1"],\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-calc", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:8.2.4"],\ + ["postcss-colormin", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.3.0"],\ + ["postcss-convert-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2"],\ + ["postcss-discard-comments", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2"],\ + ["postcss-discard-duplicates", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-discard-empty", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["postcss-discard-overridden", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-merge-longhand", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.6"],\ + ["postcss-merge-rules", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2"],\ + ["postcss-minify-font-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-minify-gradients", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["postcss-minify-params", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.3"],\ + ["postcss-minify-selectors", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.2.1"],\ + ["postcss-normalize-charset", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-normalize-display-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-normalize-positions", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["postcss-normalize-repeat-style", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["postcss-normalize-string", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-normalize-timing-functions", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-normalize-unicode", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-normalize-url", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-normalize-whitespace", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["postcss-ordered-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.3"],\ + ["postcss-reduce-initial", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-reduce-transforms", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-svgo", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["postcss-unique-selectors", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cssnano-utils", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/cssnano-utils-npm-3.1.0-b64fb193eb-975c84ce91.zip/node_modules/cssnano-utils/",\ + "packageDependencies": [\ + ["cssnano-utils", "npm:3.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0", {\ + "packageLocation": "./.yarn/__virtual__/cssnano-utils-virtual-81a1999bc5/0/cache/cssnano-utils-npm-3.1.0-b64fb193eb-975c84ce91.zip/node_modules/cssnano-utils/",\ + "packageDependencies": [\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["csso", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/csso-npm-4.2.0-b277db8d71-380ba9663d.zip/node_modules/csso/",\ + "packageDependencies": [\ + ["csso", "npm:4.2.0"],\ + ["css-tree", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["csstype", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/csstype-npm-3.1.1-3857baf48b-1f7b4f5fdd.zip/node_modules/csstype/",\ + "packageDependencies": [\ + ["csstype", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["data-uri-to-buffer", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/data-uri-to-buffer-npm-4.0.1-5c66a78beb-0d0790b67f.zip/node_modules/data-uri-to-buffer/",\ + "packageDependencies": [\ + ["data-uri-to-buffer", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:2.6.9", {\ + "packageLocation": "./.yarn/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:2.6.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:4.3.4", {\ + "packageLocation": "./.yarn/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.3.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-322b621e76/0/cache/debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.0.0"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-e6776a9d7e/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.2"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["decompress-response", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/decompress-response-npm-3.3.0-6e7b6375c3-952552ac3b.zip/node_modules/decompress-response/",\ + "packageDependencies": [\ + ["decompress-response", "npm:3.3.0"],\ + ["mimic-response", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-extend", [\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/deep-extend-npm-0.6.0-e182924219-7be7e5a8d4.zip/node_modules/deep-extend/",\ + "packageDependencies": [\ + ["deep-extend", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deepmerge", [\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/deepmerge-npm-4.2.2-112165ced2-a8c43a1ed8.zip/node_modules/deepmerge/",\ + "packageDependencies": [\ + ["deepmerge", "npm:4.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["default-gateway", [\ + ["npm:6.0.3", {\ + "packageLocation": "./.yarn/cache/default-gateway-npm-6.0.3-d8d9292176-126f8273ec.zip/node_modules/default-gateway/",\ + "packageDependencies": [\ + ["default-gateway", "npm:6.0.3"],\ + ["execa", "npm:5.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["defer-to-connect", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/defer-to-connect-npm-1.1.3-5887885147-9491b301dc.zip/node_modules/defer-to-connect/",\ + "packageDependencies": [\ + ["defer-to-connect", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-lazy-prop", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/define-lazy-prop-npm-2.0.0-bba0cd91a7-0115fdb065.zip/node_modules/define-lazy-prop/",\ + "packageDependencies": [\ + ["define-lazy-prop", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["define-properties", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/define-properties-npm-1.1.4-85ee575655-ce0aef3f9e.zip/node_modules/define-properties/",\ + "packageDependencies": [\ + ["define-properties", "npm:1.1.4"],\ + ["has-property-descriptors", "npm:1.0.0"],\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["del", [\ + ["npm:6.1.1", {\ + "packageLocation": "./.yarn/cache/del-npm-6.1.1-9285f60bfd-563288b73b.zip/node_modules/del/",\ + "packageDependencies": [\ + ["del", "npm:6.1.1"],\ + ["globby", "npm:11.1.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["is-glob", "npm:4.0.3"],\ + ["is-path-cwd", "npm:2.2.0"],\ + ["is-path-inside", "npm:3.0.3"],\ + ["p-map", "npm:4.0.0"],\ + ["rimraf", "npm:3.0.2"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["delegates", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip/node_modules/delegates/",\ + "packageDependencies": [\ + ["delegates", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["depd", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/depd-npm-1.1.2-b0c8414da7-6b406620d2.zip/node_modules/depd/",\ + "packageDependencies": [\ + ["depd", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip/node_modules/depd/",\ + "packageDependencies": [\ + ["depd", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["destroy", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/destroy-npm-1.2.0-6a511802e2-0acb300b74.zip/node_modules/destroy/",\ + "packageDependencies": [\ + ["destroy", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detab", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/detab-npm-2.0.4-f18597ec89-34b077521e.zip/node_modules/detab/",\ + "packageDependencies": [\ + ["detab", "npm:2.0.4"],\ + ["repeat-string", "npm:1.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-node", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/detect-node-npm-2.1.0-e8de0e94f7-832184ec45.zip/node_modules/detect-node/",\ + "packageDependencies": [\ + ["detect-node", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-port", [\ + ["npm:1.5.1", {\ + "packageLocation": "./.yarn/cache/detect-port-npm-1.5.1-fbb9694f69-b48da93404.zip/node_modules/detect-port/",\ + "packageDependencies": [\ + ["detect-port", "npm:1.5.1"],\ + ["address", "npm:1.2.1"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-port-alt", [\ + ["npm:1.1.6", {\ + "packageLocation": "./.yarn/cache/detect-port-alt-npm-1.1.6-013be1149d-9dc37b1fa4.zip/node_modules/detect-port-alt/",\ + "packageDependencies": [\ + ["detect-port-alt", "npm:1.1.6"],\ + ["address", "npm:1.2.1"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dir-glob", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip/node_modules/dir-glob/",\ + "packageDependencies": [\ + ["dir-glob", "npm:3.0.1"],\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dns-equal", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/dns-equal-npm-1.0.0-d83b1d6d4e-a8471ac849.zip/node_modules/dns-equal/",\ + "packageDependencies": [\ + ["dns-equal", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dns-packet", [\ + ["npm:5.4.0", {\ + "packageLocation": "./.yarn/cache/dns-packet-npm-5.4.0-4d0332a163-a169963848.zip/node_modules/dns-packet/",\ + "packageDependencies": [\ + ["dns-packet", "npm:5.4.0"],\ + ["@leichtgewicht/ip-codec", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dom-converter", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/dom-converter-npm-0.2.0-902408f4a0-ea52fe303f.zip/node_modules/dom-converter/",\ + "packageDependencies": [\ + ["dom-converter", "npm:0.2.0"],\ + ["utila", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dom-serializer", [\ + ["npm:0.2.2", {\ + "packageLocation": "./.yarn/cache/dom-serializer-npm-0.2.2-2e24969c0e-376344893e.zip/node_modules/dom-serializer/",\ + "packageDependencies": [\ + ["dom-serializer", "npm:0.2.2"],\ + ["domelementtype", "npm:2.3.0"],\ + ["entities", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/dom-serializer-npm-1.4.1-ebb24349c1-fbb0b01f87.zip/node_modules/dom-serializer/",\ + "packageDependencies": [\ + ["dom-serializer", "npm:1.4.1"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:4.3.1"],\ + ["entities", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/dom-serializer-npm-2.0.0-378ebc7200-cd1810544f.zip/node_modules/dom-serializer/",\ + "packageDependencies": [\ + ["dom-serializer", "npm:2.0.0"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:5.0.3"],\ + ["entities", "npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["domelementtype", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/domelementtype-npm-1.3.1-87c4b5f9f4-7893da4021.zip/node_modules/domelementtype/",\ + "packageDependencies": [\ + ["domelementtype", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.3.0", {\ + "packageLocation": "./.yarn/cache/domelementtype-npm-2.3.0-02de7cbfba-ee837a318f.zip/node_modules/domelementtype/",\ + "packageDependencies": [\ + ["domelementtype", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["domhandler", [\ + ["npm:4.3.1", {\ + "packageLocation": "./.yarn/cache/domhandler-npm-4.3.1-493539c1ca-4c665ceed0.zip/node_modules/domhandler/",\ + "packageDependencies": [\ + ["domhandler", "npm:4.3.1"],\ + ["domelementtype", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.3", {\ + "packageLocation": "./.yarn/cache/domhandler-npm-5.0.3-3ede73dc10-0f58f4a6af.zip/node_modules/domhandler/",\ + "packageDependencies": [\ + ["domhandler", "npm:5.0.3"],\ + ["domelementtype", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["domutils", [\ + ["npm:1.7.0", {\ + "packageLocation": "./.yarn/cache/domutils-npm-1.7.0-7a1529fcfc-f60a725b1f.zip/node_modules/domutils/",\ + "packageDependencies": [\ + ["domutils", "npm:1.7.0"],\ + ["dom-serializer", "npm:0.2.2"],\ + ["domelementtype", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.8.0", {\ + "packageLocation": "./.yarn/cache/domutils-npm-2.8.0-0325139e5c-abf7434315.zip/node_modules/domutils/",\ + "packageDependencies": [\ + ["domutils", "npm:2.8.0"],\ + ["dom-serializer", "npm:1.4.1"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:4.3.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/domutils-npm-3.0.1-7937818218-23aa7a8405.zip/node_modules/domutils/",\ + "packageDependencies": [\ + ["domutils", "npm:3.0.1"],\ + ["dom-serializer", "npm:2.0.0"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:5.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dot-case", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/dot-case-npm-3.0.4-09675b5521-a65e351941.zip/node_modules/dot-case/",\ + "packageDependencies": [\ + ["dot-case", "npm:3.0.4"],\ + ["no-case", "npm:3.0.4"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dot-prop", [\ + ["npm:5.3.0", {\ + "packageLocation": "./.yarn/cache/dot-prop-npm-5.3.0-7bf6ee1eb8-d577579009.zip/node_modules/dot-prop/",\ + "packageDependencies": [\ + ["dot-prop", "npm:5.3.0"],\ + ["is-obj", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dotenv", [\ + ["npm:16.0.3", {\ + "packageLocation": "./.yarn/cache/dotenv-npm-16.0.3-4cc29121dc-afcf03f373.zip/node_modules/dotenv/",\ + "packageDependencies": [\ + ["dotenv", "npm:16.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["duplexer", [\ + ["npm:0.1.2", {\ + "packageLocation": "./.yarn/cache/duplexer-npm-0.1.2-952c810235-62ba61a830.zip/node_modules/duplexer/",\ + "packageDependencies": [\ + ["duplexer", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["duplexer3", [\ + ["npm:0.1.5", {\ + "packageLocation": "./.yarn/cache/duplexer3-npm-0.1.5-343d4ab7e3-e677cb4c48.zip/node_modules/duplexer3/",\ + "packageDependencies": [\ + ["duplexer3", "npm:0.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eastasianwidth", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-7d00d7cd8e.zip/node_modules/eastasianwidth/",\ + "packageDependencies": [\ + ["eastasianwidth", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ee-first", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip/node_modules/ee-first/",\ + "packageDependencies": [\ + ["ee-first", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["electron-to-chromium", [\ + ["npm:1.4.284", {\ + "packageLocation": "./.yarn/cache/electron-to-chromium-npm-1.4.284-2fb881a7ac-be496e9dca.zip/node_modules/electron-to-chromium/",\ + "packageDependencies": [\ + ["electron-to-chromium", "npm:1.4.284"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["elliptic", [\ + ["npm:6.5.4", {\ + "packageLocation": "./.yarn/cache/elliptic-npm-6.5.4-0ca8204a86-d56d21fd04.zip/node_modules/elliptic/",\ + "packageDependencies": [\ + ["elliptic", "npm:6.5.4"],\ + ["bn.js", "npm:4.12.0"],\ + ["brorand", "npm:1.1.0"],\ + ["hash.js", "npm:1.1.7"],\ + ["hmac-drbg", "npm:1.0.1"],\ + ["inherits", "npm:2.0.4"],\ + ["minimalistic-assert", "npm:1.0.1"],\ + ["minimalistic-crypto-utils", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "./.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "./.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-8487182da7.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:9.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emojis-list", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/emojis-list-npm-3.0.0-7faa48e6fd-ddaaa02542.zip/node_modules/emojis-list/",\ + "packageDependencies": [\ + ["emojis-list", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoticon", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/emoticon-npm-3.2.0-269c6d30c8-f30649d18b.zip/node_modules/emoticon/",\ + "packageDependencies": [\ + ["emoticon", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encodeurl", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/encodeurl-npm-1.0.2-f8c8454c41-e50e3d508c.zip/node_modules/encodeurl/",\ + "packageDependencies": [\ + ["encodeurl", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "./.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["end-of-stream", [\ + ["npm:1.4.4", {\ + "packageLocation": "./.yarn/cache/end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip/node_modules/end-of-stream/",\ + "packageDependencies": [\ + ["end-of-stream", "npm:1.4.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["enhanced-resolve", [\ + ["npm:5.10.0", {\ + "packageLocation": "./.yarn/cache/enhanced-resolve-npm-5.10.0-7941304306-0bb9830704.zip/node_modules/enhanced-resolve/",\ + "packageDependencies": [\ + ["enhanced-resolve", "npm:5.10.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["tapable", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["entities", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/entities-npm-2.2.0-0fc8d5b2f7-19010dacaf.zip/node_modules/entities/",\ + "packageDependencies": [\ + ["entities", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.4.0", {\ + "packageLocation": "./.yarn/cache/entities-npm-4.4.0-97635dc5cc-84d250329f.zip/node_modules/entities/",\ + "packageDependencies": [\ + ["entities", "npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-8b7b1be20d.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["error-ex", [\ + ["npm:1.3.2", {\ + "packageLocation": "./.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-c1c2b8b65f.zip/node_modules/error-ex/",\ + "packageDependencies": [\ + ["error-ex", "npm:1.3.2"],\ + ["is-arrayish", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-abstract", [\ + ["npm:1.20.4", {\ + "packageLocation": "./.yarn/cache/es-abstract-npm-1.20.4-543318afab-89297cc785.zip/node_modules/es-abstract/",\ + "packageDependencies": [\ + ["es-abstract", "npm:1.20.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["es-to-primitive", "npm:1.2.1"],\ + ["function-bind", "npm:1.1.1"],\ + ["function.prototype.name", "npm:1.1.5"],\ + ["get-intrinsic", "npm:1.1.3"],\ + ["get-symbol-description", "npm:1.0.0"],\ + ["has", "npm:1.0.3"],\ + ["has-property-descriptors", "npm:1.0.0"],\ + ["has-symbols", "npm:1.0.3"],\ + ["internal-slot", "npm:1.0.3"],\ + ["is-callable", "npm:1.2.7"],\ + ["is-negative-zero", "npm:2.0.2"],\ + ["is-regex", "npm:1.1.4"],\ + ["is-shared-array-buffer", "npm:1.0.2"],\ + ["is-string", "npm:1.0.7"],\ + ["is-weakref", "npm:1.0.2"],\ + ["object-inspect", "npm:1.12.2"],\ + ["object-keys", "npm:1.1.1"],\ + ["object.assign", "npm:4.1.4"],\ + ["regexp.prototype.flags", "npm:1.4.3"],\ + ["safe-regex-test", "npm:1.0.0"],\ + ["string.prototype.trimend", "npm:1.0.5"],\ + ["string.prototype.trimstart", "npm:1.0.5"],\ + ["unbox-primitive", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-array-method-boxes-properly", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/es-array-method-boxes-properly-npm-1.0.0-d4bc728109-2537fcd1ce.zip/node_modules/es-array-method-boxes-properly/",\ + "packageDependencies": [\ + ["es-array-method-boxes-properly", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-module-lexer", [\ + ["npm:0.9.3", {\ + "packageLocation": "./.yarn/cache/es-module-lexer-npm-0.9.3-ff6236dadb-84bbab23c3.zip/node_modules/es-module-lexer/",\ + "packageDependencies": [\ + ["es-module-lexer", "npm:0.9.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es-to-primitive", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/es-to-primitive-npm-1.2.1-b7a7eac6c5-4ead6671a2.zip/node_modules/es-to-primitive/",\ + "packageDependencies": [\ + ["es-to-primitive", "npm:1.2.1"],\ + ["is-callable", "npm:1.2.7"],\ + ["is-date-object", "npm:1.0.5"],\ + ["is-symbol", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escalade", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/escalade-npm-3.1.1-e02da076aa-a3e2a99f07.zip/node_modules/escalade/",\ + "packageDependencies": [\ + ["escalade", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-goat", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/escape-goat-npm-2.1.1-2e437cf3fe-ce05c70c20.zip/node_modules/escape-goat/",\ + "packageDependencies": [\ + ["escape-goat", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-html", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/escape-html-npm-1.0.3-376c22ee74-6213ca9ae0.zip/node_modules/escape-html/",\ + "packageDependencies": [\ + ["escape-html", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-string-regexp", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-scope", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/eslint-scope-npm-5.1.1-71fe59b18a-47e4b6a3f0.zip/node_modules/eslint-scope/",\ + "packageDependencies": [\ + ["eslint-scope", "npm:5.1.1"],\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:4.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esprima", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/esprima-npm-4.0.1-1084e98778-b45bc805a6.zip/node_modules/esprima/",\ + "packageDependencies": [\ + ["esprima", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esrecurse", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-ebc17b1a33.zip/node_modules/esrecurse/",\ + "packageDependencies": [\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estraverse", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/estraverse-npm-4.3.0-920a32f3c6-a6299491f9.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:4.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.3.0", {\ + "packageLocation": "./.yarn/cache/estraverse-npm-5.3.0-03284f8f63-072780882d.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esutils", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/esutils-npm-2.0.3-f865beafd5-22b5b08f74.zip/node_modules/esutils/",\ + "packageDependencies": [\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eta", [\ + ["npm:1.12.3", {\ + "packageLocation": "./.yarn/cache/eta-npm-1.12.3-0703b1e979-390c1cd320.zip/node_modules/eta/",\ + "packageDependencies": [\ + ["eta", "npm:1.12.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["etag", [\ + ["npm:1.8.1", {\ + "packageLocation": "./.yarn/cache/etag-npm-1.8.1-54a3b989d9-571aeb3dbe.zip/node_modules/etag/",\ + "packageDependencies": [\ + ["etag", "npm:1.8.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ethers", [\ + ["npm:5.7.2", {\ + "packageLocation": "./.yarn/cache/ethers-npm-5.7.2-eba7d781ee-b7c08cf3e2.zip/node_modules/ethers/",\ + "packageDependencies": [\ + ["ethers", "npm:5.7.2"],\ + ["@ethersproject/abi", "npm:5.7.0"],\ + ["@ethersproject/abstract-provider", "npm:5.7.0"],\ + ["@ethersproject/abstract-signer", "npm:5.7.0"],\ + ["@ethersproject/address", "npm:5.7.0"],\ + ["@ethersproject/base64", "npm:5.7.0"],\ + ["@ethersproject/basex", "npm:5.7.0"],\ + ["@ethersproject/bignumber", "npm:5.7.0"],\ + ["@ethersproject/bytes", "npm:5.7.0"],\ + ["@ethersproject/constants", "npm:5.7.0"],\ + ["@ethersproject/contracts", "npm:5.7.0"],\ + ["@ethersproject/hash", "npm:5.7.0"],\ + ["@ethersproject/hdnode", "npm:5.7.0"],\ + ["@ethersproject/json-wallets", "npm:5.7.0"],\ + ["@ethersproject/keccak256", "npm:5.7.0"],\ + ["@ethersproject/logger", "npm:5.7.0"],\ + ["@ethersproject/networks", "npm:5.7.1"],\ + ["@ethersproject/pbkdf2", "npm:5.7.0"],\ + ["@ethersproject/properties", "npm:5.7.0"],\ + ["@ethersproject/providers", "npm:5.7.2"],\ + ["@ethersproject/random", "npm:5.7.0"],\ + ["@ethersproject/rlp", "npm:5.7.0"],\ + ["@ethersproject/sha2", "npm:5.7.0"],\ + ["@ethersproject/signing-key", "npm:5.7.0"],\ + ["@ethersproject/solidity", "npm:5.7.0"],\ + ["@ethersproject/strings", "npm:5.7.0"],\ + ["@ethersproject/transactions", "npm:5.7.0"],\ + ["@ethersproject/units", "npm:5.7.0"],\ + ["@ethersproject/wallet", "npm:5.7.0"],\ + ["@ethersproject/web", "npm:5.7.1"],\ + ["@ethersproject/wordlists", "npm:5.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eval", [\ + ["npm:0.1.8", {\ + "packageLocation": "./.yarn/cache/eval-npm-0.1.8-0cd081d9ca-d005567f39.zip/node_modules/eval/",\ + "packageDependencies": [\ + ["eval", "npm:0.1.8"],\ + ["@types/node", "npm:18.11.0"],\ + ["require-like", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eventemitter3", [\ + ["npm:4.0.7", {\ + "packageLocation": "./.yarn/cache/eventemitter3-npm-4.0.7-7afcdd74ae-1875311c42.zip/node_modules/eventemitter3/",\ + "packageDependencies": [\ + ["eventemitter3", "npm:4.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["events", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/events-npm-3.3.0-c280bc7e48-f6f487ad21.zip/node_modules/events/",\ + "packageDependencies": [\ + ["events", "npm:3.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["execa", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/execa-npm-5.1.1-191347acf5-fba9022c8c.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:5.1.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["get-stream", "npm:6.0.1"],\ + ["human-signals", "npm:2.1.0"],\ + ["is-stream", "npm:2.0.1"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:4.0.1"],\ + ["onetime", "npm:5.1.2"],\ + ["signal-exit", "npm:3.0.7"],\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exponential-backoff", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-3d21519a4f.zip/node_modules/exponential-backoff/",\ + "packageDependencies": [\ + ["exponential-backoff", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["express", [\ + ["npm:4.18.2", {\ + "packageLocation": "./.yarn/cache/express-npm-4.18.2-bb15ff679a-3c4b9b0768.zip/node_modules/express/",\ + "packageDependencies": [\ + ["express", "npm:4.18.2"],\ + ["accepts", "npm:1.3.8"],\ + ["array-flatten", "npm:1.1.1"],\ + ["body-parser", "npm:1.20.1"],\ + ["content-disposition", "npm:0.5.4"],\ + ["content-type", "npm:1.0.4"],\ + ["cookie", "npm:0.5.0"],\ + ["cookie-signature", "npm:1.0.6"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["etag", "npm:1.8.1"],\ + ["finalhandler", "npm:1.2.0"],\ + ["fresh", "npm:0.5.2"],\ + ["http-errors", "npm:2.0.0"],\ + ["merge-descriptors", "npm:1.0.1"],\ + ["methods", "npm:1.1.2"],\ + ["on-finished", "npm:2.4.1"],\ + ["parseurl", "npm:1.3.3"],\ + ["path-to-regexp", "npm:0.1.7"],\ + ["proxy-addr", "npm:2.0.7"],\ + ["qs", "npm:6.11.0"],\ + ["range-parser", "npm:1.2.1"],\ + ["safe-buffer", "npm:5.2.1"],\ + ["send", "npm:0.18.0"],\ + ["serve-static", "npm:1.15.0"],\ + ["setprototypeof", "npm:1.2.0"],\ + ["statuses", "npm:2.0.1"],\ + ["type-is", "npm:1.6.18"],\ + ["utils-merge", "npm:1.0.1"],\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["extend", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip/node_modules/extend/",\ + "packageDependencies": [\ + ["extend", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["extend-shallow", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/extend-shallow-npm-2.0.1-e6ef52b29c-8fb58d9d7a.zip/node_modules/extend-shallow/",\ + "packageDependencies": [\ + ["extend-shallow", "npm:2.0.1"],\ + ["is-extendable", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-deep-equal", [\ + ["npm:3.1.3", {\ + "packageLocation": "./.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip/node_modules/fast-deep-equal/",\ + "packageDependencies": [\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-glob", [\ + ["npm:3.2.12", {\ + "packageLocation": "./.yarn/cache/fast-glob-npm-3.2.12-162763bbae-0b1990f6ce.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["fast-glob", "npm:3.2.12"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stable-stringify", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip/node_modules/fast-json-stable-stringify/",\ + "packageDependencies": [\ + ["fast-json-stable-stringify", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-url-parser", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/fast-url-parser-npm-1.1.3-9be698120a-5043d0c4a8.zip/node_modules/fast-url-parser/",\ + "packageDependencies": [\ + ["fast-url-parser", "npm:1.1.3"],\ + ["punycode", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastq", [\ + ["npm:1.13.0", {\ + "packageLocation": "./.yarn/cache/fastq-npm-1.13.0-a45963881c-32cf15c29a.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.13.0"],\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["faye-websocket", [\ + ["npm:0.11.4", {\ + "packageLocation": "./.yarn/cache/faye-websocket-npm-0.11.4-1f0de76de9-d49a62caf0.zip/node_modules/faye-websocket/",\ + "packageDependencies": [\ + ["faye-websocket", "npm:0.11.4"],\ + ["websocket-driver", "npm:0.7.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fbemitter", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/fbemitter-npm-3.0.0-65cacecf7e-069690b8cd.zip/node_modules/fbemitter/",\ + "packageDependencies": [\ + ["fbemitter", "npm:3.0.0"],\ + ["fbjs", "npm:3.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fbjs", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/fbjs-npm-3.0.4-7d85bbacfa-8b23a3550f.zip/node_modules/fbjs/",\ + "packageDependencies": [\ + ["fbjs", "npm:3.0.4"],\ + ["cross-fetch", "npm:3.1.5"],\ + ["fbjs-css-vars", "npm:1.0.2"],\ + ["loose-envify", "npm:1.4.0"],\ + ["object-assign", "npm:4.1.1"],\ + ["promise", "npm:7.3.1"],\ + ["setimmediate", "npm:1.0.5"],\ + ["ua-parser-js", "npm:0.7.32"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fbjs-css-vars", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/fbjs-css-vars-npm-1.0.2-c233f16598-72baf6d22c.zip/node_modules/fbjs-css-vars/",\ + "packageDependencies": [\ + ["fbjs-css-vars", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["feed", [\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/feed-npm-4.2.2-0c45e7a1e4-2e6992a675.zip/node_modules/feed/",\ + "packageDependencies": [\ + ["feed", "npm:4.2.2"],\ + ["xml-js", "npm:1.6.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fetch-blob", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/fetch-blob-npm-3.2.0-28e01becfc-f19bc28a2a.zip/node_modules/fetch-blob/",\ + "packageDependencies": [\ + ["fetch-blob", "npm:3.2.0"],\ + ["node-domexception", "npm:1.0.0"],\ + ["web-streams-polyfill", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-loader", [\ + ["npm:6.2.0", {\ + "packageLocation": "./.yarn/cache/file-loader-npm-6.2.0-4b02fd87d5-faf43eecf2.zip/node_modules/file-loader/",\ + "packageDependencies": [\ + ["file-loader", "npm:6.2.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0", {\ + "packageLocation": "./.yarn/__virtual__/file-loader-virtual-71e9ecfe01/0/cache/file-loader-npm-6.2.0-4b02fd87d5-faf43eecf2.zip/node_modules/file-loader/",\ + "packageDependencies": [\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["@types/webpack", null],\ + ["loader-utils", "npm:2.0.2"],\ + ["schema-utils", "npm:3.1.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:6.2.0", {\ + "packageLocation": "./.yarn/__virtual__/file-loader-virtual-f3c42c93a5/0/cache/file-loader-npm-6.2.0-4b02fd87d5-faf43eecf2.zip/node_modules/file-loader/",\ + "packageDependencies": [\ + ["file-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:6.2.0"],\ + ["@types/webpack", null],\ + ["loader-utils", "npm:2.0.2"],\ + ["schema-utils", "npm:3.1.1"],\ + ["webpack", null]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["filesize", [\ + ["npm:8.0.7", {\ + "packageLocation": "./.yarn/cache/filesize-npm-8.0.7-4070ceca66-8603d27c52.zip/node_modules/filesize/",\ + "packageDependencies": [\ + ["filesize", "npm:8.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fill-range", [\ + ["npm:7.0.1", {\ + "packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-cc283f4e65.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.0.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["finalhandler", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/finalhandler-npm-1.2.0-593d001463-92effbfd32.zip/node_modules/finalhandler/",\ + "packageDependencies": [\ + ["finalhandler", "npm:1.2.0"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["on-finished", "npm:2.4.1"],\ + ["parseurl", "npm:1.3.3"],\ + ["statuses", "npm:2.0.1"],\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-cache-dir", [\ + ["npm:3.3.2", {\ + "packageLocation": "./.yarn/cache/find-cache-dir-npm-3.3.2-836e68dd83-1e61c2e64f.zip/node_modules/find-cache-dir/",\ + "packageDependencies": [\ + ["find-cache-dir", "npm:3.3.2"],\ + ["commondir", "npm:1.0.1"],\ + ["make-dir", "npm:3.1.0"],\ + ["pkg-dir", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-up", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/find-up-npm-3.0.0-a2d4b1b317-38eba3fe7a.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:3.0.0"],\ + ["locate-path", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/find-up-npm-4.1.0-c3ccf8d855-4c172680e8.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:4.1.0"],\ + ["locate-path", "npm:5.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:5.0.0"],\ + ["locate-path", "npm:6.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flux", [\ + ["npm:4.0.3", {\ + "packageLocation": "./.yarn/cache/flux-npm-4.0.3-d14ec8aca2-6b3f5150bc.zip/node_modules/flux/",\ + "packageDependencies": [\ + ["flux", "npm:4.0.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:49a6bcc7ba768b4025c7b0e4375c91b68540477c3ac4cc4fa142a495e588840e82f07e7e906ffc64237c855ab1a1541f4ba3acf0cb78eecbf25e3923e032a881#npm:4.0.3", {\ + "packageLocation": "./.yarn/__virtual__/flux-virtual-b96c0e8241/0/cache/flux-npm-4.0.3-d14ec8aca2-6b3f5150bc.zip/node_modules/flux/",\ + "packageDependencies": [\ + ["flux", "virtual:49a6bcc7ba768b4025c7b0e4375c91b68540477c3ac4cc4fa142a495e588840e82f07e7e906ffc64237c855ab1a1541f4ba3acf0cb78eecbf25e3923e032a881#npm:4.0.3"],\ + ["@types/react", null],\ + ["fbemitter", "npm:3.0.0"],\ + ["fbjs", "npm:3.0.4"],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["follow-redirects", [\ + ["npm:1.15.2", {\ + "packageLocation": "./.yarn/cache/follow-redirects-npm-1.15.2-1ec1dd82be-faa66059b6.zip/node_modules/follow-redirects/",\ + "packageDependencies": [\ + ["follow-redirects", "npm:1.15.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1c287d287cceec925a9c0ff143359f3710be8008f8559da00a15e4d93f76849e9493b8b7760d073ae605ea56d1482d54174c007b28cbf6b38332d152576190f#npm:1.15.2", {\ + "packageLocation": "./.yarn/__virtual__/follow-redirects-virtual-e76257e7f5/0/cache/follow-redirects-npm-1.15.2-1ec1dd82be-faa66059b6.zip/node_modules/follow-redirects/",\ + "packageDependencies": [\ + ["follow-redirects", "virtual:a1c287d287cceec925a9c0ff143359f3710be8008f8559da00a15e4d93f76849e9493b8b7760d073ae605ea56d1482d54174c007b28cbf6b38332d152576190f#npm:1.15.2"],\ + ["@types/debug", null],\ + ["debug", null]\ + ],\ + "packagePeers": [\ + "@types/debug",\ + "debug"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["foreground-child", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/foreground-child-npm-3.1.1-77e78ed774-139d270bc8.zip/node_modules/foreground-child/",\ + "packageDependencies": [\ + ["foreground-child", "npm:3.1.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fork-ts-checker-webpack-plugin", [\ + ["npm:6.5.2", {\ + "packageLocation": "./.yarn/cache/fork-ts-checker-webpack-plugin-npm-6.5.2-4c2c717e6d-c823de02ee.zip/node_modules/fork-ts-checker-webpack-plugin/",\ + "packageDependencies": [\ + ["fork-ts-checker-webpack-plugin", "npm:6.5.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:b6b5e022366d42a8106ed9b5e34fd22dcede84d9831c056382dbde88dc655fa987564303ea7b8fb696951075d34f7df0fe72041a4f2cbb534a5c0542ac8b1c41#npm:6.5.2", {\ + "packageLocation": "./.yarn/__virtual__/fork-ts-checker-webpack-plugin-virtual-33199ac39b/0/cache/fork-ts-checker-webpack-plugin-npm-6.5.2-4c2c717e6d-c823de02ee.zip/node_modules/fork-ts-checker-webpack-plugin/",\ + "packageDependencies": [\ + ["fork-ts-checker-webpack-plugin", "virtual:b6b5e022366d42a8106ed9b5e34fd22dcede84d9831c056382dbde88dc655fa987564303ea7b8fb696951075d34f7df0fe72041a4f2cbb534a5c0542ac8b1c41#npm:6.5.2"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@types/eslint", null],\ + ["@types/json-schema", "npm:7.0.11"],\ + ["@types/typescript", null],\ + ["@types/vue-template-compiler", null],\ + ["@types/webpack", null],\ + ["chalk", "npm:4.1.2"],\ + ["chokidar", "npm:3.5.3"],\ + ["cosmiconfig", "npm:6.0.0"],\ + ["deepmerge", "npm:4.2.2"],\ + ["eslint", null],\ + ["fs-extra", "npm:9.1.0"],\ + ["glob", "npm:7.2.3"],\ + ["memfs", "npm:3.4.7"],\ + ["minimatch", "npm:3.1.2"],\ + ["schema-utils", "npm:2.7.0"],\ + ["semver", "npm:7.3.8"],\ + ["tapable", "npm:1.1.3"],\ + ["typescript", null],\ + ["vue-template-compiler", null],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "@types/vue-template-compiler",\ + "@types/webpack",\ + "eslint",\ + "typescript",\ + "vue-template-compiler",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["formdata-polyfill", [\ + ["npm:4.0.10", {\ + "packageLocation": "./.yarn/cache/formdata-polyfill-npm-4.0.10-e03013c013-82a34df292.zip/node_modules/formdata-polyfill/",\ + "packageDependencies": [\ + ["formdata-polyfill", "npm:4.0.10"],\ + ["fetch-blob", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["forwarded", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/forwarded-npm-0.2.0-6473dabe35-fd27e2394d.zip/node_modules/forwarded/",\ + "packageDependencies": [\ + ["forwarded", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fraction.js", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/fraction.js-npm-4.2.0-28efe4afc7-8c76a6e21d.zip/node_modules/fraction.js/",\ + "packageDependencies": [\ + ["fraction.js", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fresh", [\ + ["npm:0.5.2", {\ + "packageLocation": "./.yarn/cache/fresh-npm-0.5.2-ad2bb4c0a2-13ea8b08f9.zip/node_modules/fresh/",\ + "packageDependencies": [\ + ["fresh", "npm:0.5.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-extra", [\ + ["npm:10.1.0", {\ + "packageLocation": "./.yarn/cache/fs-extra-npm-10.1.0-86573680ed-dc94ab3709.zip/node_modules/fs-extra/",\ + "packageDependencies": [\ + ["fs-extra", "npm:10.1.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["jsonfile", "npm:6.1.0"],\ + ["universalify", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.1.0", {\ + "packageLocation": "./.yarn/cache/fs-extra-npm-9.1.0-983c2ddb4c-ba71ba32e0.zip/node_modules/fs-extra/",\ + "packageDependencies": [\ + ["fs-extra", "npm:9.1.0"],\ + ["at-least-node", "npm:1.0.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["jsonfile", "npm:6.1.0"],\ + ["universalify", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-minipass", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-8722a41109.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:3.0.3"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-monkey", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/fs-monkey-npm-1.0.3-c1ea1ab781-cf50804833.zip/node_modules/fs-monkey/",\ + "packageDependencies": [\ + ["fs-monkey", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs.realpath", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/fs.realpath-npm-1.0.0-c8f05d8126-99ddea01a7.zip/node_modules/fs.realpath/",\ + "packageDependencies": [\ + ["fs.realpath", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fsevents", [\ + ["patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1", {\ + "packageLocation": "./.yarn/unplugged/fsevents-patch-2882183fbf/node_modules/fsevents/",\ + "packageDependencies": [\ + ["fsevents", "patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=df0bf1"],\ + ["node-gyp", "npm:9.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function-bind", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/function-bind-npm-1.1.1-b56b322ae9-b32fbaebb3.zip/node_modules/function-bind/",\ + "packageDependencies": [\ + ["function-bind", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["function.prototype.name", [\ + ["npm:1.1.5", {\ + "packageLocation": "./.yarn/cache/function.prototype.name-npm-1.1.5-e776a642bb-acd21d733a.zip/node_modules/function.prototype.name/",\ + "packageDependencies": [\ + ["function.prototype.name", "npm:1.1.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"],\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["functions-have-names", [\ + ["npm:1.2.3", {\ + "packageLocation": "./.yarn/cache/functions-have-names-npm-1.2.3-e5cf1e2208-c3f1f5ba20.zip/node_modules/functions-have-names/",\ + "packageDependencies": [\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gauge", [\ + ["npm:4.0.4", {\ + "packageLocation": "./.yarn/cache/gauge-npm-4.0.4-8f878385e9-788b6bfe52.zip/node_modules/gauge/",\ + "packageDependencies": [\ + ["gauge", "npm:4.0.4"],\ + ["aproba", "npm:2.0.0"],\ + ["color-support", "npm:1.1.3"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["has-unicode", "npm:2.0.1"],\ + ["signal-exit", "npm:3.0.7"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["wide-align", "npm:1.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gensync", [\ + ["npm:1.0.0-beta.2", {\ + "packageLocation": "./.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-a7437e58c6.zip/node_modules/gensync/",\ + "packageDependencies": [\ + ["gensync", "npm:1.0.0-beta.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-intrinsic", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/get-intrinsic-npm-1.1.3-b6c7bd1010-152d79e872.zip/node_modules/get-intrinsic/",\ + "packageDependencies": [\ + ["get-intrinsic", "npm:1.1.3"],\ + ["function-bind", "npm:1.1.1"],\ + ["has", "npm:1.0.3"],\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-own-enumerable-property-symbols", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/get-own-enumerable-property-symbols-npm-3.0.2-f143f9e8d3-8f0331f141.zip/node_modules/get-own-enumerable-property-symbols/",\ + "packageDependencies": [\ + ["get-own-enumerable-property-symbols", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stream", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/get-stream-npm-4.1.0-314d430a5d-443e191417.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:4.1.0"],\ + ["pump", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.0", {\ + "packageLocation": "./.yarn/cache/get-stream-npm-5.2.0-2cfd3b452b-8bc1a23174.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:5.2.0"],\ + ["pump", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/get-stream-npm-6.0.1-83e51a4642-e04ecece32.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-symbol-description", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/get-symbol-description-npm-1.0.0-9c95a4bc1f-9ceff8fe96.zip/node_modules/get-symbol-description/",\ + "packageDependencies": [\ + ["get-symbol-description", "npm:1.0.0"],\ + ["call-bind", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["github-slugger", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/github-slugger-npm-1.4.0-29ff958597-4f52e7a21f.zip/node_modules/github-slugger/",\ + "packageDependencies": [\ + ["github-slugger", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob", [\ + ["npm:10.3.10", {\ + "packageLocation": "./.yarn/cache/glob-npm-10.3.10-da1ef8b112-4f2fe2511e.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.3.10"],\ + ["foreground-child", "npm:3.1.1"],\ + ["jackspeak", "npm:2.3.6"],\ + ["minimatch", "npm:9.0.3"],\ + ["minipass", "npm:7.0.4"],\ + ["path-scurry", "npm:1.10.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.3", {\ + "packageLocation": "./.yarn/cache/glob-npm-7.2.3-2d866d17a5-29452e97b3.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:7.2.3"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:3.1.2"],\ + ["once", "npm:1.4.0"],\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:5.1.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:6.0.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-to-regexp", [\ + ["npm:0.4.1", {\ + "packageLocation": "./.yarn/cache/glob-to-regexp-npm-0.4.1-cd697e0fc7-e795f4e8f0.zip/node_modules/glob-to-regexp/",\ + "packageDependencies": [\ + ["glob-to-regexp", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["global-dirs", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/global-dirs-npm-3.0.0-45faebeb68-953c17cf14.zip/node_modules/global-dirs/",\ + "packageDependencies": [\ + ["global-dirs", "npm:3.0.0"],\ + ["ini", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["global-modules", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/global-modules-npm-2.0.0-f71d340362-d6197f2585.zip/node_modules/global-modules/",\ + "packageDependencies": [\ + ["global-modules", "npm:2.0.0"],\ + ["global-prefix", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["global-prefix", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/global-prefix-npm-3.0.0-68cf01e67d-8a82fc1d6f.zip/node_modules/global-prefix/",\ + "packageDependencies": [\ + ["global-prefix", "npm:3.0.0"],\ + ["ini", "npm:1.3.8"],\ + ["kind-of", "npm:6.0.3"],\ + ["which", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globals", [\ + ["npm:11.12.0", {\ + "packageLocation": "./.yarn/cache/globals-npm-11.12.0-1fa7f41a6c-67051a45ec.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:11.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globby", [\ + ["npm:11.1.0", {\ + "packageLocation": "./.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["globby", "npm:11.1.0"],\ + ["array-union", "npm:2.1.0"],\ + ["dir-glob", "npm:3.0.1"],\ + ["fast-glob", "npm:3.2.12"],\ + ["ignore", "npm:5.2.0"],\ + ["merge2", "npm:1.4.1"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:13.1.2", {\ + "packageLocation": "./.yarn/cache/globby-npm-13.1.2-3d26efd428-c148fcda0c.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["globby", "npm:13.1.2"],\ + ["dir-glob", "npm:3.0.1"],\ + ["fast-glob", "npm:3.2.12"],\ + ["ignore", "npm:5.2.0"],\ + ["merge2", "npm:1.4.1"],\ + ["slash", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["got", [\ + ["npm:9.6.0", {\ + "packageLocation": "./.yarn/cache/got-npm-9.6.0-80edc15fd0-941807bd97.zip/node_modules/got/",\ + "packageDependencies": [\ + ["got", "npm:9.6.0"],\ + ["@sindresorhus/is", "npm:0.14.0"],\ + ["@szmarczak/http-timer", "npm:1.1.2"],\ + ["@types/keyv", "npm:3.1.4"],\ + ["@types/responselike", "npm:1.0.1"],\ + ["cacheable-request", "npm:6.1.0"],\ + ["decompress-response", "npm:3.3.0"],\ + ["duplexer3", "npm:0.1.5"],\ + ["get-stream", "npm:4.1.0"],\ + ["lowercase-keys", "npm:1.0.1"],\ + ["mimic-response", "npm:1.0.1"],\ + ["p-cancelable", "npm:1.1.0"],\ + ["to-readable-stream", "npm:1.0.0"],\ + ["url-parse-lax", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graceful-fs", [\ + ["npm:4.2.10", {\ + "packageLocation": "./.yarn/cache/graceful-fs-npm-4.2.10-79c70989ca-3f109d70ae.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gray-matter", [\ + ["npm:4.0.3", {\ + "packageLocation": "./.yarn/cache/gray-matter-npm-4.0.3-852ae4f34c-37717bd424.zip/node_modules/gray-matter/",\ + "packageDependencies": [\ + ["gray-matter", "npm:4.0.3"],\ + ["js-yaml", "npm:3.14.1"],\ + ["kind-of", "npm:6.0.3"],\ + ["section-matter", "npm:1.0.0"],\ + ["strip-bom-string", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gzip-size", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/gzip-size-npm-6.0.0-d5b52fdbf1-2df97f3596.zip/node_modules/gzip-size/",\ + "packageDependencies": [\ + ["gzip-size", "npm:6.0.0"],\ + ["duplexer", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["handle-thing", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/handle-thing-npm-2.0.1-084baca59e-68071f3130.zip/node_modules/handle-thing/",\ + "packageDependencies": [\ + ["handle-thing", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip/node_modules/has/",\ + "packageDependencies": [\ + ["has", "npm:1.0.3"],\ + ["function-bind", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-bigints", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/has-bigints-npm-1.0.2-52732e614d-390e31e7be.zip/node_modules/has-bigints/",\ + "packageDependencies": [\ + ["has-bigints", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-flag", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-4a15638b45.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-property-descriptors", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/has-property-descriptors-npm-1.0.0-56289b918d-a6d3f0a266.zip/node_modules/has-property-descriptors/",\ + "packageDependencies": [\ + ["has-property-descriptors", "npm:1.0.0"],\ + ["get-intrinsic", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-symbols", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip/node_modules/has-symbols/",\ + "packageDependencies": [\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-tostringtag", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/has-tostringtag-npm-1.0.0-b1fcf3ab55-cc12eb28cb.zip/node_modules/has-tostringtag/",\ + "packageDependencies": [\ + ["has-tostringtag", "npm:1.0.0"],\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-unicode", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/has-unicode-npm-2.0.1-893adb4747-1eab07a743.zip/node_modules/has-unicode/",\ + "packageDependencies": [\ + ["has-unicode", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-yarn", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/has-yarn-npm-2.1.0-b73f6750d9-5eb1d0bb85.zip/node_modules/has-yarn/",\ + "packageDependencies": [\ + ["has-yarn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hash.js", [\ + ["npm:1.1.7", {\ + "packageLocation": "./.yarn/cache/hash.js-npm-1.1.7-f1ad187358-e350096e65.zip/node_modules/hash.js/",\ + "packageDependencies": [\ + ["hash.js", "npm:1.1.7"],\ + ["inherits", "npm:2.0.4"],\ + ["minimalistic-assert", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hast-to-hyperscript", [\ + ["npm:9.0.1", {\ + "packageLocation": "./.yarn/cache/hast-to-hyperscript-npm-9.0.1-a037785aef-de570d7898.zip/node_modules/hast-to-hyperscript/",\ + "packageDependencies": [\ + ["hast-to-hyperscript", "npm:9.0.1"],\ + ["@types/unist", "npm:2.0.6"],\ + ["comma-separated-tokens", "npm:1.0.8"],\ + ["property-information", "npm:5.6.0"],\ + ["space-separated-tokens", "npm:1.1.5"],\ + ["style-to-object", "npm:0.3.0"],\ + ["unist-util-is", "npm:4.1.0"],\ + ["web-namespaces", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hast-util-from-parse5", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/hast-util-from-parse5-npm-6.0.1-468185510d-4daa782014.zip/node_modules/hast-util-from-parse5/",\ + "packageDependencies": [\ + ["hast-util-from-parse5", "npm:6.0.1"],\ + ["@types/parse5", "npm:5.0.3"],\ + ["hastscript", "npm:6.0.0"],\ + ["property-information", "npm:5.6.0"],\ + ["vfile", "npm:4.2.1"],\ + ["vfile-location", "npm:3.2.0"],\ + ["web-namespaces", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hast-util-parse-selector", [\ + ["npm:2.2.5", {\ + "packageLocation": "./.yarn/cache/hast-util-parse-selector-npm-2.2.5-cd773533ea-22ee4afbd1.zip/node_modules/hast-util-parse-selector/",\ + "packageDependencies": [\ + ["hast-util-parse-selector", "npm:2.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hast-util-raw", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/hast-util-raw-npm-6.0.1-c37f2afa65-f6d960644f.zip/node_modules/hast-util-raw/",\ + "packageDependencies": [\ + ["hast-util-raw", "npm:6.0.1"],\ + ["@types/hast", "npm:2.3.4"],\ + ["hast-util-from-parse5", "npm:6.0.1"],\ + ["hast-util-to-parse5", "npm:6.0.0"],\ + ["html-void-elements", "npm:1.0.5"],\ + ["parse5", "npm:6.0.1"],\ + ["unist-util-position", "npm:3.1.0"],\ + ["vfile", "npm:4.2.1"],\ + ["web-namespaces", "npm:1.1.4"],\ + ["xtend", "npm:4.0.2"],\ + ["zwitch", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hast-util-to-parse5", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/hast-util-to-parse5-npm-6.0.0-2107a01c5e-91a36244e3.zip/node_modules/hast-util-to-parse5/",\ + "packageDependencies": [\ + ["hast-util-to-parse5", "npm:6.0.0"],\ + ["hast-to-hyperscript", "npm:9.0.1"],\ + ["property-information", "npm:5.6.0"],\ + ["web-namespaces", "npm:1.1.4"],\ + ["xtend", "npm:4.0.2"],\ + ["zwitch", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hastscript", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/hastscript-npm-6.0.0-380b27a9f0-5e50b85af0.zip/node_modules/hastscript/",\ + "packageDependencies": [\ + ["hastscript", "npm:6.0.0"],\ + ["@types/hast", "npm:2.3.4"],\ + ["comma-separated-tokens", "npm:1.0.8"],\ + ["hast-util-parse-selector", "npm:2.2.5"],\ + ["property-information", "npm:5.6.0"],\ + ["space-separated-tokens", "npm:1.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["he", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip/node_modules/he/",\ + "packageDependencies": [\ + ["he", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["history", [\ + ["npm:4.10.1", {\ + "packageLocation": "./.yarn/cache/history-npm-4.10.1-ee217563ae-addd84bc46.zip/node_modules/history/",\ + "packageDependencies": [\ + ["history", "npm:4.10.1"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["loose-envify", "npm:1.4.0"],\ + ["resolve-pathname", "npm:3.0.0"],\ + ["tiny-invariant", "npm:1.3.1"],\ + ["tiny-warning", "npm:1.0.3"],\ + ["value-equal", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hmac-drbg", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/hmac-drbg-npm-1.0.1-3499ad31cd-bd30b6a68d.zip/node_modules/hmac-drbg/",\ + "packageDependencies": [\ + ["hmac-drbg", "npm:1.0.1"],\ + ["hash.js", "npm:1.1.7"],\ + ["minimalistic-assert", "npm:1.0.1"],\ + ["minimalistic-crypto-utils", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hoist-non-react-statics", [\ + ["npm:3.3.2", {\ + "packageLocation": "./.yarn/cache/hoist-non-react-statics-npm-3.3.2-e7b709e6c1-b153827042.zip/node_modules/hoist-non-react-statics/",\ + "packageDependencies": [\ + ["hoist-non-react-statics", "npm:3.3.2"],\ + ["react-is", "npm:16.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hpack.js", [\ + ["npm:2.1.6", {\ + "packageLocation": "./.yarn/cache/hpack.js-npm-2.1.6-b08cc088ad-2de1441151.zip/node_modules/hpack.js/",\ + "packageDependencies": [\ + ["hpack.js", "npm:2.1.6"],\ + ["inherits", "npm:2.0.4"],\ + ["obuf", "npm:1.1.2"],\ + ["readable-stream", "npm:2.3.7"],\ + ["wbuf", "npm:1.7.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-entities", [\ + ["npm:2.3.3", {\ + "packageLocation": "./.yarn/cache/html-entities-npm-2.3.3-e0aac656af-92521501da.zip/node_modules/html-entities/",\ + "packageDependencies": [\ + ["html-entities", "npm:2.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-minifier-terser", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/html-minifier-terser-npm-6.1.0-49a405eebd-ac52c14006.zip/node_modules/html-minifier-terser/",\ + "packageDependencies": [\ + ["html-minifier-terser", "npm:6.1.0"],\ + ["camel-case", "npm:4.1.2"],\ + ["clean-css", "npm:5.3.1"],\ + ["commander", "npm:8.3.0"],\ + ["he", "npm:1.2.0"],\ + ["param-case", "npm:3.0.4"],\ + ["relateurl", "npm:0.2.7"],\ + ["terser", "npm:5.15.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-tags", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/html-tags-npm-3.2.0-cdd16b1446-a0c9e96ac2.zip/node_modules/html-tags/",\ + "packageDependencies": [\ + ["html-tags", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-void-elements", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/html-void-elements-npm-1.0.5-64f7ffca37-1a56f4f6cf.zip/node_modules/html-void-elements/",\ + "packageDependencies": [\ + ["html-void-elements", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-webpack-plugin", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/html-webpack-plugin-npm-5.5.0-75c5a14e55-f3d84d0df7.zip/node_modules/html-webpack-plugin/",\ + "packageDependencies": [\ + ["html-webpack-plugin", "npm:5.5.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.0", {\ + "packageLocation": "./.yarn/__virtual__/html-webpack-plugin-virtual-688f2386fe/0/cache/html-webpack-plugin-npm-5.5.0-75c5a14e55-f3d84d0df7.zip/node_modules/html-webpack-plugin/",\ + "packageDependencies": [\ + ["html-webpack-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.0"],\ + ["@types/html-minifier-terser", "npm:6.1.0"],\ + ["@types/webpack", null],\ + ["html-minifier-terser", "npm:6.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["pretty-error", "npm:4.0.0"],\ + ["tapable", "npm:2.2.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["htmlparser2", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/htmlparser2-npm-6.1.0-4ef89ab31e-81a7b3d9c3.zip/node_modules/htmlparser2/",\ + "packageDependencies": [\ + ["htmlparser2", "npm:6.1.0"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:4.3.1"],\ + ["domutils", "npm:2.8.0"],\ + ["entities", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.0.1", {\ + "packageLocation": "./.yarn/cache/htmlparser2-npm-8.0.1-b432299617-06d5c71e83.zip/node_modules/htmlparser2/",\ + "packageDependencies": [\ + ["htmlparser2", "npm:8.0.1"],\ + ["domelementtype", "npm:2.3.0"],\ + ["domhandler", "npm:5.0.3"],\ + ["domutils", "npm:3.0.1"],\ + ["entities", "npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-83ac0bc60b.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-deceiver", [\ + ["npm:1.2.7", {\ + "packageLocation": "./.yarn/cache/http-deceiver-npm-1.2.7-4f3aaa5b79-64d7d1ae3a.zip/node_modules/http-deceiver/",\ + "packageDependencies": [\ + ["http-deceiver", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-errors", [\ + ["npm:1.6.3", {\ + "packageLocation": "./.yarn/cache/http-errors-npm-1.6.3-9b5bc0b0a8-a9654ee027.zip/node_modules/http-errors/",\ + "packageDependencies": [\ + ["http-errors", "npm:1.6.3"],\ + ["depd", "npm:1.1.2"],\ + ["inherits", "npm:2.0.3"],\ + ["setprototypeof", "npm:1.1.0"],\ + ["statuses", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/http-errors-npm-2.0.0-3f1c503428-9b0a378266.zip/node_modules/http-errors/",\ + "packageDependencies": [\ + ["http-errors", "npm:2.0.0"],\ + ["depd", "npm:2.0.0"],\ + ["inherits", "npm:2.0.4"],\ + ["setprototypeof", "npm:1.2.0"],\ + ["statuses", "npm:2.0.1"],\ + ["toidentifier", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-parser-js", [\ + ["npm:0.5.8", {\ + "packageLocation": "./.yarn/cache/http-parser-js-npm-0.5.8-f80208ea99-6bbdf24298.zip/node_modules/http-parser-js/",\ + "packageDependencies": [\ + ["http-parser-js", "npm:0.5.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy", [\ + ["npm:1.18.1", {\ + "packageLocation": "./.yarn/cache/http-proxy-npm-1.18.1-a313c479c5-f5bd96bf83.zip/node_modules/http-proxy/",\ + "packageDependencies": [\ + ["http-proxy", "npm:1.18.1"],\ + ["eventemitter3", "npm:4.0.7"],\ + ["follow-redirects", "virtual:a1c287d287cceec925a9c0ff143359f3710be8008f8559da00a15e4d93f76849e9493b8b7760d073ae605ea56d1482d54174c007b28cbf6b38332d152576190f#npm:1.15.2"],\ + ["requires-port", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/http-proxy-agent-npm-5.0.0-7f1f121b83-e2ee1ff165.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:5.0.0"],\ + ["@tootallnate/once", "npm:2.0.0"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-middleware", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/http-proxy-middleware-npm-2.0.6-3bb17658ee-2ee85bc878.zip/node_modules/http-proxy-middleware/",\ + "packageDependencies": [\ + ["http-proxy-middleware", "npm:2.0.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:2.0.6", {\ + "packageLocation": "./.yarn/__virtual__/http-proxy-middleware-virtual-38145cbab5/0/cache/http-proxy-middleware-npm-2.0.6-3bb17658ee-2ee85bc878.zip/node_modules/http-proxy-middleware/",\ + "packageDependencies": [\ + ["http-proxy-middleware", "virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:2.0.6"],\ + ["@types/express", "npm:4.17.14"],\ + ["@types/http-proxy", "npm:1.17.9"],\ + ["http-proxy", "npm:1.18.1"],\ + ["is-glob", "npm:4.0.3"],\ + ["is-plain-obj", "npm:3.0.0"],\ + ["micromatch", "npm:4.0.5"]\ + ],\ + "packagePeers": [\ + "@types/express"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/https-proxy-agent-npm-5.0.1-42d65f358e-571fccdf38.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["human-signals", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/human-signals-npm-2.1.0-f75815481d-b87fd89fce.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["humanize-ms", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip/node_modules/humanize-ms/",\ + "packageDependencies": [\ + ["humanize-ms", "npm:1.2.1"],\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["husky", [\ + ["npm:7.0.4", {\ + "packageLocation": "./.yarn/cache/husky-npm-7.0.4-917ba035c6-c6ec4af63d.zip/node_modules/husky/",\ + "packageDependencies": [\ + ["husky", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.4.24", {\ + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.4.24"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["icss-utils", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/icss-utils-npm-5.1.0-8d8c062d07-5c324d2835.zip/node_modules/icss-utils/",\ + "packageDependencies": [\ + ["icss-utils", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/icss-utils-virtual-ad7736eb68/0/cache/icss-utils-npm-5.1.0-8d8c062d07-5c324d2835.zip/node_modules/icss-utils/",\ + "packageDependencies": [\ + ["icss-utils", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ignore", [\ + ["npm:5.2.0", {\ + "packageLocation": "./.yarn/cache/ignore-npm-5.2.0-fc4b58a4f3-6b1f926792.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["image-size", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/image-size-npm-1.0.2-ed5424d843-01745fdb47.zip/node_modules/image-size/",\ + "packageDependencies": [\ + ["image-size", "npm:1.0.2"],\ + ["queue", "npm:6.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["immediate", [\ + ["npm:3.0.6", {\ + "packageLocation": "./.yarn/cache/immediate-npm-3.0.6-c27588a2d3-f9b3486477.zip/node_modules/immediate/",\ + "packageDependencies": [\ + ["immediate", "npm:3.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["immer", [\ + ["npm:9.0.15", {\ + "packageLocation": "./.yarn/cache/immer-npm-9.0.15-6c734225db-92e3d63e81.zip/node_modules/immer/",\ + "packageDependencies": [\ + ["immer", "npm:9.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-fresh", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip/node_modules/import-fresh/",\ + "packageDependencies": [\ + ["import-fresh", "npm:3.3.0"],\ + ["parent-module", "npm:1.0.1"],\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-lazy", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/import-lazy-npm-2.1.0-b128ce6959-05294f3b9d.zip/node_modules/import-lazy/",\ + "packageDependencies": [\ + ["import-lazy", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["imurmurhash", [\ + ["npm:0.1.4", {\ + "packageLocation": "./.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip/node_modules/imurmurhash/",\ + "packageDependencies": [\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["indent-string", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip/node_modules/indent-string/",\ + "packageDependencies": [\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["infima", [\ + ["npm:0.2.0-alpha.42", {\ + "packageLocation": "./.yarn/cache/infima-npm-0.2.0-alpha.42-6e892ed9a6-7206f36639.zip/node_modules/infima/",\ + "packageDependencies": [\ + ["infima", "npm:0.2.0-alpha.42"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inflight", [\ + ["npm:1.0.6", {\ + "packageLocation": "./.yarn/cache/inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip/node_modules/inflight/",\ + "packageDependencies": [\ + ["inflight", "npm:1.0.6"],\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inherits", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/inherits-npm-2.0.3-401e64b080-78cb8d7d85.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ini", [\ + ["npm:1.3.8", {\ + "packageLocation": "./.yarn/cache/ini-npm-1.3.8-fb5040b4c0-dfd98b0ca3.zip/node_modules/ini/",\ + "packageDependencies": [\ + ["ini", "npm:1.3.8"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ini-npm-2.0.0-28f7426761-e7aadc5fb2.zip/node_modules/ini/",\ + "packageDependencies": [\ + ["ini", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inline-style-parser", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/inline-style-parser-npm-0.1.1-702eac409f-5d545056a3.zip/node_modules/inline-style-parser/",\ + "packageDependencies": [\ + ["inline-style-parser", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["internal-slot", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/internal-slot-npm-1.0.3-9e05eea002-1944f92e98.zip/node_modules/internal-slot/",\ + "packageDependencies": [\ + ["internal-slot", "npm:1.0.3"],\ + ["get-intrinsic", "npm:1.1.3"],\ + ["has", "npm:1.0.3"],\ + ["side-channel", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["interpret", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/interpret-npm-1.4.0-17b4b5b0a4-2e5f51268b.zip/node_modules/interpret/",\ + "packageDependencies": [\ + ["interpret", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["invariant", [\ + ["npm:2.2.4", {\ + "packageLocation": "./.yarn/cache/invariant-npm-2.2.4-717fbdb119-cc3182d793.zip/node_modules/invariant/",\ + "packageDependencies": [\ + ["invariant", "npm:2.2.4"],\ + ["loose-envify", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ip", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ip-npm-2.0.0-204facb3cc-cfcfac6b87.zip/node_modules/ip/",\ + "packageDependencies": [\ + ["ip", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ipaddr.js", [\ + ["npm:1.9.1", {\ + "packageLocation": "./.yarn/cache/ipaddr.js-npm-1.9.1-19ae7878b4-f88d382598.zip/node_modules/ipaddr.js/",\ + "packageDependencies": [\ + ["ipaddr.js", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/ipaddr.js-npm-2.0.1-04e97280d7-dd194a394a.zip/node_modules/ipaddr.js/",\ + "packageDependencies": [\ + ["ipaddr.js", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-alphabetical", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-alphabetical-npm-1.0.4-94e2e7f984-6508cce44f.zip/node_modules/is-alphabetical/",\ + "packageDependencies": [\ + ["is-alphabetical", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-alphanumerical", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-alphanumerical-npm-1.0.4-c96dc6d674-e2e491acc1.zip/node_modules/is-alphanumerical/",\ + "packageDependencies": [\ + ["is-alphanumerical", "npm:1.0.4"],\ + ["is-alphabetical", "npm:1.0.4"],\ + ["is-decimal", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-arrayish", [\ + ["npm:0.2.1", {\ + "packageLocation": "./.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-eef4417e3c.zip/node_modules/is-arrayish/",\ + "packageDependencies": [\ + ["is-arrayish", "npm:0.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-bigint", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-bigint-npm-1.0.4-31c2eecbc9-c56edfe09b.zip/node_modules/is-bigint/",\ + "packageDependencies": [\ + ["is-bigint", "npm:1.0.4"],\ + ["has-bigints", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-binary-path", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/is-binary-path-npm-2.1.0-e61d46f557-84192eb88c.zip/node_modules/is-binary-path/",\ + "packageDependencies": [\ + ["is-binary-path", "npm:2.1.0"],\ + ["binary-extensions", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-boolean-object", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/is-boolean-object-npm-1.1.2-ecbd575e6a-c03b23dbaa.zip/node_modules/is-boolean-object/",\ + "packageDependencies": [\ + ["is-boolean-object", "npm:1.1.2"],\ + ["call-bind", "npm:1.0.2"],\ + ["has-tostringtag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-buffer", [\ + ["npm:2.0.5", {\ + "packageLocation": "./.yarn/cache/is-buffer-npm-2.0.5-17e563f277-764c9ad8b5.zip/node_modules/is-buffer/",\ + "packageDependencies": [\ + ["is-buffer", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-callable", [\ + ["npm:1.2.7", {\ + "packageLocation": "./.yarn/cache/is-callable-npm-1.2.7-808a303e61-61fd57d03b.zip/node_modules/is-callable/",\ + "packageDependencies": [\ + ["is-callable", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-ci", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/is-ci-npm-2.0.0-8662a0f445-77b8690575.zip/node_modules/is-ci/",\ + "packageDependencies": [\ + ["is-ci", "npm:2.0.0"],\ + ["ci-info", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-core-module", [\ + ["npm:2.10.0", {\ + "packageLocation": "./.yarn/cache/is-core-module-npm-2.10.0-6dff9310aa-0f3f77811f.zip/node_modules/is-core-module/",\ + "packageDependencies": [\ + ["is-core-module", "npm:2.10.0"],\ + ["has", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-date-object", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/is-date-object-npm-1.0.5-88f3d08b5e-baa9077cdf.zip/node_modules/is-date-object/",\ + "packageDependencies": [\ + ["is-date-object", "npm:1.0.5"],\ + ["has-tostringtag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-decimal", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-decimal-npm-1.0.4-e67dbd40dd-ed483a3875.zip/node_modules/is-decimal/",\ + "packageDependencies": [\ + ["is-decimal", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-docker", [\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/is-docker-npm-2.2.1-3f18a53aff-3fef7ddbf0.zip/node_modules/is-docker/",\ + "packageDependencies": [\ + ["is-docker", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extendable", [\ + ["npm:0.1.1", {\ + "packageLocation": "./.yarn/cache/is-extendable-npm-0.1.1-322b4649ec-3875571d20.zip/node_modules/is-extendable/",\ + "packageDependencies": [\ + ["is-extendable", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extglob", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-glob", [\ + ["npm:4.0.3", {\ + "packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-glob", "npm:4.0.3"],\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-hexadecimal", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-hexadecimal-npm-1.0.4-b4091da09e-a452e04758.zip/node_modules/is-hexadecimal/",\ + "packageDependencies": [\ + ["is-hexadecimal", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-installed-globally", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/is-installed-globally-npm-0.4.0-a30dd056c7-3359840d59.zip/node_modules/is-installed-globally/",\ + "packageDependencies": [\ + ["is-installed-globally", "npm:0.4.0"],\ + ["global-dirs", "npm:3.0.0"],\ + ["is-path-inside", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-lambda", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip/node_modules/is-lambda/",\ + "packageDependencies": [\ + ["is-lambda", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-negative-zero", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/is-negative-zero-npm-2.0.2-0adac91f15-f3232194c4.zip/node_modules/is-negative-zero/",\ + "packageDependencies": [\ + ["is-negative-zero", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-npm", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/is-npm-npm-5.0.0-2758bcd54b-9baff02b0c.zip/node_modules/is-npm/",\ + "packageDependencies": [\ + ["is-npm", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip/node_modules/is-number/",\ + "packageDependencies": [\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number-object", [\ + ["npm:1.0.7", {\ + "packageLocation": "./.yarn/cache/is-number-object-npm-1.0.7-539d0e274d-d1e8d01bb0.zip/node_modules/is-number-object/",\ + "packageDependencies": [\ + ["is-number-object", "npm:1.0.7"],\ + ["has-tostringtag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-obj", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/is-obj-npm-1.0.1-7d391539d7-3ccf0efdea.zip/node_modules/is-obj/",\ + "packageDependencies": [\ + ["is-obj", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/is-obj-npm-2.0.0-3d95e053f4-c9916ac8f4.zip/node_modules/is-obj/",\ + "packageDependencies": [\ + ["is-obj", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-path-cwd", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/is-path-cwd-npm-2.2.0-e35e4aab5f-46a840921b.zip/node_modules/is-path-cwd/",\ + "packageDependencies": [\ + ["is-path-cwd", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-path-inside", [\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-abd50f0618.zip/node_modules/is-path-inside/",\ + "packageDependencies": [\ + ["is-path-inside", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-obj", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/is-plain-obj-npm-2.1.0-8dffd7ae9c-cec9100678.zip/node_modules/is-plain-obj/",\ + "packageDependencies": [\ + ["is-plain-obj", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/is-plain-obj-npm-3.0.0-a5ae411d5a-a6ebdf8e12.zip/node_modules/is-plain-obj/",\ + "packageDependencies": [\ + ["is-plain-obj", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-object", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/is-plain-object-npm-2.0.4-da3265d804-2a401140cf.zip/node_modules/is-plain-object/",\ + "packageDependencies": [\ + ["is-plain-object", "npm:2.0.4"],\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-regex", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/is-regex-npm-1.1.4-cca193ef11-362399b335.zip/node_modules/is-regex/",\ + "packageDependencies": [\ + ["is-regex", "npm:1.1.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["has-tostringtag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-regexp", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/is-regexp-npm-1.0.0-8f95f51a0c-be692828e2.zip/node_modules/is-regexp/",\ + "packageDependencies": [\ + ["is-regexp", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-root", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/is-root-npm-2.1.0-1822ab0c41-37eea0822a.zip/node_modules/is-root/",\ + "packageDependencies": [\ + ["is-root", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-shared-array-buffer", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/is-shared-array-buffer-npm-1.0.2-32e4181fcd-9508929cf1.zip/node_modules/is-shared-array-buffer/",\ + "packageDependencies": [\ + ["is-shared-array-buffer", "npm:1.0.2"],\ + ["call-bind", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-stream", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/is-stream-npm-2.0.1-c802db55e7-b8e05ccdf9.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-string", [\ + ["npm:1.0.7", {\ + "packageLocation": "./.yarn/cache/is-string-npm-1.0.7-9f7066daed-323b3d0462.zip/node_modules/is-string/",\ + "packageDependencies": [\ + ["is-string", "npm:1.0.7"],\ + ["has-tostringtag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-symbol", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-symbol-npm-1.0.4-eb9baac703-92805812ef.zip/node_modules/is-symbol/",\ + "packageDependencies": [\ + ["is-symbol", "npm:1.0.4"],\ + ["has-symbols", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-typedarray", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip/node_modules/is-typedarray/",\ + "packageDependencies": [\ + ["is-typedarray", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-weakref", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/is-weakref-npm-1.0.2-ff80e8c314-95bd9a57cd.zip/node_modules/is-weakref/",\ + "packageDependencies": [\ + ["is-weakref", "npm:1.0.2"],\ + ["call-bind", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-whitespace-character", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-whitespace-character-npm-1.0.4-02d39af907-adab8ad984.zip/node_modules/is-whitespace-character/",\ + "packageDependencies": [\ + ["is-whitespace-character", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-word-character", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/is-word-character-npm-1.0.4-eeb59c97bc-1821d6c6ab.zip/node_modules/is-word-character/",\ + "packageDependencies": [\ + ["is-word-character", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-wsl", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/is-wsl-npm-2.2.0-2ba10d6393-20849846ae.zip/node_modules/is-wsl/",\ + "packageDependencies": [\ + ["is-wsl", "npm:2.2.0"],\ + ["is-docker", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-yarn-global", [\ + ["npm:0.3.0", {\ + "packageLocation": "./.yarn/cache/is-yarn-global-npm-0.3.0-18cad00879-bca013d65f.zip/node_modules/is-yarn-global/",\ + "packageDependencies": [\ + ["is-yarn-global", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isarray", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/isarray-npm-0.0.1-92e37e0a70-49191f1425.zip/node_modules/isarray/",\ + "packageDependencies": [\ + ["isarray", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/isarray-npm-1.0.0-db4f547720-f032df8e02.zip/node_modules/isarray/",\ + "packageDependencies": [\ + ["isarray", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isexe", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isobject", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/isobject-npm-3.0.1-8145901fd2-db85c4c970.zip/node_modules/isobject/",\ + "packageDependencies": [\ + ["isobject", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jackspeak", [\ + ["npm:2.3.6", {\ + "packageLocation": "./.yarn/cache/jackspeak-npm-2.3.6-42e1233172-57d43ad11e.zip/node_modules/jackspeak/",\ + "packageDependencies": [\ + ["jackspeak", "npm:2.3.6"],\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-util", [\ + ["npm:29.2.0", {\ + "packageLocation": "./.yarn/cache/jest-util-npm-29.2.0-21f9e53143-c1fc26008b.zip/node_modules/jest-util/",\ + "packageDependencies": [\ + ["jest-util", "npm:29.2.0"],\ + ["@jest/types", "npm:29.2.0"],\ + ["@types/node", "npm:18.11.0"],\ + ["chalk", "npm:4.1.2"],\ + ["ci-info", "npm:3.5.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jest-worker", [\ + ["npm:27.5.1", {\ + "packageLocation": "./.yarn/cache/jest-worker-npm-27.5.1-1c110b5894-98cd68b696.zip/node_modules/jest-worker/",\ + "packageDependencies": [\ + ["jest-worker", "npm:27.5.1"],\ + ["@types/node", "npm:18.11.0"],\ + ["merge-stream", "npm:2.0.0"],\ + ["supports-color", "npm:8.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:29.2.0", {\ + "packageLocation": "./.yarn/cache/jest-worker-npm-29.2.0-15289d609f-680afa2b9e.zip/node_modules/jest-worker/",\ + "packageDependencies": [\ + ["jest-worker", "npm:29.2.0"],\ + ["@types/node", "npm:18.11.0"],\ + ["jest-util", "npm:29.2.0"],\ + ["merge-stream", "npm:2.0.0"],\ + ["supports-color", "npm:8.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["joi", [\ + ["npm:17.6.3", {\ + "packageLocation": "./.yarn/cache/joi-npm-17.6.3-2a8ba9150f-a4cd53a83e.zip/node_modules/joi/",\ + "packageDependencies": [\ + ["joi", "npm:17.6.3"],\ + ["@hapi/hoek", "npm:9.3.0"],\ + ["@hapi/topo", "npm:5.1.0"],\ + ["@sideway/address", "npm:4.1.4"],\ + ["@sideway/formula", "npm:3.0.0"],\ + ["@sideway/pinpoint", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-sha3", [\ + ["npm:0.8.0", {\ + "packageLocation": "./.yarn/cache/js-sha3-npm-0.8.0-decf3ddcfa-75df77c1fc.zip/node_modules/js-sha3/",\ + "packageDependencies": [\ + ["js-sha3", "npm:0.8.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-tokens", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-8a95213a5a.zip/node_modules/js-tokens/",\ + "packageDependencies": [\ + ["js-tokens", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-yaml", [\ + ["npm:3.14.1", {\ + "packageLocation": "./.yarn/cache/js-yaml-npm-3.14.1-b968c6095e-bef146085f.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:3.14.1"],\ + ["argparse", "npm:1.0.10"],\ + ["esprima", "npm:4.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c7830dfd45.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:4.1.0"],\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsesc", [\ + ["npm:0.5.0", {\ + "packageLocation": "./.yarn/cache/jsesc-npm-0.5.0-6827074492-b8b44cbfc9.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.5.2", {\ + "packageLocation": "./.yarn/cache/jsesc-npm-2.5.2-c5acb78804-4dc1907711.zip/node_modules/jsesc/",\ + "packageDependencies": [\ + ["jsesc", "npm:2.5.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-buffer", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/json-buffer-npm-3.0.0-21c267a314-0cecacb802.zip/node_modules/json-buffer/",\ + "packageDependencies": [\ + ["json-buffer", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-parse-even-better-errors", [\ + ["npm:2.3.1", {\ + "packageLocation": "./.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-798ed4cf33.zip/node_modules/json-parse-even-better-errors/",\ + "packageDependencies": [\ + ["json-parse-even-better-errors", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-traverse", [\ + ["npm:0.4.1", {\ + "packageLocation": "./.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-02f2f466cd.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json5", [\ + ["npm:2.2.3", {\ + "packageLocation": "./.yarn/cache/json5-npm-2.2.3-9962c55073-2a7436a933.zip/node_modules/json5/",\ + "packageDependencies": [\ + ["json5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsonfile", [\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip/node_modules/jsonfile/",\ + "packageDependencies": [\ + ["jsonfile", "npm:6.1.0"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["universalify", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jszip", [\ + ["npm:3.10.1", {\ + "packageLocation": "./.yarn/cache/jszip-npm-3.10.1-2862546cfb-abc77bfbe3.zip/node_modules/jszip/",\ + "packageDependencies": [\ + ["jszip", "npm:3.10.1"],\ + ["lie", "npm:3.3.0"],\ + ["pako", "npm:1.0.11"],\ + ["readable-stream", "npm:2.3.8"],\ + ["setimmediate", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["keyv", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/keyv-npm-3.1.0-81c9ff4454-bb7e8f3acf.zip/node_modules/keyv/",\ + "packageDependencies": [\ + ["keyv", "npm:3.1.0"],\ + ["json-buffer", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kind-of", [\ + ["npm:6.0.3", {\ + "packageLocation": "./.yarn/cache/kind-of-npm-6.0.3-ab15f36220-3ab01e7b1d.zip/node_modules/kind-of/",\ + "packageDependencies": [\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["kleur", [\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/kleur-npm-3.0.3-f6f53649a4-df82cd1e17.zip/node_modules/kleur/",\ + "packageDependencies": [\ + ["kleur", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["klona", [\ + ["npm:2.0.5", {\ + "packageLocation": "./.yarn/cache/klona-npm-2.0.5-5d403f2d77-8c976126ea.zip/node_modules/klona/",\ + "packageDependencies": [\ + ["klona", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["latest-version", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/latest-version-npm-5.1.0-ddb9b0eb39-fbc72b071e.zip/node_modules/latest-version/",\ + "packageDependencies": [\ + ["latest-version", "npm:5.1.0"],\ + ["package-json", "npm:6.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["leven", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/leven-npm-3.1.0-b7697736a3-638401d534.zip/node_modules/leven/",\ + "packageDependencies": [\ + ["leven", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lie", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/lie-npm-3.3.0-35ddd11a4d-33102302cf.zip/node_modules/lie/",\ + "packageDependencies": [\ + ["lie", "npm:3.3.0"],\ + ["immediate", "npm:3.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lilconfig", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/lilconfig-npm-2.0.6-6231346eaf-40a3cd72f1.zip/node_modules/lilconfig/",\ + "packageDependencies": [\ + ["lilconfig", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lines-and-columns", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-0c37f9f7fa.zip/node_modules/lines-and-columns/",\ + "packageDependencies": [\ + ["lines-and-columns", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lit-docs", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["lit-docs", "workspace:."],\ + ["@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:7.18.6"],\ + ["@docusaurus/core", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/plugin-google-analytics", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@docusaurus/preset-classic", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:2.1.0"],\ + ["@lit-protocol/constants", "npm:2.9.90"],\ + ["@mdx-js/react", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.6.22"],\ + ["@svgr/webpack", "npm:5.5.0"],\ + ["clsx", "npm:1.2.1"],\ + ["dotenv", "npm:16.0.3"],\ + ["file-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:6.2.0"],\ + ["husky", "npm:7.0.4"],\ + ["node-fetch", "npm:3.3.1"],\ + ["prism-react-renderer", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.3.5"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["url-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:4.1.1"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["loader-runner", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/loader-runner-npm-4.3.0-9ca67df372-a90e00dee9.zip/node_modules/loader-runner/",\ + "packageDependencies": [\ + ["loader-runner", "npm:4.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["loader-utils", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/loader-utils-npm-2.0.2-c693411911-9078d1ed47.zip/node_modules/loader-utils/",\ + "packageDependencies": [\ + ["loader-utils", "npm:2.0.2"],\ + ["big.js", "npm:5.2.2"],\ + ["emojis-list", "npm:3.0.0"],\ + ["json5", "npm:2.2.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/loader-utils-npm-3.2.0-02250d00d7-c7b9a8dc4b.zip/node_modules/loader-utils/",\ + "packageDependencies": [\ + ["loader-utils", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["locate-path", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/locate-path-npm-3.0.0-991671ae9f-53db399667.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:3.0.0"],\ + ["p-locate", "npm:3.0.0"],\ + ["path-exists", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/locate-path-npm-5.0.0-46580c43e4-83e51725e6.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:5.0.0"],\ + ["p-locate", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:6.0.0"],\ + ["p-locate", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash", [\ + ["npm:4.17.21", {\ + "packageLocation": "./.yarn/cache/lodash-npm-4.17.21-6382451519-eb835a2e51.zip/node_modules/lodash/",\ + "packageDependencies": [\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.curry", [\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/lodash.curry-npm-4.1.1-b573bff179-9192b70fe7.zip/node_modules/lodash.curry/",\ + "packageDependencies": [\ + ["lodash.curry", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.debounce", [\ + ["npm:4.0.8", {\ + "packageLocation": "./.yarn/cache/lodash.debounce-npm-4.0.8-f1d6e09799-a3f527d22c.zip/node_modules/lodash.debounce/",\ + "packageDependencies": [\ + ["lodash.debounce", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.flow", [\ + ["npm:3.5.0", {\ + "packageLocation": "./.yarn/cache/lodash.flow-npm-3.5.0-55cc614c59-a9a62ad344.zip/node_modules/lodash.flow/",\ + "packageDependencies": [\ + ["lodash.flow", "npm:3.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.memoize", [\ + ["npm:4.1.2", {\ + "packageLocation": "./.yarn/cache/lodash.memoize-npm-4.1.2-0e6250041f-9ff3942fee.zip/node_modules/lodash.memoize/",\ + "packageDependencies": [\ + ["lodash.memoize", "npm:4.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.uniq", [\ + ["npm:4.5.0", {\ + "packageLocation": "./.yarn/cache/lodash.uniq-npm-4.5.0-7c270dca85-a4779b57a8.zip/node_modules/lodash.uniq/",\ + "packageDependencies": [\ + ["lodash.uniq", "npm:4.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["loose-envify", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/loose-envify-npm-1.4.0-6307b72ccf-6517e24e0c.zip/node_modules/loose-envify/",\ + "packageDependencies": [\ + ["loose-envify", "npm:1.4.0"],\ + ["js-tokens", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lower-case", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/lower-case-npm-2.0.2-151055f1c2-83a0a5f159.zip/node_modules/lower-case/",\ + "packageDependencies": [\ + ["lower-case", "npm:2.0.2"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lowercase-keys", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/lowercase-keys-npm-1.0.1-0979e653b8-4d04502659.zip/node_modules/lowercase-keys/",\ + "packageDependencies": [\ + ["lowercase-keys", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/lowercase-keys-npm-2.0.0-1876065a32-24d7ebd56c.zip/node_modules/lowercase-keys/",\ + "packageDependencies": [\ + ["lowercase-keys", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lru-cache", [\ + ["npm:10.0.1", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-10.0.1-0e1abf4c13-06f8d0e1ce.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:10.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-5.1.1-f475882a51-c154ae1cbb.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:5.1.1"],\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:6.0.0"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.18.3", {\ + "packageLocation": "./.yarn/cache/lru-cache-npm-7.18.3-e68be5b11c-e550d77238.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:7.18.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-dir", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/make-dir-npm-3.1.0-d1d7505142-484200020a.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:3.1.0"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:11.1.1", {\ + "packageLocation": "./.yarn/cache/make-fetch-happen-npm-11.1.1-f32b79aaaa-7268bf274a.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:11.1.1"],\ + ["agentkeepalive", "npm:4.5.0"],\ + ["cacache", "npm:17.1.4"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["http-proxy-agent", "npm:5.0.0"],\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["is-lambda", "npm:1.0.1"],\ + ["lru-cache", "npm:7.18.3"],\ + ["minipass", "npm:5.0.0"],\ + ["minipass-fetch", "npm:3.0.4"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:0.6.3"],\ + ["promise-retry", "npm:2.0.1"],\ + ["socks-proxy-agent", "npm:7.0.0"],\ + ["ssri", "npm:10.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["markdown-escapes", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/markdown-escapes-npm-1.0.4-6f56c61420-6833a93d72.zip/node_modules/markdown-escapes/",\ + "packageDependencies": [\ + ["markdown-escapes", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdast-squeeze-paragraphs", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/mdast-squeeze-paragraphs-npm-4.0.0-d8fce7865c-dfe8ec8e8a.zip/node_modules/mdast-squeeze-paragraphs/",\ + "packageDependencies": [\ + ["mdast-squeeze-paragraphs", "npm:4.0.0"],\ + ["unist-util-remove", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdast-util-definitions", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/mdast-util-definitions-npm-4.0.0-207d18be98-2325f20b82.zip/node_modules/mdast-util-definitions/",\ + "packageDependencies": [\ + ["mdast-util-definitions", "npm:4.0.0"],\ + ["unist-util-visit", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdast-util-to-hast", [\ + ["npm:10.0.1", {\ + "packageLocation": "./.yarn/cache/mdast-util-to-hast-npm-10.0.1-2ebdc3b7fc-e5f385757d.zip/node_modules/mdast-util-to-hast/",\ + "packageDependencies": [\ + ["mdast-util-to-hast", "npm:10.0.1"],\ + ["@types/mdast", "npm:3.0.10"],\ + ["@types/unist", "npm:2.0.6"],\ + ["mdast-util-definitions", "npm:4.0.0"],\ + ["mdurl", "npm:1.0.1"],\ + ["unist-builder", "npm:2.0.3"],\ + ["unist-util-generated", "npm:1.1.6"],\ + ["unist-util-position", "npm:3.1.0"],\ + ["unist-util-visit", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdast-util-to-string", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/mdast-util-to-string-npm-2.0.0-3a5d9c4970-0b2113ada1.zip/node_modules/mdast-util-to-string/",\ + "packageDependencies": [\ + ["mdast-util-to-string", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdn-data", [\ + ["npm:2.0.14", {\ + "packageLocation": "./.yarn/cache/mdn-data-npm-2.0.14-0acd669f0d-9d0128ed42.zip/node_modules/mdn-data/",\ + "packageDependencies": [\ + ["mdn-data", "npm:2.0.14"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/mdn-data-npm-2.0.4-59a77d1e29-add3c95e6d.zip/node_modules/mdn-data/",\ + "packageDependencies": [\ + ["mdn-data", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdurl", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/mdurl-npm-1.0.1-054d974269-71731ecba9.zip/node_modules/mdurl/",\ + "packageDependencies": [\ + ["mdurl", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["media-typer", [\ + ["npm:0.3.0", {\ + "packageLocation": "./.yarn/cache/media-typer-npm-0.3.0-8674f8f0f5-af1b38516c.zip/node_modules/media-typer/",\ + "packageDependencies": [\ + ["media-typer", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["memfs", [\ + ["npm:3.4.7", {\ + "packageLocation": "./.yarn/cache/memfs-npm-3.4.7-7923376d80-fab88266dc.zip/node_modules/memfs/",\ + "packageDependencies": [\ + ["memfs", "npm:3.4.7"],\ + ["fs-monkey", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-descriptors", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/merge-descriptors-npm-1.0.1-615287aaa8-5abc259d2a.zip/node_modules/merge-descriptors/",\ + "packageDependencies": [\ + ["merge-descriptors", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-stream", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-6fa4dcc8d8.zip/node_modules/merge-stream/",\ + "packageDependencies": [\ + ["merge-stream", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["methods", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/methods-npm-1.1.2-92f6fdb39b-0917ff4041.zip/node_modules/methods/",\ + "packageDependencies": [\ + ["methods", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["micromatch", [\ + ["npm:4.0.5", {\ + "packageLocation": "./.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-02a17b671c.zip/node_modules/micromatch/",\ + "packageDependencies": [\ + ["micromatch", "npm:4.0.5"],\ + ["braces", "npm:3.0.2"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime", [\ + ["npm:1.6.0", {\ + "packageLocation": "./.yarn/cache/mime-npm-1.6.0-60ae95038a-fef25e3926.zip/node_modules/mime/",\ + "packageDependencies": [\ + ["mime", "npm:1.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-db", [\ + ["npm:1.33.0", {\ + "packageLocation": "./.yarn/cache/mime-db-npm-1.33.0-7789226f70-281a077218.zip/node_modules/mime-db/",\ + "packageDependencies": [\ + ["mime-db", "npm:1.33.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.52.0", {\ + "packageLocation": "./.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip/node_modules/mime-db/",\ + "packageDependencies": [\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-types", [\ + ["npm:2.1.18", {\ + "packageLocation": "./.yarn/cache/mime-types-npm-2.1.18-cbd0b45e31-729265eff1.zip/node_modules/mime-types/",\ + "packageDependencies": [\ + ["mime-types", "npm:2.1.18"],\ + ["mime-db", "npm:1.33.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.35", {\ + "packageLocation": "./.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip/node_modules/mime-types/",\ + "packageDependencies": [\ + ["mime-types", "npm:2.1.35"],\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-fn", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-d2421a3444.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-response", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/mimic-response-npm-1.0.1-f6f85dde84-034c78753b.zip/node_modules/mimic-response/",\ + "packageDependencies": [\ + ["mimic-response", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mini-css-extract-plugin", [\ + ["npm:2.6.1", {\ + "packageLocation": "./.yarn/cache/mini-css-extract-plugin-npm-2.6.1-4e6d2beaf0-df60840404.zip/node_modules/mini-css-extract-plugin/",\ + "packageDependencies": [\ + ["mini-css-extract-plugin", "npm:2.6.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.6.1", {\ + "packageLocation": "./.yarn/__virtual__/mini-css-extract-plugin-virtual-4b99973772/0/cache/mini-css-extract-plugin-npm-2.6.1-4e6d2beaf0-df60840404.zip/node_modules/mini-css-extract-plugin/",\ + "packageDependencies": [\ + ["mini-css-extract-plugin", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:2.6.1"],\ + ["@types/webpack", null],\ + ["schema-utils", "npm:4.0.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimalistic-assert", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/minimalistic-assert-npm-1.0.1-dc8bb23d29-cc7974a926.zip/node_modules/minimalistic-assert/",\ + "packageDependencies": [\ + ["minimalistic-assert", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimalistic-crypto-utils", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/minimalistic-crypto-utils-npm-1.0.1-e66b10822e-6e8a0422b3.zip/node_modules/minimalistic-crypto-utils/",\ + "packageDependencies": [\ + ["minimalistic-crypto-utils", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimatch", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-3.0.4-6e76f51c23-66ac295f8a.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.0.4"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-3.1.2-9405269906-c154e56640.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.1.2"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.3", {\ + "packageLocation": "./.yarn/cache/minimatch-npm-9.0.3-69d7d6fad5-253487976b.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.3"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimist", [\ + ["npm:1.2.7", {\ + "packageLocation": "./.yarn/cache/minimist-npm-1.2.7-51d33b1371-7346574a10.zip/node_modules/minimist/",\ + "packageDependencies": [\ + ["minimist", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "./.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a30d083c80.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.4", {\ + "packageLocation": "./.yarn/cache/minipass-npm-7.0.4-eacb4e042e-87585e258b.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/minipass-collect-npm-1.0.2-3b4676eab5-14df761028.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/minipass-fetch-npm-3.0.4-200ac7c66d-af7aad15d5.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:3.0.4"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:2.1.2"],\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:0.5.6", {\ + "packageLocation": "./.yarn/cache/mkdirp-npm-0.5.6-dcd5a6b97b-0c91b721bb.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:0.5.6"],\ + ["minimist", "npm:1.2.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mrmime", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/mrmime-npm-1.0.1-d0aa4f5ddf-cc979da44b.zip/node_modules/mrmime/",\ + "packageDependencies": [\ + ["mrmime", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.3", {\ + "packageLocation": "./.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["multicast-dns", [\ + ["npm:7.2.5", {\ + "packageLocation": "./.yarn/cache/multicast-dns-npm-7.2.5-e1c9c3ec64-00b8a57df1.zip/node_modules/multicast-dns/",\ + "packageDependencies": [\ + ["multicast-dns", "npm:7.2.5"],\ + ["dns-packet", "npm:5.4.0"],\ + ["thunky", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["multiformats", [\ + ["npm:11.0.2", {\ + "packageLocation": "./.yarn/cache/multiformats-npm-11.0.2-fe26e09ee1-e587bbe709.zip/node_modules/multiformats/",\ + "packageDependencies": [\ + ["multiformats", "npm:11.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nanoid", [\ + ["npm:3.3.4", {\ + "packageLocation": "./.yarn/cache/nanoid-npm-3.3.4-3d250377d6-2fddd6dee9.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:3.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:0.6.3", {\ + "packageLocation": "./.yarn/cache/negotiator-npm-0.6.3-9d50e36171-b8ffeb1e26.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["neo-async", [\ + ["npm:2.6.2", {\ + "packageLocation": "./.yarn/cache/neo-async-npm-2.6.2-75d6902586-deac9f8d00.zip/node_modules/neo-async/",\ + "packageDependencies": [\ + ["neo-async", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["no-case", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/no-case-npm-3.0.4-12884c3d98-0b2ebc113d.zip/node_modules/no-case/",\ + "packageDependencies": [\ + ["no-case", "npm:3.0.4"],\ + ["lower-case", "npm:2.0.2"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-domexception", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/node-domexception-npm-1.0.0-e1e813b76f-ee1d37dd2a.zip/node_modules/node-domexception/",\ + "packageDependencies": [\ + ["node-domexception", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-emoji", [\ + ["npm:1.11.0", {\ + "packageLocation": "./.yarn/cache/node-emoji-npm-1.11.0-dd2f09050c-e8c856c04a.zip/node_modules/node-emoji/",\ + "packageDependencies": [\ + ["node-emoji", "npm:1.11.0"],\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-fetch", [\ + ["npm:2.6.7", {\ + "packageLocation": "./.yarn/cache/node-fetch-npm-2.6.7-777aa2a6df-8d816ffd1e.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "npm:2.6.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:3.3.1", {\ + "packageLocation": "./.yarn/cache/node-fetch-npm-3.3.1-576511fc5a-62145fd3ba.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "npm:3.3.1"],\ + ["data-uri-to-buffer", "npm:4.0.1"],\ + ["fetch-blob", "npm:3.2.0"],\ + ["formdata-polyfill", "npm:4.0.10"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:e414995db9c779306e687c7a7c66965e66d0cd7270f6b9fc4f00cc9772c5d50b305ab83e142e0e21dbf10968f7437cbdfcb170d05f4bde68707ac7d0082c9cca#npm:2.6.7", {\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-10f4bc17d9/0/cache/node-fetch-npm-2.6.7-777aa2a6df-8d816ffd1e.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "virtual:e414995db9c779306e687c7a7c66965e66d0cd7270f6b9fc4f00cc9772c5d50b305ab83e142e0e21dbf10968f7437cbdfcb170d05f4bde68707ac7d0082c9cca#npm:2.6.7"],\ + ["@types/encoding", null],\ + ["encoding", null],\ + ["whatwg-url", "npm:5.0.0"]\ + ],\ + "packagePeers": [\ + "@types/encoding",\ + "encoding"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-forge", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/node-forge-npm-1.3.1-f31fd566cc-08fb072d3d.zip/node_modules/node-forge/",\ + "packageDependencies": [\ + ["node-forge", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:9.4.0", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-9.4.0-ebf5f5573e/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:9.4.0"],\ + ["env-paths", "npm:2.2.1"],\ + ["exponential-backoff", "npm:3.1.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["make-fetch-happen", "npm:11.1.1"],\ + ["nopt", "npm:6.0.0"],\ + ["npmlog", "npm:6.0.2"],\ + ["rimraf", "npm:3.0.2"],\ + ["semver", "npm:7.3.8"],\ + ["tar", "npm:6.2.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-releases", [\ + ["npm:2.0.6", {\ + "packageLocation": "./.yarn/cache/node-releases-npm-2.0.6-8accb3fefb-e86a926dc9.zip/node_modules/node-releases/",\ + "packageDependencies": [\ + ["node-releases", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/nopt-npm-6.0.0-5ea8050815-82149371f8.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:6.0.0"],\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["normalize-path", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/normalize-path-npm-3.0.0-658ba7d77f-88eeb4da89.zip/node_modules/normalize-path/",\ + "packageDependencies": [\ + ["normalize-path", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["normalize-range", [\ + ["npm:0.1.2", {\ + "packageLocation": "./.yarn/cache/normalize-range-npm-0.1.2-bec5e259e2-9b2f14f093.zip/node_modules/normalize-range/",\ + "packageDependencies": [\ + ["normalize-range", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["normalize-url", [\ + ["npm:4.5.1", {\ + "packageLocation": "./.yarn/cache/normalize-url-npm-4.5.1-603d40bc18-9a9dee01df.zip/node_modules/normalize-url/",\ + "packageDependencies": [\ + ["normalize-url", "npm:4.5.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.1.0", {\ + "packageLocation": "./.yarn/cache/normalize-url-npm-6.1.0-b95bc12ece-4a49446311.zip/node_modules/normalize-url/",\ + "packageDependencies": [\ + ["normalize-url", "npm:6.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-path", [\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-5374c0cea4.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:4.0.1"],\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npmlog", [\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/npmlog-npm-6.0.2-e0e69455c7-ae238cd264.zip/node_modules/npmlog/",\ + "packageDependencies": [\ + ["npmlog", "npm:6.0.2"],\ + ["are-we-there-yet", "npm:3.0.1"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["gauge", "npm:4.0.4"],\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nprogress", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/nprogress-npm-0.2.0-c1c0973624-66b7bec5d5.zip/node_modules/nprogress/",\ + "packageDependencies": [\ + ["nprogress", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nth-check", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/nth-check-npm-1.0.2-3f6d0d22eb-59e115fdd7.zip/node_modules/nth-check/",\ + "packageDependencies": [\ + ["nth-check", "npm:1.0.2"],\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/nth-check-npm-2.1.1-f97afc8169-5afc3dafcd.zip/node_modules/nth-check/",\ + "packageDependencies": [\ + ["nth-check", "npm:2.1.1"],\ + ["boolbase", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-assign", [\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/object-assign-npm-4.1.1-1004ad6dec-fcc6e4ea8c.zip/node_modules/object-assign/",\ + "packageDependencies": [\ + ["object-assign", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-inspect", [\ + ["npm:1.12.2", {\ + "packageLocation": "./.yarn/cache/object-inspect-npm-1.12.2-f125a822c0-a534fc1b85.zip/node_modules/object-inspect/",\ + "packageDependencies": [\ + ["object-inspect", "npm:1.12.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object-keys", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/object-keys-npm-1.1.1-1bf2f1be93-b363c5e764.zip/node_modules/object-keys/",\ + "packageDependencies": [\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.assign", [\ + ["npm:4.1.4", {\ + "packageLocation": "./.yarn/cache/object.assign-npm-4.1.4-fb3deb1c3a-76cab513a5.zip/node_modules/object.assign/",\ + "packageDependencies": [\ + ["object.assign", "npm:4.1.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["has-symbols", "npm:1.0.3"],\ + ["object-keys", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.getownpropertydescriptors", [\ + ["npm:2.1.4", {\ + "packageLocation": "./.yarn/cache/object.getownpropertydescriptors-npm-2.1.4-ef38df1635-988c466fe4.zip/node_modules/object.getownpropertydescriptors/",\ + "packageDependencies": [\ + ["object.getownpropertydescriptors", "npm:2.1.4"],\ + ["array.prototype.reduce", "npm:1.0.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["object.values", [\ + ["npm:1.1.5", {\ + "packageLocation": "./.yarn/cache/object.values-npm-1.1.5-f1de7f3742-0f17e99741.zip/node_modules/object.values/",\ + "packageDependencies": [\ + ["object.values", "npm:1.1.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["obuf", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/obuf-npm-1.1.2-8db5fae8dd-41a2ba310e.zip/node_modules/obuf/",\ + "packageDependencies": [\ + ["obuf", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["on-finished", [\ + ["npm:2.4.1", {\ + "packageLocation": "./.yarn/cache/on-finished-npm-2.4.1-907af70f88-d20929a25e.zip/node_modules/on-finished/",\ + "packageDependencies": [\ + ["on-finished", "npm:2.4.1"],\ + ["ee-first", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["on-headers", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/on-headers-npm-1.0.2-e7cd3ea25e-2bf1346721.zip/node_modules/on-headers/",\ + "packageDependencies": [\ + ["on-headers", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["once", [\ + ["npm:1.4.0", {\ + "packageLocation": "./.yarn/cache/once-npm-1.4.0-ccf03ef07a-cd0a885013.zip/node_modules/once/",\ + "packageDependencies": [\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["onetime", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/onetime-npm-5.1.2-3ed148fa42-2478859ef8.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["onetime", "npm:5.1.2"],\ + ["mimic-fn", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["open", [\ + ["npm:8.4.0", {\ + "packageLocation": "./.yarn/unplugged/open-npm-8.4.0-df63cfe537/node_modules/open/",\ + "packageDependencies": [\ + ["open", "npm:8.4.0"],\ + ["define-lazy-prop", "npm:2.0.0"],\ + ["is-docker", "npm:2.2.1"],\ + ["is-wsl", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["opener", [\ + ["npm:1.5.2", {\ + "packageLocation": "./.yarn/cache/opener-npm-1.5.2-7a1aa69f14-33b620c0d5.zip/node_modules/opener/",\ + "packageDependencies": [\ + ["opener", "npm:1.5.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-cancelable", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/p-cancelable-npm-1.1.0-d147d5996f-2db3814fef.zip/node_modules/p-cancelable/",\ + "packageDependencies": [\ + ["p-cancelable", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-limit", [\ + ["npm:2.3.0", {\ + "packageLocation": "./.yarn/cache/p-limit-npm-2.3.0-94a0310039-84ff17f1a3.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:2.3.0"],\ + ["p-try", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:3.1.0"],\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-locate", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/p-locate-npm-3.0.0-74de74f952-83991734a9.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:3.0.0"],\ + ["p-limit", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/p-locate-npm-4.1.0-eec6872537-513bd14a45.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:4.1.0"],\ + ["p-limit", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:5.0.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-map", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/p-map-npm-4.0.0-4677ae07c7-cb0ab21ec0.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:4.0.0"],\ + ["aggregate-error", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-retry", [\ + ["npm:4.6.2", {\ + "packageLocation": "./.yarn/cache/p-retry-npm-4.6.2-9f871cfc9b-45c270bfdd.zip/node_modules/p-retry/",\ + "packageDependencies": [\ + ["p-retry", "npm:4.6.2"],\ + ["@types/retry", "npm:0.12.0"],\ + ["retry", "npm:0.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-try", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/p-try-npm-2.2.0-e0390dbaf8-f8a8e9a769.zip/node_modules/p-try/",\ + "packageDependencies": [\ + ["p-try", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["package-json", [\ + ["npm:6.5.0", {\ + "packageLocation": "./.yarn/cache/package-json-npm-6.5.0-30e58237bb-cc9f890d36.zip/node_modules/package-json/",\ + "packageDependencies": [\ + ["package-json", "npm:6.5.0"],\ + ["got", "npm:9.6.0"],\ + ["registry-auth-token", "npm:4.2.2"],\ + ["registry-url", "npm:5.1.0"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pako", [\ + ["npm:1.0.11", {\ + "packageLocation": "./.yarn/cache/pako-npm-1.0.11-b8f1b69d3e-1be2bfa1f8.zip/node_modules/pako/",\ + "packageDependencies": [\ + ["pako", "npm:1.0.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["param-case", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/param-case-npm-3.0.4-cfb242ad97-b34227fd0f.zip/node_modules/param-case/",\ + "packageDependencies": [\ + ["param-case", "npm:3.0.4"],\ + ["dot-case", "npm:3.0.4"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parent-module", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip/node_modules/parent-module/",\ + "packageDependencies": [\ + ["parent-module", "npm:1.0.1"],\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-entities", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/parse-entities-npm-2.0.0-b7b4f46ff6-7addfd3e7d.zip/node_modules/parse-entities/",\ + "packageDependencies": [\ + ["parse-entities", "npm:2.0.0"],\ + ["character-entities", "npm:1.2.4"],\ + ["character-entities-legacy", "npm:1.1.4"],\ + ["character-reference-invalid", "npm:1.1.4"],\ + ["is-alphanumerical", "npm:1.0.4"],\ + ["is-decimal", "npm:1.0.4"],\ + ["is-hexadecimal", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-json", [\ + ["npm:5.2.0", {\ + "packageLocation": "./.yarn/cache/parse-json-npm-5.2.0-00a63b1199-62085b17d6.zip/node_modules/parse-json/",\ + "packageDependencies": [\ + ["parse-json", "npm:5.2.0"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["error-ex", "npm:1.3.2"],\ + ["json-parse-even-better-errors", "npm:2.3.1"],\ + ["lines-and-columns", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse-numeric-range", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/parse-numeric-range-npm-1.3.0-71baf377a4-289ca126d5.zip/node_modules/parse-numeric-range/",\ + "packageDependencies": [\ + ["parse-numeric-range", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse5", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/parse5-npm-6.0.1-70a35a494a-7d569a176c.zip/node_modules/parse5/",\ + "packageDependencies": [\ + ["parse5", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.1", {\ + "packageLocation": "./.yarn/cache/parse5-npm-7.1.1-27fa6524c4-8f72fbfa6d.zip/node_modules/parse5/",\ + "packageDependencies": [\ + ["parse5", "npm:7.1.1"],\ + ["entities", "npm:4.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parse5-htmlparser2-tree-adapter", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/parse5-htmlparser2-tree-adapter-npm-7.0.0-38e1b3a974-fc5d01e077.zip/node_modules/parse5-htmlparser2-tree-adapter/",\ + "packageDependencies": [\ + ["parse5-htmlparser2-tree-adapter", "npm:7.0.0"],\ + ["domhandler", "npm:5.0.3"],\ + ["parse5", "npm:7.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parseurl", [\ + ["npm:1.3.3", {\ + "packageLocation": "./.yarn/cache/parseurl-npm-1.3.3-1542397e00-407cee8e0a.zip/node_modules/parseurl/",\ + "packageDependencies": [\ + ["parseurl", "npm:1.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pascal-case", [\ + ["npm:3.1.2", {\ + "packageLocation": "./.yarn/cache/pascal-case-npm-3.1.2-35f5b9bff6-ba98bfd595.zip/node_modules/pascal-case/",\ + "packageDependencies": [\ + ["pascal-case", "npm:3.1.2"],\ + ["no-case", "npm:3.0.4"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-exists", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/path-exists-npm-3.0.0-e80371aa68-96e92643aa.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-is-absolute", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip/node_modules/path-is-absolute/",\ + "packageDependencies": [\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-is-inside", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/path-is-inside-npm-1.0.2-7dd0711668-0b5b6c92d3.zip/node_modules/path-is-inside/",\ + "packageDependencies": [\ + ["path-is-inside", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-key", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-parse", [\ + ["npm:1.0.7", {\ + "packageLocation": "./.yarn/cache/path-parse-npm-1.0.7-09564527b7-49abf3d811.zip/node_modules/path-parse/",\ + "packageDependencies": [\ + ["path-parse", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-scurry", [\ + ["npm:1.10.1", {\ + "packageLocation": "./.yarn/cache/path-scurry-npm-1.10.1-52bd946f2e-e2557cff3a.zip/node_modules/path-scurry/",\ + "packageDependencies": [\ + ["path-scurry", "npm:1.10.1"],\ + ["lru-cache", "npm:10.0.1"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-to-regexp", [\ + ["npm:0.1.7", {\ + "packageLocation": "./.yarn/cache/path-to-regexp-npm-0.1.7-2605347373-69a14ea24d.zip/node_modules/path-to-regexp/",\ + "packageDependencies": [\ + ["path-to-regexp", "npm:0.1.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.8.0", {\ + "packageLocation": "./.yarn/cache/path-to-regexp-npm-1.8.0-a1904f5c44-709f6f083c.zip/node_modules/path-to-regexp/",\ + "packageDependencies": [\ + ["path-to-regexp", "npm:1.8.0"],\ + ["isarray", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/path-to-regexp-npm-2.2.1-b79f8bb303-b921a74e75.zip/node_modules/path-to-regexp/",\ + "packageDependencies": [\ + ["path-to-regexp", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-type", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip/node_modules/path-type/",\ + "packageDependencies": [\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picocolors", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/picocolors-npm-1.0.0-d81e0b1927-a2e8092dd8.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picomatch", [\ + ["npm:2.3.1", {\ + "packageLocation": "./.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pkg-dir", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-9863e3f351.zip/node_modules/pkg-dir/",\ + "packageDependencies": [\ + ["pkg-dir", "npm:4.2.0"],\ + ["find-up", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pkg-up", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/pkg-up-npm-3.1.0-1eebe033b7-5bac346b7c.zip/node_modules/pkg-up/",\ + "packageDependencies": [\ + ["pkg-up", "npm:3.1.0"],\ + ["find-up", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss", [\ + ["npm:8.4.18", {\ + "packageLocation": "./.yarn/cache/postcss-npm-8.4.18-f1d73c0a84-9349fd9984.zip/node_modules/postcss/",\ + "packageDependencies": [\ + ["postcss", "npm:8.4.18"],\ + ["nanoid", "npm:3.3.4"],\ + ["picocolors", "npm:1.0.0"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-calc", [\ + ["npm:8.2.4", {\ + "packageLocation": "./.yarn/cache/postcss-calc-npm-8.2.4-9d59948567-314b4cebb0.zip/node_modules/postcss-calc/",\ + "packageDependencies": [\ + ["postcss-calc", "npm:8.2.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:8.2.4", {\ + "packageLocation": "./.yarn/__virtual__/postcss-calc-virtual-2641d8b300/0/cache/postcss-calc-npm-8.2.4-9d59948567-314b4cebb0.zip/node_modules/postcss-calc/",\ + "packageDependencies": [\ + ["postcss-calc", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:8.2.4"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-colormin", [\ + ["npm:5.3.0", {\ + "packageLocation": "./.yarn/cache/postcss-colormin-npm-5.3.0-a0a0e0e004-3d3e3cc250.zip/node_modules/postcss-colormin/",\ + "packageDependencies": [\ + ["postcss-colormin", "npm:5.3.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.3.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-colormin-virtual-c42df17892/0/cache/postcss-colormin-npm-5.3.0-a0a0e0e004-3d3e3cc250.zip/node_modules/postcss-colormin/",\ + "packageDependencies": [\ + ["postcss-colormin", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.3.0"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["caniuse-api", "npm:3.0.0"],\ + ["colord", "npm:2.9.3"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-convert-values", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/postcss-convert-values-npm-5.1.2-e7d0c4a1e0-b1615daf12.zip/node_modules/postcss-convert-values/",\ + "packageDependencies": [\ + ["postcss-convert-values", "npm:5.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2", {\ + "packageLocation": "./.yarn/__virtual__/postcss-convert-values-virtual-3be89f14ff/0/cache/postcss-convert-values-npm-5.1.2-e7d0c4a1e0-b1615daf12.zip/node_modules/postcss-convert-values/",\ + "packageDependencies": [\ + ["postcss-convert-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-discard-comments", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/postcss-discard-comments-npm-5.1.2-9f30a2d082-abfd064ebc.zip/node_modules/postcss-discard-comments/",\ + "packageDependencies": [\ + ["postcss-discard-comments", "npm:5.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2", {\ + "packageLocation": "./.yarn/__virtual__/postcss-discard-comments-virtual-d950f72982/0/cache/postcss-discard-comments-npm-5.1.2-9f30a2d082-abfd064ebc.zip/node_modules/postcss-discard-comments/",\ + "packageDependencies": [\ + ["postcss-discard-comments", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-discard-duplicates", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-discard-duplicates-npm-5.1.0-c9479e6afc-88d6964201.zip/node_modules/postcss-discard-duplicates/",\ + "packageDependencies": [\ + ["postcss-discard-duplicates", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-discard-duplicates-virtual-a557910190/0/cache/postcss-discard-duplicates-npm-5.1.0-c9479e6afc-88d6964201.zip/node_modules/postcss-discard-duplicates/",\ + "packageDependencies": [\ + ["postcss-discard-duplicates", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-discard-empty", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-discard-empty-npm-5.1.1-7a8ea765fa-970adb12fa.zip/node_modules/postcss-discard-empty/",\ + "packageDependencies": [\ + ["postcss-discard-empty", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-discard-empty-virtual-f8fb71aa1c/0/cache/postcss-discard-empty-npm-5.1.1-7a8ea765fa-970adb12fa.zip/node_modules/postcss-discard-empty/",\ + "packageDependencies": [\ + ["postcss-discard-empty", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-discard-overridden", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-discard-overridden-npm-5.1.0-0d3b10779a-d64d4a545a.zip/node_modules/postcss-discard-overridden/",\ + "packageDependencies": [\ + ["postcss-discard-overridden", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-discard-overridden-virtual-b9282fa587/0/cache/postcss-discard-overridden-npm-5.1.0-0d3b10779a-d64d4a545a.zip/node_modules/postcss-discard-overridden/",\ + "packageDependencies": [\ + ["postcss-discard-overridden", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-discard-unused", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-discard-unused-npm-5.1.0-ea3f591ada-5c09403a34.zip/node_modules/postcss-discard-unused/",\ + "packageDependencies": [\ + ["postcss-discard-unused", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-discard-unused-virtual-5482ec44de/0/cache/postcss-discard-unused-npm-5.1.0-ea3f591ada-5c09403a34.zip/node_modules/postcss-discard-unused/",\ + "packageDependencies": [\ + ["postcss-discard-unused", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-loader", [\ + ["npm:7.0.1", {\ + "packageLocation": "./.yarn/cache/postcss-loader-npm-7.0.1-444ecd58b4-2a3cbcaaad.zip/node_modules/postcss-loader/",\ + "packageDependencies": [\ + ["postcss-loader", "npm:7.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.0.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-loader-virtual-c9ce297651/0/cache/postcss-loader-npm-7.0.1-444ecd58b4-2a3cbcaaad.zip/node_modules/postcss-loader/",\ + "packageDependencies": [\ + ["postcss-loader", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:7.0.1"],\ + ["@types/postcss", null],\ + ["@types/webpack", null],\ + ["cosmiconfig", "npm:7.0.1"],\ + ["klona", "npm:2.0.5"],\ + ["postcss", "npm:8.4.18"],\ + ["semver", "npm:7.3.8"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "@types/webpack",\ + "postcss",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-merge-idents", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-merge-idents-npm-5.1.1-91959f5d9c-ed8a673617.zip/node_modules/postcss-merge-idents/",\ + "packageDependencies": [\ + ["postcss-merge-idents", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-merge-idents-virtual-e6e542907f/0/cache/postcss-merge-idents-npm-5.1.1-91959f5d9c-ed8a673617.zip/node_modules/postcss-merge-idents/",\ + "packageDependencies": [\ + ["postcss-merge-idents", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-merge-longhand", [\ + ["npm:5.1.6", {\ + "packageLocation": "./.yarn/cache/postcss-merge-longhand-npm-5.1.6-1ea474a013-327b5474d9.zip/node_modules/postcss-merge-longhand/",\ + "packageDependencies": [\ + ["postcss-merge-longhand", "npm:5.1.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.6", {\ + "packageLocation": "./.yarn/__virtual__/postcss-merge-longhand-virtual-9ce1ebb401/0/cache/postcss-merge-longhand-npm-5.1.6-1ea474a013-327b5474d9.zip/node_modules/postcss-merge-longhand/",\ + "packageDependencies": [\ + ["postcss-merge-longhand", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.6"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"],\ + ["stylehacks", "virtual:9ce1ebb401224aa4c8df107410cb464d7c211be45fba6e9fb84b9c7b58a34bbc0c649bee05e69d93764cdc54ae2d3454e729e6cd9d4f9bd500bfcaa419131693#npm:5.1.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-merge-rules", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/postcss-merge-rules-npm-5.1.2-3d3ebfe344-fcbc415999.zip/node_modules/postcss-merge-rules/",\ + "packageDependencies": [\ + ["postcss-merge-rules", "npm:5.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2", {\ + "packageLocation": "./.yarn/__virtual__/postcss-merge-rules-virtual-0618c0c907/0/cache/postcss-merge-rules-npm-5.1.2-3d3ebfe344-fcbc415999.zip/node_modules/postcss-merge-rules/",\ + "packageDependencies": [\ + ["postcss-merge-rules", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.2"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["caniuse-api", "npm:3.0.0"],\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-minify-font-values", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-minify-font-values-npm-5.1.0-8f34fc7a1f-35e858fa41.zip/node_modules/postcss-minify-font-values/",\ + "packageDependencies": [\ + ["postcss-minify-font-values", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-minify-font-values-virtual-8941b445e7/0/cache/postcss-minify-font-values-npm-5.1.0-8f34fc7a1f-35e858fa41.zip/node_modules/postcss-minify-font-values/",\ + "packageDependencies": [\ + ["postcss-minify-font-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-minify-gradients", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-minify-gradients-npm-5.1.1-ec88a4bfbc-27354072a0.zip/node_modules/postcss-minify-gradients/",\ + "packageDependencies": [\ + ["postcss-minify-gradients", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-minify-gradients-virtual-4b315dddc3/0/cache/postcss-minify-gradients-npm-5.1.1-ec88a4bfbc-27354072a0.zip/node_modules/postcss-minify-gradients/",\ + "packageDependencies": [\ + ["postcss-minify-gradients", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["colord", "npm:2.9.3"],\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-minify-params", [\ + ["npm:5.1.3", {\ + "packageLocation": "./.yarn/cache/postcss-minify-params-npm-5.1.3-2f7c7bb18d-2d218f6b82.zip/node_modules/postcss-minify-params/",\ + "packageDependencies": [\ + ["postcss-minify-params", "npm:5.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.3", {\ + "packageLocation": "./.yarn/__virtual__/postcss-minify-params-virtual-298c085491/0/cache/postcss-minify-params-npm-5.1.3-2f7c7bb18d-2d218f6b82.zip/node_modules/postcss-minify-params/",\ + "packageDependencies": [\ + ["postcss-minify-params", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.3"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-minify-selectors", [\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/postcss-minify-selectors-npm-5.2.1-33a6509bbc-6fdbc84f99.zip/node_modules/postcss-minify-selectors/",\ + "packageDependencies": [\ + ["postcss-minify-selectors", "npm:5.2.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.2.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-minify-selectors-virtual-9e7134fd4f/0/cache/postcss-minify-selectors-npm-5.2.1-33a6509bbc-6fdbc84f99.zip/node_modules/postcss-minify-selectors/",\ + "packageDependencies": [\ + ["postcss-minify-selectors", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.2.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-modules-extract-imports", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/postcss-modules-extract-imports-npm-3.0.0-619311282d-4b65f2f138.zip/node_modules/postcss-modules-extract-imports/",\ + "packageDependencies": [\ + ["postcss-modules-extract-imports", "npm:3.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:3.0.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-modules-extract-imports-virtual-15ea8fda82/0/cache/postcss-modules-extract-imports-npm-3.0.0-619311282d-4b65f2f138.zip/node_modules/postcss-modules-extract-imports/",\ + "packageDependencies": [\ + ["postcss-modules-extract-imports", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:3.0.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-modules-local-by-default", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/postcss-modules-local-by-default-npm-4.0.0-794014f0a5-6cf570badc.zip/node_modules/postcss-modules-local-by-default/",\ + "packageDependencies": [\ + ["postcss-modules-local-by-default", "npm:4.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:4.0.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-modules-local-by-default-virtual-1122ce4e4b/0/cache/postcss-modules-local-by-default-npm-4.0.0-794014f0a5-6cf570badc.zip/node_modules/postcss-modules-local-by-default/",\ + "packageDependencies": [\ + ["postcss-modules-local-by-default", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:4.0.0"],\ + ["@types/postcss", null],\ + ["icss-utils", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:5.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-modules-scope", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/postcss-modules-scope-npm-3.0.0-0678040a26-330b9398db.zip/node_modules/postcss-modules-scope/",\ + "packageDependencies": [\ + ["postcss-modules-scope", "npm:3.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:3.0.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-modules-scope-virtual-4598c910e3/0/cache/postcss-modules-scope-npm-3.0.0-0678040a26-330b9398db.zip/node_modules/postcss-modules-scope/",\ + "packageDependencies": [\ + ["postcss-modules-scope", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:3.0.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-modules-values", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/postcss-modules-values-npm-4.0.0-63d7ec543a-f7f2cdf14a.zip/node_modules/postcss-modules-values/",\ + "packageDependencies": [\ + ["postcss-modules-values", "npm:4.0.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:4.0.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-modules-values-virtual-c83b1988b5/0/cache/postcss-modules-values-npm-4.0.0-63d7ec543a-f7f2cdf14a.zip/node_modules/postcss-modules-values/",\ + "packageDependencies": [\ + ["postcss-modules-values", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:4.0.0"],\ + ["@types/postcss", null],\ + ["icss-utils", "virtual:e1fda2488c18335737a835bd413665bf658bc5815ac586e764dddda95b4031ad7b3ebcd5d195b55bf2a87974bd4c0c5c8a119c43b6de9efbc88ffb264c7b2fc7#npm:5.1.0"],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-charset", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-charset-npm-5.1.0-13c3339544-e79d92971f.zip/node_modules/postcss-normalize-charset/",\ + "packageDependencies": [\ + ["postcss-normalize-charset", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-charset-virtual-7fa15ebd76/0/cache/postcss-normalize-charset-npm-5.1.0-13c3339544-e79d92971f.zip/node_modules/postcss-normalize-charset/",\ + "packageDependencies": [\ + ["postcss-normalize-charset", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-display-values", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-display-values-npm-5.1.0-ae5985a0b0-b6eb7b9b02.zip/node_modules/postcss-normalize-display-values/",\ + "packageDependencies": [\ + ["postcss-normalize-display-values", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-display-values-virtual-d4b862ad1f/0/cache/postcss-normalize-display-values-npm-5.1.0-ae5985a0b0-b6eb7b9b02.zip/node_modules/postcss-normalize-display-values/",\ + "packageDependencies": [\ + ["postcss-normalize-display-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-positions", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-positions-npm-5.1.1-82275c9405-d9afc23372.zip/node_modules/postcss-normalize-positions/",\ + "packageDependencies": [\ + ["postcss-normalize-positions", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-positions-virtual-2078b69a2a/0/cache/postcss-normalize-positions-npm-5.1.1-82275c9405-d9afc23372.zip/node_modules/postcss-normalize-positions/",\ + "packageDependencies": [\ + ["postcss-normalize-positions", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-repeat-style", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-repeat-style-npm-5.1.1-dd2adac3b3-2c6ad2b0ae.zip/node_modules/postcss-normalize-repeat-style/",\ + "packageDependencies": [\ + ["postcss-normalize-repeat-style", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-repeat-style-virtual-fa25a0e7d7/0/cache/postcss-normalize-repeat-style-npm-5.1.1-dd2adac3b3-2c6ad2b0ae.zip/node_modules/postcss-normalize-repeat-style/",\ + "packageDependencies": [\ + ["postcss-normalize-repeat-style", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-string", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-string-npm-5.1.0-bf32e478d0-6e549c6e5b.zip/node_modules/postcss-normalize-string/",\ + "packageDependencies": [\ + ["postcss-normalize-string", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-string-virtual-8d1c24d7ad/0/cache/postcss-normalize-string-npm-5.1.0-bf32e478d0-6e549c6e5b.zip/node_modules/postcss-normalize-string/",\ + "packageDependencies": [\ + ["postcss-normalize-string", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-timing-functions", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-timing-functions-npm-5.1.0-fa42b95b44-da550f50e9.zip/node_modules/postcss-normalize-timing-functions/",\ + "packageDependencies": [\ + ["postcss-normalize-timing-functions", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-timing-functions-virtual-5391584a38/0/cache/postcss-normalize-timing-functions-npm-5.1.0-fa42b95b44-da550f50e9.zip/node_modules/postcss-normalize-timing-functions/",\ + "packageDependencies": [\ + ["postcss-normalize-timing-functions", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-unicode", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-unicode-npm-5.1.0-84712377fd-3570c90050.zip/node_modules/postcss-normalize-unicode/",\ + "packageDependencies": [\ + ["postcss-normalize-unicode", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-unicode-virtual-141b326b5e/0/cache/postcss-normalize-unicode-npm-5.1.0-84712377fd-3570c90050.zip/node_modules/postcss-normalize-unicode/",\ + "packageDependencies": [\ + ["postcss-normalize-unicode", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-url", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-url-npm-5.1.0-82c6c0bb7b-3bd4b3246d.zip/node_modules/postcss-normalize-url/",\ + "packageDependencies": [\ + ["postcss-normalize-url", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-url-virtual-a32180dc59/0/cache/postcss-normalize-url-npm-5.1.0-82c6c0bb7b-3bd4b3246d.zip/node_modules/postcss-normalize-url/",\ + "packageDependencies": [\ + ["postcss-normalize-url", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["normalize-url", "npm:6.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-normalize-whitespace", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-normalize-whitespace-npm-5.1.1-ff5cb53565-12d8fb6d1c.zip/node_modules/postcss-normalize-whitespace/",\ + "packageDependencies": [\ + ["postcss-normalize-whitespace", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-normalize-whitespace-virtual-0ed9e8bd2f/0/cache/postcss-normalize-whitespace-npm-5.1.1-ff5cb53565-12d8fb6d1c.zip/node_modules/postcss-normalize-whitespace/",\ + "packageDependencies": [\ + ["postcss-normalize-whitespace", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-ordered-values", [\ + ["npm:5.1.3", {\ + "packageLocation": "./.yarn/cache/postcss-ordered-values-npm-5.1.3-c12ebfb39c-6f3ca85b6c.zip/node_modules/postcss-ordered-values/",\ + "packageDependencies": [\ + ["postcss-ordered-values", "npm:5.1.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.3", {\ + "packageLocation": "./.yarn/__virtual__/postcss-ordered-values-virtual-2bdccaa486/0/cache/postcss-ordered-values-npm-5.1.3-c12ebfb39c-6f3ca85b6c.zip/node_modules/postcss-ordered-values/",\ + "packageDependencies": [\ + ["postcss-ordered-values", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.3"],\ + ["@types/postcss", null],\ + ["cssnano-utils", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:3.1.0"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-reduce-idents", [\ + ["npm:5.2.0", {\ + "packageLocation": "./.yarn/cache/postcss-reduce-idents-npm-5.2.0-8f2ad980fd-f0d644c86e.zip/node_modules/postcss-reduce-idents/",\ + "packageDependencies": [\ + ["postcss-reduce-idents", "npm:5.2.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-reduce-idents-virtual-bfdb0956fd/0/cache/postcss-reduce-idents-npm-5.2.0-8f2ad980fd-f0d644c86e.zip/node_modules/postcss-reduce-idents/",\ + "packageDependencies": [\ + ["postcss-reduce-idents", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.2.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-reduce-initial", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-reduce-initial-npm-5.1.0-65d2431422-2cb10fa3fa.zip/node_modules/postcss-reduce-initial/",\ + "packageDependencies": [\ + ["postcss-reduce-initial", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-reduce-initial-virtual-36500cc4bf/0/cache/postcss-reduce-initial-npm-5.1.0-65d2431422-2cb10fa3fa.zip/node_modules/postcss-reduce-initial/",\ + "packageDependencies": [\ + ["postcss-reduce-initial", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["caniuse-api", "npm:3.0.0"],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-reduce-transforms", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-reduce-transforms-npm-5.1.0-f02f02d8ba-0c6af2cba2.zip/node_modules/postcss-reduce-transforms/",\ + "packageDependencies": [\ + ["postcss-reduce-transforms", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-reduce-transforms-virtual-4b592e6085/0/cache/postcss-reduce-transforms-npm-5.1.0-f02f02d8ba-0c6af2cba2.zip/node_modules/postcss-reduce-transforms/",\ + "packageDependencies": [\ + ["postcss-reduce-transforms", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-selector-parser", [\ + ["npm:6.0.10", {\ + "packageLocation": "./.yarn/cache/postcss-selector-parser-npm-6.0.10-a4d7aaa270-46afaa60e3.zip/node_modules/postcss-selector-parser/",\ + "packageDependencies": [\ + ["postcss-selector-parser", "npm:6.0.10"],\ + ["cssesc", "npm:3.0.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-sort-media-queries", [\ + ["npm:4.3.0", {\ + "packageLocation": "./.yarn/cache/postcss-sort-media-queries-npm-4.3.0-ca46fe7408-7bf9fcde74.zip/node_modules/postcss-sort-media-queries/",\ + "packageDependencies": [\ + ["postcss-sort-media-queries", "npm:4.3.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a1a0dadc885f0ca20d0d9fbfe4da9762d2b6b802e20b920d038ec3611a4cf88bb1a2044a0fc293c72d4430bcb0d505ad184aaf62d01523df162f1e4f9fffc0c4#npm:4.3.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-sort-media-queries-virtual-371b38d06e/0/cache/postcss-sort-media-queries-npm-4.3.0-ca46fe7408-7bf9fcde74.zip/node_modules/postcss-sort-media-queries/",\ + "packageDependencies": [\ + ["postcss-sort-media-queries", "virtual:a1a0dadc885f0ca20d0d9fbfe4da9762d2b6b802e20b920d038ec3611a4cf88bb1a2044a0fc293c72d4430bcb0d505ad184aaf62d01523df162f1e4f9fffc0c4#npm:4.3.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["sort-css-media-queries", "npm:2.1.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-svgo", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-svgo-npm-5.1.0-6165516934-d86eb5213d.zip/node_modules/postcss-svgo/",\ + "packageDependencies": [\ + ["postcss-svgo", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-svgo-virtual-5f1bcc13ed/0/cache/postcss-svgo-npm-5.1.0-6165516934-d86eb5213d.zip/node_modules/postcss-svgo/",\ + "packageDependencies": [\ + ["postcss-svgo", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-value-parser", "npm:4.2.0"],\ + ["svgo", "npm:2.8.0"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-unique-selectors", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/postcss-unique-selectors-npm-5.1.1-ed729740f2-637e7b786e.zip/node_modules/postcss-unique-selectors/",\ + "packageDependencies": [\ + ["postcss-unique-selectors", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/postcss-unique-selectors-virtual-bce7017312/0/cache/postcss-unique-selectors-npm-5.1.1-ed729740f2-637e7b786e.zip/node_modules/postcss-unique-selectors/",\ + "packageDependencies": [\ + ["postcss-unique-selectors", "virtual:40a3371bcc421a6ed4ff706dda08955300e49e41dfc6a4da0ede85f416b408ccde6acacdb536a96353276b960a54f263db5a958fe5e22e1b7bfbeac8c526dd7f#npm:5.1.1"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-value-parser", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/postcss-value-parser-npm-4.2.0-3cef602a6a-819ffab0c9.zip/node_modules/postcss-value-parser/",\ + "packageDependencies": [\ + ["postcss-value-parser", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss-zindex", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/postcss-zindex-npm-5.1.0-7266d1f85e-8581e0ee55.zip/node_modules/postcss-zindex/",\ + "packageDependencies": [\ + ["postcss-zindex", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/postcss-zindex-virtual-d90a09acbc/0/cache/postcss-zindex-npm-5.1.0-7266d1f85e-8581e0ee55.zip/node_modules/postcss-zindex/",\ + "packageDependencies": [\ + ["postcss-zindex", "virtual:7bd07da2d6c2a28242d9350801e28710a82fcbfb4e21cd5e2edc4e9fddb0dcb7a32d2e77271f7c9c54c1151c9f5776921c1437230a36007b2dc2ee387aa64a47#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["postcss", "npm:8.4.18"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prepend-http", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/prepend-http-npm-2.0.0-e1fc4332f2-7694a95254.zip/node_modules/prepend-http/",\ + "packageDependencies": [\ + ["prepend-http", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-error", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/pretty-error-npm-4.0.0-7cca1fe4ad-a5b9137365.zip/node_modules/pretty-error/",\ + "packageDependencies": [\ + ["pretty-error", "npm:4.0.0"],\ + ["lodash", "npm:4.17.21"],\ + ["renderkid", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-time", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/pretty-time-npm-1.1.0-71de95ab9a-a319e7009a.zip/node_modules/pretty-time/",\ + "packageDependencies": [\ + ["pretty-time", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prism-react-renderer", [\ + ["npm:1.3.5", {\ + "packageLocation": "./.yarn/cache/prism-react-renderer-npm-1.3.5-5891d32b72-c18806dcbc.zip/node_modules/prism-react-renderer/",\ + "packageDependencies": [\ + ["prism-react-renderer", "npm:1.3.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:1.3.5", {\ + "packageLocation": "./.yarn/__virtual__/prism-react-renderer-virtual-8a0bb92fec/0/cache/prism-react-renderer-npm-1.3.5-5891d32b72-c18806dcbc.zip/node_modules/prism-react-renderer/",\ + "packageDependencies": [\ + ["prism-react-renderer", "virtual:a7c9446959ac95cbc789c7ebbf5c0b3bd6681a129d9de35f248b567899d300f06db36419eff147ab45e4aed4a594a3bef828df577be0aa257266d61abb02a61a#npm:1.3.5"],\ + ["@types/react", "npm:18.0.21"],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.3.5", {\ + "packageLocation": "./.yarn/__virtual__/prism-react-renderer-virtual-7d02cfc948/0/cache/prism-react-renderer-npm-1.3.5-5891d32b72-c18806dcbc.zip/node_modules/prism-react-renderer/",\ + "packageDependencies": [\ + ["prism-react-renderer", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:1.3.5"],\ + ["@types/react", null],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prismjs", [\ + ["npm:1.29.0", {\ + "packageLocation": "./.yarn/cache/prismjs-npm-1.29.0-6faa5b04b8-007a8869d4.zip/node_modules/prismjs/",\ + "packageDependencies": [\ + ["prismjs", "npm:1.29.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["process-nextick-args", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/process-nextick-args-npm-2.0.1-b8d7971609-1d38588e52.zip/node_modules/process-nextick-args/",\ + "packageDependencies": [\ + ["process-nextick-args", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise", [\ + ["npm:7.3.1", {\ + "packageLocation": "./.yarn/cache/promise-npm-7.3.1-5d81d474c0-475bb06913.zip/node_modules/promise/",\ + "packageDependencies": [\ + ["promise", "npm:7.3.1"],\ + ["asap", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-f96a3f6d90.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prompts", [\ + ["npm:2.4.2", {\ + "packageLocation": "./.yarn/cache/prompts-npm-2.4.2-f5d25d5eea-d8fd1fe638.zip/node_modules/prompts/",\ + "packageDependencies": [\ + ["prompts", "npm:2.4.2"],\ + ["kleur", "npm:3.0.3"],\ + ["sisteransi", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prop-types", [\ + ["npm:15.8.1", {\ + "packageLocation": "./.yarn/cache/prop-types-npm-15.8.1-17c71ee7ee-c056d3f1c0.zip/node_modules/prop-types/",\ + "packageDependencies": [\ + ["prop-types", "npm:15.8.1"],\ + ["loose-envify", "npm:1.4.0"],\ + ["object-assign", "npm:4.1.1"],\ + ["react-is", "npm:16.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["property-information", [\ + ["npm:5.6.0", {\ + "packageLocation": "./.yarn/cache/property-information-npm-5.6.0-1322d29e0f-fcf87c6542.zip/node_modules/property-information/",\ + "packageDependencies": [\ + ["property-information", "npm:5.6.0"],\ + ["xtend", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proxy-addr", [\ + ["npm:2.0.7", {\ + "packageLocation": "./.yarn/cache/proxy-addr-npm-2.0.7-dae6552872-29c6990ce9.zip/node_modules/proxy-addr/",\ + "packageDependencies": [\ + ["proxy-addr", "npm:2.0.7"],\ + ["forwarded", "npm:0.2.0"],\ + ["ipaddr.js", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pump", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/pump-npm-3.0.0-0080bf6a7a-e42e9229fb.zip/node_modules/pump/",\ + "packageDependencies": [\ + ["pump", "npm:3.0.0"],\ + ["end-of-stream", "npm:1.4.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["punycode", [\ + ["npm:1.4.1", {\ + "packageLocation": "./.yarn/cache/punycode-npm-1.4.1-be4c23e6d2-fa6e698cb5.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/punycode-npm-2.1.1-26eb3e15cf-823bf443c6.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pupa", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/pupa-npm-2.1.1-fb256825ba-49529e5037.zip/node_modules/pupa/",\ + "packageDependencies": [\ + ["pupa", "npm:2.1.1"],\ + ["escape-goat", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pure-color", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/pure-color-npm-1.3.0-da5eee73b2-646d8bed6e.zip/node_modules/pure-color/",\ + "packageDependencies": [\ + ["pure-color", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["q", [\ + ["npm:1.5.1", {\ + "packageLocation": "./.yarn/cache/q-npm-1.5.1-a28b3cfeaf-147baa93c8.zip/node_modules/q/",\ + "packageDependencies": [\ + ["q", "npm:1.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["qs", [\ + ["npm:6.11.0", {\ + "packageLocation": "./.yarn/cache/qs-npm-6.11.0-caf1bc9dea-6e1f29dd53.zip/node_modules/qs/",\ + "packageDependencies": [\ + ["qs", "npm:6.11.0"],\ + ["side-channel", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue", [\ + ["npm:6.0.2", {\ + "packageLocation": "./.yarn/cache/queue-npm-6.0.2-ebbcf599cf-ebc2363924.zip/node_modules/queue/",\ + "packageDependencies": [\ + ["queue", "npm:6.0.2"],\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "./.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["randombytes", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/randombytes-npm-2.1.0-e3da76bccf-d779499376.zip/node_modules/randombytes/",\ + "packageDependencies": [\ + ["randombytes", "npm:2.1.0"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["range-parser", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/range-parser-npm-1.2.0-416a7ee93c-bdf397f43f.zip/node_modules/range-parser/",\ + "packageDependencies": [\ + ["range-parser", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/range-parser-npm-1.2.1-1a470fa390-0a268d4fea.zip/node_modules/range-parser/",\ + "packageDependencies": [\ + ["range-parser", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["raw-body", [\ + ["npm:2.5.1", {\ + "packageLocation": "./.yarn/cache/raw-body-npm-2.5.1-9dd1d9fff9-5362adff15.zip/node_modules/raw-body/",\ + "packageDependencies": [\ + ["raw-body", "npm:2.5.1"],\ + ["bytes", "npm:3.1.2"],\ + ["http-errors", "npm:2.0.0"],\ + ["iconv-lite", "npm:0.4.24"],\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rc", [\ + ["npm:1.2.8", {\ + "packageLocation": "./.yarn/cache/rc-npm-1.2.8-d6768ac936-2e26e052f8.zip/node_modules/rc/",\ + "packageDependencies": [\ + ["rc", "npm:1.2.8"],\ + ["deep-extend", "npm:0.6.0"],\ + ["ini", "npm:1.3.8"],\ + ["minimist", "npm:1.2.7"],\ + ["strip-json-comments", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react", [\ + ["npm:17.0.2", {\ + "packageLocation": "./.yarn/cache/react-npm-17.0.2-99ba37d931-b254cc17ce.zip/node_modules/react/",\ + "packageDependencies": [\ + ["react", "npm:17.0.2"],\ + ["loose-envify", "npm:1.4.0"],\ + ["object-assign", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-base16-styling", [\ + ["npm:0.6.0", {\ + "packageLocation": "./.yarn/cache/react-base16-styling-npm-0.6.0-4a325c7d7b-00a12dddaf.zip/node_modules/react-base16-styling/",\ + "packageDependencies": [\ + ["react-base16-styling", "npm:0.6.0"],\ + ["base16", "npm:1.0.0"],\ + ["lodash.curry", "npm:4.1.1"],\ + ["lodash.flow", "npm:3.5.0"],\ + ["pure-color", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-dev-utils", [\ + ["npm:12.0.1", {\ + "packageLocation": "./.yarn/cache/react-dev-utils-npm-12.0.1-83ba06e3ee-2c6917e47f.zip/node_modules/react-dev-utils/",\ + "packageDependencies": [\ + ["react-dev-utils", "npm:12.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:12.0.1", {\ + "packageLocation": "./.yarn/__virtual__/react-dev-utils-virtual-b6b5e02236/0/cache/react-dev-utils-npm-12.0.1-83ba06e3ee-2c6917e47f.zip/node_modules/react-dev-utils/",\ + "packageDependencies": [\ + ["react-dev-utils", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:12.0.1"],\ + ["@babel/code-frame", "npm:7.18.6"],\ + ["@types/typescript", null],\ + ["@types/webpack", null],\ + ["address", "npm:1.2.1"],\ + ["browserslist", "npm:4.21.4"],\ + ["chalk", "npm:4.1.2"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["detect-port-alt", "npm:1.1.6"],\ + ["escape-string-regexp", "npm:4.0.0"],\ + ["filesize", "npm:8.0.7"],\ + ["find-up", "npm:5.0.0"],\ + ["fork-ts-checker-webpack-plugin", "virtual:b6b5e022366d42a8106ed9b5e34fd22dcede84d9831c056382dbde88dc655fa987564303ea7b8fb696951075d34f7df0fe72041a4f2cbb534a5c0542ac8b1c41#npm:6.5.2"],\ + ["global-modules", "npm:2.0.0"],\ + ["globby", "npm:11.1.0"],\ + ["gzip-size", "npm:6.0.0"],\ + ["immer", "npm:9.0.15"],\ + ["is-root", "npm:2.1.0"],\ + ["loader-utils", "npm:3.2.0"],\ + ["open", "npm:8.4.0"],\ + ["pkg-up", "npm:3.1.0"],\ + ["prompts", "npm:2.4.2"],\ + ["react-error-overlay", "npm:6.0.11"],\ + ["recursive-readdir", "npm:2.2.2"],\ + ["shell-quote", "npm:1.7.4"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["text-table", "npm:0.2.0"],\ + ["typescript", null],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "@types/webpack",\ + "typescript",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-dom", [\ + ["npm:17.0.2", {\ + "packageLocation": "./.yarn/cache/react-dom-npm-17.0.2-f551215af1-1c1eaa3bca.zip/node_modules/react-dom/",\ + "packageDependencies": [\ + ["react-dom", "npm:17.0.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2", {\ + "packageLocation": "./.yarn/__virtual__/react-dom-virtual-a1d2b2a766/0/cache/react-dom-npm-17.0.2-f551215af1-1c1eaa3bca.zip/node_modules/react-dom/",\ + "packageDependencies": [\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["@types/react", null],\ + ["loose-envify", "npm:1.4.0"],\ + ["object-assign", "npm:4.1.1"],\ + ["react", "npm:17.0.2"],\ + ["scheduler", "npm:0.20.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-error-overlay", [\ + ["npm:6.0.11", {\ + "packageLocation": "./.yarn/cache/react-error-overlay-npm-6.0.11-021cdeaa92-ce7b44c38f.zip/node_modules/react-error-overlay/",\ + "packageDependencies": [\ + ["react-error-overlay", "npm:6.0.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-fast-compare", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/react-fast-compare-npm-3.2.0-fbfa6627d9-8ef272c825.zip/node_modules/react-fast-compare/",\ + "packageDependencies": [\ + ["react-fast-compare", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-helmet-async", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/react-helmet-async-npm-1.3.0-240f565ac8-7ca7e47f8a.zip/node_modules/react-helmet-async/",\ + "packageDependencies": [\ + ["react-helmet-async", "npm:1.3.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:46de2b254c1254acd905d0b74b89e91a770440127f58d56cb576088a5aee107b27daf72bdb7c1b700170662f89888581b3406f60e69c9043b91a8c5fb3637db9#npm:1.3.0", {\ + "packageLocation": "./.yarn/__virtual__/react-helmet-async-virtual-47407e8821/0/cache/react-helmet-async-npm-1.3.0-240f565ac8-7ca7e47f8a.zip/node_modules/react-helmet-async/",\ + "packageDependencies": [\ + ["react-helmet-async", "virtual:46de2b254c1254acd905d0b74b89e91a770440127f58d56cb576088a5aee107b27daf72bdb7c1b700170662f89888581b3406f60e69c9043b91a8c5fb3637db9#npm:1.3.0"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-dom", null],\ + ["invariant", "npm:2.2.4"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-fast-compare", "npm:3.2.0"],\ + ["shallowequal", "npm:1.1.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.3.0", {\ + "packageLocation": "./.yarn/__virtual__/react-helmet-async-virtual-2813ffe93e/0/cache/react-helmet-async-npm-1.3.0-240f565ac8-7ca7e47f8a.zip/node_modules/react-helmet-async/",\ + "packageDependencies": [\ + ["react-helmet-async", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.3.0"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["invariant", "npm:2.2.4"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-fast-compare", "npm:3.2.0"],\ + ["shallowequal", "npm:1.1.0"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-is", [\ + ["npm:16.13.1", {\ + "packageLocation": "./.yarn/cache/react-is-npm-16.13.1-a9b9382b4f-f7a19ac349.zip/node_modules/react-is/",\ + "packageDependencies": [\ + ["react-is", "npm:16.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-json-view", [\ + ["npm:1.21.3", {\ + "packageLocation": "./.yarn/cache/react-json-view-npm-1.21.3-7827bb54c4-5718bcd921.zip/node_modules/react-json-view/",\ + "packageDependencies": [\ + ["react-json-view", "npm:1.21.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:b4a5a519d3e3e90e5d1b2e5145f3868601baa7f2f631c108119188fb46cdd0de6e3ee9b8c57a1fe1d4e449f99340a3c165007c30e7689d8563621ae8f4e41692#npm:1.21.3", {\ + "packageLocation": "./.yarn/__virtual__/react-json-view-virtual-49a6bcc7ba/0/cache/react-json-view-npm-1.21.3-7827bb54c4-5718bcd921.zip/node_modules/react-json-view/",\ + "packageDependencies": [\ + ["react-json-view", "virtual:b4a5a519d3e3e90e5d1b2e5145f3868601baa7f2f631c108119188fb46cdd0de6e3ee9b8c57a1fe1d4e449f99340a3c165007c30e7689d8563621ae8f4e41692#npm:1.21.3"],\ + ["@types/react", null],\ + ["@types/react-dom", null],\ + ["flux", "virtual:49a6bcc7ba768b4025c7b0e4375c91b68540477c3ac4cc4fa142a495e588840e82f07e7e906ffc64237c855ab1a1541f4ba3acf0cb78eecbf25e3923e032a881#npm:4.0.3"],\ + ["react", "npm:17.0.2"],\ + ["react-base16-styling", "npm:0.6.0"],\ + ["react-dom", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:17.0.2"],\ + ["react-lifecycles-compat", "npm:3.0.4"],\ + ["react-textarea-autosize", "virtual:49a6bcc7ba768b4025c7b0e4375c91b68540477c3ac4cc4fa142a495e588840e82f07e7e906ffc64237c855ab1a1541f4ba3acf0cb78eecbf25e3923e032a881#npm:8.3.4"]\ + ],\ + "packagePeers": [\ + "@types/react-dom",\ + "@types/react",\ + "react-dom",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-lifecycles-compat", [\ + ["npm:3.0.4", {\ + "packageLocation": "./.yarn/cache/react-lifecycles-compat-npm-3.0.4-d5e285a39e-a904b0fc0a.zip/node_modules/react-lifecycles-compat/",\ + "packageDependencies": [\ + ["react-lifecycles-compat", "npm:3.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-loadable-ssr-addon-v5-slorber", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/react-loadable-ssr-addon-v5-slorber-npm-1.0.1-4726604995-1cf7ceb488.zip/node_modules/react-loadable-ssr-addon-v5-slorber/",\ + "packageDependencies": [\ + ["react-loadable-ssr-addon-v5-slorber", "npm:1.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.0.1", {\ + "packageLocation": "./.yarn/__virtual__/react-loadable-ssr-addon-v5-slorber-virtual-ed18430166/0/cache/react-loadable-ssr-addon-v5-slorber-npm-1.0.1-4726604995-1cf7ceb488.zip/node_modules/react-loadable-ssr-addon-v5-slorber/",\ + "packageDependencies": [\ + ["react-loadable-ssr-addon-v5-slorber", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:1.0.1"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react-loadable", null],\ + ["@types/webpack", null],\ + ["react-loadable", [\ + "@docusaurus/react-loadable",\ + "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.5.2"\ + ]],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/react-loadable",\ + "@types/webpack",\ + "react-loadable",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-router", [\ + ["npm:5.3.4", {\ + "packageLocation": "./.yarn/cache/react-router-npm-5.3.4-cc0757f6df-892d4e274a.zip/node_modules/react-router/",\ + "packageDependencies": [\ + ["react-router", "npm:5.3.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4", {\ + "packageLocation": "./.yarn/__virtual__/react-router-virtual-f089159b09/0/cache/react-router-npm-5.3.4-cc0757f6df-892d4e274a.zip/node_modules/react-router/",\ + "packageDependencies": [\ + ["react-router", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", "npm:18.0.21"],\ + ["history", "npm:4.10.1"],\ + ["hoist-non-react-statics", "npm:3.3.2"],\ + ["loose-envify", "npm:1.4.0"],\ + ["path-to-regexp", "npm:1.8.0"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"],\ + ["react-is", "npm:16.13.1"],\ + ["tiny-invariant", "npm:1.3.1"],\ + ["tiny-warning", "npm:1.0.3"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4", {\ + "packageLocation": "./.yarn/__virtual__/react-router-virtual-8698934051/0/cache/react-router-npm-5.3.4-cc0757f6df-892d4e274a.zip/node_modules/react-router/",\ + "packageDependencies": [\ + ["react-router", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", null],\ + ["history", "npm:4.10.1"],\ + ["hoist-non-react-statics", "npm:3.3.2"],\ + ["loose-envify", "npm:1.4.0"],\ + ["path-to-regexp", "npm:1.8.0"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"],\ + ["react-is", "npm:16.13.1"],\ + ["tiny-invariant", "npm:1.3.1"],\ + ["tiny-warning", "npm:1.0.3"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-router-config", [\ + ["npm:5.1.1", {\ + "packageLocation": "./.yarn/cache/react-router-config-npm-5.1.1-671f936b6b-bde7ee7944.zip/node_modules/react-router-config/",\ + "packageDependencies": [\ + ["react-router-config", "npm:5.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/react-router-config-virtual-df021f2415/0/cache/react-router-config-npm-5.1.1-671f936b6b-bde7ee7944.zip/node_modules/react-router-config/",\ + "packageDependencies": [\ + ["react-router-config", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.1.1"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", "npm:18.0.21"],\ + ["@types/react-router", null],\ + ["react", "npm:17.0.2"],\ + ["react-router", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4"]\ + ],\ + "packagePeers": [\ + "@types/react-router",\ + "@types/react",\ + "react-router",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.1", {\ + "packageLocation": "./.yarn/__virtual__/react-router-config-virtual-e746821a0c/0/cache/react-router-config-npm-5.1.1-671f936b6b-bde7ee7944.zip/node_modules/react-router-config/",\ + "packageDependencies": [\ + ["react-router-config", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.1.1"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", null],\ + ["@types/react-router", null],\ + ["react", "npm:17.0.2"],\ + ["react-router", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"]\ + ],\ + "packagePeers": [\ + "@types/react-router",\ + "@types/react",\ + "react-router",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-router-dom", [\ + ["npm:5.3.4", {\ + "packageLocation": "./.yarn/cache/react-router-dom-npm-5.3.4-678cc1057f-b86a6f2f52.zip/node_modules/react-router-dom/",\ + "packageDependencies": [\ + ["react-router-dom", "npm:5.3.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4", {\ + "packageLocation": "./.yarn/__virtual__/react-router-dom-virtual-8056bfca70/0/cache/react-router-dom-npm-5.3.4-678cc1057f-b86a6f2f52.zip/node_modules/react-router-dom/",\ + "packageDependencies": [\ + ["react-router-dom", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", "npm:18.0.21"],\ + ["history", "npm:4.10.1"],\ + ["loose-envify", "npm:1.4.0"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"],\ + ["react-router", "virtual:15fe6d8eda150d6d8ec0fbefc290db0ed3f41c051c22c8cb5f6f2efd573c95913908209c4b96bd7062d19f9279392d26748f40e8e74c98abb187b2c7e78ca210#npm:5.3.4"],\ + ["tiny-invariant", "npm:1.3.1"],\ + ["tiny-warning", "npm:1.0.3"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4", {\ + "packageLocation": "./.yarn/__virtual__/react-router-dom-virtual-6bc8700d5b/0/cache/react-router-dom-npm-5.3.4-678cc1057f-b86a6f2f52.zip/node_modules/react-router-dom/",\ + "packageDependencies": [\ + ["react-router-dom", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", null],\ + ["history", "npm:4.10.1"],\ + ["loose-envify", "npm:1.4.0"],\ + ["prop-types", "npm:15.8.1"],\ + ["react", "npm:17.0.2"],\ + ["react-router", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.3.4"],\ + ["tiny-invariant", "npm:1.3.1"],\ + ["tiny-warning", "npm:1.0.3"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-textarea-autosize", [\ + ["npm:8.3.4", {\ + "packageLocation": "./.yarn/cache/react-textarea-autosize-npm-8.3.4-828b129efc-87360d4392.zip/node_modules/react-textarea-autosize/",\ + "packageDependencies": [\ + ["react-textarea-autosize", "npm:8.3.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:49a6bcc7ba768b4025c7b0e4375c91b68540477c3ac4cc4fa142a495e588840e82f07e7e906ffc64237c855ab1a1541f4ba3acf0cb78eecbf25e3923e032a881#npm:8.3.4", {\ + "packageLocation": "./.yarn/__virtual__/react-textarea-autosize-virtual-2729a5726a/0/cache/react-textarea-autosize-npm-8.3.4-828b129efc-87360d4392.zip/node_modules/react-textarea-autosize/",\ + "packageDependencies": [\ + ["react-textarea-autosize", "virtual:49a6bcc7ba768b4025c7b0e4375c91b68540477c3ac4cc4fa142a495e588840e82f07e7e906ffc64237c855ab1a1541f4ba3acf0cb78eecbf25e3923e032a881#npm:8.3.4"],\ + ["@babel/runtime", "npm:7.19.4"],\ + ["@types/react", null],\ + ["react", "npm:17.0.2"],\ + ["use-composed-ref", "virtual:2729a5726a941b31280ac49c13e08dc8d62636cf3ad09861cb13dc06557fb449a11377e177c75e8d661427353d07cdcc27fff0d8e48d44ce36b40b4db5fb6d26#npm:1.3.0"],\ + ["use-latest", "virtual:2729a5726a941b31280ac49c13e08dc8d62636cf3ad09861cb13dc06557fb449a11377e177c75e8d661427353d07cdcc27fff0d8e48d44ce36b40b4db5fb6d26#npm:1.2.1"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["readable-stream", [\ + ["npm:2.3.7", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-2.3.7-77b22a9818-e4920cf754.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:2.3.7"],\ + ["core-util-is", "npm:1.0.3"],\ + ["inherits", "npm:2.0.4"],\ + ["isarray", "npm:1.0.0"],\ + ["process-nextick-args", "npm:2.0.1"],\ + ["safe-buffer", "npm:5.1.2"],\ + ["string_decoder", "npm:1.1.1"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.3.8", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-2.3.8-67a94c2cb1-6564546703.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:2.3.8"],\ + ["core-util-is", "npm:1.0.3"],\ + ["inherits", "npm:2.0.4"],\ + ["isarray", "npm:1.0.0"],\ + ["process-nextick-args", "npm:2.0.1"],\ + ["safe-buffer", "npm:5.1.2"],\ + ["string_decoder", "npm:1.1.1"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.6.0", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:3.6.0"],\ + ["inherits", "npm:2.0.4"],\ + ["string_decoder", "npm:1.3.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.6.2", {\ + "packageLocation": "./.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:3.6.2"],\ + ["inherits", "npm:2.0.4"],\ + ["string_decoder", "npm:1.3.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["readdirp", [\ + ["npm:3.6.0", {\ + "packageLocation": "./.yarn/cache/readdirp-npm-3.6.0-f950cc74ab-1ced032e6e.zip/node_modules/readdirp/",\ + "packageDependencies": [\ + ["readdirp", "npm:3.6.0"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reading-time", [\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/reading-time-npm-1.5.0-be83d947c6-e27bc5a70b.zip/node_modules/reading-time/",\ + "packageDependencies": [\ + ["reading-time", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rechoir", [\ + ["npm:0.6.2", {\ + "packageLocation": "./.yarn/cache/rechoir-npm-0.6.2-0df5f171ec-fe76bf9c21.zip/node_modules/rechoir/",\ + "packageDependencies": [\ + ["rechoir", "npm:0.6.2"],\ + ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["recursive-readdir", [\ + ["npm:2.2.2", {\ + "packageLocation": "./.yarn/cache/recursive-readdir-npm-2.2.2-7e64fe65fc-a6b22994d7.zip/node_modules/recursive-readdir/",\ + "packageDependencies": [\ + ["recursive-readdir", "npm:2.2.2"],\ + ["minimatch", "npm:3.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate", [\ + ["npm:1.4.2", {\ + "packageLocation": "./.yarn/cache/regenerate-npm-1.4.2-b296c5b63a-3317a09b2f.zip/node_modules/regenerate/",\ + "packageDependencies": [\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerate-unicode-properties", [\ + ["npm:10.1.0", {\ + "packageLocation": "./.yarn/cache/regenerate-unicode-properties-npm-10.1.0-f0d5adf0df-b1a8929588.zip/node_modules/regenerate-unicode-properties/",\ + "packageDependencies": [\ + ["regenerate-unicode-properties", "npm:10.1.0"],\ + ["regenerate", "npm:1.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-runtime", [\ + ["npm:0.13.10", {\ + "packageLocation": "./.yarn/cache/regenerator-runtime-npm-0.13.10-57e3c1406b-09893f5a9e.zip/node_modules/regenerator-runtime/",\ + "packageDependencies": [\ + ["regenerator-runtime", "npm:0.13.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regenerator-transform", [\ + ["npm:0.15.0", {\ + "packageLocation": "./.yarn/cache/regenerator-transform-npm-0.15.0-c03f3a30a0-86e54849ab.zip/node_modules/regenerator-transform/",\ + "packageDependencies": [\ + ["regenerator-transform", "npm:0.15.0"],\ + ["@babel/runtime", "npm:7.19.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regexp.prototype.flags", [\ + ["npm:1.4.3", {\ + "packageLocation": "./.yarn/cache/regexp.prototype.flags-npm-1.4.3-df1c08b65d-51228bae73.zip/node_modules/regexp.prototype.flags/",\ + "packageDependencies": [\ + ["regexp.prototype.flags", "npm:1.4.3"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["functions-have-names", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regexpu-core", [\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/regexpu-core-npm-5.2.1-a3ca320a7f-c1244db79f.zip/node_modules/regexpu-core/",\ + "packageDependencies": [\ + ["regexpu-core", "npm:5.2.1"],\ + ["regenerate", "npm:1.4.2"],\ + ["regenerate-unicode-properties", "npm:10.1.0"],\ + ["regjsgen", "npm:0.7.1"],\ + ["regjsparser", "npm:0.9.1"],\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-match-property-value-ecmascript", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["registry-auth-token", [\ + ["npm:4.2.2", {\ + "packageLocation": "./.yarn/cache/registry-auth-token-npm-4.2.2-ffd70a9849-c503019854.zip/node_modules/registry-auth-token/",\ + "packageDependencies": [\ + ["registry-auth-token", "npm:4.2.2"],\ + ["rc", "npm:1.2.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["registry-url", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/registry-url-npm-5.1.0-f58d0ca7ff-bcea86c84a.zip/node_modules/registry-url/",\ + "packageDependencies": [\ + ["registry-url", "npm:5.1.0"],\ + ["rc", "npm:1.2.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsgen", [\ + ["npm:0.7.1", {\ + "packageLocation": "./.yarn/cache/regjsgen-npm-0.7.1-953834bf22-7cac399921.zip/node_modules/regjsgen/",\ + "packageDependencies": [\ + ["regjsgen", "npm:0.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["regjsparser", [\ + ["npm:0.9.1", {\ + "packageLocation": "./.yarn/cache/regjsparser-npm-0.9.1-47cd7c2ee2-5e1b76afe8.zip/node_modules/regjsparser/",\ + "packageDependencies": [\ + ["regjsparser", "npm:0.9.1"],\ + ["jsesc", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["relateurl", [\ + ["npm:0.2.7", {\ + "packageLocation": "./.yarn/cache/relateurl-npm-0.2.7-7687cc0a2a-5891e792ea.zip/node_modules/relateurl/",\ + "packageDependencies": [\ + ["relateurl", "npm:0.2.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["remark-emoji", [\ + ["npm:2.2.0", {\ + "packageLocation": "./.yarn/cache/remark-emoji-npm-2.2.0-0980b2fc8d-638d4be72e.zip/node_modules/remark-emoji/",\ + "packageDependencies": [\ + ["remark-emoji", "npm:2.2.0"],\ + ["emoticon", "npm:3.2.0"],\ + ["node-emoji", "npm:1.11.0"],\ + ["unist-util-visit", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["remark-footnotes", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/remark-footnotes-npm-2.0.0-b0be266d8e-f2f87ffd6f.zip/node_modules/remark-footnotes/",\ + "packageDependencies": [\ + ["remark-footnotes", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["remark-mdx", [\ + ["npm:1.6.22", {\ + "packageLocation": "./.yarn/cache/remark-mdx-npm-1.6.22-655a2ee6b4-45e62f8a82.zip/node_modules/remark-mdx/",\ + "packageDependencies": [\ + ["remark-mdx", "npm:1.6.22"],\ + ["@babel/core", "npm:7.12.9"],\ + ["@babel/helper-plugin-utils", "npm:7.10.4"],\ + ["@babel/plugin-proposal-object-rest-spread", "virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1"],\ + ["@babel/plugin-syntax-jsx", "virtual:655a2ee6b4d749e76b53498205a8dcce492995b1197cd0469c99a479b7021d9131419b028025238abafcbce2135eda77d23f2304b8e52e09eac5695c284a9c43#npm:7.12.1"],\ + ["@mdx-js/util", "npm:1.6.22"],\ + ["is-alphabetical", "npm:1.0.4"],\ + ["remark-parse", "npm:8.0.3"],\ + ["unified", "npm:9.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["remark-parse", [\ + ["npm:8.0.3", {\ + "packageLocation": "./.yarn/cache/remark-parse-npm-8.0.3-e459558b20-2dfea250e7.zip/node_modules/remark-parse/",\ + "packageDependencies": [\ + ["remark-parse", "npm:8.0.3"],\ + ["ccount", "npm:1.1.0"],\ + ["collapse-white-space", "npm:1.0.6"],\ + ["is-alphabetical", "npm:1.0.4"],\ + ["is-decimal", "npm:1.0.4"],\ + ["is-whitespace-character", "npm:1.0.4"],\ + ["is-word-character", "npm:1.0.4"],\ + ["markdown-escapes", "npm:1.0.4"],\ + ["parse-entities", "npm:2.0.0"],\ + ["repeat-string", "npm:1.6.1"],\ + ["state-toggle", "npm:1.0.3"],\ + ["trim", "npm:0.0.1"],\ + ["trim-trailing-lines", "npm:1.1.4"],\ + ["unherit", "npm:1.1.3"],\ + ["unist-util-remove-position", "npm:2.0.1"],\ + ["vfile-location", "npm:3.2.0"],\ + ["xtend", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["remark-squeeze-paragraphs", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/remark-squeeze-paragraphs-npm-4.0.0-f306b788c7-2071eb74d0.zip/node_modules/remark-squeeze-paragraphs/",\ + "packageDependencies": [\ + ["remark-squeeze-paragraphs", "npm:4.0.0"],\ + ["mdast-squeeze-paragraphs", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["renderkid", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/renderkid-npm-3.0.0-acb028643f-77162b62d6.zip/node_modules/renderkid/",\ + "packageDependencies": [\ + ["renderkid", "npm:3.0.0"],\ + ["css-select", "npm:4.3.0"],\ + ["dom-converter", "npm:0.2.0"],\ + ["htmlparser2", "npm:6.1.0"],\ + ["lodash", "npm:4.17.21"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["repeat-string", [\ + ["npm:1.6.1", {\ + "packageLocation": "./.yarn/cache/repeat-string-npm-1.6.1-bc8e388655-1b809fc6db.zip/node_modules/repeat-string/",\ + "packageDependencies": [\ + ["repeat-string", "npm:1.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["require-from-string", [\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/require-from-string-npm-2.0.2-8557e0db12-a03ef68954.zip/node_modules/require-from-string/",\ + "packageDependencies": [\ + ["require-from-string", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["require-like", [\ + ["npm:0.1.2", {\ + "packageLocation": "./.yarn/cache/require-like-npm-0.1.2-9f547327b9-edb8331f05.zip/node_modules/require-like/",\ + "packageDependencies": [\ + ["require-like", "npm:0.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["requires-port", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/requires-port-npm-1.0.0-fd036b488a-eee0e303ad.zip/node_modules/requires-port/",\ + "packageDependencies": [\ + ["requires-port", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve", [\ + ["patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d", {\ + "packageLocation": "./.yarn/cache/resolve-patch-0c52e0e4f7-5656f4d0be.zip/node_modules/resolve/",\ + "packageDependencies": [\ + ["resolve", "patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=c3c19d"],\ + ["is-core-module", "npm:2.10.0"],\ + ["path-parse", "npm:1.0.7"],\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-from", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-f4ba0b8494.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-pathname", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/resolve-pathname-npm-3.0.0-bab4d7e47c-6147241ba4.zip/node_modules/resolve-pathname/",\ + "packageDependencies": [\ + ["resolve-pathname", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["responselike", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/responselike-npm-1.0.2-d0bf50cde4-2e9e70f1dc.zip/node_modules/responselike/",\ + "packageDependencies": [\ + ["responselike", "npm:1.0.2"],\ + ["lowercase-keys", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "./.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-623bd7d2e5.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.13.1", {\ + "packageLocation": "./.yarn/cache/retry-npm-0.13.1-89eb100ab6-47c4d5be67.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reusify", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rimraf", [\ + ["npm:3.0.2", {\ + "packageLocation": "./.yarn/cache/rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip/node_modules/rimraf/",\ + "packageDependencies": [\ + ["rimraf", "npm:3.0.2"],\ + ["glob", "npm:7.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rtl-detect", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/rtl-detect-npm-1.0.4-9936ce935c-d562535baa.zip/node_modules/rtl-detect/",\ + "packageDependencies": [\ + ["rtl-detect", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rtlcss", [\ + ["npm:3.5.0", {\ + "packageLocation": "./.yarn/cache/rtlcss-npm-3.5.0-86a685a37e-a3763cad2c.zip/node_modules/rtlcss/",\ + "packageDependencies": [\ + ["rtlcss", "npm:3.5.0"],\ + ["find-up", "npm:5.0.0"],\ + ["picocolors", "npm:1.0.0"],\ + ["postcss", "npm:8.4.18"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["run-parallel", "npm:1.2.0"],\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rxjs", [\ + ["npm:7.5.7", {\ + "packageLocation": "./.yarn/cache/rxjs-npm-7.5.7-602d5c56e4-edabcdb73b.zip/node_modules/rxjs/",\ + "packageDependencies": [\ + ["rxjs", "npm:7.5.7"],\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-buffer", [\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.1.2-c27fedf6c4-f2f1f7943c.zip/node_modules/safe-buffer/",\ + "packageDependencies": [\ + ["safe-buffer", "npm:5.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.1", {\ + "packageLocation": "./.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip/node_modules/safe-buffer/",\ + "packageDependencies": [\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-regex-test", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/safe-regex-test-npm-1.0.0-e94a09b84e-bc566d8beb.zip/node_modules/safe-regex-test/",\ + "packageDependencies": [\ + ["safe-regex-test", "npm:1.0.0"],\ + ["call-bind", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.1.3"],\ + ["is-regex", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "./.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sax", [\ + ["npm:1.2.4", {\ + "packageLocation": "./.yarn/cache/sax-npm-1.2.4-178f05f12f-d3df7d32b8.zip/node_modules/sax/",\ + "packageDependencies": [\ + ["sax", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["scheduler", [\ + ["npm:0.20.2", {\ + "packageLocation": "./.yarn/cache/scheduler-npm-0.20.2-90beaecfba-c4b35cf967.zip/node_modules/scheduler/",\ + "packageDependencies": [\ + ["scheduler", "npm:0.20.2"],\ + ["loose-envify", "npm:1.4.0"],\ + ["object-assign", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["schema-utils", [\ + ["npm:2.7.0", {\ + "packageLocation": "./.yarn/cache/schema-utils-npm-2.7.0-b668f12427-8889325b0e.zip/node_modules/schema-utils/",\ + "packageDependencies": [\ + ["schema-utils", "npm:2.7.0"],\ + ["@types/json-schema", "npm:7.0.11"],\ + ["ajv", "npm:6.12.6"],\ + ["ajv-keywords", "virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.7.1", {\ + "packageLocation": "./.yarn/cache/schema-utils-npm-2.7.1-f84d18c473-32c62fc9e2.zip/node_modules/schema-utils/",\ + "packageDependencies": [\ + ["schema-utils", "npm:2.7.1"],\ + ["@types/json-schema", "npm:7.0.11"],\ + ["ajv", "npm:6.12.6"],\ + ["ajv-keywords", "virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/schema-utils-npm-3.1.1-8704647575-fb73f3d759.zip/node_modules/schema-utils/",\ + "packageDependencies": [\ + ["schema-utils", "npm:3.1.1"],\ + ["@types/json-schema", "npm:7.0.11"],\ + ["ajv", "npm:6.12.6"],\ + ["ajv-keywords", "virtual:8704647575acf2f5b19fccfcb0acebacd9c94259ebe9afcfaf4c053812fd896f10775930ee5a5949e20833a61503d2cd22aa259cbe69729f6a192de4bf43dc00#npm:3.5.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/schema-utils-npm-4.0.0-4b7d8bb168-c843e92fdd.zip/node_modules/schema-utils/",\ + "packageDependencies": [\ + ["schema-utils", "npm:4.0.0"],\ + ["@types/json-schema", "npm:7.0.11"],\ + ["ajv", "npm:8.11.0"],\ + ["ajv-formats", "virtual:4b7d8bb1684f7f69bf042a03dae4d118ab00edf0e34f409e5270fb3cce9e5fcf8ce9581b8f5bc8597c1e50c52a23eba5d4eadeede8c58ab0be3187e2389e11d5#npm:2.1.1"],\ + ["ajv-keywords", "virtual:4b7d8bb1684f7f69bf042a03dae4d118ab00edf0e34f409e5270fb3cce9e5fcf8ce9581b8f5bc8597c1e50c52a23eba5d4eadeede8c58ab0be3187e2389e11d5#npm:5.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["scrypt-js", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/scrypt-js-npm-3.0.1-fd2d3fa606-b7c7d1a68d.zip/node_modules/scrypt-js/",\ + "packageDependencies": [\ + ["scrypt-js", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["section-matter", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/section-matter-npm-1.0.0-2f79fd59d6-3cc4131705.zip/node_modules/section-matter/",\ + "packageDependencies": [\ + ["section-matter", "npm:1.0.0"],\ + ["extend-shallow", "npm:2.0.1"],\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["select-hose", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/select-hose-npm-2.0.0-8ce63adb52-d7e5fcc695.zip/node_modules/select-hose/",\ + "packageDependencies": [\ + ["select-hose", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["selfsigned", [\ + ["npm:2.1.1", {\ + "packageLocation": "./.yarn/cache/selfsigned-npm-2.1.1-311d9b0b6d-aa9ce2150a.zip/node_modules/selfsigned/",\ + "packageDependencies": [\ + ["selfsigned", "npm:2.1.1"],\ + ["node-forge", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver", [\ + ["npm:5.7.1", {\ + "packageLocation": "./.yarn/cache/semver-npm-5.7.1-40bcea106b-57fd0acfd0.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:5.7.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.3.0", {\ + "packageLocation": "./.yarn/cache/semver-npm-6.3.0-b3eace8bfd-1b26ecf6db.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.3.8", {\ + "packageLocation": "./.yarn/cache/semver-npm-7.3.8-25a996cb4f-ba9c7cbbf2.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.3.8"],\ + ["lru-cache", "npm:6.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver-diff", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/semver-diff-npm-3.1.1-1207a795e9-8bbe5a5d7a.zip/node_modules/semver-diff/",\ + "packageDependencies": [\ + ["semver-diff", "npm:3.1.1"],\ + ["semver", "npm:6.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["send", [\ + ["npm:0.18.0", {\ + "packageLocation": "./.yarn/cache/send-npm-0.18.0-faadf6353f-74fc07ebb5.zip/node_modules/send/",\ + "packageDependencies": [\ + ["send", "npm:0.18.0"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["depd", "npm:2.0.0"],\ + ["destroy", "npm:1.2.0"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["etag", "npm:1.8.1"],\ + ["fresh", "npm:0.5.2"],\ + ["http-errors", "npm:2.0.0"],\ + ["mime", "npm:1.6.0"],\ + ["ms", "npm:2.1.3"],\ + ["on-finished", "npm:2.4.1"],\ + ["range-parser", "npm:1.2.1"],\ + ["statuses", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["serialize-javascript", [\ + ["npm:6.0.0", {\ + "packageLocation": "./.yarn/cache/serialize-javascript-npm-6.0.0-0bb8a3c88d-56f90b562a.zip/node_modules/serialize-javascript/",\ + "packageDependencies": [\ + ["serialize-javascript", "npm:6.0.0"],\ + ["randombytes", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["serve-handler", [\ + ["npm:6.1.3", {\ + "packageLocation": "./.yarn/cache/serve-handler-npm-6.1.3-b099b266c5-384c1bc10a.zip/node_modules/serve-handler/",\ + "packageDependencies": [\ + ["serve-handler", "npm:6.1.3"],\ + ["bytes", "npm:3.0.0"],\ + ["content-disposition", "npm:0.5.2"],\ + ["fast-url-parser", "npm:1.1.3"],\ + ["mime-types", "npm:2.1.18"],\ + ["minimatch", "npm:3.0.4"],\ + ["path-is-inside", "npm:1.0.2"],\ + ["path-to-regexp", "npm:2.2.1"],\ + ["range-parser", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["serve-index", [\ + ["npm:1.9.1", {\ + "packageLocation": "./.yarn/cache/serve-index-npm-1.9.1-4927052df8-e2647ce133.zip/node_modules/serve-index/",\ + "packageDependencies": [\ + ["serve-index", "npm:1.9.1"],\ + ["accepts", "npm:1.3.8"],\ + ["batch", "npm:0.6.1"],\ + ["debug", "virtual:013be1149d5692a108e582f1e5b5b411a8f47b255d189e4869bd767781ed4f23663599ec155e6771d512911f942b99e05153fb1318bc6bff68cc0ee1ab5e2760#npm:2.6.9"],\ + ["escape-html", "npm:1.0.3"],\ + ["http-errors", "npm:1.6.3"],\ + ["mime-types", "npm:2.1.35"],\ + ["parseurl", "npm:1.3.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["serve-static", [\ + ["npm:1.15.0", {\ + "packageLocation": "./.yarn/cache/serve-static-npm-1.15.0-86c81879f5-af57fc13be.zip/node_modules/serve-static/",\ + "packageDependencies": [\ + ["serve-static", "npm:1.15.0"],\ + ["encodeurl", "npm:1.0.2"],\ + ["escape-html", "npm:1.0.3"],\ + ["parseurl", "npm:1.3.3"],\ + ["send", "npm:0.18.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-blocking", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip/node_modules/set-blocking/",\ + "packageDependencies": [\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["setimmediate", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/setimmediate-npm-1.0.5-54587459b6-c9a6f2c5b5.zip/node_modules/setimmediate/",\ + "packageDependencies": [\ + ["setimmediate", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["setprototypeof", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.1.0-7d8becb375-27cb44304d.zip/node_modules/setprototypeof/",\ + "packageDependencies": [\ + ["setprototypeof", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.2.0", {\ + "packageLocation": "./.yarn/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-be18cbbf70.zip/node_modules/setprototypeof/",\ + "packageDependencies": [\ + ["setprototypeof", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shallow-clone", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/shallow-clone-npm-3.0.1-dab5873d0d-39b3dd9630.zip/node_modules/shallow-clone/",\ + "packageDependencies": [\ + ["shallow-clone", "npm:3.0.1"],\ + ["kind-of", "npm:6.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shallowequal", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/shallowequal-npm-1.1.0-6688d419cb-f4c1de0837.zip/node_modules/shallowequal/",\ + "packageDependencies": [\ + ["shallowequal", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-command", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip/node_modules/shebang-command/",\ + "packageDependencies": [\ + ["shebang-command", "npm:2.0.0"],\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-regex", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip/node_modules/shebang-regex/",\ + "packageDependencies": [\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shell-quote", [\ + ["npm:1.7.4", {\ + "packageLocation": "./.yarn/cache/shell-quote-npm-1.7.4-b337567168-2874ea9c1a.zip/node_modules/shell-quote/",\ + "packageDependencies": [\ + ["shell-quote", "npm:1.7.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shelljs", [\ + ["npm:0.8.5", {\ + "packageLocation": "./.yarn/cache/shelljs-npm-0.8.5-44be43f84a-7babc46f73.zip/node_modules/shelljs/",\ + "packageDependencies": [\ + ["shelljs", "npm:0.8.5"],\ + ["glob", "npm:7.2.3"],\ + ["interpret", "npm:1.4.0"],\ + ["rechoir", "npm:0.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["side-channel", [\ + ["npm:1.0.4", {\ + "packageLocation": "./.yarn/cache/side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip/node_modules/side-channel/",\ + "packageDependencies": [\ + ["side-channel", "npm:1.0.4"],\ + ["call-bind", "npm:1.0.2"],\ + ["get-intrinsic", "npm:1.1.3"],\ + ["object-inspect", "npm:1.12.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["signal-exit", [\ + ["npm:3.0.7", {\ + "packageLocation": "./.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-a2f098f247.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/signal-exit-npm-4.1.0-61fb957687-64c757b498.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sirv", [\ + ["npm:1.0.19", {\ + "packageLocation": "./.yarn/cache/sirv-npm-1.0.19-2cea3eead6-c943cfc61b.zip/node_modules/sirv/",\ + "packageDependencies": [\ + ["sirv", "npm:1.0.19"],\ + ["@polka/url", "npm:1.0.0-next.21"],\ + ["mrmime", "npm:1.0.1"],\ + ["totalist", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sisteransi", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/sisteransi-npm-1.0.5-af60cc0cfa-aba6438f46.zip/node_modules/sisteransi/",\ + "packageDependencies": [\ + ["sisteransi", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sitemap", [\ + ["npm:7.1.1", {\ + "packageLocation": "./.yarn/cache/sitemap-npm-7.1.1-cfa35a8899-87a6d21b0d.zip/node_modules/sitemap/",\ + "packageDependencies": [\ + ["sitemap", "npm:7.1.1"],\ + ["@types/node", "npm:17.0.45"],\ + ["@types/sax", "npm:1.2.4"],\ + ["arg", "npm:5.0.2"],\ + ["sax", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["siwe", [\ + ["npm:2.1.4", {\ + "packageLocation": "./.yarn/cache/siwe-npm-2.1.4-13a7a9cce1-a5eb48a72c.zip/node_modules/siwe/",\ + "packageDependencies": [\ + ["siwe", "npm:2.1.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:2.1.4", {\ + "packageLocation": "./.yarn/__virtual__/siwe-virtual-441d4bf1ea/0/cache/siwe-npm-2.1.4-13a7a9cce1-a5eb48a72c.zip/node_modules/siwe/",\ + "packageDependencies": [\ + ["siwe", "virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:2.1.4"],\ + ["@spruceid/siwe-parser", "npm:2.0.2"],\ + ["@stablelib/random", "npm:1.0.2"],\ + ["@types/ethers", null],\ + ["ethers", null],\ + ["uri-js", "npm:4.4.1"],\ + ["valid-url", "npm:1.0.9"]\ + ],\ + "packagePeers": [\ + "@types/ethers",\ + "ethers"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:2.1.4", {\ + "packageLocation": "./.yarn/__virtual__/siwe-virtual-527c774389/0/cache/siwe-npm-2.1.4-13a7a9cce1-a5eb48a72c.zip/node_modules/siwe/",\ + "packageDependencies": [\ + ["siwe", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:2.1.4"],\ + ["@spruceid/siwe-parser", "npm:2.0.2"],\ + ["@stablelib/random", "npm:1.0.2"],\ + ["@types/ethers", null],\ + ["ethers", "npm:5.7.2"],\ + ["uri-js", "npm:4.4.1"],\ + ["valid-url", "npm:1.0.9"]\ + ],\ + "packagePeers": [\ + "@types/ethers",\ + "ethers"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["siwe-recap", [\ + ["npm:0.0.2-alpha.0", {\ + "packageLocation": "./.yarn/cache/siwe-recap-npm-0.0.2-alpha.0-d10b225ecf-62bbe19278.zip/node_modules/siwe-recap/",\ + "packageDependencies": [\ + ["siwe-recap", "npm:0.0.2-alpha.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:0.0.2-alpha.0", {\ + "packageLocation": "./.yarn/__virtual__/siwe-recap-virtual-91f0c5f551/0/cache/siwe-recap-npm-0.0.2-alpha.0-d10b225ecf-62bbe19278.zip/node_modules/siwe-recap/",\ + "packageDependencies": [\ + ["siwe-recap", "virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:0.0.2-alpha.0"],\ + ["@types/ethers", null],\ + ["canonicalize", "npm:2.0.0"],\ + ["ethers", null],\ + ["multiformats", "npm:11.0.2"],\ + ["siwe", "virtual:0122701742ad24d3d7815d8b8bab4c9bbf424f3b0a2a55df1834aba88fd08518423bd85f65e2e93fe38810960477212adf0539169cb9201a3b90bce1905bdb70#npm:2.1.4"]\ + ],\ + "packagePeers": [\ + "@types/ethers",\ + "ethers"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:0.0.2-alpha.0", {\ + "packageLocation": "./.yarn/__virtual__/siwe-recap-virtual-48fb73cb96/0/cache/siwe-recap-npm-0.0.2-alpha.0-d10b225ecf-62bbe19278.zip/node_modules/siwe-recap/",\ + "packageDependencies": [\ + ["siwe-recap", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:0.0.2-alpha.0"],\ + ["@types/ethers", null],\ + ["canonicalize", "npm:2.0.0"],\ + ["ethers", "npm:5.7.2"],\ + ["multiformats", "npm:11.0.2"],\ + ["siwe", "virtual:de198588e5827837f47dea95f67781d31d52e7967315aa42adb37cc5cc9234c225ddd8a80d6c583c01505b2335ee90cfd55e26eb97f5fa4a556af36a5197df58#npm:2.1.4"]\ + ],\ + "packagePeers": [\ + "@types/ethers",\ + "ethers"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slash", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/slash-npm-4.0.0-ce4bbc4a80-da8e4af737.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "./.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-b5167a7142.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sockjs", [\ + ["npm:0.3.24", {\ + "packageLocation": "./.yarn/cache/sockjs-npm-0.3.24-ecb3909016-355309b48d.zip/node_modules/sockjs/",\ + "packageDependencies": [\ + ["sockjs", "npm:0.3.24"],\ + ["faye-websocket", "npm:0.11.4"],\ + ["uuid", "npm:8.3.2"],\ + ["websocket-driver", "npm:0.7.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.7.1", {\ + "packageLocation": "./.yarn/cache/socks-npm-2.7.1-17f2b53052-259d9e3e8e.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.7.1"],\ + ["ip", "npm:2.0.0"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/socks-proxy-agent-npm-7.0.0-7aacf32ea0-7205543701.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:7.0.0"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["socks", "npm:2.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sort-css-media-queries", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/sort-css-media-queries-npm-2.1.0-781449e923-25cb8f08b1.zip/node_modules/sort-css-media-queries/",\ + "packageDependencies": [\ + ["sort-css-media-queries", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map", [\ + ["npm:0.5.7", {\ + "packageLocation": "./.yarn/cache/source-map-npm-0.5.7-7c3f035429-5dc2043b93.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.5.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.6.1", {\ + "packageLocation": "./.yarn/cache/source-map-npm-0.6.1-1a3621db16-59ce8640cf.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-js", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/source-map-js-npm-1.0.2-ee4f9f9b30-c049a7fc4d.zip/node_modules/source-map-js/",\ + "packageDependencies": [\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-support", [\ + ["npm:0.5.21", {\ + "packageLocation": "./.yarn/cache/source-map-support-npm-0.5.21-09ca99e250-43e98d700d.zip/node_modules/source-map-support/",\ + "packageDependencies": [\ + ["source-map-support", "npm:0.5.21"],\ + ["buffer-from", "npm:1.1.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["space-separated-tokens", [\ + ["npm:1.1.5", {\ + "packageLocation": "./.yarn/cache/space-separated-tokens-npm-1.1.5-2352c83473-8ef68f1cfa.zip/node_modules/space-separated-tokens/",\ + "packageDependencies": [\ + ["space-separated-tokens", "npm:1.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["spdy", [\ + ["npm:4.0.2", {\ + "packageLocation": "./.yarn/cache/spdy-npm-4.0.2-7e5782a993-2c739d0ff6.zip/node_modules/spdy/",\ + "packageDependencies": [\ + ["spdy", "npm:4.0.2"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["handle-thing", "npm:2.0.1"],\ + ["http-deceiver", "npm:1.2.7"],\ + ["select-hose", "npm:2.0.0"],\ + ["spdy-transport", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["spdy-transport", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/spdy-transport-npm-3.0.0-9f4f73f332-0fcaad3b83.zip/node_modules/spdy-transport/",\ + "packageDependencies": [\ + ["spdy-transport", "npm:3.0.0"],\ + ["debug", "virtual:b3b3d9c94e7ae7d3eba2d5ff53422f589f5d063e6db1635105fcab59d2da838ae8f145215a995ae6bad679ca47509115a3c0de9b8c97848c16aff23a48c12db8#npm:4.3.4"],\ + ["detect-node", "npm:2.1.0"],\ + ["hpack.js", "npm:2.1.6"],\ + ["obuf", "npm:1.1.2"],\ + ["readable-stream", "npm:3.6.0"],\ + ["wbuf", "npm:1.7.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sprintf-js", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-19d79aec21.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:10.0.5", {\ + "packageLocation": "./.yarn/cache/ssri-npm-10.0.5-1a7557d04d-0a31b65f21.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:10.0.5"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stable", [\ + ["npm:0.1.8", {\ + "packageLocation": "./.yarn/cache/stable-npm-0.1.8-feb4e06de8-2ff482bb10.zip/node_modules/stable/",\ + "packageDependencies": [\ + ["stable", "npm:0.1.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["state-toggle", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/state-toggle-npm-1.0.3-dd096f8bd0-17398af928.zip/node_modules/state-toggle/",\ + "packageDependencies": [\ + ["state-toggle", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["statuses", [\ + ["npm:1.5.0", {\ + "packageLocation": "./.yarn/cache/statuses-npm-1.5.0-f88f91b2e9-c469b9519d.zip/node_modules/statuses/",\ + "packageDependencies": [\ + ["statuses", "npm:1.5.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip/node_modules/statuses/",\ + "packageDependencies": [\ + ["statuses", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["std-env", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/std-env-npm-3.3.0-92f7219657-093f26c9e0.zip/node_modules/std-env/",\ + "packageDependencies": [\ + ["std-env", "npm:3.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "./.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.2", {\ + "packageLocation": "./.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:5.1.2"],\ + ["eastasianwidth", "npm:0.2.0"],\ + ["emoji-regex", "npm:9.2.2"],\ + ["strip-ansi", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trimend", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/string.prototype.trimend-npm-1.0.5-2b980efa37-d44f543833.zip/node_modules/string.prototype.trimend/",\ + "packageDependencies": [\ + ["string.prototype.trimend", "npm:1.0.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string.prototype.trimstart", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/string.prototype.trimstart-npm-1.0.5-9e62187810-a4857c5399.zip/node_modules/string.prototype.trimstart/",\ + "packageDependencies": [\ + ["string.prototype.trimstart", "npm:1.0.5"],\ + ["call-bind", "npm:1.0.2"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string_decoder", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/string_decoder-npm-1.1.1-e46a6c1353-9ab7e56f9d.zip/node_modules/string_decoder/",\ + "packageDependencies": [\ + ["string_decoder", "npm:1.1.1"],\ + ["safe-buffer", "npm:5.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip/node_modules/string_decoder/",\ + "packageDependencies": [\ + ["string_decoder", "npm:1.3.0"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stringify-object", [\ + ["npm:3.3.0", {\ + "packageLocation": "./.yarn/cache/stringify-object-npm-3.3.0-3e6784f7df-6827a3f359.zip/node_modules/stringify-object/",\ + "packageDependencies": [\ + ["stringify-object", "npm:3.3.0"],\ + ["get-own-enumerable-property-symbols", "npm:3.0.2"],\ + ["is-obj", "npm:1.0.1"],\ + ["is-regexp", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-ansi", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:6.0.1"],\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.1", {\ + "packageLocation": "./.yarn/cache/strip-ansi-npm-7.0.1-668c121204-257f78fa43.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:7.0.1"],\ + ["ansi-regex", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-bom-string", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/strip-bom-string-npm-1.0.0-aa6cb548d1-5635a3656d.zip/node_modules/strip-bom-string/",\ + "packageDependencies": [\ + ["strip-bom-string", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-final-newline", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-69412b5e25.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-json-comments", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/strip-json-comments-npm-2.0.1-e7883b2d04-1074ccb632.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["style-to-object", [\ + ["npm:0.3.0", {\ + "packageLocation": "./.yarn/cache/style-to-object-npm-0.3.0-612fa5e630-4d70840152.zip/node_modules/style-to-object/",\ + "packageDependencies": [\ + ["style-to-object", "npm:0.3.0"],\ + ["inline-style-parser", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stylehacks", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/stylehacks-npm-5.1.0-f980a6a46f-310b3452c1.zip/node_modules/stylehacks/",\ + "packageDependencies": [\ + ["stylehacks", "npm:5.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9ce1ebb401224aa4c8df107410cb464d7c211be45fba6e9fb84b9c7b58a34bbc0c649bee05e69d93764cdc54ae2d3454e729e6cd9d4f9bd500bfcaa419131693#npm:5.1.0", {\ + "packageLocation": "./.yarn/__virtual__/stylehacks-virtual-2b17fffaf8/0/cache/stylehacks-npm-5.1.0-f980a6a46f-310b3452c1.zip/node_modules/stylehacks/",\ + "packageDependencies": [\ + ["stylehacks", "virtual:9ce1ebb401224aa4c8df107410cb464d7c211be45fba6e9fb84b9c7b58a34bbc0c649bee05e69d93764cdc54ae2d3454e729e6cd9d4f9bd500bfcaa419131693#npm:5.1.0"],\ + ["@types/postcss", null],\ + ["browserslist", "npm:4.21.4"],\ + ["postcss", "npm:8.4.18"],\ + ["postcss-selector-parser", "npm:6.0.10"]\ + ],\ + "packagePeers": [\ + "@types/postcss",\ + "postcss"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-color", [\ + ["npm:5.5.0", {\ + "packageLocation": "./.yarn/cache/supports-color-npm-5.5.0-183ac537bc-95f6f4ba5a.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:5.5.0"],\ + ["has-flag", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.0", {\ + "packageLocation": "./.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:7.2.0"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.1", {\ + "packageLocation": "./.yarn/cache/supports-color-npm-8.1.1-289e937149-c052193a7e.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:8.1.1"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-preserve-symlinks-flag", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-53b1e247e6.zip/node_modules/supports-preserve-symlinks-flag/",\ + "packageDependencies": [\ + ["supports-preserve-symlinks-flag", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["svg-parser", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/svg-parser-npm-2.0.4-1b0b6afbe9-b3de665304.zip/node_modules/svg-parser/",\ + "packageDependencies": [\ + ["svg-parser", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["svgo", [\ + ["npm:1.3.2", {\ + "packageLocation": "./.yarn/cache/svgo-npm-1.3.2-4cceb54daa-28a5680a61.zip/node_modules/svgo/",\ + "packageDependencies": [\ + ["svgo", "npm:1.3.2"],\ + ["chalk", "npm:2.4.2"],\ + ["coa", "npm:2.0.2"],\ + ["css-select", "npm:2.1.0"],\ + ["css-select-base-adapter", "npm:0.1.1"],\ + ["css-tree", "npm:1.0.0-alpha.37"],\ + ["csso", "npm:4.2.0"],\ + ["js-yaml", "npm:3.14.1"],\ + ["mkdirp", "npm:0.5.6"],\ + ["object.values", "npm:1.1.5"],\ + ["sax", "npm:1.2.4"],\ + ["stable", "npm:0.1.8"],\ + ["unquote", "npm:1.1.1"],\ + ["util.promisify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.8.0", {\ + "packageLocation": "./.yarn/cache/svgo-npm-2.8.0-43b4f3debe-b92f71a854.zip/node_modules/svgo/",\ + "packageDependencies": [\ + ["svgo", "npm:2.8.0"],\ + ["@trysound/sax", "npm:0.2.0"],\ + ["commander", "npm:7.2.0"],\ + ["css-select", "npm:4.3.0"],\ + ["css-tree", "npm:1.1.3"],\ + ["csso", "npm:4.2.0"],\ + ["picocolors", "npm:1.0.0"],\ + ["stable", "npm:0.1.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tapable", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/tapable-npm-1.1.3-f1c2843426-53ff4e7c39.zip/node_modules/tapable/",\ + "packageDependencies": [\ + ["tapable", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.2.1", {\ + "packageLocation": "./.yarn/cache/tapable-npm-2.2.1-8cf5ff3039-3b7a1b4d86.zip/node_modules/tapable/",\ + "packageDependencies": [\ + ["tapable", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar", [\ + ["npm:6.2.0", {\ + "packageLocation": "./.yarn/cache/tar-npm-6.2.0-3eb25205a7-db4d9fe74a.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:6.2.0"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:5.0.0"],\ + ["minizlib", "npm:2.1.2"],\ + ["mkdirp", "npm:1.0.4"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["terser", [\ + ["npm:5.15.1", {\ + "packageLocation": "./.yarn/cache/terser-npm-5.15.1-63dec1247d-9880a1e095.zip/node_modules/terser/",\ + "packageDependencies": [\ + ["terser", "npm:5.15.1"],\ + ["@jridgewell/source-map", "npm:0.3.2"],\ + ["acorn", "npm:8.8.0"],\ + ["commander", "npm:2.20.3"],\ + ["source-map-support", "npm:0.5.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["terser-webpack-plugin", [\ + ["npm:5.3.6", {\ + "packageLocation": "./.yarn/cache/terser-webpack-plugin-npm-5.3.6-27ed5132ff-8f3448d7fd.zip/node_modules/terser-webpack-plugin/",\ + "packageDependencies": [\ + ["terser-webpack-plugin", "npm:5.3.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:5.3.6", {\ + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-5ddcc1ad06/0/cache/terser-webpack-plugin-npm-5.3.6-27ed5132ff-8f3448d7fd.zip/node_modules/terser-webpack-plugin/",\ + "packageDependencies": [\ + ["terser-webpack-plugin", "virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:5.3.6"],\ + ["@jridgewell/trace-mapping", "npm:0.3.17"],\ + ["@swc/core", null],\ + ["@types/esbuild", null],\ + ["@types/swc__core", null],\ + ["@types/uglify-js", null],\ + ["@types/webpack", null],\ + ["esbuild", null],\ + ["jest-worker", "npm:27.5.1"],\ + ["schema-utils", "npm:3.1.1"],\ + ["serialize-javascript", "npm:6.0.0"],\ + ["terser", "npm:5.15.1"],\ + ["uglify-js", null],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@swc/core",\ + "@types/esbuild",\ + "@types/swc__core",\ + "@types/uglify-js",\ + "@types/webpack",\ + "esbuild",\ + "uglify-js",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["text-table", [\ + ["npm:0.2.0", {\ + "packageLocation": "./.yarn/cache/text-table-npm-0.2.0-d92a778b59-b6937a38c8.zip/node_modules/text-table/",\ + "packageDependencies": [\ + ["text-table", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["thunky", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/thunky-npm-1.1.0-2d25531f44-993096c472.zip/node_modules/thunky/",\ + "packageDependencies": [\ + ["thunky", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tiny-invariant", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/tiny-invariant-npm-1.3.1-a8ca214e49-872dbd1ff2.zip/node_modules/tiny-invariant/",\ + "packageDependencies": [\ + ["tiny-invariant", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tiny-warning", [\ + ["npm:1.0.3", {\ + "packageLocation": "./.yarn/cache/tiny-warning-npm-1.0.3-750b7a07c4-da62c4acac.zip/node_modules/tiny-warning/",\ + "packageDependencies": [\ + ["tiny-warning", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-fast-properties", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/to-fast-properties-npm-2.0.0-0dc60cc481-be2de62fe5.zip/node_modules/to-fast-properties/",\ + "packageDependencies": [\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-readable-stream", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/to-readable-stream-npm-1.0.0-4fa4da8130-2bd7778490.zip/node_modules/to-readable-stream/",\ + "packageDependencies": [\ + ["to-readable-stream", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-regex-range", [\ + ["npm:5.0.1", {\ + "packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip/node_modules/to-regex-range/",\ + "packageDependencies": [\ + ["to-regex-range", "npm:5.0.1"],\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["toidentifier", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/toidentifier-npm-1.0.1-f759712599-952c29e2a8.zip/node_modules/toidentifier/",\ + "packageDependencies": [\ + ["toidentifier", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["totalist", [\ + ["npm:1.1.0", {\ + "packageLocation": "./.yarn/cache/totalist-npm-1.1.0-4e1d9cb01b-dfab80c710.zip/node_modules/totalist/",\ + "packageDependencies": [\ + ["totalist", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tr46", [\ + ["npm:0.0.3", {\ + "packageLocation": "./.yarn/cache/tr46-npm-0.0.3-de53018915-726321c5ea.zip/node_modules/tr46/",\ + "packageDependencies": [\ + ["tr46", "npm:0.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["trim", [\ + ["npm:0.0.1", {\ + "packageLocation": "./.yarn/cache/trim-npm-0.0.1-d138075543-2b4646dff9.zip/node_modules/trim/",\ + "packageDependencies": [\ + ["trim", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["trim-trailing-lines", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/trim-trailing-lines-npm-1.1.4-4bf3b2c576-5d39d21c0d.zip/node_modules/trim-trailing-lines/",\ + "packageDependencies": [\ + ["trim-trailing-lines", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["trough", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/trough-npm-1.0.5-791a6e37e5-d6c8564903.zip/node_modules/trough/",\ + "packageDependencies": [\ + ["trough", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tslib", [\ + ["npm:2.4.0", {\ + "packageLocation": "./.yarn/cache/tslib-npm-2.4.0-9cb6dc5030-8c4aa6a3c5.zip/node_modules/tslib/",\ + "packageDependencies": [\ + ["tslib", "npm:2.4.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.5.0", {\ + "packageLocation": "./.yarn/cache/tslib-npm-2.5.0-bb364efebd-ae3ed5f9ce.zip/node_modules/tslib/",\ + "packageDependencies": [\ + ["tslib", "npm:2.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-fest", [\ + ["npm:0.20.2", {\ + "packageLocation": "./.yarn/cache/type-fest-npm-0.20.2-b36432617f-4fb3272df2.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.20.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.19.0", {\ + "packageLocation": "./.yarn/cache/type-fest-npm-2.19.0-918b953248-a4ef07ece2.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:2.19.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-is", [\ + ["npm:1.6.18", {\ + "packageLocation": "./.yarn/cache/type-is-npm-1.6.18-6dee4d4961-2c8e47675d.zip/node_modules/type-is/",\ + "packageDependencies": [\ + ["type-is", "npm:1.6.18"],\ + ["media-typer", "npm:0.3.0"],\ + ["mime-types", "npm:2.1.35"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typedarray-to-buffer", [\ + ["npm:3.1.5", {\ + "packageLocation": "./.yarn/cache/typedarray-to-buffer-npm-3.1.5-aadc11995e-99c11aaa8f.zip/node_modules/typedarray-to-buffer/",\ + "packageDependencies": [\ + ["typedarray-to-buffer", "npm:3.1.5"],\ + ["is-typedarray", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ua-parser-js", [\ + ["npm:0.7.32", {\ + "packageLocation": "./.yarn/cache/ua-parser-js-npm-0.7.32-8b96a27c56-6b6b035dd7.zip/node_modules/ua-parser-js/",\ + "packageDependencies": [\ + ["ua-parser-js", "npm:0.7.32"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unbox-primitive", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/unbox-primitive-npm-1.0.2-cb56a05066-b7a1cf5862.zip/node_modules/unbox-primitive/",\ + "packageDependencies": [\ + ["unbox-primitive", "npm:1.0.2"],\ + ["call-bind", "npm:1.0.2"],\ + ["has-bigints", "npm:1.0.2"],\ + ["has-symbols", "npm:1.0.3"],\ + ["which-boxed-primitive", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unherit", [\ + ["npm:1.1.3", {\ + "packageLocation": "./.yarn/cache/unherit-npm-1.1.3-14f0bf5f12-fd7922f84f.zip/node_modules/unherit/",\ + "packageDependencies": [\ + ["unherit", "npm:1.1.3"],\ + ["inherits", "npm:2.0.4"],\ + ["xtend", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-canonical-property-names-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/unicode-canonical-property-names-ecmascript-npm-2.0.0-d2d8554a14-39be078afd.zip/node_modules/unicode-canonical-property-names-ecmascript/",\ + "packageDependencies": [\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/unicode-match-property-ecmascript-npm-2.0.0-97a00fd52c-1f34a7434a.zip/node_modules/unicode-match-property-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-ecmascript", "npm:2.0.0"],\ + ["unicode-canonical-property-names-ecmascript", "npm:2.0.0"],\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-match-property-value-ecmascript", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/unicode-match-property-value-ecmascript-npm-2.0.0-b52f4f7ca4-8fe6a09d90.zip/node_modules/unicode-match-property-value-ecmascript/",\ + "packageDependencies": [\ + ["unicode-match-property-value-ecmascript", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unicode-property-aliases-ecmascript", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/unicode-property-aliases-ecmascript-npm-2.1.0-46779595f4-2435244318.zip/node_modules/unicode-property-aliases-ecmascript/",\ + "packageDependencies": [\ + ["unicode-property-aliases-ecmascript", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unified", [\ + ["npm:9.2.0", {\ + "packageLocation": "./.yarn/cache/unified-npm-9.2.0-2edf64a14a-0cac4ae119.zip/node_modules/unified/",\ + "packageDependencies": [\ + ["unified", "npm:9.2.0"],\ + ["@types/unist", "npm:2.0.6"],\ + ["bail", "npm:1.0.5"],\ + ["extend", "npm:3.0.2"],\ + ["is-buffer", "npm:2.0.5"],\ + ["is-plain-obj", "npm:2.1.0"],\ + ["trough", "npm:1.0.5"],\ + ["vfile", "npm:4.2.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "./.yarn/cache/unified-npm-9.2.2-65676eec78-7c24461be7.zip/node_modules/unified/",\ + "packageDependencies": [\ + ["unified", "npm:9.2.2"],\ + ["@types/unist", "npm:2.0.6"],\ + ["bail", "npm:1.0.5"],\ + ["extend", "npm:3.0.2"],\ + ["is-buffer", "npm:2.0.5"],\ + ["is-plain-obj", "npm:2.1.0"],\ + ["trough", "npm:1.0.5"],\ + ["vfile", "npm:4.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-filename", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/unique-filename-npm-3.0.0-77d68e0a45-8e2f59b356.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:3.0.0"],\ + ["unique-slug", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/unique-slug-npm-4.0.0-e6b08f28aa-0884b58365.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:4.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-string", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/unique-string-npm-2.0.0-3153c97e47-ef68f63913.zip/node_modules/unique-string/",\ + "packageDependencies": [\ + ["unique-string", "npm:2.0.0"],\ + ["crypto-random-string", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-builder", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/unist-builder-npm-2.0.3-8bf7de2024-e946fdf77d.zip/node_modules/unist-builder/",\ + "packageDependencies": [\ + ["unist-builder", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-generated", [\ + ["npm:1.1.6", {\ + "packageLocation": "./.yarn/cache/unist-util-generated-npm-1.1.6-d1a50e4043-86239ff88a.zip/node_modules/unist-util-generated/",\ + "packageDependencies": [\ + ["unist-util-generated", "npm:1.1.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-is", [\ + ["npm:4.1.0", {\ + "packageLocation": "./.yarn/cache/unist-util-is-npm-4.1.0-16bbd97383-726484cd2a.zip/node_modules/unist-util-is/",\ + "packageDependencies": [\ + ["unist-util-is", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-position", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/unist-util-position-npm-3.1.0-72deebe862-10b3952e32.zip/node_modules/unist-util-position/",\ + "packageDependencies": [\ + ["unist-util-position", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-remove", [\ + ["npm:2.1.0", {\ + "packageLocation": "./.yarn/cache/unist-util-remove-npm-2.1.0-3aee8661b2-99e54f3ea0.zip/node_modules/unist-util-remove/",\ + "packageDependencies": [\ + ["unist-util-remove", "npm:2.1.0"],\ + ["unist-util-is", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-remove-position", [\ + ["npm:2.0.1", {\ + "packageLocation": "./.yarn/cache/unist-util-remove-position-npm-2.0.1-8d82f0286a-4149294969.zip/node_modules/unist-util-remove-position/",\ + "packageDependencies": [\ + ["unist-util-remove-position", "npm:2.0.1"],\ + ["unist-util-visit", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-stringify-position", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/unist-util-stringify-position-npm-2.0.3-abaa9bf961-f755cadc95.zip/node_modules/unist-util-stringify-position/",\ + "packageDependencies": [\ + ["unist-util-stringify-position", "npm:2.0.3"],\ + ["@types/unist", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-visit", [\ + ["npm:2.0.3", {\ + "packageLocation": "./.yarn/cache/unist-util-visit-npm-2.0.3-e3d6dbea25-1fe19d500e.zip/node_modules/unist-util-visit/",\ + "packageDependencies": [\ + ["unist-util-visit", "npm:2.0.3"],\ + ["@types/unist", "npm:2.0.6"],\ + ["unist-util-is", "npm:4.1.0"],\ + ["unist-util-visit-parents", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unist-util-visit-parents", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/unist-util-visit-parents-npm-3.1.1-a4bb258148-1170e397df.zip/node_modules/unist-util-visit-parents/",\ + "packageDependencies": [\ + ["unist-util-visit-parents", "npm:3.1.1"],\ + ["@types/unist", "npm:2.0.6"],\ + ["unist-util-is", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["universalify", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/universalify-npm-2.0.0-03b8b418a8-2406a4edf4.zip/node_modules/universalify/",\ + "packageDependencies": [\ + ["universalify", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unpipe", [\ + ["npm:1.0.0", {\ + "packageLocation": "./.yarn/cache/unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip/node_modules/unpipe/",\ + "packageDependencies": [\ + ["unpipe", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unquote", [\ + ["npm:1.1.1", {\ + "packageLocation": "./.yarn/cache/unquote-npm-1.1.1-11903c1689-71745867d0.zip/node_modules/unquote/",\ + "packageDependencies": [\ + ["unquote", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["update-browserslist-db", [\ + ["npm:1.0.10", {\ + "packageLocation": "./.yarn/cache/update-browserslist-db-npm-1.0.10-676baf0b9f-12db73b4f6.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "npm:1.0.10"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7d64a96afc8cf9b31b95951ccc2f47931d0cf97faa526fd0d20448bf2c73ddf9f5ef9e5cd28839ae8b5791451df45079a407b3f4978367b4210748169f5848f6#npm:1.0.10", {\ + "packageLocation": "./.yarn/__virtual__/update-browserslist-db-virtual-503d1f881e/0/cache/update-browserslist-db-npm-1.0.10-676baf0b9f-12db73b4f6.zip/node_modules/update-browserslist-db/",\ + "packageDependencies": [\ + ["update-browserslist-db", "virtual:7d64a96afc8cf9b31b95951ccc2f47931d0cf97faa526fd0d20448bf2c73ddf9f5ef9e5cd28839ae8b5791451df45079a407b3f4978367b4210748169f5848f6#npm:1.0.10"],\ + ["@types/browserslist", null],\ + ["browserslist", "npm:4.21.4"],\ + ["escalade", "npm:3.1.1"],\ + ["picocolors", "npm:1.0.0"]\ + ],\ + "packagePeers": [\ + "@types/browserslist",\ + "browserslist"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["update-notifier", [\ + ["npm:5.1.0", {\ + "packageLocation": "./.yarn/cache/update-notifier-npm-5.1.0-6bf595ecee-461e5e5b00.zip/node_modules/update-notifier/",\ + "packageDependencies": [\ + ["update-notifier", "npm:5.1.0"],\ + ["boxen", "npm:5.1.2"],\ + ["chalk", "npm:4.1.2"],\ + ["configstore", "npm:5.0.1"],\ + ["has-yarn", "npm:2.1.0"],\ + ["import-lazy", "npm:2.1.0"],\ + ["is-ci", "npm:2.0.0"],\ + ["is-installed-globally", "npm:0.4.0"],\ + ["is-npm", "npm:5.0.0"],\ + ["is-yarn-global", "npm:0.3.0"],\ + ["latest-version", "npm:5.1.0"],\ + ["pupa", "npm:2.1.1"],\ + ["semver", "npm:7.3.8"],\ + ["semver-diff", "npm:3.1.1"],\ + ["xdg-basedir", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uri-js", [\ + ["npm:4.4.1", {\ + "packageLocation": "./.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip/node_modules/uri-js/",\ + "packageDependencies": [\ + ["uri-js", "npm:4.4.1"],\ + ["punycode", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["url-loader", [\ + ["npm:4.1.1", {\ + "packageLocation": "./.yarn/cache/url-loader-npm-4.1.1-568e22ebcb-c1122a992c.zip/node_modules/url-loader/",\ + "packageDependencies": [\ + ["url-loader", "npm:4.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1", {\ + "packageLocation": "./.yarn/__virtual__/url-loader-virtual-a7d1302210/0/cache/url-loader-npm-4.1.1-568e22ebcb-c1122a992c.zip/node_modules/url-loader/",\ + "packageDependencies": [\ + ["url-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:4.1.1"],\ + ["@types/file-loader", null],\ + ["@types/webpack", null],\ + ["file-loader", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:6.2.0"],\ + ["loader-utils", "npm:2.0.2"],\ + ["mime-types", "npm:2.1.35"],\ + ["schema-utils", "npm:3.1.1"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/file-loader",\ + "@types/webpack",\ + "file-loader",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:4.1.1", {\ + "packageLocation": "./.yarn/__virtual__/url-loader-virtual-f2770580e2/0/cache/url-loader-npm-4.1.1-568e22ebcb-c1122a992c.zip/node_modules/url-loader/",\ + "packageDependencies": [\ + ["url-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:4.1.1"],\ + ["@types/file-loader", null],\ + ["@types/webpack", null],\ + ["file-loader", "virtual:aca6274457bd1c017e7c838c3135539fb250cb1fa88ff14b8cf138a04eadd12222ba0c4d7c4c2159fb892a5e1cec7ea4a66aa69a1c1b4aa6c21e4dfda1e4efca#npm:6.2.0"],\ + ["loader-utils", "npm:2.0.2"],\ + ["mime-types", "npm:2.1.35"],\ + ["schema-utils", "npm:3.1.1"],\ + ["webpack", null]\ + ],\ + "packagePeers": [\ + "@types/file-loader",\ + "@types/webpack",\ + "file-loader",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["url-parse-lax", [\ + ["npm:3.0.0", {\ + "packageLocation": "./.yarn/cache/url-parse-lax-npm-3.0.0-92aa8effa0-1040e35775.zip/node_modules/url-parse-lax/",\ + "packageDependencies": [\ + ["url-parse-lax", "npm:3.0.0"],\ + ["prepend-http", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["use-composed-ref", [\ + ["npm:1.3.0", {\ + "packageLocation": "./.yarn/cache/use-composed-ref-npm-1.3.0-20ed37af5c-f771cbadfd.zip/node_modules/use-composed-ref/",\ + "packageDependencies": [\ + ["use-composed-ref", "npm:1.3.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2729a5726a941b31280ac49c13e08dc8d62636cf3ad09861cb13dc06557fb449a11377e177c75e8d661427353d07cdcc27fff0d8e48d44ce36b40b4db5fb6d26#npm:1.3.0", {\ + "packageLocation": "./.yarn/__virtual__/use-composed-ref-virtual-7c0548af1f/0/cache/use-composed-ref-npm-1.3.0-20ed37af5c-f771cbadfd.zip/node_modules/use-composed-ref/",\ + "packageDependencies": [\ + ["use-composed-ref", "virtual:2729a5726a941b31280ac49c13e08dc8d62636cf3ad09861cb13dc06557fb449a11377e177c75e8d661427353d07cdcc27fff0d8e48d44ce36b40b4db5fb6d26#npm:1.3.0"],\ + ["@types/react", null],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["use-isomorphic-layout-effect", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/use-isomorphic-layout-effect-npm-1.1.2-65facd0a4b-a6532f7fc9.zip/node_modules/use-isomorphic-layout-effect/",\ + "packageDependencies": [\ + ["use-isomorphic-layout-effect", "npm:1.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:c53f8393aa7906453daceb4b2c9be56915aa090c7384270ae4716c0aed8def4d9470a733778513168fce89f29b4350c9d6236b7b34e3d741e13a7ad3b6832968#npm:1.1.2", {\ + "packageLocation": "./.yarn/__virtual__/use-isomorphic-layout-effect-virtual-2950bb7e57/0/cache/use-isomorphic-layout-effect-npm-1.1.2-65facd0a4b-a6532f7fc9.zip/node_modules/use-isomorphic-layout-effect/",\ + "packageDependencies": [\ + ["use-isomorphic-layout-effect", "virtual:c53f8393aa7906453daceb4b2c9be56915aa090c7384270ae4716c0aed8def4d9470a733778513168fce89f29b4350c9d6236b7b34e3d741e13a7ad3b6832968#npm:1.1.2"],\ + ["@types/react", null],\ + ["react", "npm:17.0.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["use-latest", [\ + ["npm:1.2.1", {\ + "packageLocation": "./.yarn/cache/use-latest-npm-1.2.1-a2c18ad4ba-ed3f2ddddf.zip/node_modules/use-latest/",\ + "packageDependencies": [\ + ["use-latest", "npm:1.2.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:2729a5726a941b31280ac49c13e08dc8d62636cf3ad09861cb13dc06557fb449a11377e177c75e8d661427353d07cdcc27fff0d8e48d44ce36b40b4db5fb6d26#npm:1.2.1", {\ + "packageLocation": "./.yarn/__virtual__/use-latest-virtual-c53f8393aa/0/cache/use-latest-npm-1.2.1-a2c18ad4ba-ed3f2ddddf.zip/node_modules/use-latest/",\ + "packageDependencies": [\ + ["use-latest", "virtual:2729a5726a941b31280ac49c13e08dc8d62636cf3ad09861cb13dc06557fb449a11377e177c75e8d661427353d07cdcc27fff0d8e48d44ce36b40b4db5fb6d26#npm:1.2.1"],\ + ["@types/react", null],\ + ["react", "npm:17.0.2"],\ + ["use-isomorphic-layout-effect", "virtual:c53f8393aa7906453daceb4b2c9be56915aa090c7384270ae4716c0aed8def4d9470a733778513168fce89f29b4350c9d6236b7b34e3d741e13a7ad3b6832968#npm:1.1.2"]\ + ],\ + "packagePeers": [\ + "@types/react",\ + "react"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["util-deprecate", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip/node_modules/util-deprecate/",\ + "packageDependencies": [\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["util.promisify", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/util.promisify-npm-1.0.1-5b881bb495-d823c75b3f.zip/node_modules/util.promisify/",\ + "packageDependencies": [\ + ["util.promisify", "npm:1.0.1"],\ + ["define-properties", "npm:1.1.4"],\ + ["es-abstract", "npm:1.20.4"],\ + ["has-symbols", "npm:1.0.3"],\ + ["object.getownpropertydescriptors", "npm:2.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["utila", [\ + ["npm:0.4.0", {\ + "packageLocation": "./.yarn/cache/utila-npm-0.4.0-27b344403b-97ffd3bd2b.zip/node_modules/utila/",\ + "packageDependencies": [\ + ["utila", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["utility-types", [\ + ["npm:3.10.0", {\ + "packageLocation": "./.yarn/cache/utility-types-npm-3.10.0-747e7c6549-8f274415c6.zip/node_modules/utility-types/",\ + "packageDependencies": [\ + ["utility-types", "npm:3.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["utils-merge", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/utils-merge-npm-1.0.1-363bbdfbca-c810954932.zip/node_modules/utils-merge/",\ + "packageDependencies": [\ + ["utils-merge", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uuid", [\ + ["npm:8.3.2", {\ + "packageLocation": "./.yarn/cache/uuid-npm-8.3.2-eca0baba53-5575a8a75c.zip/node_modules/uuid/",\ + "packageDependencies": [\ + ["uuid", "npm:8.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["valid-url", [\ + ["npm:1.0.9", {\ + "packageLocation": "./.yarn/cache/valid-url-npm-1.0.9-945a70ad40-3ecb030559.zip/node_modules/valid-url/",\ + "packageDependencies": [\ + ["valid-url", "npm:1.0.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["value-equal", [\ + ["npm:1.0.1", {\ + "packageLocation": "./.yarn/cache/value-equal-npm-1.0.1-7811e93c9b-bb7ae1facc.zip/node_modules/value-equal/",\ + "packageDependencies": [\ + ["value-equal", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vary", [\ + ["npm:1.1.2", {\ + "packageLocation": "./.yarn/cache/vary-npm-1.1.2-b49f70ae63-ae0123222c.zip/node_modules/vary/",\ + "packageDependencies": [\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vfile", [\ + ["npm:4.2.1", {\ + "packageLocation": "./.yarn/cache/vfile-npm-4.2.1-fb052a35e5-ee5726e10d.zip/node_modules/vfile/",\ + "packageDependencies": [\ + ["vfile", "npm:4.2.1"],\ + ["@types/unist", "npm:2.0.6"],\ + ["is-buffer", "npm:2.0.5"],\ + ["unist-util-stringify-position", "npm:2.0.3"],\ + ["vfile-message", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vfile-location", [\ + ["npm:3.2.0", {\ + "packageLocation": "./.yarn/cache/vfile-location-npm-3.2.0-cd97ee24d4-9bb3df6d0b.zip/node_modules/vfile-location/",\ + "packageDependencies": [\ + ["vfile-location", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vfile-message", [\ + ["npm:2.0.4", {\ + "packageLocation": "./.yarn/cache/vfile-message-npm-2.0.4-ca3f9b6719-1bade49979.zip/node_modules/vfile-message/",\ + "packageDependencies": [\ + ["vfile-message", "npm:2.0.4"],\ + ["@types/unist", "npm:2.0.6"],\ + ["unist-util-stringify-position", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wait-on", [\ + ["npm:6.0.1", {\ + "packageLocation": "./.yarn/cache/wait-on-npm-6.0.1-9e03b09170-e4d62aa414.zip/node_modules/wait-on/",\ + "packageDependencies": [\ + ["wait-on", "npm:6.0.1"],\ + ["axios", "npm:0.25.0"],\ + ["joi", "npm:17.6.3"],\ + ["lodash", "npm:4.17.21"],\ + ["minimist", "npm:1.2.7"],\ + ["rxjs", "npm:7.5.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["watchpack", [\ + ["npm:2.4.0", {\ + "packageLocation": "./.yarn/cache/watchpack-npm-2.4.0-7ec4b9cc65-23d4bc5863.zip/node_modules/watchpack/",\ + "packageDependencies": [\ + ["watchpack", "npm:2.4.0"],\ + ["glob-to-regexp", "npm:0.4.1"],\ + ["graceful-fs", "npm:4.2.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wbuf", [\ + ["npm:1.7.3", {\ + "packageLocation": "./.yarn/cache/wbuf-npm-1.7.3-cc9e10a084-2abc306c96.zip/node_modules/wbuf/",\ + "packageDependencies": [\ + ["wbuf", "npm:1.7.3"],\ + ["minimalistic-assert", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["web-namespaces", [\ + ["npm:1.1.4", {\ + "packageLocation": "./.yarn/cache/web-namespaces-npm-1.1.4-a6dfacb865-5149842ccb.zip/node_modules/web-namespaces/",\ + "packageDependencies": [\ + ["web-namespaces", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["web-streams-polyfill", [\ + ["npm:3.2.1", {\ + "packageLocation": "./.yarn/cache/web-streams-polyfill-npm-3.2.1-835bd3857e-b119c78574.zip/node_modules/web-streams-polyfill/",\ + "packageDependencies": [\ + ["web-streams-polyfill", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webidl-conversions", [\ + ["npm:3.0.1", {\ + "packageLocation": "./.yarn/cache/webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip/node_modules/webidl-conversions/",\ + "packageDependencies": [\ + ["webidl-conversions", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpack", [\ + ["npm:5.74.0", {\ + "packageLocation": "./.yarn/cache/webpack-npm-5.74.0-f5b838a00d-320c41369a.zip/node_modules/webpack/",\ + "packageDependencies": [\ + ["webpack", "npm:5.74.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0", {\ + "packageLocation": "./.yarn/__virtual__/webpack-virtual-623970a7a3/0/cache/webpack-npm-5.74.0-f5b838a00d-320c41369a.zip/node_modules/webpack/",\ + "packageDependencies": [\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"],\ + ["@types/eslint-scope", "npm:3.7.4"],\ + ["@types/estree", "npm:0.0.51"],\ + ["@types/webpack-cli", null],\ + ["@webassemblyjs/ast", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-edit", "npm:1.11.1"],\ + ["@webassemblyjs/wasm-parser", "npm:1.11.1"],\ + ["acorn", "npm:8.8.0"],\ + ["acorn-import-assertions", "virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:1.8.0"],\ + ["browserslist", "npm:4.21.4"],\ + ["chrome-trace-event", "npm:1.0.3"],\ + ["enhanced-resolve", "npm:5.10.0"],\ + ["es-module-lexer", "npm:0.9.3"],\ + ["eslint-scope", "npm:5.1.1"],\ + ["events", "npm:3.3.0"],\ + ["glob-to-regexp", "npm:0.4.1"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["json-parse-even-better-errors", "npm:2.3.1"],\ + ["loader-runner", "npm:4.3.0"],\ + ["mime-types", "npm:2.1.35"],\ + ["neo-async", "npm:2.6.2"],\ + ["schema-utils", "npm:3.1.1"],\ + ["tapable", "npm:2.2.1"],\ + ["terser-webpack-plugin", "virtual:623970a7a3a042668e5f860fbd75123f61a2c5ca91a82952630dbff2812fc5cf48e03f1be030549ffb7ef7f561fa1a84c68d7f05220f982a6ad70829d8b415af#npm:5.3.6"],\ + ["watchpack", "npm:2.4.0"],\ + ["webpack-cli", null],\ + ["webpack-sources", "npm:3.2.3"]\ + ],\ + "packagePeers": [\ + "@types/webpack-cli",\ + "webpack-cli"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpack-bundle-analyzer", [\ + ["npm:4.6.1", {\ + "packageLocation": "./.yarn/cache/webpack-bundle-analyzer-npm-4.6.1-04a8f1486c-4bc97ac6a1.zip/node_modules/webpack-bundle-analyzer/",\ + "packageDependencies": [\ + ["webpack-bundle-analyzer", "npm:4.6.1"],\ + ["acorn", "npm:8.8.0"],\ + ["acorn-walk", "npm:8.2.0"],\ + ["chalk", "npm:4.1.2"],\ + ["commander", "npm:7.2.0"],\ + ["gzip-size", "npm:6.0.0"],\ + ["lodash", "npm:4.17.21"],\ + ["opener", "npm:1.5.2"],\ + ["sirv", "npm:1.0.19"],\ + ["ws", "virtual:04a8f1486c8ade95adfef04b45900e16bfe5b38e3f8c4bf5a9b47db2a2a3033bf323dd4815e2f5c91c2cafde57b26628cffb68967b45d255870555bddfc2552c#npm:7.5.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpack-dev-middleware", [\ + ["npm:5.3.3", {\ + "packageLocation": "./.yarn/cache/webpack-dev-middleware-npm-5.3.3-c3f195990d-dd332cc6da.zip/node_modules/webpack-dev-middleware/",\ + "packageDependencies": [\ + ["webpack-dev-middleware", "npm:5.3.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:5.3.3", {\ + "packageLocation": "./.yarn/__virtual__/webpack-dev-middleware-virtual-8beca2b496/0/cache/webpack-dev-middleware-npm-5.3.3-c3f195990d-dd332cc6da.zip/node_modules/webpack-dev-middleware/",\ + "packageDependencies": [\ + ["webpack-dev-middleware", "virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:5.3.3"],\ + ["@types/webpack", null],\ + ["colorette", "npm:2.0.19"],\ + ["memfs", "npm:3.4.7"],\ + ["mime-types", "npm:2.1.35"],\ + ["range-parser", "npm:1.2.1"],\ + ["schema-utils", "npm:4.0.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpack-dev-server", [\ + ["npm:4.11.1", {\ + "packageLocation": "./.yarn/cache/webpack-dev-server-npm-4.11.1-12e4e9dfc1-b7601a39ee.zip/node_modules/webpack-dev-server/",\ + "packageDependencies": [\ + ["webpack-dev-server", "npm:4.11.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.11.1", {\ + "packageLocation": "./.yarn/__virtual__/webpack-dev-server-virtual-7e0517d837/0/cache/webpack-dev-server-npm-4.11.1-12e4e9dfc1-b7601a39ee.zip/node_modules/webpack-dev-server/",\ + "packageDependencies": [\ + ["webpack-dev-server", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:4.11.1"],\ + ["@types/bonjour", "npm:3.5.10"],\ + ["@types/connect-history-api-fallback", "npm:1.3.5"],\ + ["@types/express", "npm:4.17.14"],\ + ["@types/serve-index", "npm:1.9.1"],\ + ["@types/serve-static", "npm:1.15.0"],\ + ["@types/sockjs", "npm:0.3.33"],\ + ["@types/webpack", null],\ + ["@types/webpack-cli", null],\ + ["@types/ws", "npm:8.5.3"],\ + ["ansi-html-community", "npm:0.0.8"],\ + ["bonjour-service", "npm:1.0.14"],\ + ["chokidar", "npm:3.5.3"],\ + ["colorette", "npm:2.0.19"],\ + ["compression", "npm:1.7.4"],\ + ["connect-history-api-fallback", "npm:2.0.0"],\ + ["default-gateway", "npm:6.0.3"],\ + ["express", "npm:4.18.2"],\ + ["graceful-fs", "npm:4.2.10"],\ + ["html-entities", "npm:2.3.3"],\ + ["http-proxy-middleware", "virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:2.0.6"],\ + ["ipaddr.js", "npm:2.0.1"],\ + ["open", "npm:8.4.0"],\ + ["p-retry", "npm:4.6.2"],\ + ["rimraf", "npm:3.0.2"],\ + ["schema-utils", "npm:4.0.0"],\ + ["selfsigned", "npm:2.1.1"],\ + ["serve-index", "npm:1.9.1"],\ + ["sockjs", "npm:0.3.24"],\ + ["spdy", "npm:4.0.2"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"],\ + ["webpack-cli", null],\ + ["webpack-dev-middleware", "virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:5.3.3"],\ + ["ws", "virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:8.9.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack-cli",\ + "@types/webpack",\ + "webpack-cli",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpack-merge", [\ + ["npm:5.8.0", {\ + "packageLocation": "./.yarn/cache/webpack-merge-npm-5.8.0-e3c95fdc3c-88786ab910.zip/node_modules/webpack-merge/",\ + "packageDependencies": [\ + ["webpack-merge", "npm:5.8.0"],\ + ["clone-deep", "npm:4.0.1"],\ + ["wildcard", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpack-sources", [\ + ["npm:3.2.3", {\ + "packageLocation": "./.yarn/cache/webpack-sources-npm-3.2.3-6bfb5d9563-989e401b9f.zip/node_modules/webpack-sources/",\ + "packageDependencies": [\ + ["webpack-sources", "npm:3.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webpackbar", [\ + ["npm:5.0.2", {\ + "packageLocation": "./.yarn/cache/webpackbar-npm-5.0.2-70d85f1a62-214a734b1d.zip/node_modules/webpackbar/",\ + "packageDependencies": [\ + ["webpackbar", "npm:5.0.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.0.2", {\ + "packageLocation": "./.yarn/__virtual__/webpackbar-virtual-451c90f46e/0/cache/webpackbar-npm-5.0.2-70d85f1a62-214a734b1d.zip/node_modules/webpackbar/",\ + "packageDependencies": [\ + ["webpackbar", "virtual:f91089afd28663fecca794cf09a5a9ebe7a954e737773f798cccfa408a1addfb4cdae8acd7353e05ce7e215788c956780889bd6df520b4b606e51fb77620b46d#npm:5.0.2"],\ + ["@types/webpack", null],\ + ["chalk", "npm:4.1.2"],\ + ["consola", "npm:2.15.3"],\ + ["pretty-time", "npm:1.1.0"],\ + ["std-env", "npm:3.3.0"],\ + ["webpack", "virtual:1cf37528d1641d5a18a48a2f7037d57ac88eee4863e639137f120b01be098eae77370af6e9b152fda6d31feee5befcfdac58d5378e3c0fa457680015ef3694a2#npm:5.74.0"]\ + ],\ + "packagePeers": [\ + "@types/webpack",\ + "webpack"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["websocket-driver", [\ + ["npm:0.7.4", {\ + "packageLocation": "./.yarn/cache/websocket-driver-npm-0.7.4-a72739da70-fffe5a33fe.zip/node_modules/websocket-driver/",\ + "packageDependencies": [\ + ["websocket-driver", "npm:0.7.4"],\ + ["http-parser-js", "npm:0.5.8"],\ + ["safe-buffer", "npm:5.2.1"],\ + ["websocket-extensions", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["websocket-extensions", [\ + ["npm:0.1.4", {\ + "packageLocation": "./.yarn/cache/websocket-extensions-npm-0.1.4-be839a9e56-5976835e68.zip/node_modules/websocket-extensions/",\ + "packageDependencies": [\ + ["websocket-extensions", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["whatwg-url", [\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip/node_modules/whatwg-url/",\ + "packageDependencies": [\ + ["whatwg-url", "npm:5.0.0"],\ + ["tr46", "npm:0.0.3"],\ + ["webidl-conversions", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which", [\ + ["npm:1.3.1", {\ + "packageLocation": "./.yarn/cache/which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:1.3.1"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.2", {\ + "packageLocation": "./.yarn/cache/which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:2.0.2"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which-boxed-primitive", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/which-boxed-primitive-npm-1.0.2-e214f9ae5a-53ce774c73.zip/node_modules/which-boxed-primitive/",\ + "packageDependencies": [\ + ["which-boxed-primitive", "npm:1.0.2"],\ + ["is-bigint", "npm:1.0.4"],\ + ["is-boolean-object", "npm:1.1.2"],\ + ["is-number-object", "npm:1.0.7"],\ + ["is-string", "npm:1.0.7"],\ + ["is-symbol", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wide-align", [\ + ["npm:1.1.5", {\ + "packageLocation": "./.yarn/cache/wide-align-npm-1.1.5-889d77e592-d5fc37cd56.zip/node_modules/wide-align/",\ + "packageDependencies": [\ + ["wide-align", "npm:1.1.5"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["widest-line", [\ + ["npm:3.1.0", {\ + "packageLocation": "./.yarn/cache/widest-line-npm-3.1.0-717bf2680b-03db6c9d0a.zip/node_modules/widest-line/",\ + "packageDependencies": [\ + ["widest-line", "npm:3.1.0"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.1", {\ + "packageLocation": "./.yarn/cache/widest-line-npm-4.0.1-e0740b8930-64c48cf271.zip/node_modules/widest-line/",\ + "packageDependencies": [\ + ["widest-line", "npm:4.0.1"],\ + ["string-width", "npm:5.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wildcard", [\ + ["npm:2.0.0", {\ + "packageLocation": "./.yarn/cache/wildcard-npm-2.0.0-baedca033a-1f4fe4c03d.zip/node_modules/wildcard/",\ + "packageDependencies": [\ + ["wildcard", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrap-ansi", [\ + ["npm:7.0.0", {\ + "packageLocation": "./.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:7.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.0.1", {\ + "packageLocation": "./.yarn/cache/wrap-ansi-npm-8.0.1-b8ba4ced36-5d7816e64f.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.0.1"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "./.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-371733296d.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.1.0"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrappy", [\ + ["npm:1.0.2", {\ + "packageLocation": "./.yarn/cache/wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip/node_modules/wrappy/",\ + "packageDependencies": [\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["write-file-atomic", [\ + ["npm:3.0.3", {\ + "packageLocation": "./.yarn/cache/write-file-atomic-npm-3.0.3-d948a237da-c55b24617c.zip/node_modules/write-file-atomic/",\ + "packageDependencies": [\ + ["write-file-atomic", "npm:3.0.3"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["is-typedarray", "npm:1.0.0"],\ + ["signal-exit", "npm:3.0.7"],\ + ["typedarray-to-buffer", "npm:3.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ws", [\ + ["npm:7.4.6", {\ + "packageLocation": "./.yarn/cache/ws-npm-7.4.6-9c9a725604-3a990b32ed.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "npm:7.4.6"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:7.5.9", {\ + "packageLocation": "./.yarn/cache/ws-npm-7.5.9-26f12a5ed6-c3c100a181.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "npm:7.5.9"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["npm:8.9.0", {\ + "packageLocation": "./.yarn/cache/ws-npm-8.9.0-d620434feb-23aa0f021b.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "npm:8.9.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:04a8f1486c8ade95adfef04b45900e16bfe5b38e3f8c4bf5a9b47db2a2a3033bf323dd4815e2f5c91c2cafde57b26628cffb68967b45d255870555bddfc2552c#npm:7.5.9", {\ + "packageLocation": "./.yarn/__virtual__/ws-virtual-d03b0daf6a/0/cache/ws-npm-7.5.9-26f12a5ed6-c3c100a181.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "virtual:04a8f1486c8ade95adfef04b45900e16bfe5b38e3f8c4bf5a9b47db2a2a3033bf323dd4815e2f5c91c2cafde57b26628cffb68967b45d255870555bddfc2552c#npm:7.5.9"],\ + ["@types/bufferutil", null],\ + ["@types/utf-8-validate", null],\ + ["bufferutil", null],\ + ["utf-8-validate", null]\ + ],\ + "packagePeers": [\ + "@types/bufferutil",\ + "@types/utf-8-validate",\ + "bufferutil",\ + "utf-8-validate"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:8.9.0", {\ + "packageLocation": "./.yarn/__virtual__/ws-virtual-f8457946b1/0/cache/ws-npm-8.9.0-d620434feb-23aa0f021b.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "virtual:7e0517d837faa480981b489894f5b409fc6b47cb305029b32f52cc00531a7a247fe848160826a02a89459400c875bb182325adfef3f18525dac579be65391862#npm:8.9.0"],\ + ["@types/bufferutil", null],\ + ["@types/utf-8-validate", null],\ + ["bufferutil", null],\ + ["utf-8-validate", null]\ + ],\ + "packagePeers": [\ + "@types/bufferutil",\ + "@types/utf-8-validate",\ + "bufferutil",\ + "utf-8-validate"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:88293ff29fa54efecc98d655f7a7551b282025b3465bc23ca5bb7a89a31c17930a7319e98225cf138bf4e6ccead5b30ae3c800738697b87af3441226d65f7ee3#npm:7.4.6", {\ + "packageLocation": "./.yarn/__virtual__/ws-virtual-e1e964a4e5/0/cache/ws-npm-7.4.6-9c9a725604-3a990b32ed.zip/node_modules/ws/",\ + "packageDependencies": [\ + ["ws", "virtual:88293ff29fa54efecc98d655f7a7551b282025b3465bc23ca5bb7a89a31c17930a7319e98225cf138bf4e6ccead5b30ae3c800738697b87af3441226d65f7ee3#npm:7.4.6"],\ + ["@types/bufferutil", null],\ + ["@types/utf-8-validate", null],\ + ["bufferutil", null],\ + ["utf-8-validate", null]\ + ],\ + "packagePeers": [\ + "@types/bufferutil",\ + "@types/utf-8-validate",\ + "bufferutil",\ + "utf-8-validate"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xdg-basedir", [\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/xdg-basedir-npm-4.0.0-ed08d380e2-0073d5b59a.zip/node_modules/xdg-basedir/",\ + "packageDependencies": [\ + ["xdg-basedir", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xml-js", [\ + ["npm:1.6.11", {\ + "packageLocation": "./.yarn/cache/xml-js-npm-1.6.11-56742b7fb0-24a5547991.zip/node_modules/xml-js/",\ + "packageDependencies": [\ + ["xml-js", "npm:1.6.11"],\ + ["sax", "npm:1.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xtend", [\ + ["npm:4.0.2", {\ + "packageLocation": "./.yarn/cache/xtend-npm-4.0.2-7f2375736e-ac5dfa738b.zip/node_modules/xtend/",\ + "packageDependencies": [\ + ["xtend", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yallist", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/cache/yallist-npm-3.1.1-a568a556b4-48f7bb00dc.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "./.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yaml", [\ + ["npm:1.10.2", {\ + "packageLocation": "./.yarn/cache/yaml-npm-1.10.2-0e780aebdf-ce4ada136e.zip/node_modules/yaml/",\ + "packageDependencies": [\ + ["yaml", "npm:1.10.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yocto-queue", [\ + ["npm:0.1.0", {\ + "packageLocation": "./.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["zwitch", [\ + ["npm:1.0.5", {\ + "packageLocation": "./.yarn/cache/zwitch-npm-1.0.5-5911cef6ce-28a1bebaca.zip/node_modules/zwitch/",\ + "packageDependencies": [\ + ["zwitch", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ + }'), {basePath: basePath || __dirname}); + } + +const fs = require('fs'); +const path = require('path'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const os = require('os'); +const nodeUtils = require('util'); +const readline = require('readline'); +const assert = require('assert'); +const stream = require('stream'); +const zlib = require('zlib'); +const events = require('events'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + constructor() { + this.uid = 0; + this.gid = 0; + this.size = 0; + this.blksize = 0; + this.atimeMs = 0; + this.mtimeMs = 0; + this.ctimeMs = 0; + this.birthtimeMs = 0; + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = 0; + this.ino = 0; + this.mode = DEFAULT_MODE; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + constructor() { + this.uid = BigInt(0); + this.gid = BigInt(0); + this.size = BigInt(0); + this.blksize = BigInt(0); + this.atimeMs = BigInt(0); + this.mtimeMs = BigInt(0); + this.ctimeMs = BigInt(0); + this.birthtimeMs = BigInt(0); + this.atimeNs = BigInt(0); + this.mtimeNs = BigInt(0); + this.ctimeNs = BigInt(0); + this.birthtimeNs = BigInt(0); + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = BigInt(0); + this.ino = BigInt(0); + this.mode = BigInt(DEFAULT_MODE); + this.nlink = BigInt(1); + this.rdev = BigInt(0); + this.blocks = BigInt(1); + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +function clearStats(stats) { + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + stats[key] = 0; + } else if (typeof element === `bigint`) { + stats[key] = BigInt(0); + } else if (nodeUtils__namespace.types.isDate(element)) { + stats[key] = new Date(0); + } + } + } + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + for (const key in stats) { + if (Object.prototype.hasOwnProperty.call(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + bigintStats[key] = BigInt(element); + } else if (nodeUtils__namespace.types.isDate(element)) { + bigintStats[key] = new Date(element); + } + } + } + bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); + bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); + bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); + bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); + return bigintStats; +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) + return false; + if (a.birthtimeMs !== b.birthtimeMs) + return false; + if (a.blksize !== b.blksize) + return false; + if (a.blocks !== b.blocks) + return false; + if (a.ctimeMs !== b.ctimeMs) + return false; + if (a.dev !== b.dev) + return false; + if (a.gid !== b.gid) + return false; + if (a.ino !== b.ino) + return false; + if (a.isBlockDevice() !== b.isBlockDevice()) + return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) + return false; + if (a.isDirectory() !== b.isDirectory()) + return false; + if (a.isFIFO() !== b.isFIFO()) + return false; + if (a.isFile() !== b.isFile()) + return false; + if (a.isSocket() !== b.isSocket()) + return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) + return false; + if (a.mode !== b.mode) + return false; + if (a.mtimeMs !== b.mtimeMs) + return false; + if (a.nlink !== b.nlink) + return false; + if (a.rdev !== b.rdev) + return false; + if (a.size !== b.size) + return false; + if (a.uid !== b.uid) + return false; + const aN = a; + const bN = b; + if (aN.atimeNs !== bN.atimeNs) + return false; + if (aN.mtimeNs !== bN.mtimeNs) + return false; + if (aN.ctimeNs !== bN.ctimeNs) + return false; + if (aN.birthtimeNs !== bN.birthtimeNs) + return false; + return true; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const Filename = { + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + rc: `.yarnrc.yml` +}; +const npath = Object.create(path__default.default); +const ppath = Object.create(path__default.default.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = () => toPortablePath(process.cwd()); +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__default.default.posix.resolve(...segments); + } else { + return path__default.default.posix.resolve(ppath.cwd(), ...segments); + } +}; +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePath(p) { + if (process.platform !== `win32`) + return p; + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePath(p) { + if (process.platform !== `win32`) + return p; + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + var _a, _b; + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (updated || ((_a = destinationStat == null ? void 0 : destinationStat.mtime) == null ? void 0 : _a.getTime()) !== mtime.getTime() || ((_b = destinationStat == null ? void 0 : destinationStat.atime) == null ? void 0 : _b.getTime()) !== atime.getTime()) { + postlayout.push(() => updateTime(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +const isCloneSupportedCache = /* @__PURE__ */ new WeakMap(); +function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + return async () => { + await opFs.linkPromise(source, destination); + if (linkStrategy === "readOnly" /* ReadOnly */) { + sourceStat.mode &= ~146; + await opFs.chmodPromise(destination, sourceStat.mode); + } + }; +} +function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + const isCloneSupported = isCloneSupportedCache.get(opFs); + if (typeof isCloneSupported === `undefined`) { + return async () => { + try { + await opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE); + isCloneSupportedCache.set(opFs, true); + } catch (err) { + if (err.code === `ENOSYS` || err.code === `ENOTSUP`) { + isCloneSupportedCache.set(opFs, false); + await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)(); + } else { + throw err; + } + } + }; + } else { + if (isCloneSupported) { + return async () => opFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE_FORCE); + } else { + return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy); + } + } +} +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + var _a; + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + const linkStrategy = (_a = opts.linkStrategy) != null ? _a : null; + const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, fs__default.default.constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)); + prelayout.push(async () => op()); + return true; +} +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} +class LibzipError extends Error { + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + this.closed = false; + } + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + async *[Symbol.asyncIterator]() { + try { + let dirent; + while ((dirent = await this.read()) !== null) { + yield dirent; + } + } finally { + await this.close(); + } + } + read(cb) { + const dirent = this.readSync(); + if (typeof cb !== `undefined`) + return cb(null, dirent); + return Promise.resolve(dirent); + } + readSync() { + this.throwIfClosed(); + return this.nextDirent(); + } + close(cb) { + this.closeSync(); + if (typeof cb !== `undefined`) + return cb(null); + return Promise.resolve(); + } + closeSync() { + var _a, _b; + this.throwIfClosed(); + (_b = (_a = this.opts).onClose) == null ? void 0 : _b.call(_a); + this.closed = true; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + return Object.assign(fakeFs.statSync(fakeFs.pathUtils.join(path, filename)), { + name: filename + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)} +`); + } + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return os.EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs__default.default) { + super(); + this.realFs = realFs; + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromiseImpl(p, atime, mtime) { + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSyncImpl(p, atime, mtime) { + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts == null ? void 0 : opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { withFileTypes: true }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject)); + } + }); + } + readdirSync(p, opts) { + if (opts == null ? void 0 : opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { withFileTypes: true }); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.status = "ready" /* Ready */; + this.changeListeners = /* @__PURE__ */ new Map(); + this.startTimeout = null; + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return clearStats(statInstance); + } + } + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + unregisterChangeListener(listener) { + this.removeListener("change" /* Change */, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) + clearInterval(interval); + this.changeListeners.delete(listener); + } + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + hasChangeListeners() { + return this.changeListeners.size > 0; + } + ref() { + for (const interval of this.changeListeners.values()) + interval.ref(); + return this; + } + unref() { + for (const interval of this.changeListeners.values()) + interval.unref(); + return this; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); + let statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) + return +time; + if (typeof time === `number` && Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1e3; + } else { + return time; + } + } + if (nodeUtils.types.isDate(time)) + return time.getTime() / 1e3; + throw new Error(`Invalid time`); +} +function makeEmptyArchive() { + return Buffer.from([ + 80, + 75, + 5, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]); +} +class ZipFS extends BasePortableFakeFS { + constructor(source, opts) { + super(); + this.lzSource = null; + this.listings = /* @__PURE__ */ new Map(); + this.entries = /* @__PURE__ */ new Map(); + this.fileSources = /* @__PURE__ */ new Map(); + this.fds = /* @__PURE__ */ new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + this.libzip = opts.libzip; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source != null ? source : source = makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new NodeFS() } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + const errPtr = this.libzip.malloc(4); + try { + let flags = 0; + if (typeof source === `string` && pathOptions.create) + flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE; + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + if (typeof source === `string`) { + this.zip = this.libzip.open(npath.fromPortablePath(source), flags, errPtr); + } else { + const lzSource = this.allocateUnattachedSource(source); + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) + throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + return false; + } + getAllFiles() { + return Array.from(this.entries.keys()); + } + getRealPath() { + if (!this.path) + throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + getBufferAndClose() { + this.prepareClose(); + if (!this.lzSource) + throw new Error(`ZipFS was not created from a Buffer`); + if (this.entries.size === 0) { + this.discardAndClose(); + return makeEmptyArchive(); + } + try { + this.libzip.source.keep(this.lzSource); + if (this.libzip.close(this.zip) === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.libzip.source.open(this.lzSource) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + else if (rc < size) + throw new Error(`Incomplete read`); + else if (rc > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + return Buffer.from(memory); + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + prepareClose() { + if (!this.ready) + throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + saveAndClose() { + if (!this.path || !this.baseFs) + throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + this.prepareClose(); + if (this.readOnly) { + this.discardAndClose(); + return; + } + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; + if (this.entries.size === 0) { + this.discardAndClose(); + this.baseFs.writeFileSync(this.path, makeEmptyArchive(), { mode: newMode }); + } else { + const rc = this.libzip.close(this.zip); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (typeof newMode !== `undefined`) { + this.baseFs.chmodSync(this.path, newMode); + } + } + this.ready = false; + } + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + resolve(p) { + return ppath.resolve(PortablePath.root, p); + } + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { cursor: 0, p }); + return fd; + } + hasOpenFileHandles() { + return !!this.fds.size; + } + async opendirPromise(p, opts) { + return this.opendirSync(p, opts); + } + opendirSync(p, opts = {}) { + const resolvedP = this.resolveFilename(`opendir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return opendir(this, resolvedP, entries, { onClose }); + } + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const realPosition = position === -1 || position === null ? entry.cursor : position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) + entry.cursor += bytesRead; + return bytesRead; + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + async closePromise(fd) { + return this.closeSync(fd); + } + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.destroy(); + }, + bytesRead: 0, + path: p + } + ); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.PassThrough({ + autoDestroy: true, + emitClose: true, + destroy: (error, callback) => { + try { + if (error) { + callback(error); + } else { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + callback(null); + } + } catch (err) { + callback(err); + } finally { + this.closeSync(fd); + } + } + }), + { + bytesWritten: 0, + path: p, + close() { + stream$1.destroy(); + } + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + async realpathPromise(p) { + return this.realpathSync(p); + } + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); + } + let resolvedP; + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); + } catch (error) { + return false; + } + if (resolvedP === void 0) + return false; + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + accessSync(p, mode = fs.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + async statPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.statSync(p, { bigint: true }); + return this.statSync(p); + } + statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP, opts); + } + async fstatPromise(fd, opts) { + return this.fstatSync(fd, opts); + } + fstatSync(fd, opts) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`fstat '${p}'`, resolvedP, opts); + } + async lstatPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.lstatSync(p, { bigint: true }); + return this.lstatSync(p); + } + lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP, opts); + } + statImpl(reason, p, opts = {}) { + const entry = this.entries.get(p); + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG; + const defaultMode = type === S_IFDIR ? 493 : 420; + const mode = type | this.getUnixMode(entry, defaultMode) & 511; + const crc = this.libzip.struct.statCrc(stat); + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + throw new Error(`Unreachable`); + } + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + registerListing(p) { + const existingListing = this.listings.get(p); + if (existingListing) + return existingListing; + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing == null ? void 0 : parentListing.delete(ppath.basename(p)); + } + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) + return; + this.fileSources.delete(entry); + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { + if (!this.ready) + throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return PortablePath.root; + const fileIndex = this.entries.get(resolvedP); + if (resolveLastComponent && fileIndex !== void 0) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); + if (parentP === void 0) + return parentP; + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) { + if (throwIfNoEntry === false) + return void 0; + throw ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) + break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); + if (index === -1) + break; + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; + } + } + return resolvedP; + } + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) + content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { buffer, byteLength: content.byteLength }; + } + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + return source; + } + allocateSource(content) { + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + return source; + } + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.level !== `mixed`) { + const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + isSymbolicLink(index) { + if (this.symlinkCount === 0) + return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & S_IFMT) === S_IFLNK; + } + getFileSource(index, opts = { asyncDecompress: false }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) + return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + try { + const rc2 = this.libzip.fread(file, buffer, size, 0); + if (rc2 === -1) + throw this.makeLibzipError(this.libzip.file.getError(file)); + else if (rc2 < size) + throw new Error(`Incomplete read`); + else if (rc2 > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + zlib__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.default.inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + async fchmodPromise(fd, mask) { + return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); + } + fchmodSync(fd, mask) { + return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); + } + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + chmodSync(p, mask) { + if (this.readOnly) + throw EROFS(`chmod '${p}'`); + mask &= 493; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) + throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, S_IFREG | 0); + const newMod = oldMod & ~511 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async fchownPromise(fd, uid, gid) { + return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); + } + fchownSync(fd, uid, gid) { + return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); + } + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + async copyFilePromise(sourceP, destP, flags) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { asyncDecompress: true }); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + copyFileSync(sourceP, destP, flags = 0) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) + throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) + throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFilePromise(p, content, opts); + } + appendFileSync(p, content, opts = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFileSync(p, content, opts); + } + fdToPath(fd, reason) { + var _a; + const path = (_a = this.fds.get(fd)) == null ? void 0 : _a.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + async writeFilePromise(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + await this.chmodPromise(resolvedP, mode); + } + } + writeFileSync(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + this.chmodSync(resolvedP, mode); + } + } + prepareWriteFile(p, opts) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + if (this.readOnly) + throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`open '${p}'`); + let encoding = null, mode = null; + if (typeof opts === `string`) { + encoding = opts; + } else if (typeof opts === `object`) { + ({ + encoding = null, + mode = null + } = opts); + } + const index = this.entries.get(resolvedP); + return { + encoding, + mode, + resolvedP, + index + }; + } + async unlinkPromise(p) { + return this.unlinkSync(p); + } + unlinkSync(p) { + if (this.readOnly) + throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + utimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + lutimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) { + if (!this.entries.has(resolvedP)) + this.hydrateDirectory(resolvedP); + } + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + mkdirSync(p, { mode = 493, recursive = false } = {}) { + if (recursive) + return this.mkdirpSync(p, { chmod: mode }); + if (this.readOnly) + throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + return void 0; + } + async rmdirPromise(p, opts) { + return this.rmdirSync(p, opts); + } + rmdirSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rmdir '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + linkSync(existingP, newP) { + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (S_IFLNK | 511) << 16); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + async readFilePromise(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = await this.readFileBuffer(p, { asyncDecompress: true }); + return encoding ? data.toString(encoding) : data; + } + readFileSync(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + readFileBuffer(p, opts = { asyncDecompress: false }) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + async readdirPromise(p, opts) { + return this.readdirSync(p, opts); + } + readdirSync(p, opts) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + const entries = [...directoryListing]; + if (!(opts == null ? void 0 : opts.withFileTypes)) + return entries; + return entries.map((name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name + }); + }); + } + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); + } + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw EINVAL(`readlink '${p}'`); + return entry; + } + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { asyncDecompress: true }); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + async ftruncatePromise(fd, len) { + return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); + } + ftruncateSync(fd, len) { + return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); + } + watch(p, a, b) { + let persistent; + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + default: + { + ({ persistent = true } = a); + } + break; + } + if (!persistent) + return { on: () => { + }, close: () => { + } }; + const interval = setInterval(() => { + }, 24 * 60 * 60 * 1e3); + return { on: () => { + }, close: () => { + clearInterval(interval); + } }; + } + watchFile(p, a, b) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + readFileSync(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + async readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +class PosixFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const ZIP_MASK = 4278190080; +const ZIP_MAGIC = 704643072; +const getArchivePart = (path, extension) => { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +}; +class ZipOpenFS extends BasePortableFakeFS { + constructor({ libzip, baseFs = new NodeFS(), filter = null, maxOpenFiles = Infinity, readOnlyArchives = false, useCache = true, maxAge = 5e3, fileExtensions = null }) { + super(); + this.fdMap = /* @__PURE__ */ new Map(); + this.nextFd = 3; + this.isZip = /* @__PURE__ */ new Set(); + this.notZip = /* @__PURE__ */ new Set(); + this.realPaths = /* @__PURE__ */ new Map(); + this.limitOpenFilesTimeout = null; + this.libzipFactory = typeof libzip !== `function` ? () => libzip : libzip; + this.baseFs = baseFs; + this.zipInstances = useCache ? /* @__PURE__ */ new Map() : null; + this.filter = filter; + this.maxOpenFiles = maxOpenFiles; + this.readOnlyArchives = readOnlyArchives; + this.maxAge = maxAge; + this.fileExtensions = fileExtensions; + } + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + get libzip() { + if (typeof this.libzipInstance === `undefined`) + this.libzipInstance = this.libzipFactory(); + return this.libzipInstance; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + saveAndClose() { + unwatchAllFiles(this); + if (this.zipInstances) { + for (const [path, { zipFs }] of this.zipInstances.entries()) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.zipInstances) { + for (const [path, { zipFs }] of this.zipInstances.entries()) { + zipFs.discardAndClose(); + this.zipInstances.delete(path); + } + } + } + resolve(p) { + return this.baseFs.resolve(p); + } + remapFd(zipFs, fd) { + const remappedFd = this.nextFd++ | ZIP_MAGIC; + this.fdMap.set(remappedFd, [zipFs, fd]); + return remappedFd; + } + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (zipFs, { subPath }) => { + return this.remapFd(zipFs, await zipFs.openPromise(subPath, flags, mode)); + }); + } + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (zipFs, { subPath }) => { + return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode)); + }); + } + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readPromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const [zipFs, realFd] = entry; + return await zipFs.readPromise(realFd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`readSync`); + const [zipFs, realFd] = entry; + return zipFs.readSync(realFd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`write`); + const [zipFs, realFd] = entry; + if (typeof buffer === `string`) { + return await zipFs.writePromise(realFd, buffer, offset); + } else { + return await zipFs.writePromise(realFd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`writeSync`); + const [zipFs, realFd] = entry; + if (typeof buffer === `string`) { + return zipFs.writeSync(realFd, buffer, offset); + } else { + return zipFs.writeSync(realFd, buffer, offset, length, position); + } + } + async closePromise(fd) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`close`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return await zipFs.closePromise(realFd); + } + closeSync(fd) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [zipFs, realFd] = entry; + return zipFs.closeSync(realFd); + } + createReadStream(p, opts) { + if (p === null) + return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (zipFs, { archivePath, subPath }) => { + const stream = zipFs.createReadStream(subPath, opts); + stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); + return stream; + }); + } + createWriteStream(p, opts) { + if (p === null) + return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.createWriteStream(subPath, opts); + }); + } + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (zipFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await zipFs.realpathPromise(subPath))); + }); + } + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (zipFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, zipFs.realpathSync(subPath))); + }); + } + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.existsPromise(subPath); + }); + } + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (zipFs, { subPath }) => { + return zipFs.existsSync(subPath); + }); + } + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (zipFs, { subPath }) => { + return await zipFs.accessPromise(subPath, mode); + }); + } + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (zipFs, { subPath }) => { + return zipFs.accessSync(subPath, mode); + }); + } + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.statPromise(subPath, opts); + }); + } + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.statSync(subPath, opts); + }); + } + async fstatPromise(fd, opts) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstat`); + const [zipFs, realFd] = entry; + return zipFs.fstatPromise(realFd, opts); + } + fstatSync(fd, opts) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const [zipFs, realFd] = entry; + return zipFs.fstatSync(realFd, opts); + } + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.lstatPromise(subPath, opts); + }); + } + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.lstatSync(subPath, opts); + }); + } + async fchmodPromise(fd, mask) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchmodPromise(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmod`); + const [zipFs, realFd] = entry; + return zipFs.fchmodPromise(realFd, mask); + } + fchmodSync(fd, mask) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchmodSync(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmodSync`); + const [zipFs, realFd] = entry; + return zipFs.fchmodSync(realFd, mask); + } + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (zipFs, { subPath }) => { + return await zipFs.chmodPromise(subPath, mask); + }); + } + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (zipFs, { subPath }) => { + return zipFs.chmodSync(subPath, mask); + }); + } + async fchownPromise(fd, uid, gid) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchownPromise(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchown`); + const [zipFs, realFd] = entry; + return zipFs.fchownPromise(realFd, uid, gid); + } + fchownSync(fd, uid, gid) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.fchownSync(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchownSync`); + const [zipFs, realFd] = entry; + return zipFs.fchownSync(realFd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (zipFs, { subPath }) => { + return await zipFs.chownPromise(subPath, uid, gid); + }); + } + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (zipFs, { subPath }) => { + return zipFs.chownSync(subPath, uid, gid); + }); + } + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, async (zipFsO, { subPath: subPathO }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, async (zipFsN, { subPath: subPathN }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return await zipFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, (zipFsO, { subPath: subPathO }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, (zipFsN, { subPath: subPathN }) => { + if (zipFsO !== zipFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return zipFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = await sourceFs.readFilePromise(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + await destFs.writeFilePromise(destP2, content); + }; + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (zipFsD, { subPath: subPathD }) => { + return await fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, async (zipFsS, { subPath: subPathS }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(zipFsS, subPathS, this.baseFs, destP); + }, async (zipFsD, { subPath: subPathD }) => { + if (zipFsS !== zipFsD) { + return await fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return await zipFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = sourceFs.readFileSync(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + destFs.writeFileSync(destP2, content); + }; + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (zipFsD, { subPath: subPathD }) => { + return fallback(this.baseFs, sourceP, zipFsD, subPathD); + }); + }, (zipFsS, { subPath: subPathS }) => { + return this.makeCallSync(destP, () => { + return fallback(zipFsS, subPathS, this.baseFs, destP); + }, (zipFsD, { subPath: subPathD }) => { + if (zipFsS !== zipFsD) { + return fallback(zipFsS, subPathS, zipFsD, subPathD); + } else { + return zipFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.appendFilePromise(subPath, content, opts); + }); + } + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (zipFs, { subPath }) => { + return zipFs.appendFileSync(subPath, content, opts); + }); + } + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.writeFilePromise(subPath, content, opts); + }); + } + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (zipFs, { subPath }) => { + return zipFs.writeFileSync(subPath, content, opts); + }); + } + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.unlinkPromise(subPath); + }); + } + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (zipFs, { subPath }) => { + return zipFs.unlinkSync(subPath); + }); + } + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (zipFs, { subPath }) => { + return await zipFs.utimesPromise(subPath, atime, mtime); + }); + } + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (zipFs, { subPath }) => { + return zipFs.utimesSync(subPath, atime, mtime); + }); + } + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.mkdirPromise(subPath, opts); + }); + } + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.mkdirSync(subPath, opts); + }); + } + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.rmdirPromise(subPath, opts); + }); + } + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.rmdirSync(subPath, opts); + }); + } + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (zipFs, { subPath }) => { + return await zipFs.linkPromise(existingP, subPath); + }); + } + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (zipFs, { subPath }) => { + return zipFs.linkSync(existingP, subPath); + }); + } + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (zipFs, { subPath }) => { + return await zipFs.symlinkPromise(target, subPath); + }); + } + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (zipFs, { subPath }) => { + return zipFs.symlinkSync(target, subPath); + }); + } + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + switch (encoding) { + case `utf8`: + return await this.baseFs.readFilePromise(p, encoding); + default: + return await this.baseFs.readFilePromise(p, encoding); + } + }, async (zipFs, { subPath }) => { + return await zipFs.readFilePromise(subPath, encoding); + }); + } + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + switch (encoding) { + case `utf8`: + return this.baseFs.readFileSync(p, encoding); + default: + return this.baseFs.readFileSync(p, encoding); + } + }, (zipFs, { subPath }) => { + return zipFs.readFileSync(subPath, encoding); + }); + } + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (zipFs, { subPath }) => { + return await zipFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (zipFs, { subPath }) => { + return zipFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (zipFs, { subPath }) => { + return await zipFs.readlinkPromise(subPath); + }); + } + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (zipFs, { subPath }) => { + return zipFs.readlinkSync(subPath); + }); + } + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (zipFs, { subPath }) => { + return await zipFs.truncatePromise(subPath, len); + }); + } + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (zipFs, { subPath }) => { + return zipFs.truncateSync(subPath, len); + }); + } + async ftruncatePromise(fd, len) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.ftruncatePromise(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncate`); + const [zipFs, realFd] = entry; + return zipFs.ftruncatePromise(realFd, len); + } + ftruncateSync(fd, len) { + if ((fd & ZIP_MASK) !== ZIP_MAGIC) + return this.baseFs.ftruncateSync(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncateSync`); + const [zipFs, realFd] = entry; + return zipFs.ftruncateSync(realFd, len); + } + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch( + p, + a, + b + ); + }, (zipFs, { subPath }) => { + return zipFs.watch( + subPath, + a, + b + ); + }); + } + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile( + p, + a, + b + ); + }, () => { + return watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return await discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) + return await discard(); + if (requireSubpath && zipInfo.subPath === `/`) + return await discard(); + return await this.getZipPromise(zipInfo.archivePath, async (zipFs) => await accept(zipFs, zipInfo)); + } + makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return discard(); + const normalizedP = this.resolve(p); + const zipInfo = this.findZip(normalizedP); + if (!zipInfo) + return discard(); + if (requireSubpath && zipInfo.subPath === `/`) + return discard(); + return this.getZipSync(zipInfo.archivePath, (zipFs) => accept(zipFs, zipInfo)); + } + findZip(p) { + if (this.filter && !this.filter.test(p)) + return null; + let filePath = ``; + while (true) { + const pathPartWithArchive = p.substring(filePath.length); + let archivePart; + if (!this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, `.zip`); + } else { + for (const ext of this.fileExtensions) { + archivePart = getArchivePart(pathPartWithArchive, ext); + if (archivePart) { + break; + } + } + } + if (!archivePart) + return null; + filePath = this.pathUtils.join(filePath, archivePart); + if (this.isZip.has(filePath) === false) { + if (this.notZip.has(filePath)) + continue; + try { + if (!this.baseFs.lstatSync(filePath).isFile()) { + this.notZip.add(filePath); + continue; + } + } catch { + return null; + } + this.isZip.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFiles(max) { + if (this.zipInstances === null) + return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.zipInstances.size - max; + for (const [path, { zipFs, expiresAt, refCount }] of this.zipInstances.entries()) { + if (refCount !== 0 || zipFs.hasOpenFileHandles()) { + continue; + } else if (now >= expiresAt) { + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + zipFs.saveAndClose(); + this.zipInstances.delete(path); + closeCount -= 1; + } + if (this.limitOpenFilesTimeout === null && (max === null && this.zipInstances.size > 0 || max !== null)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + async getZipPromise(p, accept) { + const getZipOptions = async () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: await this.baseFs.statPromise(p) + }); + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + const zipOptions = await getZipOptions(); + cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, zipOptions), + expiresAt: 0, + refCount: 0 + }; + } + } + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + cachedZipFs.refCount += 1; + try { + return await accept(cachedZipFs.zipFs); + } finally { + cachedZipFs.refCount -= 1; + } + } else { + const zipFs = new ZipFS(p, await getZipOptions()); + try { + return await accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } + getZipSync(p, accept) { + const getZipOptions = () => ({ + baseFs: this.baseFs, + libzip: this.libzip, + readOnly: this.readOnlyArchives, + stats: this.baseFs.statSync(p) + }); + if (this.zipInstances) { + let cachedZipFs = this.zipInstances.get(p); + if (!cachedZipFs) { + cachedZipFs = { + zipFs: new ZipFS(p, getZipOptions()), + expiresAt: 0, + refCount: 0 + }; + } + this.zipInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.zipInstances.set(p, cachedZipFs); + cachedZipFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedZipFs.zipFs); + } else { + const zipFs = new ZipFS(p, getZipOptions()); + try { + return accept(zipFs); + } finally { + zipFs.saveAndClose(); + } + } + } +} + +class NodePathFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof url.URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (Buffer.byteLength(str) !== path.byteLength) + throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); + return str; + } + throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); + } +} + +var _a, _b, _c, _d; +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + constructor(fd, baseFs) { + this[_a] = 1; + this[_b] = void 0; + this[_c] = void 0; + this[_d] = void 0; + this[kBaseFs] = baseFs; + this[kFd] = fd; + } + get fd() { + return this[kFd]; + } + async appendFile(data, options) { + var _a2; + try { + this[kRef](this.appendFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); + } finally { + this[kUnref](); + } + } + async chown(uid, gid) { + try { + this[kRef](this.chown); + return await this[kBaseFs].fchownPromise(this.fd, uid, gid); + } finally { + this[kUnref](); + } + } + async chmod(mode) { + try { + this[kRef](this.chmod); + return await this[kBaseFs].fchmodPromise(this.fd, mode); + } finally { + this[kUnref](); + } + } + createReadStream(options) { + return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); + } + createWriteStream(options) { + return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); + } + datasync() { + throw new Error(`Method not implemented.`); + } + sync() { + throw new Error(`Method not implemented.`); + } + async read(bufferOrOptions, offset, length, position) { + var _a2, _b2, _c2; + try { + this[kRef](this.read); + let buffer; + if (!Buffer.isBuffer(bufferOrOptions)) { + bufferOrOptions != null ? bufferOrOptions : bufferOrOptions = {}; + buffer = (_a2 = bufferOrOptions.buffer) != null ? _a2 : Buffer.alloc(16384); + offset = bufferOrOptions.offset || 0; + length = (_b2 = bufferOrOptions.length) != null ? _b2 : buffer.byteLength; + position = (_c2 = bufferOrOptions.position) != null ? _c2 : null; + } else { + buffer = bufferOrOptions; + } + offset != null ? offset : offset = 0; + length != null ? length : length = 0; + if (length === 0) { + return { + bytesRead: length, + buffer + }; + } + const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); + return { + bytesRead, + buffer + }; + } finally { + this[kUnref](); + } + } + async readFile(options) { + var _a2; + try { + this[kRef](this.readFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + return await this[kBaseFs].readFilePromise(this.fd, encoding); + } finally { + this[kUnref](); + } + } + readLines(options) { + return readline.createInterface({ + input: this.createReadStream(options), + crlfDelay: Infinity + }); + } + async stat(opts) { + try { + this[kRef](this.stat); + return await this[kBaseFs].fstatPromise(this.fd, opts); + } finally { + this[kUnref](); + } + } + async truncate(len) { + try { + this[kRef](this.truncate); + return await this[kBaseFs].ftruncatePromise(this.fd, len); + } finally { + this[kUnref](); + } + } + utimes(atime, mtime) { + throw new Error(`Method not implemented.`); + } + async writeFile(data, options) { + var _a2; + try { + this[kRef](this.writeFile); + const encoding = (_a2 = typeof options === `string` ? options : options == null ? void 0 : options.encoding) != null ? _a2 : void 0; + await this[kBaseFs].writeFilePromise(this.fd, data, encoding); + } finally { + this[kUnref](); + } + } + async write(...args) { + try { + this[kRef](this.write); + if (ArrayBuffer.isView(args[0])) { + const [buffer, offset, length, position] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset != null ? offset : void 0, length != null ? length : void 0, position != null ? position : void 0); + return { bytesWritten, buffer }; + } else { + const [data, position, encoding] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); + return { bytesWritten, buffer: data }; + } + } finally { + this[kUnref](); + } + } + async writev(buffers, position) { + try { + this[kRef](this.writev); + let bytesWritten = 0; + if (typeof position !== `undefined`) { + for (const buffer of buffers) { + const writeResult = await this.write(buffer, void 0, void 0, position); + bytesWritten += writeResult.bytesWritten; + position += writeResult.bytesWritten; + } + } else { + for (const buffer of buffers) { + const writeResult = await this.write(buffer); + bytesWritten += writeResult.bytesWritten; + } + } + return { + buffers, + bytesWritten + }; + } finally { + this[kUnref](); + } + } + readv(buffers, position) { + throw new Error(`Method not implemented.`); + } + close() { + if (this[kFd] === -1) + return Promise.resolve(); + if (this[kClosePromise]) + return this[kClosePromise]; + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { + this[kClosePromise] = void 0; + }); + } else { + this[kClosePromise] = new Promise((resolve, reject) => { + this[kCloseResolve] = resolve; + this[kCloseReject] = reject; + }).finally(() => { + this[kClosePromise] = void 0; + this[kCloseReject] = void 0; + this[kCloseResolve] = void 0; + }); + } + return this[kClosePromise]; + } + [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { + if (this[kFd] === -1) { + const err = new Error(`file closed`); + err.code = `EBADF`; + err.syscall = caller.name; + throw err; + } + this[kRefs]++; + } + [kUnref]() { + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); + } + } +} + +const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessSync`, + `appendFileSync`, + `createReadStream`, + `createWriteStream`, + `chmodSync`, + `fchmodSync`, + `chownSync`, + `fchownSync`, + `closeSync`, + `copyFileSync`, + `linkSync`, + `lstatSync`, + `fstatSync`, + `lutimesSync`, + `mkdirSync`, + `openSync`, + `opendirSync`, + `readlinkSync`, + `readFileSync`, + `readdirSync`, + `readlinkSync`, + `realpathSync`, + `renameSync`, + `rmdirSync`, + `statSync`, + `symlinkSync`, + `truncateSync`, + `ftruncateSync`, + `unlinkSync`, + `unwatchFile`, + `utimesSync`, + `watch`, + `watchFile`, + `writeFileSync`, + `writeSync` +]); +const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessPromise`, + `appendFilePromise`, + `fchmodPromise`, + `chmodPromise`, + `fchownPromise`, + `chownPromise`, + `closePromise`, + `copyFilePromise`, + `linkPromise`, + `fstatPromise`, + `lstatPromise`, + `lutimesPromise`, + `mkdirPromise`, + `openPromise`, + `opendirPromise`, + `readdirPromise`, + `realpathPromise`, + `readFilePromise`, + `readdirPromise`, + `readlinkPromise`, + `renamePromise`, + `rmdirPromise`, + `statPromise`, + `symlinkPromise`, + `truncatePromise`, + `ftruncatePromise`, + `unlinkPromise`, + `utimesPromise`, + `writeFilePromise`, + `writeSync` +]); +function patchFs(patchedFs, fakeFs) { + fakeFs = new NodePathFS(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof (orig == null ? void 0 : orig[nodeUtils.promisify.custom]) !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; + } + }; + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeFs.existsPromise(p).then((exists) => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (...args) => { + let [fd, buffer, offset, length, position, callback] = args; + if (args.length <= 3) { + let options = {}; + if (args.length < 3) { + callback = args[1]; + } else { + options = args[1]; + callback = args[2]; + } + ({ + buffer = Buffer.alloc(16384), + offset = 0, + length = buffer.byteLength, + position + } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) { + process.nextTick(() => { + callback(null, 0, buffer); + }); + return; + } + if (position == null) + position = -1; + process.nextTick(() => { + fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { + callback(null, bytesRead, buffer); + }, (error) => { + callback(error, 0, buffer); + }); + }); + }); + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `readSync`, (...args) => { + let [fd, buffer, offset, length, position] = args; + if (args.length <= 3) { + const options = args[2] || {}; + ({ offset = 0, length = buffer.byteLength, position } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) + return 0; + if (position == null) + position = -1; + return fakeFs.readSync(fd, buffer, offset, length, position); + }); + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + { + const origEmitWarning = process.emitWarning; + process.emitWarning = () => { + }; + let patchedFsPromises; + try { + patchedFsPromises = patchedFs.promises; + } finally { + process.emitWarning = origEmitWarning; + } + if (typeof patchedFsPromises !== `undefined`) { + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + if (fnName === `open`) + continue; + setupFn(patchedFsPromises, origName, (pathLike, ...args) => { + if (pathLike instanceof FileHandle) { + return pathLike[origName].apply(pathLike, args); + } else { + return fakeImpl.call(fakeFs, pathLike, ...args); + } + }); + } + setupFn(patchedFsPromises, `open`, async (...args) => { + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd, fakeFs); + }); + } + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") + _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) + nodeFS = frozenFs; + if (!nodePath) + nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + var out = Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) + ; + if (Module["thisProgram"]) + ; + if (Module["quit"]) + ; + var STACK_ALIGN = 16; + function alignMemory(size, factor) { + if (!factor) + factor = STACK_ALIGN; + return Math.ceil(size / factor) * factor; + } + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") + type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return HEAP16[ptr >> 1]; + case "i32": + return HEAP32[ptr >> 2]; + case "i64": + return HEAP32[ptr >> 2]; + case "float": + return HEAPF32[ptr >> 2]; + case "double": + return HEAPF64[ptr >> 3]; + default: + abort("invalid type for getValue: " + type); + } + return null; + } + var wasmMemory; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") + return UTF8ToString(ret2); + if (returnType === "boolean") + return Boolean(ret2); + return ret2; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) + stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) + stackRestore(stack); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments); + }; + } + var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : void 0; + function UTF8ArrayToString(heap, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + var endPtr = idx; + while (heap[endPtr] && !(endPtr >= endIdx)) + ++endPtr; + if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) { + return UTF8Decoder.decode(heap.subarray(idx, endPtr)); + } else { + var str = ""; + while (idx < endPtr) { + var u0 = heap[idx++]; + if (!(u0 & 128)) { + str += String.fromCharCode(u0); + continue; + } + var u1 = heap[idx++] & 63; + if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1); + continue; + } + var u2 = heap[idx++] & 63; + if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heap[idx++] & 63; + } + if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536; + str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + } + return str; + } + function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) + ++len; + else if (u <= 2047) + len += 2; + else if (u <= 65535) + len += 3; + else + len += 4; + } + return len; + } + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function writeArrayToMemory(array, buffer2) { + HEAP8.set(array, buffer2); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer, HEAP8, HEAPU8, HEAP16, HEAP32, HEAPF32, HEAPF64; + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = HEAP16 = new Int16Array(buf); + Module["HEAP32"] = HEAP32 = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = HEAPF32 = new Float32Array(buf); + Module["HEAPF64"] = HEAPF64 = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + if (!Module["noFSInit"] && !FS.init.initialized) + FS.init(); + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile = "data:application/octet-stream;base64,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ACgCFC0AAiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQADIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAQgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABSAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAGIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAcgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAJIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAogACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ACyAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAMIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAA0gACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ADiAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAPIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhRBEGo2AhQgACAAKAIIQQFrIgE2AgggAQ0ACyAAIAAoAhhB8f8DcDYCGCAAIAAoAgxB8f8DcDYCDAwBCwsgACgCEARAA0AgACgCEEEQTwRAIAAgACgCEEEQazYCECAAIAAoAhQtAAAgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AASAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQACIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAMgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0ABCAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAFIAAoAhhqNgIYIAAgACgCGCAAKAIMajYCDCAAIAAoAhQtAAYgACgCGGo2AhggACAAKAIYIAAoAgxqNgIMIAAgACgCFC0AByAAKAIYajYCGCAAIAAoAhggACgCDGo2AgwgACAAKAIULQAIIAAoAhhqNgIYIAAgACgCGCAAKAIMajYC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NgIYIAEoAgxCADcDICABKAIMQgA3AyggASgCDEEANgIwIAEoAgxBADYCNCABKAIMQQA2AjggASgCDEEANgI8IAEoAgxBADsBQCABKAIMQYCA2I14NgJEIAEoAgxCADcDSCABKAIMQQA7AVAgASgCDEEAOwFSIAEoAgxBADYCVAvSEwEBfyMAQbABayIDJAAgAyAANgKoASADIAE2AqQBIAMgAjYCoAEgA0EANgKQASADIAMoAqQBKAIwQQAQOjYClAEgAyADKAKkASgCOEEAEDo2ApgBAkACQAJAAkAgAygClAFBAkYEQCADKAKYAUEBRg0BCyADKAKUAUEBRgRAIAMoApgBQQJGDQELIAMoApQBQQJHDQEgAygCmAFBAkcNAQsgAygCpAEiACAALwEMQYAQcjsBDAwBCyADKAKkASIAIAAvAQxB/+8DcTsBDCADKAKUAUECRgRAIANB9eABIAMoAqQBKAIwIAMoAqgBQQhqEI4BNgKQASADKAKQAUUEQCADQX82AqwBDAMLCwJAIAMoAqABQYACcQ0AIAMoApgBQQJHDQAgA0H1xgEgAygCpAEoAjggAygCqAFBCGoQjgE2AkggAygCSEUEQCADKAKQARAjIANBfzYCrAEMAwsgAygCSCADKAKQATYCACADIAMoAkg2ApABCwsCQCADKAKkAS8BUkUEQCADKAKkASIAIAAvAQxB/v8DcTsBDAwBCyADKAKkASIAIAAvAQxBAXI7AQwLIAMgAygCpAEgAygCoAEQZUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBApNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBQgAygCkAEQIyADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAtIAMoAhwgAygCpAEpAyAQLQwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLQsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAtCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC0LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIcEBYgAygCkAEQIyADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQVTYCjAEgAygCHBAWIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECk2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAgsgAygCEEECEB8gAygCEEG9EkECEEEgAygCECADKAKkAS8BUkH/AXEQlgEgAygCECADKAKkASgCEEH//wNxEB8CfyMAQRBrIgAgAygCEDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFCADKAIQEBYgAygCkAEQIyADQX82AqwBDAILIANBgbICQQcgA0EVakGABhBVNgIMIAMoAhAQFiADKAIMIAMoApABNgIAIAMgAygCDDYCkAELIAMgA0HQAGpCLhApIgA2AkwgAEUEQCADKAKoAUEIakEOQQAQFCADKAKQARAjIANBfzYCrAEMAQsgAygCTEHxEkH2EiADKAKgAUGAAnEbQQQQQSADKAKgAUGAAnFFBEAgAygCTCADLQCGAUEBcQR/QS0FIAMoAqQBLwEIC0H//wNxEB8LIAMoAkwgAy0AhgFBAXEEf0EtBSADKAKkAS8BCgtB//8DcRAfIAMoAkwgAygCpAEvAQwQHwJAIAMtAIUBQQFxBEAgAygCTEHjABAfDAELIAMoAkwgAygCpAEoAhBB//8DcRAfCyADKAKkASgCFCADQZ4BaiADQZwBahCNASADKAJMIAMvAZ4BEB8gAygCTCADLwGcARAfAkACQCADLQCFAUEBcUUNACADKAKkASkDKEIUWg0AIAMoAkxBABAhDAELIAMoAkwgAygCpAEoAhgQIQsCQAJAIAMoAqABQYACcUGAAkcNACADKAKkASkDIEL/////D1QEQCADKAKkASkDKEL/////D1QNAQsgAygCTEF/ECEgAygCTEF/ECEMAQsCQCADKAKkASkDIEL/////D1QEQCADKAJMIAMoAqQBKQMgpxAhDAELIAMoAkxBfxAhCwJAIAMoAqQBKQMoQv////8PVARAIAMoAkwgAygCpAEpAyinECEMAQsgAygCTEF/ECELCyADKAJMIAMoAqQBKAIwEFFB//8DcRAfIAMgAygCpAEoAjQgAygCoAEQkgFB//8DcSADKAKQAUGABhCSAUH//wNxajYCiAEgAygCTCADKAKIAUH//wNxEB8gAygCoAFBgAJxRQRAIAMoAkwgAygCpAEoAjgQUUH//wNxEB8gAygCTCADKAKkASgCPEH//wNxEB8gAygCTCADKAKkAS8BQBAfIAMoAkwgAygCpAEoAkQQIQJAIAMoAqQBKQNIQv////8PVARAIAMoAkwgAygCpAEpA0inECEMAQsgAygCTEF/ECELCwJ/IwBBEGsiACADKAJMNgIMIAAoAgwtAABBAXFFCwRAIAMoAqgBQQhqQRRBABAUIAMoAkwQFiADKAKQARAjIANBfzYCrAEMAQsgAygCqAEgA0HQAGoCfiMAQRBrIgAgAygCTDYCDAJ+IAAoAgwtAABBAXEEQCAAKAIMKQMQDAELQgALCxA2QQBIBEAgAygCTBAWIAMoApABECMgA0F/NgKsAQwBCyADKAJMEBYgAygCpAEoAjAEQCADKAKoASADKAKkASgCMBCFAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEEQCADKAKoASADKAKQAUGABhCRAUEASARAIAMoApABECMgA0F/NgKsAQwCCwsgAygCkAEQIyADKAKkASgCNARAIAMoAqgBIAMoAqQBKAI0IAMoAqABEJEBQQBIBEAgA0F/NgKsAQwCCwsgAygCoAFBgAJxRQRAIAMoAqQBKAI4BEAgAygCqAEgAygCpAEoAjgQhQFBAEgEQCADQX82AqwBDAMLCwsgAyADLQCHAUEBcTYCrAELIAMoAqwBIQAgA0GwAWokACAAC+ACAQF/IwBBIGsiBCQAIAQgADsBGiAEIAE7ARggBCACNgIUIAQgAzYCECAEQRAQGCIANgIMAkAg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AAAgAygCHEHcFmogAygCDEECdGooAgAgAygCHEHYKGpqLQAASg0ADAELIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhxB3BZqIAMoAgxBAnRqKAIANgIAIAMgAygCDDYCFCADIAMoAgxBAXQ2AgwMAQsLIAMoAhxB3BZqIAMoAhRBAnRqIAMoAhA2AgAL1xMBA38jAEEwayICJAAgAiAANgIsIAIgATYCKCACIAIoAigoAgA2AiQgAiACKAIoKAIIKAIANgIgIAIgAigCKCgCCCgCDDYCHCACQX82AhAgAigCLEEANgLQKCACKAIsQb0ENgLUKCACQQA2AhgDQCACKAIYIAIoAhxIBEACQCACKAIkIAIoAhhBAnRqLwEABEAgAiACKAIYIgE2AhAgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQAgBCAANgLQKCAAQQJ0IANqIAE2AgAgAigCGCACKAIsQdgoampBADoAAAwBCyACKAIkIAIoAhhBAnRqQQA7AQILIAIgAigCGEEBajYCGAwBCwsDQCACKAIsKALQKEECSARAAkAgAigCEEECSARAIAIgAigCEEEBaiIANgIQDAELQQAhAAsgAigCLEHcFmohAyACKAIsIgQoAtAoQQFqIQEgBCABNgLQKCABQQJ0IANqIAA2AgAgAiAANgIMIAIoAiQgAigCDEECdGpBATsBACACKAIMIAIoAixB2ChqakEAOgAAIAIoAiwiACAAKAKoLUEBazYCqC0gAigCIARAIAIoAiwiACAAKAKsLSACKAIgIAIoAgxBAnRqLwECazYCrC0LDAELCyACKAIoIAIoAhA2AgQgAiACKAIsKALQKEECbTYCGANAIAIoAhhBAU4EQCACKAIsIAIoAiQgAigCGBB5IAIgAigCGEEBazYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBAWs2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeSACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBAWshACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQQFrIQAgBCAANgLUKCAA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AQsgAigCCEEANgIAIAIoAghCADcDECACKAIIQgA3AwggAigCCEIANwMgIAIoAghCADcDGCACKAIIQQA2AiggAigCCEEAOgAsIAIoAgggAikDECACKAIMEI8BQQFxRQRAIAIoAggQJSACQQA2AhwMAQsgAiACKAIINgIcCyACKAIcIQEgAkEgaiQAIAEL1gIBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADQQxqQgQQKTYCCAJAIAMoAghFBEAgA0F/NgIcDAELA0AgAygCFARAIAMoAhQoAgQgAygCEHFBgAZxBEAgAygCCEIAECwaIAMoAgggAygCFC8BCBAfIAMoAgggAygCFC8BChAfAn8jAEEQayIAIAMoAgg2AgwgACgCDC0AAEEBcUULBEAgAygCGEEIakEUQQAQFCADKAIIEBYgA0F/NgIcDAQLIAMoAhggA0EMakIEEDZBAEgEQCADKAIIEBYgA0F/NgIcDAQLIAMoAhQvAQoEQCADKAIYIAMoAhQoAgwgAygCFC8BCq0QNkEASARAIAMoAggQFiADQX82AhwMBQsLCyADIAMoAhQoAgA2AhQMAQsLIAMoAggQFiADQQA2AhwLIAMoAhwhACADQSBqJAAgAAtoAQF/IwBBEGsiAiAANgIMIAIgATYCCCACQQA7AQYDQCACKAIMBEAgAigCDCgCBCACKAIIcUGABnEEQCACIAIoAgwvAQogAi8BBkEEamo7AQYLIAIgAigCDCgCADYCDAwBCwsgAi8BBgvwAQEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMNgIIIAFBADYCBANAIAEoAgwEQAJAAkAgASgCDC8BCEH1xgFGDQAgASgCDC8BCEH14AFGDQAgASgCDC8BCEGBsgJGDQAgASgCDC8BCEEBRw0BCyABIAEoAgwoAgA2AgAgASgCCCABKAIMRgRAIAEgASgCADYCCAsgASgCDEEANgIAIAEoAgwQIyABKAIEBEAgASgCBCABKAIANgIACyABIAEoAgA2AgwMAgsgASABKAIMNgIEIAEgASgCDCgCADYCDAwBCwsgASgCCCEAIAFBEGokACAAC7IEAQF/IwBBQGoiBSQAIAUgADYCOCAFIAE7ATYgBSACNgIwIAUgAzYCLCAFIAQ2AiggBSAFKAI4IAUvATatECkiADYC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IAEoAhBB//8DRgRAIAEgASgCDDYCEAsgASgCCEH//wNGBEAgASABKAIENgIICwJAIAEoApQBQQRxRQ0AIAEoAgggASgCBEYEQCABKAIQIAEoAgxGDQELIAEoApABQRVBABAUIAEtABdBAXEEQCABKAKkARAWCyABQQA2AqwBDAELAkAgASgCEEUEQCABKAIIRQ0BCyABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AyggASABKAKkARAxNwMgIAEpAyggASkDIFIEQCABKAKQAUEBQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABIAEoAqQBEDE3AzAgASABKAKkARAxNwOAAQJ/IwBBEGsiBSABKAKkATYCDCAFKAIMLQAAQQFxRQsEQCABKAKQAUEUQQAQFCABLQAXQQFxBEAgASgCpAEQFgsgAUEANgKsAQwBCyABLQAXQQFxBEAgASgCpAEQFgsCQCABKQOAAUL///////////8AWARAIAEpA4ABIAEpA4ABIAEpAzB8WA0BCyABKAKQAUEEQRYQFCABQQA2AqwBDAELIAEpA4ABIAEpAzB8IAEpA5gBIAEpAzh8VgRAIAEoApABQRVBABAUIAFBADYCrAEMAQsCQCABKAKUAUEEcUUNACABKQOAASABKQMwfCABKQOYASABKQM4fFENACABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEpAyggASkDMEIugFYEQCABKAKQAUEVQQAQFCABQQA2AqwBDAELIAEgASkDKCABKAKQARCQASIFNgKMASAFRQRAIAFBADYCrAEMAQsgASgCjAFBAToALCABKAKMASABKQMwNwMYIAEoAowBIAEpA4ABNwMgIAEgASgCjAE2AqwBCyABKAKsASEFIAFBsAFqJAAgACAFNgJQDAELIAAoAmQgACkDMBAsGiAAKAJkIQUgACkDWCEJIAAoAmgoAhQhBiAAKAJUIQcjAEHQAGsiASQAIAEgBTYCSCABIAk3A0AgASAGNgI8IAEgBzYCOAJAIAEoAkgQMEIWVARAIAEoAjhBFUEAEBQgAUEANgJMDAELIwBBEGsiBSABKAJINgIMIAECfiAFKAIMLQAAQQFxBEAgBSgCDCkDEAwBC0IACzcDCCABKAJI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ECADQcgAEBgiADYCDAJAIABFBEAgAygCEEEBQbSbASgCABAUIANBADYCHAwBCyADKAIMIAMoAhA2AgAgAygCDCADLQAbQQFxOgAEIAMoAgwgAygCFDYCCAJAIAMoAgwoAghBAU4EQCADKAIMKAIIQQlMDQELIAMoAgxBCTYCCAsgAygCDEEAOgAMIAMoAgxBADYCMCADKAIMQQA2AjQgAygCDEEANgI4IAMgAygCDDYCHAsgAygCHCEAIANBIGokACAACzgBAX8jAEEQayIBIAA2AgwgASgCDEEANgIAIAEoAgxBADYCBCABKAIMQQA2AgggASgCDEEAOgAMC+MIAQF/IwBBQGoiAiAANgI4IAIgATYCNCACIAIoAjgoAnw2AjAgAiACKAI4KAI4IAIoAjgoAmxqNgIsIAIgAigCOCgCeDYCICACIAIoAjgoApABNgIcIAICfyACKAI4KAJsIAIoAjgoAixBhgJrSwRAIAIoAjgoAmwgAigCOCgCLEGGAmtrDAELQQALNgIYIAIgAigCOCgCQDYCFCACIAIoAjgoAjQ2AhAgAiACKAI4KAI4IAIoAjgoAmxqQYICajYCDCACIAIoAiwgAigCIEEBa2otAAA6AAsgAiACKAIsIAIoAiBqLQAAOgAKIAIoAjgoAnggAigCOCgCjAFPBEAgAiACKAIwQQJ2NgIwCyACKAIcIAIoAjgoAnRLBEAgAiACKAI4KAJ0NgIcCwNAAkAgAiACKAI4KAI4IAIoAjRqNgIoAkAgAigCKCACKAIgai0AACACLQAKRw0AIAIoAiggAigCIEEBa2otAAAgAi0AC0cNACACKAIoLQAAIAIoAiwtAABHDQAgAiACKAIoIgBBAWo2AiggAC0AASACKAIsLQABRwRADAELIAIgAigCLEECajYCLCACIAIoAihBAWo2AigDQCACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AigCf0EAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACIAIoAiwiAEEBajYCLCAALQABIQEgAiACKAIoIgBBAWo2AihBACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEGCAms2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEEBayIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C5IQAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAiwgAigCKCgCDEEFa0kEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACIAIoAiRBBEYEfyACKAIcIAIoAhggAigCKCgCACgCBGpGBUEAC0EBcTYCECACKAIoQQBBACACKAIQEF0gAigCKCgCCCACKAIoKAIUQQRraiACKAIcOgAAIAIoAigoAgggAigCKCgCFEEDa2ogAigCHEEIdjoAACACKAIoKAIIIAIoAigoAhRBAmtqIAIoAhxBf3M6AAAgAigCKCgCCCACKAIoKAIUQQFraiACKAIcQX9zQQh2OgAAIAIoAigoAgAQHCACKAIYBEAgAigCGCACKAIcSwRAIAIgAigCHDYCGAsgAigCKCgCACgCDCACKAIoKAI4IAIoAigoAlxqIAIoAhgQGRogAigCKCgCACIAIAIoAhggACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCGGs2AhAgAigCKCgCACIAIAIoAhggACgCFGo2AhQgAigCKCIAIAIoAhggACgCXGo2AlwgAiACKAIcIAIoAhhrNgIcCyACKAIcBEAgAigCKCgCACACKAIoKAIAKAIMIAIoAhwQdhogAigCKCgCACIAIAIoAhwgACgCDGo2AgwgAigCKCgCACIAIAAoAhAgAigCHGs2AhAgAigCKCgCACIAIAIoAhwgACgCFGo2AhQLIAIoAhBFDQELCyACIAIoAgwgAigCKCgCACgCBGs2AgwgAigCDARAAkAgAigCDCACKAIoKAIsTwRAIAIoAihBAjYCsC0gAigCKCgCOCACKAIoKAIAKAIAIAIoAigoAixrIAIoAigoAiwQGRogAigCKCACKAIoKAIsNgJsDAELIAIoAgwgAigCKCgCPCACKAIoKAJsa08EQCACKAIoIgAgACgCbCACKAIoKAIsazYCbCACKAIoKAI4IAIoAigoAjggAigCKCgCLGogAigCKCgCbBAZGiACKAIoKAKwLUECSQRAIAIoAigiACAAKAKwLUEBajYCsC0LCyACKAIoKAI4IAIoAigoAmxqIAIoAigoAgAoAgAgAigCDGsgAigCDBAZGiACKAIoIgAgAigCDCAAKAJsajYCbAsgAigCKCACKAIoKAJsNgJcIAIoAigiAQJ/IAIoAgwgAigCKCgCLCACKAIoKAK0LWtLBEAgAigCKCgCLCACKAIoKAK0LWsMAQsgAigCDAsgASgCtC1qNgK0LQsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCwJAIAIoAhAEQCACQQM2AiwMAQsCQCACKAIkRQ0AIAIoAiRBBEYNACACKAIoKAIAKAIEDQAgAigCKCgCbCACKAIoKAJcRw0AIAJBATYCLAwBCyACIAIoAigoAjwgAigCKCgCbGtBAWs2AhQCQCACKAIoKAIAKAIEIAIoAhRNDQAgAigCKCgCXCACKAIoKAIsSA0AIAIoAigiACAAKAJcIAIoAigoAixrNgJcIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBkaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsgAiACKAIoKAIsIAIoAhRqNgIUCyACKAIUIAIoAigoAgAoAgRLBEAgAiACKAIoKAIAKAIENgIUCyACKAIUBEAgAigCKCgCACACKAIoKAI4IAIoAigoAmxqIAIoAhQQdhogAigCKCIAIAIoAhQgACgCbGo2AmwLIAIoAigoAsAtIAIoAigoAmxJBEAgAigCKCACKAIoKAJsNgLALQsgAiACKAIoKAK8LUEqakEDdTYCFCACIAIoAigoAgwgAigCFGtB//8DSwR/Qf//AwUgAigCKCgCDCACKAIUaws2AhQgAgJ/IAIoAhQgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAhQLNgIgIAIgAigCKCgCbCACKAIoKAJcazYCGAJAIAIoAhggAigCIEkEQCACKAIYRQRAIAIoAiRBBEcNAgsgAigCJEUNASACKAIoKAIAKAIEDQEgAigCGCACKAIUSw0BCyACAn8gAigCGCACKAIUSwRAIAIoAhQMAQsgAigCGAs2AhwgAgJ/QQAgAigCJEEERw0AGkEAIAIoAigoAgAoAgQNABogAigCHCACKAIYRgtBAXE2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBdIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHAsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHgEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBEEAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQQACyABKAIIKAIc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DQAgAiEAIANBAWsiAw0ACwsgBCgCFBogASACNgKgAQwCCyMAQRBrIgAgASgCqAEoAgQ2AgwgAUEAIAAoAgxrQQJ0QajZAGooAgA2AqABDAELIAFBADYCoAELCwJAIAEoAqABRQRAIAEgASgCpAE2AqwBDAELIAEgASgCoAEQLgJ/IAEoAqQBBEAgASgCpAEQLkECagwBC0EAC2pBAWoQGCIANgIcIABFBEAgAUG4EygCADYCrAEMAQsgASgCHCEAAn8gASgCpAEEQCABKAKkAQwBC0H6EgshA0HfEkH6EiABKAKkARshAiABIAEoAqABNgIIIAEgAjYCBCABIAM2AgAgAEG+CiABEG8gASgCqAEgASgCHDYCCCABIAEoAhw2AqwBCyABKAKsASEAIAFBsAFqJAAgAAsIAEEBQTgQfwszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQGRogACAAKAIUIAFqNgIUIAILjwUCBn4BfyABIAEoAgBBD2pBcHEiAUEQajYCACAAAnwgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAiFQgBSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACIVCAFINACACQgGDIAJ8IQILIAhBIGokACACIAZCgICAgICAgICAf4OEvws5AwALrRcDEn8CfgF8IwBBsARrIgkkACAJQQA2AiwCQCABvSIYQn9XBEBBASESQa4IIRMgAZoiAb0hGAwBCyAEQYAQcQRAQQEhEkGxCCETDAELQbQIQa8IIARBAXEiEhshEyASRSEXCwJAIBhCgICAgICAgPj/AINCgICAgICAgPj/AFEEQCAAQSAgAiASQQNqIg0gBEH//3txECYgACATIBIQIiAAQeQLQbUSIAVBIHEiAxtBjw1BuRIgAxsgASABYhtBAxAiDAELIAlBEGohEAJAAn8CQCABIAlBLGoQqQEiASABoCIBRAAAAAAAAAAAYgRAIAkgCSgCLCIGQQFrNgIsIAVBIHIiFEHhAEcNAQwDCyAFQSByIhRB4QBGDQIgCSgCLCELQQYgAyADQQBIGwwBCyAJIAZBHWsiCzYCLCABRAAAAAAAALBBoiEBQQYgAyADQQBIGwshCiAJQTBqIAlB0AJqIAtBAEgbIg4hBwNAIAcCfyABRAAAAAAAAPBBYyABRAAAAAAAAAAAZnEEQCABqwwBC0EACyIDNgIAIAdBBGohByABIAO4oUQAAAAAZc3NQaIiAUQAAAAAAAAAAGINAAsCQCALQQFIBEAgCyEDIAchBiAOIQgMAQsgDiEIIAshAwNAIANBHSADQR1IGyEMAkAgB0EEayIGIAhJDQAgDK0hGUIAIRgDQCAGIAY1AgAgGYYgGHwiGCAYQoCU69wDgCIYQoCU69wDfn0+AgAgCCAGQQRrIgZNBEAgGEL/////D4MhGAwBCwsgGKciA0UNACAIQQRrIgggAzYCAAsDQCAIIAciBkkEQCAGQQRrIgcoAgBFDQELCyAJIAkoAiwgDGsiAzYCLCAGIQcgA0EASg0ACwsgCkEZakEJbSEHIANBf0wEQCAHQQFqIQ0gFEHmAEYhFQNAQQlBACADayADQXdIGyEWAkAgBiAISwRAQYCU69wDIBZ2IQ9BfyAWdEF/cyERQQAhAyAIIQcDQCAHIAMgBygCACIMIBZ2ajYCACAMIBFxIA9sIQMgB0EEaiIHIAZJDQALIAggCEEEaiAIKAIAGyEIIANFDQEgBiADNgIAIAZBBGohBgwBCyAIIAhBBGogCCgCABshCAsgCSAJKAIsIBZqIgM2AiwgDiAIIBUbIgcgDUECdGogBiAGIAdrQQJ1IA1KGyEGIANBAEgNAAsLQQAhBwJAIAYgCE0NACAOIAhrQQJ1QQlsIQcgCCgCACIMQQpJDQBB5AAhAwNAIAdBAWohByADIAxLDQEgA0EKbCEDDAALAAsgCkEAIAcgFEHmAEYbayAUQecARiAKQQBHcWsiAyAGIA5rQQJ1QQlsQQlrSARAIANBgMgAaiIRQQltIgxBAnQgCUEwakEEciAJQdQCaiALQQBIG2pBgCBrIQ1BCiEDAkAgESAMQQlsayIMQQdKDQBB5AAhAwNAIAxBAWoiDEEIRg0BIANBCmwhAwwACwALAkAgDSgCACIRIBEgA24iDCADbGsiD0EBIA1BBGoiCyAGRhtFDQBEAAAAAAAA4D9EAAAAAAAA8D9EAAAAAAAA+D8gBiALRhtEAAAAAAAA+D8gDyADQQF2IgtGGyALIA9LGyEaRAEAAAAAAEBDRAAAAAAAAEBDIAxBAXEbIQECQCAXDQAgEy0AAEEtRw0AIBqaIRogAZohAQsgDSARIA9rIgs2AgAgASAaoCABYQ0AIA0gAyALaiIDNgIAIANBgJTr3ANPBEADQCANQQA2AgAgCCANQQRrIg1LBEAgCEEEayIIQQA2AgALIA0gDSgCAEEBaiIDNgIAIANB/5Pr3ANLDQALCyAOIAhrQQJ1QQlsIQcgCCgCACILQQpJDQBB5AAhAwNAIAdBAWohByADIAtLDQEgA0EKbCEDDAALAAsgDUEEaiIDIAYgAyAGSRshBgsDQCAGIgsgCE0iDEUEQCALQQRrIgYoAgBFDQELCwJAIBRB5wBHBEAgBEEIcSEPDAELIAdBf3NBfyAKQQEgChsiBiAHSiAHQXtKcSIDGyAGaiEKQX9BfiADGyAFaiEFIARBCHEiDw0AQXchBgJAIAwNACALQQRrKAIAIgNFDQBBACEGIANBCnANAEEAIQxB5AAhBgNAIAMgBnBFBEAgDEEBaiEMIAZBCmwhBgwBCwsgDEF/cyEGCyALIA5rQQJ1QQlsIQMgBUFfcUHGAEYEQEEAIQ8gCiADIAZqQQlrIgNBACADQQBKGyIDIAMgCkobIQoMAQtBACEPIAogAyAHaiAGakEJayIDQQAgA0EAShsiAyADIApKGyEKCyAKIA9yQQBHIREgAEEgIAIgBUFfcSIMQcYARgR/IAdBACAHQQBKGwUgECAHIAdBH3UiA2ogA3OtIBAQRCIGa0EBTARAA0AgBkEBayIGQTA6AAAgECAGa0ECSA0ACwsgBkECayIVIAU6AAAgBkEBa0EtQSsgB0EASBs6AAAgECAVawsgCiASaiARampBAWoiDSAEECYgACATIBIQIiAAQTAgAiANIARBgIAEcxAmAkACQAJAIAxBxgBGBEAgCUEQakEIciEDIAlBEGpBCXIhByAOIAggCCAOSxsiBSEIA0AgCDUCACAHEEQhBgJAIAUgCEcEQCAGIAlBEGpNDQEDQCAGQQFrIgZBMDoAACAGIAlBEGpLDQALDAELIAYgB0cNACAJQTA6ABggAyEGCyAAIAYgByAGaxAiIAhBBGoiCCAOTQ0AC0EAIQYgEUUNAiAAQdYSQQEQIiAIIAtPDQEgCkEBSA0BA0AgCDUCACAHEEQiBiAJQRBqSwRAA0AgBkEBayIGQTA6AAAgBiAJQRBqSw0ACwsgACAGIApBCSAKQQlIGxAiIApBCWshBiAIQQRqIgggC08NAyAKQQlKIQMgBiEKIAMNAAsMAgsCQCAKQQBIDQAgCyAIQQRqIAggC0kbIQUgCUEQakEJciELIAlBEGpBCHIhAyAIIQcDQCALIAc1AgAgCxBEIgZGBEAgCUEwOgAYIAMhBgsCQCAHIAhHBEAgBiAJQRBqTQ0BA0AgBkEBayIGQTA6AAAgBiAJQRBqSw0ACwwBCyAAIAZBARAiIAZBAWohBkEAIApBAEwgDxsNACAAQdYSQQEQIgsgACAGIAsgBmsiBiAKIAYgCkgbECIgCiAGayEKIAdBBGoiByAFTw0BIApBf0oNAAsLIABBMCAKQRJqQRJBABAmIAAgFSAQIBVrECIMAgsgCiEGCyAAQTAgBkEJakEJQQAQJgsMAQsgE0EJaiATIAVBIHEiCxshCgJAIANBC0sNAEEMIANrIgZFDQBEAAAAAAAAIEAhGgNAIBpEAAAAAAAAMECiIRogBkEBayIGDQALIAotAABBLUYEQCAaIAGaIBqhoJohAQwBCyABIBqgIBqhIQELIBAgCSgCLCIGIAZBH3UiBmogBnOtIBAQRCIGRgRAIAlBMDoADyAJQQ9qIQYLIBJBAnIhDiAJKAIsIQcgBkECayIMIAVBD2o6AAAgBkEBa0EtQSsgB0EASBs6AAAgBEEIcSEHIAlBEGohCANAIAgiBQJ/IAGZRAAAAAAAAOBBYwRAIAGqDAELQYCAgIB4CyIGQYCHAWotAAAgC3I6AAAgASAGt6FEAAAAAAAAMECiIQECQCAFQQFqIgggCUEQamtBAUcNAAJAIAFEAAAAAAAAAABiDQAgA0EASg0AIAdFDQELIAVBLjoAASAFQQJqIQgLIAFEAAAAAAAAAABiDQALIABBICACIA4CfwJAIANFDQAgCCAJa0ESayADTg0AIAMgEGogDGtBAmoMAQsgECAJQRBqIAxqayAIagsiA2oiDSAEECYgACAKIA4QIiAAQTAgAiANIARBgIAEcxAmIAAgCUEQaiAIIAlBEGprIgUQIiAAQTAgAyAFIBAgDGsiA2prQQBBABAmIAAgDCADECILIABBICACIA0gBEGAwABzECYgCUGwBGokACACIA0gAiANShsLBgBB4J8BCwYAQdyfAQsGAEHUnwELGAEBfyMAQRBrIgEgADYCDCABKAIMQQRqCxgBAX8jAEEQayIBIAA2AgwgASgCDEEIagtpAQF/IwBBEGsiASQAIAEgADYCDCABKAIMKAIUBEAgASgCDCgCFBAbCyABQQA2AgggASgCDCgCBARAIAEgASgCDCgCBDYCCAsgASgCDEEEahA4IAEoAgwQFSABKAIIIQAgAUEQaiQAIAALqQEBA38CQCAALQAAIgJFDQADQCABLQAAIgRFBEAgAiEDDAILAkAgAiAERg0AIAJBIHIgAiACQcEAa0EaSRsgAS0AACICQSByIAIgAkHBAGtBGkkbRg0AIAAtAAAhAwwCCyABQQFqIQEgAC0AASECIABBAWohACACDQALCyADQf8BcSIAQSByIAAgAEHBAGtBGkkbIAEtAAAiAEEgciAAIABBwQBrQRpJG2sLiAEBAX8jAEEQayICJAAgAiAANgIMIAIgATYCCCMAQRBrIgAgAigCDDYCDCAAKAIMQQA2AgAgACgCDEEANgIEIAAoAgxBADYCCCACKAIMIAIoAgg2AgACQCACKAIMEKwBQQFGBEAgAigCDEG0mwEoAgA2AgQMAQsgAigCDEEANgIECyACQRBqJAAL2AkBAX8jAEGwAWsiBSQAIAUgADYCpAEgBSABNgKgASAFIAI2ApwBIAUgAzcDkAEgBSAENgKMASAFIAUoAqABNgKIAQJAAkACQAJAAkACQAJAAkACQAJAAkAgBSgCjAEODwABAgMEBQcICQkJCQkJBgkLIAUoAogBQgA3AyAgBUIANwOoAQwJCyAFIAUoAqQBIAUoApwBIAUpA5ABECsiAzcDgAEgA0IAUwRAIAUoAogBQQhqIAUoAqQBEBcgBUJ/NwOoAQwJCwJAIAUpA4ABUARAIAUoAogBKQMoIAUoAogBKQMgUQRAIAUoAogBQQE2AgQgBSgCiAEgBSgCiAEpAyA3AxggBSgCiAEoAgAEQCAFKAKkASAFQcgAahA5QQBIBEAgBSgCiAFBCGogBSgCpAEQFyAFQn83A6gBDA0LAkAgBSkDSEIgg1ANACAFKAJ0IAUoAogBKAIwRg0AIAUoAogBQQhqQQdBABAUIAVCfzcDqAEMDQsCQCAFKQNIQgSDUA0AIAUpA2AgBSgCiAEpAxhRDQAgBSgCiAFBCGpBFUEAEBQgBUJ/NwOoAQwNCwsLDAELAkAgBSgCiAEoAgQNACAFKAKIASkDICAFKAKIASkDKFYNACAFIAUoAogBKQMoIAUoAogBKQMgfTcDQANAIAUpA0AgBSkDgAFUBEAgBSAFKQOAASAFKQNAfUL/////D1YEfkL/////DwUgBSkDgAEgBSkDQH0LNwM4IAUoAogBKAIwIAUoApwBIAUpA0CnaiAFKQM4pxAaIQAgBSgCiAEgADYCMCAFKAKIASIAIAUpAzggACkDKHw3AyggBSAFKQM4IAUpA0B8NwNADAELCwsLIAUoAogBIgAgBSkDgAEgACkDIHw3AyAgBSAFKQOAATcDqAEMCAsgBUIANwOoAQwHCyAFIAUoApwBNgI0IAUoAogBKAIEBEAgBSgCNCAFKAKIASkDGDcDGCAFKAI0IAUoAogBKAIwNgIsIAUoAjQgBSgCiAEpAxg3AyAgBSgCNEEAOwEwIAUoAjRBADsBMiAFKAI0IgAgACkDAELsAYQ3AwALIAVCADcDqAEMBgsgBSAFKAKIAUEIaiAFKAKcASAFKQOQARBDNwOoAQwFCyAFKAKIARAVIAVCADcDqAEMBAsjAEEQayIAIAUoAqQBNgIMIAUgACgCDCkDGDcDKCAFKQMoQgBTBEAgBSgCiAFBCGogBSgCpAEQFyAFQn83A6gBDAQLIAUpAyghAyAFQX82AhggBUEQNgIUIAVBDzYCECAFQQ02AgwgBUEMNgIIIAVBCjYCBCAFQQk2AgAgBUEIIAUQNEJ/hSADgzcDqAEMAwsgBQJ/IAUpA5ABQhBUBEAgBSgCiAFBCGpBEkEAEBRBAAwBCyAFKAKcAQs2AhwgBSgCHEUEQCAFQn83A6gBDAMLAkAgBSgCpAEgBSgCHCkDACAFKAIcKAIIECdBAE4EQCAFIAUoAqQBEEkiAzcDICADQgBZDQELIAUoAogBQQhqIAUoAqQBEBcgBUJ/NwOoAQwDCyAFKAKIASAFKQMgNwMgIAVCADcDqAEMAgsgBSAFKAKIASkDIDcDqAEMAQsgBSgCiAFBCGpBHEEAEBQgBUJ/NwOoAQsgBSkDqAEhAyAFQbABaiQAIAMLnAwBAX8jAEEwayIFJAAgBSAANgIkIAUgATYCICAFIAI2AhwgBSADNwMQIAUgBDYCDCAFIAUoAiA2AggCQAJAAkACQAJAAkACQAJAAkACQCAFKAIMDhEAAQIDBQYICAgICAgICAcIBAgLIAUoAghCADcDGCAFKAIIQQA6AAwgBSgCCEEAOgANIAUoAghBADoADyAFKAIIQn83AyAgBSgCCCgCrEAgBSgCCCgCqEAoAgwRAABBAXFFBEAgBUJ/NwMoDAkLIAVCADcDKAwICyAFKAIkIQEgBSgCCCECIAUoAhwhBCAFKQMQIQMjAEFAaiIAJAAgACABNgI0IAAgAjYCMCAAIAQ2AiwgACADNwMgAkACfyMAQRBrIgEgACgCMDYCDCABKAIMKAIACwRAIABCfzcDOAwBCwJAIAApAyBQRQRAIAAoAjAtAA1BAXFFDQELIABCADcDOAwBCyAAQgA3AwggAEEAOgAbA0AgAC0AG0EBcQR/QQAFIAApAwggACkDIFQLQQFxBEAgACAAKQMgIAApAwh9NwMAIAAgACgCMCgCrEAgACgCLCAAKQMIp2ogACAAKAIwKAKoQCgCHBEBADYCHCAAKAIcQQJHBEAgACAAKQMAIAApAwh8NwMICwJAAkACQAJAIAAoAhxBAWsOAwACAQMLIAAoAjBBAToADQJAIAAoAjAtAAxBAXENAAsgACgCMCkDIEIAUwRAIAAoAjBBFEEAEBQgAEEBOgAbDAMLAkAgACgCMC0ADkEBcUUNACAAKAIwKQMgIAApAwhWDQAgACgCMEEBOgAPIAAoAjAgACgCMCkDIDcDGCAAKAIsIAAoAjBBKGogACgCMCkDGKcQGRogACAAKAIwKQMYNwM4DAYLIABBAToAGwwCCyAAKAIwLQAMQQFxBEAgAEEBOgAbDAILIAAgACgCNCAAKAIwQShqQoDAABArIgM3AxAgA0IAUwRAIAAoAjAgACgCNBAXIABBAToAGwwCCwJAIAApAxBQBEAgACgCMEEBOgAMIAAoAjAoAqxAIAAoAjAoAqhAKAIYEQIAIAAoAjApAyBCAFMEQCAAKAIwQgA3AyALDAELAkAgACgCMCkDIEIAWQRAIAAoAjBBADoADgwBCyAAKAIwIAApAxA3AyALIAAoAjAoAqxAIAAoAjBBKGogACkDECAAKAIwKAKoQCgCFBEQABoLDAELAn8jAEEQayIBIAAoAjA2AgwgASgCDCgCAEULBEAgACgCMEEUQQAQFAsgAEEBOgAbCwwBCwsgACkDCEIAUgRAIAAoAjBBADoADiAAKAIwIgEgACkDCCABKQMYfDcDGCAAIAApAwg3AzgMAQsgAEF/QQACfyMAQRBrIgEgACgCMDYCDCABKAIMKAIACxusNwM4CyAAKQM4IQMgAEFAayQAIAUgAzcDKAwHCyAFKAIIKAKsQCAFKAIIKAKoQCgCEBEAAEEBcUUEQCAFQn83AygMBwsgBUIANwMoDAYLIAUgBSgCHDYCBAJAIAUoAggtABBBAXEEQCAFKAIILQANQQFxBEAgBSgCBCAFKAIILQAPQQFxBH9BAAUCfwJAIAUoAggoAhRBf0cEQCAFKAIIKAIUQX5HDQELQQgMAQsgBSgCCCgCFAtB//8DcQs7ATAgBSgCBCAFKAIIKQMYNwMgIAUoAgQiACAAKQMAQsgAhDcDAAwCCyAFKAIEIgAgACkDAEK3////D4M3AwAMAQsgBSgCBEEAOwEwIAUoAgQiACAAKQMAQsAAhDcDAAJAIAUoAggtAA1BAXEEQCAFKAIEIAUoAggpAxg3AxggBSgCBCIAIAApAwBCBIQ3AwAMAQsgBSgCBCIAIAApAwBC+////w+DNwMACwsgBUIANwMoDAULIAUgBSgCCC0AD0EBcQR/QQAFIAUoAggoAqxAIAUoAggoAqhAKAIIEQAAC6w3AygMBAsgBSAFKAIIIAUoAhwgBSkDEBBDNwMoDAMLIAUoAggQsQEgBUIANwMoDAILIAVBfzYCACAFQRAgBRA0Qj+ENwMoDAELIAUoAghBFEEAEBQgBUJ/NwMoCyAFKQMoIQMgBUEwaiQAIAMLPAEBfyMAQRBrIgMkACADIAA7AQ4gAyABNgIIIAMgAjYCBEEAIAMoAgggAygCBBC0ASEAIANBEGokACAAC46nAQEEfyMAQSBrIgUkACAFIAA2AhggBSABNgIUIAUgAjYCECAFIAUoAhg2AgwgBSgCDCAFKAIQKQMAQv////8PVgR+Qv////8PBSAFKAIQKQMACz4CICAFKAIMIAUoAhQ2AhwCQCAFKAIMLQAEQQFxBEAgBSgCDEEQaiEBQQRBACAFKAIMLQAMQQFxGyECIwBBQGoiACQAIAAgATYCOCAAIAI2AjQCQAJAAkAgACgCOBB4DQAgACgCNEEFSg0AIAAoAjRBAE4NAQsgAEF+NgI8DAELIAAgACgCOCgCHDYCLAJAAkAgACgCOCgCDEUNACAAKAI4KAIEBEAgACgCOCgCAEUNAQsgACgCLCgCBEGaBUcNASAAKAI0QQRGDQELIAAoAjhBsNkAKAIANgIYIABBfjYCPAwBCyAAKAI4KAIQRQRAIAAoAjhBvNkAKAIANgIYIABBezYCPAwBCyAAIAAoAiwoAig2AjAgACgCLCAAKAI0NgIoAkAgACgCLCgCFARAIAAoAjgQHCAAKAI4KAIQRQRAIAAoAixBfzYCKCAAQQA2AjwMAwsMAQsCQCAAKAI4KAIEDQAgACgCNEEBdEEJQQAgACgCNEEEShtrIAAoAjBBAXRBCUEAIAAoAjBBBEoba0oNACAAKAI0QQRGDQAgACgCOEG82QAoAgA2AhggAEF7NgI8DAILCwJAIAAoAiwoAgRBmgVHDQAgACgCOCgCBEUNACAAKAI4QbzZACgCADYCGCAAQXs2AjwMAQsgACgCLCgCBEEqRgRAIAAgACgCLCgCMEEEdEH4AGtBCHQ2AigCQAJAIAAoAiwoAogBQQJIBEAgACgCLCgChAFBAk4NAQsgAEEANgIkDAELAkAgACgCLCgChAFBBkgEQCAAQQE2AiQMAQsCQCAAKAIsKAKEAUEGRgRAIABBAjYCJAwBCyAAQQM2AiQLCwsgACAAKAIoIAAoAiRBBnRyNgIoIAAoAiwoAmwEQCAAIAAoAihBIHI2AigLIAAgACgCKEEfIAAoAihBH3BrajYCKCAAKAIsIAAoAigQSyAAKAIsKAJsBEAgACgCLCAAKAI4KAIwQRB2EEsgACgCLCAAKAI4KAIwQf//A3EQSwtBAEEAQQAQPSEBIAAoAjggATYCMCAAKAIsQfEANgIEIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwCCwsgACgCLCgCBEE5RgRAQQBBAEEAEBohASAAKAI4IAE2AjAgACgCLCgCCCECIAAoAiwiAygCFCEBIAMgAUEBajYCFCABIAJqQR86AAAgACgCLCgCCCECIAAoAiwiAygCFCEBIAMgAUEBajYCFCABIAJqQYsBOgAAIAAoAiwoAgghAiAAKAIsIgMoAhQhASADIAFBAWo2AhQgASACakEIOgAAAkAgACgCLCgCHEUEQCAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAIIIQIgACgCLCIDKAIUIQEgAyABQQFqNgIUIAEgAmpBADoAACAAKAIsKAKEAUEJRgR/QQIFQQRBACAAKAIsKAKIAUECSAR/IAAoAiwoAoQBQQJIBUEBC0EBcRsLIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCCCECIAAoAiwiAygCFCEBIAMgAUEBajYCFCABIAJqQQM6AAAgACgCLEHxADYCBCAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBAsMAQsgACgCLCgCHCgCAEVFQQJBACAAKAIsKAIcKAIsG2pBBEEAIAAoAiwoAhwoAhAbakEIQQAgACgCLCgCHCgCHBtqQRBBACAAKAIsKAIcKAIkG2ohAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAIsKAIcKAIEQf8BcSECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAiwoAhwoAgRBCHZB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCBEEQdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAIsKAIcKAIEQRh2IQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgChAFBCUYEf0ECBUEEQQAgACgCLCgCiAFBAkgEfyAAKAIsKAKEAUECSAVBAQtBAXEbCyECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAiwoAhwoAgxB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCEARAIAAoAiwoAhwoAhRB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCLCgCHCgCFEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAAsgACgCLCgCHCgCLARAIAAoAjgoAjAgACgCLCgCCCAAKAIsKAIUEBohASAAKAI4IAE2AjALIAAoAixBADYCICAAKAIsQcUANgIECwsgACgCLCgCBEHFAEYEQCAAKAIsKAIcKAIQBEAgACAAKAIsKAIUNgIgIAAgACgCLCgCHCgCFEH//wNxIAAoAiwoAiBrNgIcA0AgACgCLCgCDCAAKAIsKAIUIAAoAhxqSQRAIAAgACgCLCgCDCAAKAIsKAIUazYCGCAAKAIsKAIIIAAoAiwoAhRqIAAoAiwoAhwoAhAgACgCLCgCIGogACgCGBAZGiAAKAIsIAAoAiwoAgw2AhQCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCIE0NACAAKAI4KAIwIAAoAiwoAgggACgCIGogACgCLCgCFCAAKAIgaxAaIQEgACgCOCABNgIwCyAAKAIsIgEgACgCGCABKAIgajYCICAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBQUgAEEANgIgIAAgACgCHCAAKAIYazYCHAwCCwALCyAAKAIsKAIIIAAoAiwoAhRqIAAoAiwoAhwoAhAgACgCLCgCIGogACgCHBAZGiAAKAIsIgEgACgCHCABKAIUajYCFAJAIAAoAiwoAhwoAixFDQAgACgCLCgCFCAAKAIgTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIgaiAAKAIsKAIUIAAoAiBrEBohASAAKAI4IAE2AjALIAAoAixBADYCIAsgACgCLEHJADYCBAsgACgCLCgCBEHJAEYEQCAAKAIsKAIcKAIcBEAgACAAKAIsKAIUNgIUA0AgACgCLCgCFCAAKAIsKAIMRgRAAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAhRNDQAgACgCOCgCMCAAKAIsKAIIIAAoAhRqIAAoAiwoAhQgACgCFGsQGiEBIAAoAjggATYCMAsgACgCOBAcIAAoAiwoAhQEQCAAKAIsQX82AiggAEEANgI8DAULIABBADYCFAsgACgCLCgCHCgCHCECIAAoAiwiAygCICEBIAMgAUEBajYCICAAIAEgAmotAAA2AhAgACgCECECIAAoAiwoAgghAyAAKAIsIgQoAhQhASAEIAFBAWo2AhQgASADaiACOgAAIAAoAhANAAsCQCAAKAIsKAIcKAIsRQ0AIAAoAiwoAhQgACgCFE0NACAAKAI4KAIwIAAoAiwoAgggACgCFGogACgCLCgCFCAAKAIUaxAaIQEgACgCOCABNgIwCyAAKAIsQQA2AiALIAAoAixB2wA2AgQLIAAoAiwoAgRB2wBGBEAgACgCLCgCHCgCJARAIAAgACgCLCgCFDYCDANAIAAoAiwoAhQgACgCLCgCDEYEQAJAIAAoAiwoAhwoAixFDQAgACgCLCgCFCAAKAIMTQ0AIAAoAjgoAjAgACgCLCgCCCAAKAIMaiAAKAIsKAIUIAAoAgxrEBohASAAKAI4IAE2AjALIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwFCyAAQQA2AgwLIAAoAiwoAhwoAiQhAiAAKAIsIgMoAiAhASADIAFBAWo2AiAgACABIAJqLQAANgIIIAAoAgghAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAACAAKAIIDQALAkAgACgCLCgCHCgCLEUNACAAKAIsKAIUIAAoAgxNDQAgACgCOCgCMCAAKAIsKAIIIAAoAgxqIAAoAiwoAhQgACgCDGsQGiEBIAAoAjggATYCMAsLIAAoAixB5wA2AgQLIAAoAiwoAgRB5wBGBEAgACgCLCgCHCgCLARAIAAoAiwoAgwgACgCLCgCFEECakkEQCAAKAI4EBwgACgCLCgCFARAIAAoAixBfzYCKCAAQQA2AjwMBAsLIAAoAjgoAjBB/wFxIQIgACgCLCgCCCEDIAAoAiwiBCgCFCEBIAQgAUEBajYCFCABIANqIAI6AAAgACgCOCgCMEEIdkH/AXEhAiAAKAIsKAIIIQMgACgCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogAjoAAEEAQQBBABAaIQEgACgCOCABNgIwCyAAKAIsQfEANgIEIAAoAjgQHCAAKAIsKAIUBEAgACgCLEF/NgIoIABBADYCPAwCCwsCQAJAIAAoAjgoAgQNACAAKAIsKAJ0DQAgACgCNEUNASAAKAIsKAIEQZoFRg0BCyAAAn8gACgCLCgChAFFBEAgACgCLCAAKAI0ELcBDAELAn8gACgCLCgCiAFBAkYEQCAAKAIsIQIgACgCNCEDIwBBIGsiASQAIAEgAjYCGCABIAM2AhQCQANAAkAgASgCGCgCdEUEQCABKAIYEFwgASgCGCgCdEUEQCABKAIURQRAIAFBADYCHAwFCwwCCwsgASgCGEEANgJgIAEgASgCGCICKAI4IAIoAmxqLQAAOgAPIAEoAhgiAigCpC0gAigCoC1BAXRqQQA7AQAgAS0ADyEDIAEoAhgiAigCmC0hBCACIAIoAqAtIgJBAWo2AqAtIAIgBGogAzoAACABKAIYIAEtAA9BAnRqIgIgAi8BlAFBAWo7AZQBIAEgASgCGCgCoC0gASgCGCgCnC1BAWtGNgIQIAEoAhgiAiACKAJ0QQFrNgJ0IAEoAhgiAiACKAJsQQFqNgJsIAEoAhAEQCABKAIYAn8gASgCGCgCXEEATgRAIAEoAhgoAjggASgCGCgCXGoMAQtBAAsgASgCGCgCbCABKAIYKAJca0EAECggASgCGCABKAIYKAJsNgJcIAEoAhgoAgAQHCABKAIYKAIAKAIQRQRAIAFBADYCHAwECwsMAQsLIAEoAhhBADYCtC0gASgCFEEERgRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQEQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUECNgIcDAILIAFBAzYCHAwBCyABKAIYKAKgLQRAIAEoAhgCfyABKAIYKAJcQQBOBEAgASgCGCgCOCABKAIYKAJcagwBC0EACyABKAIYKAJsIAEoAhgoAlxrQQAQKCABKAIYIAEoAhgoAmw2AlwgASgCGCgCABAcIAEoAhgoAgAoAhBFBEAgAUEANgIcDAILCyABQQE2AhwLIAEoAhwhAiABQSBqJAAgAgwBCwJ/IAAoAiwoAogBQQNGBEAgACgCLCECIAAoAjQhAyMAQTBrIgEkACABIAI2AiggASADNgIkAkADQAJAIAEoAigoAnRBggJNBEAgASgCKBBcAkAgASgCKCgCdEGCAksNACABKAIkDQAgAUEANgIsDAQLIAEoAigoAnRFDQELIAEoAihBADYCYAJAIAEoAigoAnRBA0kNACABKAIoKAJsRQ0AIAEgASgCKCgCOCABKAIoKAJsakEBazYCGCABIAEoAhgtAAA2AhwgASgCHCECIAEgASgCGCIDQQFqNgIYAkAgAy0AASACRw0AIAEoAhwhAiABIAEoAhgiA0EBajYCGCADLQABIAJHDQAgASgCHCECIAEgASgCGCIDQQFqNgIYIAMtAAEgAkcNACABIAEoAigoAjggASgCKCgCbGpBggJqNgIUA0AgASgCHCECIAEgASgCGCIDQQFqNgIYAn9BACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABogASgCHCECIAEgASgCGCIDQQFqNgIYQQAgAy0AASACRw0AGiABKAIcIQIgASABKAIYIgNBAWo2AhhBACADLQABIAJHDQAaIAEoAhwhAiABIAEoAhgiA0EBajYCGEEAIAMtAAEgAkcNABog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AS8BEiECIAEgASgCSCIDQQFqNgJIIAMgAjoAAAwCCyABKAIMQRBxBEAgASABLwESNgIIIAEgASgCDEEPcTYCDCABKAIMBEAgASgCKCABKAIMSQRAIAEgASgCUCICQQFqNgJQIAEgASgCLCACLQAAIAEoAih0ajYCLCABIAEoAihBCGo2AigLIAEgASgCCCABKAIsQQEgASgCDHRBAWtxajYCCCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoCyABKAIoQQ9JBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABIAEoAlAiAkEBajYCUCABIAEoAiwgAi0AACABKAIodGo2AiwgASABKAIoQQhqNgIoCyABIAEoAiAgASgCLCABKAIYcUECdGooAQA2ARACQANAIAEgAS0AETYCDCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgAS0AEDYCDCABKAIMQRBxBEAgASABLwESNgIEIAEgASgCDEEPcTYCDCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKCABKAIoIAEoAgxJBEAgASABKAJQIgJBAWo2AlAgASABKAIsIAItAAAgASgCKHRqNgIsIAEgASgCKEEIajYCKAsLIAEgASgCBCABKAIsQQEgASgCDHRBAWtxajYCBCABIAEoAiwgASgCDHY2AiwgASABKAIoIAEoAgxrNgIoIAEgASgCSCABKAJEazYCDAJAIAEoAgQgASgCDEsEQCABIAEoAgQgASgCDGs2AgwgASgCDCABKAI4SwRAIAEoAlQoAsQ3BEAgASgCXEHdDDYCGCABKAJUQdH+ADYCBAwKCwsgASABKAIwNgIAAkAgASgCNEUEQCABIAEoAgAgASgCPCABKAIMa2o2AgAgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAkggASgCBGs2AgALDAELAkAgASgCNCABKAIMSQRAIAEgASgCACABKAI8IAEoAjRqIAEoAgxrajYCACABIAEoAgwgASgCNGs2AgwgASgCDCABKAIISQRAIAEgASgCCCABKAIMazYCCANAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIMQQFrIgI2AgwgAg0ACyABIAEoAjA2AgAgASgCNCABKAIISQRAIAEgASgCNDYCDCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsMAQsgASABKAIAIAEoAjQgASgCDGtqNgIAIAEoAgwgASgCCEkEQCABIAEoAgggASgCDGs2AggDQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCDEEBayICNgIMIAINAAsgASABKAJIIAEoAgRrNgIACwsLA0AgASgCCEECSwRAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCCEEDazYCCAwBCwsMAQsgASABKAJIIAEoAgRrNgIAA0AgASABKAIAIgJBAWo2AgAgAi0AACECIAEgASgCSCIDQQFqNgJIIAMgAjoAACABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEgASgCACICQQFqNgIAIAItAAAhAiABIAEoAkgiA0EBajYCSCADIAI6AAAgASABKAIIQQNrNgIIIAEoAghBAksNAAsLIAEoAggEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAAIAEoAghBAUsEQCABIAEoAgAiAkEBajYCACACLQAAIQIgASABKAJIIgNBAWo2AkggAyACOgAACwsMAgsgASgCDEHAAHFFBEAgASABKAIgIAEvARIgASgCLEEBIAEoAgx0QQFrcWpBAnRqKAEANgEQDAELCyAB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AG5hbgAvZGV2L3VyYW5kb20AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoAGluZgBpbnZhbGlkIHdpbmRvdyBzaXplAFJlYWQtb25seSBhcmNoaXZlAE5vdCBhIHppcCBhcmNoaXZlAFJlc291cmNlIHN0aWxsIGluIHVzZQBNYWxsb2MgZmFpbHVyZQBpbnZhbGlkIGJsb2NrIHR5cGUARmFpbHVyZSB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUAQ2FuJ3Qgb3BlbiBmaWxlAE5vIHN1Y2ggZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGZpbGUAQ2FuJ3QgcmVtb3ZlIGZpbGUAaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlAGludmFsaWQgZGlzdGFuY2UgY29kZQB1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZABzdHJlYW0gZW5kAENvbXByZXNzZWQgZGF0YSBpbnZhbGlkAE11bHRpLWRpc2sgemlwIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQAT3BlcmF0aW9uIG5vdCBzdXBwb3J0ZWQARW5jcnlwdGlvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABDb21wcmVzc2lvbiBtZXRob2Qgbm90IHN1cHBvcnRlZABFbnRyeSBoYXMgYmVlbiBkZWxldGVkAENvbnRhaW5pbmcgemlwIGFyY2hpdmUgd2FzIGNsb3NlZABDbG9zaW5nIHppcCBhcmNoaXZlIGZhaWxlZABSZW5hbWluZyB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQARW50cnkgaGFzIGJlZW4gY2hhbmdlZABObyBwYXNzd29yZCBwcm92aWRlZABXcm9uZyBwYXNzd29yZCBwcm92aWRlZABVbmtub3duIGVycm9yICVkAHJiAHIrYgByd2EAJXMuWFhYWFhYAE5BTgBJTkYAQUUAMS4yLjExAC9wcm9jL3NlbGYvZmQvAC4AKG51bGwpADogAFBLBgcA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0gAIADIACACyAAgAcgAIAPIACAAKAAgAigAIAEoACADKAAgAKgAIAKoACABqAAgA6gAIABoACACaAAgAWgAIANoACAA6AAgAugAIAHoACAD6AAgABgAIAIYACABGAAgAxgAIACYACACmAAgAZgAIAOYACAAWAAgAlgAIAFYACADWAAgANgAIALYACAB2AAgA9gAIAA4ACACOAAgATgAIAM4ACAAuAAgArgAIAG4ACADuAAgAHgAIAJ4ACABeAAgA3gAIAD4ACAC+AAgAfgAIAP4ACAABAAgAgQAIAEEACADBAAgAIQAIAKEACABhAAgA4QAIABEACACRAAgAUQAIANEACAAxAAgAsQAIAHEACADxAAgACQAIAIkACABJAAgAyQAIACkACACpAAgAaQAIAOkACAAZAAgAmQAIAFkACADZAAgAOQAIALkACAB5AAgA+QAIAAUACACFAAgARQAIAMUACAAlAAgApQAIAGUACADlAAgAFQAIAJUACABVAAgA1QAIADUACAC1AAgAdQAIAPUACAANAAgAjQAIAE0ACADNAAgALQAIAK0ACABtAAgA7QAIAB0ACACdAAgAXQAIAN0ACAA9AAgAvQAIAH0ACAD9AAgAEwAJABMBCQCTAAkAkwEJAFMACQBTAQkA0wAJANMBCQAzAAkAMwEJALMACQCzAQkAcwAJAHMBCQDzAAkA8wEJAAsACQALAQkAiwAJAIsBCQBLAAkASwEJAMsACQDLAQkAKwAJACsBCQCrAAkAqwEJAGsACQBrAQkA6wAJAOsBCQAbAAkAGwEJAJsACQCbAQkAWwAJAFsBCQDbAAkA2wEJADsACQA7AQkAuwAJALsBCQB7AAkAewEJAPsACQD7AQkABwAJAAcBCQCHAAkAhwEJAEcACQBHAQkAxwAJAMcBCQAnAAkAJwEJAKcACQCnAQkAZwAJAGcBCQDnAAkA5wEJABcACQAXAQkAlwAJAJcBCQBXAAkAVwEJANcACQDXAQkANwAJADcBCQC3AAkAtwEJAHcACQB3AQkA9wAJAPcBCQAPAAkADwEJAI8ACQCPAQkATwAJAE8BCQDPAAkAzwEJAC8ACQAvAQkArwAJAK8BCQBvAAkAbwEJAO8ACQDvAQkAHwAJAB8BCQCfAAkAnwEJAF8ACQBfAQkA3wAJAN8BCQA/AAkAPwEJAL8ACQC/AQkAfwAJAH8BCQD/AAkA/wEJAAAABwBAAAcAIAAHAGAABwAQAAcAUAAHADAABwBwAAcACAAHAEgABwAoAAcAaAAHABgABwBYAAcAOAAHAHgABwAEAAcARAAHACQABwBkAAcAFAAHAFQABwA0AAcAdAAHAAMACACDAAgAQwAIAMMACAAjAAgAowAIAGMACADjAAgAAAAFABAABQAIAAUAGAAFAAQABQAUAAUADAAFABwABQACAAUAEgAFAAoABQAaAAUABgAFABYABQAOAAUAHgAFAAEABQARAAUACQAFABkABQAFAAUAFQAFAA0ABQAdAAUAAwAFABMABQALAAUAGwAFAAcABQAXAAUAQbDqAAtNAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAQaDrAAtlAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AQdDsAAsjAgAAAAMAAAAHAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AQYTtAAtpAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAEGE7gALegEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAMS4yLjExAEGI7wALbQcAAAAEAAQACAAEAAgAAAAEAAUAEAAIAAgAAAAEAAYAIAAgAAgAAAAEAAQAEAAQAAkAAAAIABAAIAAgAAkAAAAIABAAgACAAAkAAAAIACAAgAAAAQkAAAAgAIAAAgEABAkAAAAgAAIBAgEAEAkAQYDwAAulAgMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAAAAAAAQABAAEAAQABAAEAAQABAAEQARABEAEQASABIAEgASABMAEwATABMAFAAUABQAFAAVABUAFQAVABAATQDKAAAAAQACAAMABAAFAAcACQANABEAGQAhADEAQQBhAIEAwQABAYEBAQIBAwEEAQYBCAEMARABGAEgATABQAFgAAAAABAAEAAQABAAEQARABIAEgATABMAFAAUABUAFQAWABYAFwAXABgAGAAZABkAGgAaABsAGwAcABwAHQAdAEAAQAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEGw8gALwRFgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnAABAHCgAACGAAAAggAAAJoAAACAAAAAiAAAAIQAAACeAAEAcGAAAIWAAACBgAAAmQABMHOwAACHgAAAg4AAAJ0AARBxEAAAhoAAAIKAAACbAAAAgIAAAIiAAACEgAAAnwABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACcgAEQcNAAAIZAAACCQAAAmoAAAIBAAACIQAAAhEAAAJ6AAQBwgAAAhcAAAIHAAACZgAFAdTAAAIfAAACDwAAAnYABIHFwAACGwAAAgsAAAJuAAACAwAAAiMAAAITAAACfgAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxAARBwsAAAhiAAAIIgAACaQAAAgCAAAIggAACEIAAAnkABAHBwAACFoAAAgaAAAJlAAUB0MAAAh6AAAIOgAACdQAEgcTAAAIagAACCoAAAm0AAAICgAACIoAAAhKAAAJ9AAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnMABEHDwAACGYAAAgmAAAJrAAACAYAAAiGAAAIRgAACewAEAcJAAAIXgAACB4AAAmcABQHYwAACH4AAAg+AAAJ3AASBxsAAAhuAAAILgAACbwAAAgOAAAIjgAACE4AAAn8AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcIAEAcKAAAIYQAACCEAAAmiAAAIAQAACIEAAAhBAAAJ4gAQBwYAAAhZAAAIGQAACZIAEwc7AAAIeQAACDkAAAnSABEHEQAACGkAAAgpAAAJsgAACAkAAAiJAAAISQAACfIAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJygARBw0AAAhlAAAIJQAACaoAAAgFAAAIhQAACEUAAAnqABAHCAAACF0AAAgdAAAJmgAUB1MAAAh9AAAIPQAACdoAEgcXAAAIbQAACC0AAAm6AAAIDQAACI0AAAhNAAAJ+gAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnGABEHCwAACGMAAAgjAAAJpgAACAMAAAiDAAAIQwAACeYAEAcHAAAIWwAACBsAAAmWABQHQwAACHsAAAg7AAAJ1gASBxMAAAhrAAAIKwAACbYAAAgLAAAIiwAACEsAAAn2ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc4AEQcPAAAIZwAACCcAAAmuAAAIBwAACIcAAAhHAAAJ7gAQBwkAAAhfAAAIHwAACZ4AFAdjAAAIfwAACD8AAAneABIHGwAACG8AAAgvAAAJvgAACA8AAAiPAAAITwAACf4AYAcAAAAIUAAACBAAFAhzABIHHwAACHAAAAgwAAAJwQAQBwoAAAhgAAAIIAAACaEAAAgAAAAIgAAACEAAAAnhABAHBgAACFgAAAgYAAAJkQATBzsAAAh4AAAIOAAACdEAEQcRAAAIaAAACCgAAAmxAAAICAAACIgAAAhIAAAJ8QAQBwQAAAhUAAAIFAAVCOMAEwcrAAAIdAAACDQAAAnJABEHDQAACGQAAAgkAAAJqQAACAQAAAiEAAAIRAAACekAEAcIAAAIXAAACBwAAAmZABQHUwAACHwAAAg8AAAJ2QASBxcAAAhsAAAILAAACbkAAAgMAAAIjAAACEwAAAn5ABAHAwAACFIAAAgSABUIowATByMAAAhyAAAIMgAACcUAEQcLAAAIYgAACCIAAAmlAAAIAgAACIIAAAhCAAAJ5QAQBwcAAAhaAAAIGgAACZUAFAdDAAAIegAACDoAAAnVABIHEwAACGoAAAgqAAAJtQAACAoAAAiKAAAISgAACfUAEAcFAAAIVgAACBYAQAgAABMHMwAACHYAAAg2AAAJzQARBw8AAAhmAAAIJgAACa0AAAgGAAAIhgAACEYAAAntABAHCQAACF4AAAgeAAAJnQAUB2MAAAh+AAAIPgAACd0AEgcbAAAIbgAACC4AAAm9AAAIDgAACI4AAAhOAAAJ/QBgBwAAAAhRAAAIEQAVCIMAEgcfAAAIcQAACDEAAAnDABAHCgAACGEAAAghAAAJowAACAEAAAiBAAAIQQAACeMAEAcGAAAIWQAACBkAAAmTABMHOwAACHkAAAg5AAAJ0wARBxEAAAhpAAAIKQAACbMAAAgJAAAIiQAACEkAAAnzABAHBAAACFUAAAgVABAIAgETBysAAAh1AAAINQAACcsAEQcNAAAIZQAACCUAAAmrAAAIBQAACIUAAAhFAAAJ6wAQBwgAAAhdAAAIHQAACZsAFAdTAAAIfQAACD0AAAnbABIHFwAACG0AAAgtAAAJuwAACA0AAAiNAAAITQAACfsAEAcDAAAIUwAACBMAFQjDABMHIwAACHMAAAgzAAAJxwARBwsAAAhjAAAIIwAACacAAAgDAAAIgwAACEMAAAnnABAHBwAACFsAAAgbAAAJlwAUB0MAAAh7AAAIOwAACdcAEgcTAAAIawAACCsAAAm3AAAICwAACIsAAAhLAAAJ9wAQBwUAAAhXAAAIFwBACAAAEwczAAAIdwAACDcAAAnPABEHDwAACGcAAAgnAAAJrwAACAcAAAiHAAAIRwAACe8AEAcJAAAIXwAACB8AAAmfABQHYwAACH8AAAg/AAAJ3wASBxsAAAhvAAAILwAACb8AAAgPAAAIjwAACE8AAAn/ABAFAQAXBQEBEwURABsFARARBQUAGQUBBBUFQQAdBQFAEAUDABgFAQIUBSEAHAUBIBIFCQAaBQEIFgWBAEAFAAAQBQIAFwWBARMFGQAbBQEYEQUHABkFAQYVBWEAHQUBYBAFBAAYBQEDFAUxABwFATASBQ0AGgUBDBYFwQBABQAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAEACQsLAAAJBgsAAAsABhEAAAAREREAQYGEAQshCwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAEG7hAELAQwAQceEAQsVDAAAAAAMAAAAAAkMAAAAAAAMAAAMAEH1hAELAQ4AQYGFAQsVDQAAAAQNAAAAAAkOAAAAAAAOAAAOAEGvhQELARAAQbuFAQseDwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAEHyhQELDhIAAAASEhIAAAAAAAAJAEGjhgELAQsAQa+GAQsVCgAAAAAKAAAAAAkLAAAAAAALAAALAEHdhgELAQwAQemGAQsnDAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGAEG0hwELARkAQduHAQsF//////8AQaCIAQtXGRJEOwI/LEcUPTMwChsGRktFNw9JDo4XA0AdPGkrNh9KLRwBICUpIQgMFRYiLhA4Pgs0MRhkdHV2L0EJfzkRI0MyQomKiwUEJignDSoeNYwHGkiTE5SVAEGAiQELig5JbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgBBkJcBC1JQUFAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAAAEAAAAIAAAAlEsAALRLAEGQmQELAgxQAEHImQELCR8AAADkTAAAAwBB5JkBC4wBLfRRWM+MscBG9rXLKTEDxwRbcDC0Xf0geH+LmthZKVBoSImrp1YDbP+3zYg/1He0K6WjcPG65Kj8QYP92W/hinovLXSWBx8NCV4Ddixw90ClLKdvV0GoqnTfoFhkA0rHxDxTrq9fGAQVseNtKIarDKS/Q/DpUIE5VxZSN/////////////////////8="; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } else { + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + } + } catch (err2) { + abort(err2); + } + } + function instantiateSync(file, info) { + var instance; + var module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if (str.includes("imported Memory") || str.includes("memory import")) { + err( + "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + return [instance, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["u"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["pa"]; + addOnInit(Module["asm"]["v"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; + } + var tempDouble; + var tempI64; + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === void 0) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _gmtime_r(time, tmPtr) { + var date = new Date(HEAP32[time >> 2] * 1e3); + HEAP32[tmPtr >> 2] = date.getUTCSeconds(); + HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); + HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); + HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); + HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); + HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + HEAP32[tmPtr + 36 >> 2] = 0; + HEAP32[tmPtr + 32 >> 2] = 0; + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + if (!_gmtime_r.GMTString) + _gmtime_r.GMTString = allocateUTF8("GMT"); + HEAP32[tmPtr + 40 >> 2] = _gmtime_r.GMTString; + return tmPtr; + } + function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); + } + var PATH = { + splitPath: function(filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + }, + normalizeArray: function(parts, allowAboveRoot) { + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === ".") { + parts.splice(i, 1); + } else if (last === "..") { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + if (allowAboveRoot) { + for (; up; up--) { + parts.unshift(".."); + } + } + return parts; + }, + normalize: function(path) { + var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; + path = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + !isAbsolute + ).join("/"); + if (!path && !isAbsolute) { + path = "."; + } + if (path && trailingSlash) { + path += "/"; + } + return (isAbsolute ? "/" : "") + path; + }, + dirname: function(path) { + var result = PATH.splitPath(path), root = result[0], dir = result[1]; + if (!root && !dir) { + return "."; + } + if (dir) { + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + }, + basename: function(path) { + if (path === "/") + return "/"; + path = PATH.normalize(path); + path = path.replace(/\/$/, ""); + var lastSlash = path.lastIndexOf("/"); + if (lastSlash === -1) + return path; + return path.substr(lastSlash + 1); + }, + extname: function(path) { + return PATH.splitPath(path)[3]; + }, + join: function() { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join("/")); + }, + join2: function(l, r) { + return PATH.normalize(l + "/" + r); + } + }; + function getRandomDevice() { + { + try { + var crypto_module = require("crypto"); + return function() { + return crypto_module["randomBytes"](1)[0]; + }; + } catch (e) { + } + } + return function() { + abort("randomDevice"); + }; + } + var PATH_FS = { + resolve: function() { + var resolvedPath = "", resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = i >= 0 ? arguments[i] : FS.cwd(); + if (typeof path !== "string") { + throw new TypeError("Arguments to path.resolve must be strings"); + } else if (!path) { + return ""; + } + resolvedPath = path + "/" + resolvedPath; + resolvedAbsolute = path.charAt(0) === "/"; + } + resolvedPath = PATH.normalizeArray( + resolvedPath.split("/").filter(function(p) { + return !!p; + }), + !resolvedAbsolute + ).join("/"); + return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; + }, + relative: function(from, to) { + from = PATH_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== "") + break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== "") + break; + } + if (start > end) + return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split("/")); + var toParts = trim(to.split("/")); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push(".."); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join("/"); + } + }; + var TTY = { + ttys: [], + init: function() { + }, + shutdown: function() { + }, + register: function(dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops }; + FS.registerDevice(dev, TTY.stream_ops); + }, + stream_ops: { + open: function(stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(43); + } + stream.tty = tty; + stream.seekable = false; + }, + close: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + flush: function(stream) { + stream.tty.ops.flush(stream.tty); + }, + read: function(stream, buffer2, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(60); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer2[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer2, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer2[offset + i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }, + default_tty_ops: { + get_char: function(tty) { + if (!tty.input.length) { + var result = null; + { + var BUFSIZE = 256; + var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + try { + bytesRead = nodeFS.readSync( + process.stdin.fd, + buf, + 0, + BUFSIZE, + null + ); + } catch (e) { + if (e.toString().includes("EOF")) + bytesRead = 0; + else + throw e; + } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString("utf-8"); + } else { + result = null; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + }, + put_char: function(tty, val) { + if (val === null || val === 10) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + }, + default_tty1_ops: { + put_char: function(tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) + tty.output.push(val); + } + }, + flush: function(tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + } + } + }; + function mmapAlloc(size) { + var alignedSize = alignMemory(size, 65536); + var ptr = _malloc(alignedSize); + while (size < alignedSize) + HEAP8[ptr + size++] = 0; + return ptr; + } + var MEMFS = { + ops_table: null, + mount: function(mount) { + return MEMFS.createNode(null, "/", 16384 | 511, 0); + }, + createNode: function(parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { llseek: MEMFS.stream_ops.llseek } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + if (parent) { + parent.contents[name] = node; + parent.timestamp = node.timestamp; + } + return node; + }, + getFileDataAsTypedArray: function(node) { + if (!node.contents) + return new Uint8Array(0); + if (node.contents.subarray) + return node.contents.subarray(0, node.usedBytes); + return new Uint8Array(node.contents); + }, + expandFileStorage: function(node, newCapacity) { + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) + return; + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max( + newCapacity, + prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) >>> 0 + ); + if (prevCapacity != 0) + newCapacity = Math.max(newCapacity, 256); + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); + if (node.usedBytes > 0) + node.contents.set(oldContents.subarray(0, node.usedBytes), 0); + }, + resizeFileStorage: function(node, newSize) { + if (node.usedBytes == newSize) + return; + if (newSize == 0) { + node.contents = null; + node.usedBytes = 0; + } else { + var oldContents = node.contents; + node.contents = new Uint8Array(newSize); + if (oldContents) { + node.contents.set( + oldContents.subarray(0, Math.min(newSize, node.usedBytes)) + ); + } + node.usedBytes = newSize; + } + }, + node_ops: { + getattr: function(node) { + var attr = {}; + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + }, + setattr: function(node, attr) { + if (attr.mode !== void 0) { + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + node.timestamp = attr.timestamp; + } + if (attr.size !== void 0) { + MEMFS.resizeFileStorage(node, attr.size); + } + }, + lookup: function(parent, name) { + throw FS.genericErrors[44]; + }, + mknod: function(parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + }, + rename: function(old_node, new_dir, new_name) { + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(55); + } + } + } + delete old_node.parent.contents[old_node.name]; + old_node.parent.timestamp = Date.now(); + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + new_dir.timestamp = old_node.parent.timestamp; + old_node.parent = new_dir; + }, + unlink: function(parent, name) { + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + rmdir: function(parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(55); + } + delete parent.contents[name]; + parent.timestamp = Date.now(); + }, + readdir: function(node) { + var entries = [".", ".."]; + for (var key2 in node.contents) { + if (!node.contents.hasOwnProperty(key2)) { + continue; + } + entries.push(key2); + } + return entries; + }, + symlink: function(parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); + node.link = oldpath; + return node; + }, + readlink: function(node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(28); + } + return node.link; + } + }, + stream_ops: { + read: function(stream, buffer2, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) + return 0; + var size = Math.min(stream.node.usedBytes - position, length); + if (size > 8 && contents.subarray) { + buffer2.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) + buffer2[offset + i] = contents[position + i]; + } + return size; + }, + write: function(stream, buffer2, offset, length, position, canOwn) { + if (buffer2.buffer === HEAP8.buffer) { + canOwn = false; + } + if (!length) + return 0; + var node = stream.node; + node.timestamp = Date.now(); + if (buffer2.subarray && (!node.contents || node.contents.subarray)) { + if (canOwn) { + node.contents = buffer2.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { + node.contents = buffer2.slice(offset, offset + length); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { + node.contents.set( + buffer2.subarray(offset, offset + length), + position + ); + return length; + } + } + MEMFS.expandFileStorage(node, position + length); + if (node.contents.subarray && buffer2.subarray) { + node.contents.set( + buffer2.subarray(offset, offset + length), + position + ); + } else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer2[offset + i]; + } + } + node.usedBytes = Math.max(node.usedBytes, position + length); + return length; + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + allocate: function(stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max( + stream.node.usedBytes, + offset + length + ); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr; + var allocated; + var contents = stream.node.contents; + if (!(flags & 2) && contents.buffer === buffer) { + allocated = false; + ptr = contents.byteOffset; + } else { + if (position > 0 || position + length < contents.length) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call( + contents, + position, + position + length + ); + } + } + allocated = true; + ptr = mmapAlloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + HEAP8.set(contents, ptr); + } + return { ptr, allocated }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + MEMFS.stream_ops.write( + stream, + buffer2, + 0, + length, + offset, + false + ); + return 0; + } + } + }; + var ERRNO_CODES = { + EPERM: 63, + ENOENT: 44, + ESRCH: 71, + EINTR: 27, + EIO: 29, + ENXIO: 60, + E2BIG: 1, + ENOEXEC: 45, + EBADF: 8, + ECHILD: 12, + EAGAIN: 6, + EWOULDBLOCK: 6, + ENOMEM: 48, + EACCES: 2, + EFAULT: 21, + ENOTBLK: 105, + EBUSY: 10, + EEXIST: 20, + EXDEV: 75, + ENODEV: 43, + ENOTDIR: 54, + EISDIR: 31, + EINVAL: 28, + ENFILE: 41, + EMFILE: 33, + ENOTTY: 59, + ETXTBSY: 74, + EFBIG: 22, + ENOSPC: 51, + ESPIPE: 70, + EROFS: 69, + EMLINK: 34, + EPIPE: 64, + EDOM: 18, + ERANGE: 68, + ENOMSG: 49, + EIDRM: 24, + ECHRNG: 106, + EL2NSYNC: 156, + EL3HLT: 107, + EL3RST: 108, + ELNRNG: 109, + EUNATCH: 110, + ENOCSI: 111, + EL2HLT: 112, + EDEADLK: 16, + ENOLCK: 46, + EBADE: 113, + EBADR: 114, + EXFULL: 115, + ENOANO: 104, + EBADRQC: 103, + EBADSLT: 102, + EDEADLOCK: 16, + EBFONT: 101, + ENOSTR: 100, + ENODATA: 116, + ETIME: 117, + ENOSR: 118, + ENONET: 119, + ENOPKG: 120, + EREMOTE: 121, + ENOLINK: 47, + EADV: 122, + ESRMNT: 123, + ECOMM: 124, + EPROTO: 65, + EMULTIHOP: 36, + EDOTDOT: 125, + EBADMSG: 9, + ENOTUNIQ: 126, + EBADFD: 127, + EREMCHG: 128, + ELIBACC: 129, + ELIBBAD: 130, + ELIBSCN: 131, + ELIBMAX: 132, + ELIBEXEC: 133, + ENOSYS: 52, + ENOTEMPTY: 55, + ENAMETOOLONG: 37, + ELOOP: 32, + EOPNOTSUPP: 138, + EPFNOSUPPORT: 139, + ECONNRESET: 15, + ENOBUFS: 42, + EAFNOSUPPORT: 5, + EPROTOTYPE: 67, + ENOTSOCK: 57, + ENOPROTOOPT: 50, + ESHUTDOWN: 140, + ECONNREFUSED: 14, + EADDRINUSE: 3, + ECONNABORTED: 13, + ENETUNREACH: 40, + ENETDOWN: 38, + ETIMEDOUT: 73, + EHOSTDOWN: 142, + EHOSTUNREACH: 23, + EINPROGRESS: 26, + EALREADY: 7, + EDESTADDRREQ: 17, + EMSGSIZE: 35, + EPROTONOSUPPORT: 66, + ESOCKTNOSUPPORT: 137, + EADDRNOTAVAIL: 4, + ENETRESET: 39, + EISCONN: 30, + ENOTCONN: 53, + ETOOMANYREFS: 141, + EUSERS: 136, + EDQUOT: 19, + ESTALE: 72, + ENOTSUP: 138, + ENOMEDIUM: 148, + EILSEQ: 25, + EOVERFLOW: 61, + ECANCELED: 11, + ENOTRECOVERABLE: 56, + EOWNERDEAD: 62, + ESTRPIPE: 135 + }; + var NODEFS = { + isWindows: false, + staticInit: function() { + NODEFS.isWindows = !!process.platform.match(/^win/); + var flags = { fs: fs.constants }; + if (flags["fs"]) { + flags = flags["fs"]; + } + NODEFS.flagsForNodeMap = { + 1024: flags["O_APPEND"], + 64: flags["O_CREAT"], + 128: flags["O_EXCL"], + 256: flags["O_NOCTTY"], + 0: flags["O_RDONLY"], + 2: flags["O_RDWR"], + 4096: flags["O_SYNC"], + 512: flags["O_TRUNC"], + 1: flags["O_WRONLY"] + }; + }, + bufferFrom: function(arrayBuffer) { + return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); + }, + convertNodeCode: function(e) { + var code = e.code; + return ERRNO_CODES[code]; + }, + mount: function(mount) { + return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); + }, + createNode: function(parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(28); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + }, + getMode: function(path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + stat.mode = stat.mode | (stat.mode & 292) >> 2; + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return stat.mode; + }, + realPath: function(node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + }, + flagsForNode: function(flags) { + flags &= ~2097152; + flags &= ~2048; + flags &= ~32768; + flags &= ~524288; + var newFlags = 0; + for (var k in NODEFS.flagsForNodeMap) { + if (flags & k) { + newFlags |= NODEFS.flagsForNodeMap[k]; + flags ^= k; + } + } + if (!flags) { + return newFlags; + } else { + throw new FS.ErrnoError(28); + } + }, + node_ops: { + getattr: function(node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + }, + setattr: function(node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== void 0) { + fs.chmodSync(path, attr.mode); + node.mode = attr.mode; + } + if (attr.timestamp !== void 0) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== void 0) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + lookup: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + }, + mknod: function(parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, "", { mode: node.mode }); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + return node; + }, + rename: function(oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + oldNode.name = newName; + }, + unlink: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + rmdir: function(parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readdir: function(node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + symlink: function(parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + readlink: function(node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative( + NODEJS_PATH.resolve(node.mount.opts.root), + path + ); + return path; + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + }, + stream_ops: { + open: function(stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + close: function(stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + read: function(stream, buffer2, offset, length, position) { + if (length === 0) + return 0; + try { + return fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + write: function(stream, buffer2, offset, length, position) { + try { + return fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + }, + llseek: function(stream, offset, whence) { + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(NODEFS.convertNodeCode(e)); + } + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + return position; + }, + mmap: function(stream, address, length, position, prot, flags) { + if (address !== 0) { + throw new FS.ErrnoError(28); + } + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + var ptr = mmapAlloc(length); + NODEFS.stream_ops.read(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (mmapFlags & 2) { + return 0; + } + NODEFS.stream_ops.write( + stream, + buffer2, + 0, + length, + offset, + false + ); + return 0; + } + } + }; + var NODERAWFS = { + lookupPath: function(path) { + return { path, node: { mode: NODEFS.getMode(path) } }; + }, + createStandardStreams: function() { + FS.streams[0] = { + fd: 0, + nfd: 0, + position: 0, + path: "", + flags: 0, + tty: true, + seekable: false + }; + for (var i = 1; i < 3; i++) { + FS.streams[i] = { + fd: i, + nfd: i, + position: 0, + path: "", + flags: 577, + tty: true, + seekable: false + }; + } + }, + cwd: function() { + return process.cwd(); + }, + chdir: function() { + process.chdir.apply(void 0, arguments); + }, + mknod: function(path, mode) { + if (FS.isDir(path)) { + fs.mkdirSync(path, mode); + } else { + fs.writeFileSync(path, "", { mode }); + } + }, + mkdir: function() { + fs.mkdirSync.apply(void 0, arguments); + }, + symlink: function() { + fs.symlinkSync.apply(void 0, arguments); + }, + rename: function() { + fs.renameSync.apply(void 0, arguments); + }, + rmdir: function() { + fs.rmdirSync.apply(void 0, arguments); + }, + readdir: function() { + fs.readdirSync.apply(void 0, arguments); + }, + unlink: function() { + fs.unlinkSync.apply(void 0, arguments); + }, + readlink: function() { + return fs.readlinkSync.apply(void 0, arguments); + }, + stat: function() { + return fs.statSync.apply(void 0, arguments); + }, + lstat: function() { + return fs.lstatSync.apply(void 0, arguments); + }, + chmod: function() { + fs.chmodSync.apply(void 0, arguments); + }, + fchmod: function() { + fs.fchmodSync.apply(void 0, arguments); + }, + chown: function() { + fs.chownSync.apply(void 0, arguments); + }, + fchown: function() { + fs.fchownSync.apply(void 0, arguments); + }, + truncate: function() { + fs.truncateSync.apply(void 0, arguments); + }, + ftruncate: function(fd, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + fs.ftruncateSync.apply(void 0, arguments); + }, + utime: function() { + fs.utimesSync.apply(void 0, arguments); + }, + open: function(path, flags, mode, suggestFD) { + if (typeof flags === "string") { + flags = VFS.modeStringToFlags(flags); + } + var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode); + var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd); + var stream = { + fd, + nfd, + position: 0, + path, + flags, + seekable: true + }; + FS.streams[fd] = stream; + return stream; + }, + close: function(stream) { + if (!stream.stream_ops) { + fs.closeSync(stream.nfd); + } + FS.closeStream(stream.fd); + }, + llseek: function(stream, offset, whence) { + if (stream.stream_ops) { + return VFS.llseek(stream, offset, whence); + } + var position = offset; + if (whence === 1) { + position += stream.position; + } else if (whence === 2) { + position += fs.fstatSync(stream.nfd).size; + } else if (whence !== 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + stream.position = position; + return position; + }, + read: function(stream, buffer2, offset, length, position) { + if (stream.stream_ops) { + return VFS.read(stream, buffer2, offset, length, position); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) + position = stream.position; + var bytesRead = fs.readSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer2, offset, length, position) { + if (stream.stream_ops) { + return VFS.write(stream, buffer2, offset, length, position); + } + if (stream.flags & +"1024") { + FS.llseek(stream, 0, +"2"); + } + var seeking = typeof position !== "undefined"; + if (!seeking && stream.seekable) + position = stream.position; + var bytesWritten = fs.writeSync( + stream.nfd, + NODEFS.bufferFrom(buffer2.buffer), + offset, + length, + position + ); + if (!seeking) + stream.position += bytesWritten; + return bytesWritten; + }, + allocate: function() { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + }, + mmap: function(stream, address, length, position, prot, flags) { + if (stream.stream_ops) { + return VFS.mmap(stream, address, length, position, prot, flags); + } + if (address !== 0) { + throw new FS.ErrnoError(28); + } + var ptr = mmapAlloc(length); + FS.read(stream, HEAP8, ptr, length, position); + return { ptr, allocated: true }; + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (stream.stream_ops) { + return VFS.msync(stream, buffer2, offset, length, mmapFlags); + } + if (mmapFlags & 2) { + return 0; + } + FS.write(stream, buffer2, 0, length, offset); + return 0; + }, + munmap: function() { + return 0; + }, + ioctl: function() { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + }; + var FS = { + root: null, + mounts: [], + devices: {}, + streams: [], + nextInode: 1, + nameTable: null, + currentPath: "/", + initialized: false, + ignorePermissions: true, + trackingDelegate: {}, + tracking: { openFlags: { READ: 1, WRITE: 2 } }, + ErrnoError: null, + genericErrors: {}, + filesystems: null, + syncFSRequests: 0, + lookupPath: function(path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + if (!path) + return { path: "", node: null }; + var defaults = { follow_mount: true, recurse_count: 0 }; + for (var key2 in defaults) { + if (opts[key2] === void 0) { + opts[key2] = defaults[key2]; + } + } + if (opts.recurse_count > 8) { + throw new FS.ErrnoError(32); + } + var parts = PATH.normalizeArray( + path.split("/").filter(function(p) { + return !!p; + }), + false + ); + var current = FS.root; + var current_path = "/"; + for (var i = 0; i < parts.length; i++) { + var islast = i === parts.length - 1; + if (islast && opts.parent) { + break; + } + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + if (FS.isMountpoint(current)) { + if (!islast || islast && opts.follow_mount) { + current = current.mounted.root; + } + } + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH_FS.resolve(PATH.dirname(current_path), link); + var lookup = FS.lookupPath(current_path, { + recurse_count: opts.recurse_count + }); + current = lookup.node; + if (count++ > 40) { + throw new FS.ErrnoError(32); + } + } + } + } + return { path: current_path, node: current }; + }, + getPath: function(node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) + return mount; + return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; + } + path = path ? node.name + "/" + path : node.name; + node = node.parent; + } + }, + hashName: function(parentid, name) { + var hash = 0; + for (var i = 0; i < name.length; i++) { + hash = (hash << 5) - hash + name.charCodeAt(i) | 0; + } + return (parentid + hash >>> 0) % FS.nameTable.length; + }, + hashAddNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + }, + hashRemoveNode: function(node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + }, + lookupNode: function(parent, name) { + var errCode = FS.mayLookup(parent); + if (errCode) { + throw new FS.ErrnoError(errCode, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + return FS.lookup(parent, name); + }, + createNode: function(parent, name, mode, rdev) { + var node = new FS.FSNode(parent, name, mode, rdev); + FS.hashAddNode(node); + return node; + }, + destroyNode: function(node) { + FS.hashRemoveNode(node); + }, + isRoot: function(node) { + return node === node.parent; + }, + isMountpoint: function(node) { + return !!node.mounted; + }, + isFile: function(mode) { + return (mode & 61440) === 32768; + }, + isDir: function(mode) { + return (mode & 61440) === 16384; + }, + isLink: function(mode) { + return (mode & 61440) === 40960; + }, + isChrdev: function(mode) { + return (mode & 61440) === 8192; + }, + isBlkdev: function(mode) { + return (mode & 61440) === 24576; + }, + isFIFO: function(mode) { + return (mode & 61440) === 4096; + }, + isSocket: function(mode) { + return (mode & 49152) === 49152; + }, + flagModes: { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, + modeStringToFlags: function(str) { + var flags = FS.flagModes[str]; + if (typeof flags === "undefined") { + throw new Error("Unknown file open mode: " + str); + } + return flags; + }, + flagsToPermissionString: function(flag) { + var perms = ["r", "w", "rw"][flag & 3]; + if (flag & 512) { + perms += "w"; + } + return perms; + }, + nodePermissions: function(node, perms) { + if (FS.ignorePermissions) { + return 0; + } + if (perms.includes("r") && !(node.mode & 292)) { + return 2; + } else if (perms.includes("w") && !(node.mode & 146)) { + return 2; + } else if (perms.includes("x") && !(node.mode & 73)) { + return 2; + } + return 0; + }, + mayLookup: function(dir) { + var errCode = FS.nodePermissions(dir, "x"); + if (errCode) + return errCode; + if (!dir.node_ops.lookup) + return 2; + return 0; + }, + mayCreate: function(dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, "wx"); + }, + mayDelete: function(dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var errCode = FS.nodePermissions(dir, "wx"); + if (errCode) { + return errCode; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + }, + mayOpen: function(node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + }, + MAX_OPEN_FDS: 4096, + nextfd: function(fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + }, + getStream: function(fd) { + return FS.streams[fd]; + }, + createStream: function(stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function() { + }; + FS.FSStream.prototype = { + object: { + get: function() { + return this.node; + }, + set: function(val) { + this.node = val; + } + }, + isRead: { + get: function() { + return (this.flags & 2097155) !== 1; + } + }, + isWrite: { + get: function() { + return (this.flags & 2097155) !== 0; + } + }, + isAppend: { + get: function() { + return this.flags & 1024; + } + } + }; + } + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + }, + closeStream: function(fd) { + FS.streams[fd] = null; + }, + chrdev_stream_ops: { + open: function(stream) { + var device = FS.getDevice(stream.node.rdev); + stream.stream_ops = device.stream_ops; + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + }, + llseek: function() { + throw new FS.ErrnoError(70); + } + }, + major: function(dev) { + return dev >> 8; + }, + minor: function(dev) { + return dev & 255; + }, + makedev: function(ma, mi) { + return ma << 8 | mi; + }, + registerDevice: function(dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + }, + getDevice: function(dev) { + return FS.devices[dev]; + }, + getMounts: function(mount) { + var mounts = []; + var check = [mount]; + while (check.length) { + var m = check.pop(); + mounts.push(m); + check.push.apply(check, m.mounts); + } + return mounts; + }, + syncfs: function(populate, callback) { + if (typeof populate === "function") { + callback = populate; + populate = false; + } + FS.syncFSRequests++; + if (FS.syncFSRequests > 1) { + err( + "warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work" + ); + } + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + function doCallback(errCode) { + FS.syncFSRequests--; + return callback(errCode); + } + function done(errCode) { + if (errCode) { + if (!done.errored) { + done.errored = true; + return doCallback(errCode); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + } + mounts.forEach(function(mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + }, + mount: function(type, opts, mountpoint) { + var root = mountpoint === "/"; + var pseudo = !mountpoint; + var node; + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + mountpoint = lookup.path; + node = lookup.node; + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + var mount = { + type, + opts, + mountpoint, + mounts: [] + }; + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + if (root) { + FS.root = mountRoot; + } else if (node) { + node.mounted = mount; + if (node.mount) { + node.mount.mounts.push(mount); + } + } + return mountRoot; + }, + unmount: function(mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(28); + } + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + Object.keys(FS.nameTable).forEach(function(hash) { + var current = FS.nameTable[hash]; + while (current) { + var next = current.name_next; + if (mounts.includes(current.mount)) { + FS.destroyNode(current); + } + current = next; + } + }); + node.mounted = null; + var idx = node.mount.mounts.indexOf(mount); + node.mount.mounts.splice(idx, 1); + }, + lookup: function(parent, name) { + return parent.node_ops.lookup(parent, name); + }, + mknod: function(path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === "." || name === "..") { + throw new FS.ErrnoError(28); + } + var errCode = FS.mayCreate(parent, name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + }, + create: function(path, mode) { + mode = mode !== void 0 ? mode : 438; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + }, + mkdir: function(path, mode) { + mode = mode !== void 0 ? mode : 511; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + }, + mkdirTree: function(path, mode) { + var dirs = path.split("/"); + var d = ""; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) + continue; + d += "/" + dirs[i]; + try { + FS.mkdir(d, mode); + } catch (e) { + if (e.errno != 20) + throw e; + } + } + }, + mkdev: function(path, mode, dev) { + if (typeof dev === "undefined") { + dev = mode; + mode = 438; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + }, + symlink: function(oldpath, newpath) { + if (!PATH_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + var newname = PATH.basename(newpath); + var errCode = FS.mayCreate(parent, newname); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.symlink(parent, newname, oldpath); + }, + rename: function(old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + var lookup, old_dir, new_dir; + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + if (!old_dir || !new_dir) + throw new FS.ErrnoError(44); + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + var old_node = FS.lookupNode(old_dir, old_name); + var relative = PATH_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(28); + } + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== ".") { + throw new FS.ErrnoError(55); + } + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (old_node === new_node) { + return; + } + var isdir = FS.isDir(old_node.mode); + var errCode = FS.mayDelete(old_dir, old_name, isdir); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + errCode = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { + throw new FS.ErrnoError(10); + } + if (new_dir !== old_dir) { + errCode = FS.nodePermissions(old_dir, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + try { + if (FS.trackingDelegate["willMovePath"]) { + FS.trackingDelegate["willMovePath"](old_path, new_path); + } + } catch (e) { + err( + "FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message + ); + } + FS.hashRemoveNode(old_node); + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate["onMovePath"]) + FS.trackingDelegate["onMovePath"](old_path, new_path); + } catch (e) { + err( + "FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message + ); + } + }, + rmdir: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, true); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + }, + readdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(54); + } + return node.node_ops.readdir(node); + }, + unlink: function(path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var errCode = FS.mayDelete(parent, name, false); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + try { + if (FS.trackingDelegate["willDeletePath"]) { + FS.trackingDelegate["willDeletePath"](path); + } + } catch (e) { + err( + "FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate["onDeletePath"]) + FS.trackingDelegate["onDeletePath"](path); + } catch (e) { + err( + "FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message + ); + } + }, + readlink: function(path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve( + FS.getPath(link.parent), + link.node_ops.readlink(link) + ); + }, + stat: function(path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + return node.node_ops.getattr(node); + }, + lstat: function(path) { + return FS.stat(path, true); + }, + chmod: function(path, mode, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { + mode: mode & 4095 | node.mode & ~4095, + timestamp: Date.now() + }); + }, + lchmod: function(path, mode) { + FS.chmod(path, mode, true); + }, + fchmod: function(fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chmod(stream.node, mode); + }, + chown: function(path, uid, gid, dontFollow) { + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + node.node_ops.setattr(node, { timestamp: Date.now() }); + }, + lchown: function(path, uid, gid) { + FS.chown(path, uid, gid, true); + }, + fchown: function(fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + FS.chown(stream.node, uid, gid); + }, + truncate: function(path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + var node; + if (typeof path === "string") { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + var errCode = FS.nodePermissions(node, "w"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); + }, + ftruncate: function(fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + FS.truncate(stream.node, len); + }, + utime: function(path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); + }, + open: function(path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(44); + } + flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === "undefined" ? 438 : mode; + if (flags & 64) { + mode = mode & 4095 | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === "object") { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); + node = lookup.node; + } catch (e) { + } + } + var created = false; + if (flags & 64) { + if (node) { + if (flags & 128) { + throw new FS.ErrnoError(20); + } + } else { + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + if (flags & 65536 && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + if (!created) { + var errCode = FS.mayOpen(node, flags); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + } + if (flags & 512) { + FS.truncate(node, 0); + } + flags &= ~(128 | 512 | 131072); + var stream = FS.createStream( + { + node, + path: FS.getPath(node), + flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + ungotten: [], + error: false + }, + fd_start, + fd_end + ); + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module["logReadFiles"] && !(flags & 1)) { + if (!FS.readFiles) + FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + err("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate["onOpenFile"]) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate["onOpenFile"](path, trackingFlags); + } + } catch (e) { + err( + "FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message + ); + } + return stream; + }, + close: function(stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (stream.getdents) + stream.getdents = null; + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + stream.fd = null; + }, + isClosed: function(stream) { + return stream.fd === null; + }, + llseek: function(stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + }, + read: function(stream, buffer2, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesRead = stream.stream_ops.read( + stream, + buffer2, + offset, + length, + position + ); + if (!seeking) + stream.position += bytesRead; + return bytesRead; + }, + write: function(stream, buffer2, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.seekable && stream.flags & 1024) { + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== "undefined"; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write( + stream, + buffer2, + offset, + length, + position, + canOwn + ); + if (!seeking) + stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate["onWriteToFile"]) + FS.trackingDelegate["onWriteToFile"](stream.path); + } catch (e) { + err( + "FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message + ); + } + return bytesWritten; + }, + allocate: function(stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + }, + mmap: function(stream, address, length, position, prot, flags) { + if ((prot & 2) !== 0 && (flags & 2) === 0 && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + return stream.stream_ops.mmap( + stream, + address, + length, + position, + prot, + flags + ); + }, + msync: function(stream, buffer2, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync( + stream, + buffer2, + offset, + length, + mmapFlags + ); + }, + munmap: function(stream) { + return 0; + }, + ioctl: function(stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + }, + readFile: function(path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 0; + opts.encoding = opts.encoding || "binary"; + if (opts.encoding !== "utf8" && opts.encoding !== "binary") { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === "utf8") { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === "binary") { + ret = buf; + } + FS.close(stream); + return ret; + }, + writeFile: function(path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 577; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === "string") { + var buf = new Uint8Array(lengthBytesUTF8(data) + 1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, void 0, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, void 0, opts.canOwn); + } else { + throw new Error("Unsupported data type"); + } + FS.close(stream); + }, + cwd: function() { + return FS.currentPath; + }, + chdir: function(path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + var errCode = FS.nodePermissions(lookup.node, "x"); + if (errCode) { + throw new FS.ErrnoError(errCode); + } + FS.currentPath = lookup.path; + }, + createDefaultDirectories: function() { + FS.mkdir("/tmp"); + FS.mkdir("/home"); + FS.mkdir("/home/web_user"); + }, + createDefaultDevices: function() { + FS.mkdir("/dev"); + FS.registerDevice(FS.makedev(1, 3), { + read: function() { + return 0; + }, + write: function(stream, buffer2, offset, length, pos) { + return length; + } + }); + FS.mkdev("/dev/null", FS.makedev(1, 3)); + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev("/dev/tty", FS.makedev(5, 0)); + FS.mkdev("/dev/tty1", FS.makedev(6, 0)); + var random_device = getRandomDevice(); + FS.createDevice("/dev", "random", random_device); + FS.createDevice("/dev", "urandom", random_device); + FS.mkdir("/dev/shm"); + FS.mkdir("/dev/shm/tmp"); + }, + createSpecialDirectories: function() { + FS.mkdir("/proc"); + var proc_self = FS.mkdir("/proc/self"); + FS.mkdir("/proc/self/fd"); + FS.mount( + { + mount: function() { + var node = FS.createNode(proc_self, "fd", 16384 | 511, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + var ret = { + parent: null, + mount: { mountpoint: "fake" }, + node_ops: { + readlink: function() { + return stream.path; + } + } + }; + ret.parent = ret; + return ret; + } + }; + return node; + } + }, + {}, + "/proc/self/fd" + ); + }, + createStandardStreams: function() { + if (Module["stdin"]) { + FS.createDevice("/dev", "stdin", Module["stdin"]); + } else { + FS.symlink("/dev/tty", "/dev/stdin"); + } + if (Module["stdout"]) { + FS.createDevice("/dev", "stdout", null, Module["stdout"]); + } else { + FS.symlink("/dev/tty", "/dev/stdout"); + } + if (Module["stderr"]) { + FS.createDevice("/dev", "stderr", null, Module["stderr"]); + } else { + FS.symlink("/dev/tty1", "/dev/stderr"); + } + FS.open("/dev/stdin", 0); + FS.open("/dev/stdout", 1); + FS.open("/dev/stderr", 1); + }, + ensureErrnoError: function() { + if (FS.ErrnoError) + return; + FS.ErrnoError = function ErrnoError(errno, node) { + this.node = node; + this.setErrno = function(errno2) { + this.errno = errno2; + }; + this.setErrno(errno); + this.message = "FS error"; + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + [44].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ""; + }); + }, + staticInit: function() { + FS.ensureErrnoError(); + FS.nameTable = new Array(4096); + FS.mount(MEMFS, {}, "/"); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + FS.filesystems = { MEMFS, NODEFS }; + }, + init: function(input, output, error) { + FS.init.initialized = true; + FS.ensureErrnoError(); + Module["stdin"] = input || Module["stdin"]; + Module["stdout"] = output || Module["stdout"]; + Module["stderr"] = error || Module["stderr"]; + FS.createStandardStreams(); + }, + quit: function() { + FS.init.initialized = false; + var fflush = Module["_fflush"]; + if (fflush) + fflush(0); + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + }, + getMode: function(canRead, canWrite) { + var mode = 0; + if (canRead) + mode |= 292 | 73; + if (canWrite) + mode |= 146; + return mode; + }, + findObject: function(path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + return null; + } + }, + analyzePath: function(path, dontResolveLastLink) { + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, + exists: false, + error: 0, + name: null, + path: null, + object: null, + parentExists: false, + parentPath: null, + parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === "/"; + } catch (e) { + ret.error = e.errno; + } + return ret; + }, + createPath: function(parent, path, canRead, canWrite) { + parent = typeof parent === "string" ? parent : FS.getPath(parent); + var parts = path.split("/").reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) + continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + } + parent = current; + } + return current; + }, + createFile: function(parent, name, properties, canRead, canWrite) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + }, + createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === "string") { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) + arr[i] = data.charCodeAt(i); + data = arr; + } + FS.chmod(node, mode | 146); + var stream = FS.open(node, 577); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + }, + createDevice: function(parent, name, input, output) { + var path = PATH.join2( + typeof parent === "string" ? parent : FS.getPath(parent), + name + ); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) + FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer2, offset, length, pos) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(29); + } + if (result === void 0 && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + if (result === null || result === void 0) + break; + bytesRead++; + buffer2[offset + i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer2, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer2[offset + i]); + } catch (e) { + throw new FS.ErrnoError(29); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + }, + forceLoadFile: function(obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) + return true; + if (read_) { + try { + obj.contents = intArrayFromString(read_(obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + throw new FS.ErrnoError(29); + } + } else { + throw new Error("Cannot load without read() or XMLHttpRequest."); + } + }, + createLazyFile: function(parent, name, url, canRead, canWrite) { + var properties; { + var properties = { isDevice: false, url }; + } + var node = FS.createFile(parent, name, properties, canRead, canWrite); + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + Object.defineProperties(node, { + usedBytes: { + get: function() { + return this.contents.length; + } + } + }); + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key2) { + var fn = node.stream_ops[key2]; + stream_ops[key2] = function forceLoadLazyFile() { + FS.forceLoadFile(node); + return fn.apply(null, arguments); + }; + }); + stream_ops.read = function stream_ops_read(stream, buffer2, offset, length, position) { + FS.forceLoadFile(node); + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + if (contents.slice) { + for (var i = 0; i < size; i++) { + buffer2[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { + buffer2[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + }, + createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); + var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; + function processData(byteArray) { + function finish(byteArray2) { + if (preFinish) + preFinish(); + if (!dontCreateFile) { + FS.createDataFile( + parent, + name, + byteArray2, + canRead, + canWrite, + canOwn + ); + } + if (onload) + onload(); + removeRunDependency(); + } + var handled = false; + Module["preloadPlugins"].forEach(function(plugin) { + if (handled) + return; + if (plugin["canHandle"](fullname)) { + plugin["handle"](byteArray, fullname, finish, function() { + if (onerror) + onerror(); + removeRunDependency(); + }); + handled = true; + } + }); + if (!handled) + finish(byteArray); + } + addRunDependency(); + if (typeof url == "string") { + Browser.asyncLoad( + url, + function(byteArray) { + processData(byteArray); + }, + onerror + ); + } else { + processData(url); + } + }, + indexedDB: function() { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + }, + DB_NAME: function() { + return "EM_FS_" + window.location.pathname; + }, + DB_VERSION: 20, + DB_STORE_NAME: "FILE_DATA", + saveFilesToDB: function(paths, onload, onerror) { + onload = onload || function() { + }; + onerror = onerror || function() { + }; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + out("creating db"); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite"); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put( + FS.analyzePath(path).object.contents, + path + ); + putRequest.onsuccess = function putRequest_onsuccess() { + ok++; + if (ok + fail == total) + finish(); + }; + putRequest.onerror = function putRequest_onerror() { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }, + loadFilesFromDB: function(paths, onload, onerror) { + onload = onload || function() { + }; + onerror = onerror || function() { + }; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], "readonly"); + } catch (e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) + onload(); + else + onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile( + PATH.dirname(path), + PATH.basename(path), + getRequest.result, + true, + true, + true + ); + ok++; + if (ok + fail == total) + finish(); + }; + getRequest.onerror = function getRequest_onerror() { + fail++; + if (ok + fail == total) + finish(); + }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + } + }; + var SYSCALLS = { + mappings: {}, + DEFAULT_POLLMASK: 5, + umask: 511, + calculateAt: function(dirfd, path, allowEmpty) { + if (path[0] === "/") { + return path; + } + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) + throw new FS.ErrnoError(8); + dir = dirstream.path; + } + if (path.length == 0) { + if (!allowEmpty) { + throw new FS.ErrnoError(44); + } + return dir; + } + return PATH.join2(dir, path); + }, + doStat: function(func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + return -54; + } + throw e; + } + HEAP32[buf >> 2] = stat.dev; + HEAP32[buf + 4 >> 2] = 0; + HEAP32[buf + 8 >> 2] = stat.ino; + HEAP32[buf + 12 >> 2] = stat.mode; + HEAP32[buf + 16 >> 2] = stat.nlink; + HEAP32[buf + 20 >> 2] = stat.uid; + HEAP32[buf + 24 >> 2] = stat.gid; + HEAP32[buf + 28 >> 2] = stat.rdev; + HEAP32[buf + 32 >> 2] = 0; + tempI64 = [ + stat.size >>> 0, + (tempDouble = stat.size, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1]; + HEAP32[buf + 48 >> 2] = 4096; + HEAP32[buf + 52 >> 2] = stat.blocks; + HEAP32[buf + 56 >> 2] = stat.atime.getTime() / 1e3 | 0; + HEAP32[buf + 60 >> 2] = 0; + HEAP32[buf + 64 >> 2] = stat.mtime.getTime() / 1e3 | 0; + HEAP32[buf + 68 >> 2] = 0; + HEAP32[buf + 72 >> 2] = stat.ctime.getTime() / 1e3 | 0; + HEAP32[buf + 76 >> 2] = 0; + tempI64 = [ + stat.ino >>> 0, + (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[buf + 80 >> 2] = tempI64[0], HEAP32[buf + 84 >> 2] = tempI64[1]; + return 0; + }, + doMsync: function(addr, stream, len, flags, offset) { + var buffer2 = HEAPU8.slice(addr, addr + len); + FS.msync(stream, buffer2, offset, len, flags); + }, + doMkdir: function(path, mode) { + path = PATH.normalize(path); + if (path[path.length - 1] === "/") + path = path.substr(0, path.length - 1); + FS.mkdir(path, mode, 0); + return 0; + }, + doMknod: function(path, mode, dev) { + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: + return -28; + } + FS.mknod(path, mode, dev); + return 0; + }, + doReadlink: function(path, buf, bufsize) { + if (bufsize <= 0) + return -28; + var ret = FS.readlink(path); + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf + len]; + stringToUTF8(ret, buf, bufsize + 1); + HEAP8[buf + len] = endChar; + return len; + }, + doAccess: function(path, amode) { + if (amode & ~7) { + return -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ""; + if (amode & 4) + perms += "r"; + if (amode & 2) + perms += "w"; + if (amode & 1) + perms += "x"; + if (perms && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + }, + doDup: function(path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) + FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + }, + doReadv: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.read(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + if (curr < len) + break; + } + return ret; + }, + doWritev: function(stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2]; + var len = HEAP32[iov + (i * 8 + 4) >> 2]; + var curr = FS.write(stream, HEAP8, ptr, len, offset); + if (curr < 0) + return -1; + ret += curr; + } + return ret; + }, + varargs: void 0, + get: function() { + SYSCALLS.varargs += 4; + var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; + return ret; + }, + getStr: function(ptr) { + var ret = UTF8ToString(ptr); + return ret; + }, + getStreamFromFD: function(fd) { + var stream = FS.getStream(fd); + if (!stream) + throw new FS.ErrnoError(8); + return stream; + }, + get64: function(low, high) { + return low; + } + }; + function ___sys_chmod(path, mode) { + try { + path = SYSCALLS.getStr(path); + FS.chmod(path, mode); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function setErrNo(value) { + HEAP32[___errno_location() >> 2] = value; + return value; + } + function ___sys_fcntl64(fd, cmd, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -28; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + HEAP16[arg + offset >> 1] = 2; + return 0; + } + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + setErrNo(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_fstat64(fd, buf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + return SYSCALLS.doStat(FS.stat, stream.path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_ioctl(fd, op, varargs) { + SYSCALLS.varargs = varargs; + try { + var stream = SYSCALLS.getStreamFromFD(fd); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) + return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) + return -59; + return 0; + } + case 21519: { + if (!stream.tty) + return -59; + var argp = SYSCALLS.get(); + HEAP32[argp >> 2] = 0; + return 0; + } + case 21520: { + if (!stream.tty) + return -59; + return -28; + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + if (!stream.tty) + return -59; + return 0; + } + case 21524: { + if (!stream.tty) + return -59; + return 0; + } + default: + abort("bad ioctl syscall " + op); + } + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_open(path, flags, varargs) { + SYSCALLS.varargs = varargs; + try { + var pathname = SYSCALLS.getStr(path); + var mode = varargs ? SYSCALLS.get() : 0; + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_rename(old_path, new_path) { + try { + old_path = SYSCALLS.getStr(old_path); + new_path = SYSCALLS.getStr(new_path); + FS.rename(old_path, new_path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_rmdir(path) { + try { + path = SYSCALLS.getStr(path); + FS.rmdir(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_stat64(path, buf) { + try { + path = SYSCALLS.getStr(path); + return SYSCALLS.doStat(FS.stat, path, buf); + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function ___sys_unlink(path) { + try { + path = SYSCALLS.getStr(path); + FS.unlink(path); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return -e.errno; + } + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min( + overGrownHeapSize, + requestedSize + 100663296 + ); + var newSize = Math.min( + maxHeapSize, + alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + function _fd_close(fd) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_fdstat_get(fd, pbuf) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var type = stream.tty ? 2 : FS.isDir(stream.mode) ? 3 : FS.isLink(stream.mode) ? 7 : 4; + HEAP8[pbuf >> 0] = type; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_read(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 4294967296; + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + var DOUBLE_LIMIT = 9007199254740992; + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + FS.llseek(stream, offset, whence); + tempI64 = [ + stream.position >>> 0, + (tempDouble = stream.position, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil( + (tempDouble - +(~~tempDouble >>> 0)) / 4294967296 + ) >>> 0 : 0) + ], HEAP32[newOffset >> 2] = tempI64[0], HEAP32[newOffset + 4 >> 2] = tempI64[1]; + if (stream.getdents && offset === 0 && whence === 0) + stream.getdents = null; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _fd_write(fd, iov, iovcnt, pnum) { + try { + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[pnum >> 2] = num; + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) + abort(e); + return e.errno; + } + } + function _setTempRet0(val) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + HEAP32[ptr >> 2] = ret; + } + return ret; + } + function _tzset() { + if (_tzset.called) + return; + _tzset.called = true; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + HEAP32[__get_timezone() >> 2] = stdTimezoneOffset * 60; + HEAP32[__get_daylight() >> 2] = Number(winterOffset != summerOffset); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + HEAP32[__get_tzname() >> 2] = winterNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr; + } else { + HEAP32[__get_tzname() >> 2] = summerNamePtr; + HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr; + } + } + function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + HEAP32[tmPtr + 20 >> 2] + 1900, + HEAP32[tmPtr + 16 >> 2], + HEAP32[tmPtr + 12 >> 2], + HEAP32[tmPtr + 8 >> 2], + HEAP32[tmPtr + 4 >> 2], + HEAP32[tmPtr >> 2], + 0 + ); + var date = new Date(time); + HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + HEAP32[tmPtr + 28 >> 2] = yday; + return date.getTime() / 1e3 | 0; + } + var FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + var readMode = 292 | 73; + var writeMode = 146; + Object.defineProperties(FSNode.prototype, { + read: { + get: function() { + return (this.mode & readMode) === readMode; + }, + set: function(val) { + val ? this.mode |= readMode : this.mode &= ~readMode; + } + }, + write: { + get: function() { + return (this.mode & writeMode) === writeMode; + }, + set: function(val) { + val ? this.mode |= writeMode : this.mode &= ~writeMode; + } + }, + isFolder: { + get: function() { + return FS.isDir(this.mode); + } + }, + isDevice: { + get: function() { + return FS.isChrdev(this.mode); + } + } + }); + FS.FSNode = FSNode; + FS.staticInit(); + { + var fs = frozenFs; + var NODEJS_PATH = path__default.default; + NODEFS.staticInit(); + } + { + var _wrapNodeError = function(func) { + return function() { + try { + return func.apply(this, arguments); + } catch (e) { + if (!e.code) + throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }; + }; + var VFS = Object.assign({}, FS); + for (var _key in NODERAWFS) + FS[_key] = _wrapNodeError(NODERAWFS[_key]); + } + function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; + var u8array = new Array(len); + var numBytesWritten = stringToUTF8Array( + stringy, + u8array, + 0, + u8array.length + ); + if (dontAddNull) + u8array.length = numBytesWritten; + return u8array; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); + } + var asmLibraryArg = { + s: ___gmtime_r, + p: ___sys_chmod, + e: ___sys_fcntl64, + k: ___sys_fstat64, + o: ___sys_ioctl, + q: ___sys_open, + i: ___sys_rename, + r: ___sys_rmdir, + c: ___sys_stat64, + h: ___sys_unlink, + l: _emscripten_memcpy_big, + m: _emscripten_resize_heap, + f: _fd_close, + j: _fd_fdstat_get, + g: _fd_read, + n: _fd_seek, + d: _fd_write, + a: _setTempRet0, + b: _time, + t: _timegm + }; + var asm = createWasm(); + Module["___wasm_call_ctors"] = asm["v"]; + Module["_zip_ext_count_symlinks"] = asm["w"]; + Module["_zip_file_get_external_attributes"] = asm["x"]; + Module["_zipstruct_stat"] = asm["y"]; + Module["_zipstruct_statS"] = asm["z"]; + Module["_zipstruct_stat_name"] = asm["A"]; + Module["_zipstruct_stat_index"] = asm["B"]; + Module["_zipstruct_stat_size"] = asm["C"]; + Module["_zipstruct_stat_mtime"] = asm["D"]; + Module["_zipstruct_stat_crc"] = asm["E"]; + Module["_zipstruct_error"] = asm["F"]; + Module["_zipstruct_errorS"] = asm["G"]; + Module["_zipstruct_error_code_zip"] = asm["H"]; + Module["_zipstruct_stat_comp_size"] = asm["I"]; + Module["_zipstruct_stat_comp_method"] = asm["J"]; + Module["_zip_close"] = asm["K"]; + Module["_zip_delete"] = asm["L"]; + Module["_zip_dir_add"] = asm["M"]; + Module["_zip_discard"] = asm["N"]; + Module["_zip_error_init_with_code"] = asm["O"]; + Module["_zip_get_error"] = asm["P"]; + Module["_zip_file_get_error"] = asm["Q"]; + Module["_zip_error_strerror"] = asm["R"]; + Module["_zip_fclose"] = asm["S"]; + Module["_zip_file_add"] = asm["T"]; + Module["_free"] = asm["U"]; + var _malloc = Module["_malloc"] = asm["V"]; + var ___errno_location = Module["___errno_location"] = asm["W"]; + Module["_zip_source_error"] = asm["X"]; + Module["_zip_source_seek"] = asm["Y"]; + Module["_zip_file_set_external_attributes"] = asm["Z"]; + Module["_zip_file_set_mtime"] = asm["_"]; + Module["_zip_fopen"] = asm["$"]; + Module["_zip_fopen_index"] = asm["aa"]; + Module["_zip_fread"] = asm["ba"]; + Module["_zip_get_name"] = asm["ca"]; + Module["_zip_get_num_entries"] = asm["da"]; + Module["_zip_source_read"] = asm["ea"]; + Module["_zip_name_locate"] = asm["fa"]; + Module["_zip_open"] = asm["ga"]; + Module["_zip_open_from_source"] = asm["ha"]; + Module["_zip_set_file_compression"] = asm["ia"]; + Module["_zip_source_buffer"] = asm["ja"]; + Module["_zip_source_buffer_create"] = asm["ka"]; + Module["_zip_source_close"] = asm["la"]; + Module["_zip_source_free"] = asm["ma"]; + Module["_zip_source_keep"] = asm["na"]; + Module["_zip_source_open"] = asm["oa"]; + Module["_zip_source_set_mtime"] = asm["qa"]; + Module["_zip_source_tell"] = asm["ra"]; + Module["_zip_stat"] = asm["sa"]; + Module["_zip_stat_index"] = asm["ta"]; + var __get_tzname = Module["__get_tzname"] = asm["ua"]; + var __get_daylight = Module["__get_daylight"] = asm["va"]; + var __get_timezone = Module["__get_timezone"] = asm["wa"]; + var stackSave = Module["stackSave"] = asm["xa"]; + var stackRestore = Module["stackRestore"] = asm["ya"]; + var stackAlloc = Module["stackAlloc"] = asm["za"]; + Module["cwrap"] = cwrap; + Module["getValue"] = getValue; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run(args) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return createModule2; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + `number` +]; +var Errors = /* @__PURE__ */ ((Errors2) => { + Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; + return Errors2; +})(Errors || {}); +const makeInterface = (libzip) => ({ + get HEAP8() { + return libzip.HEAP8; + }, + get HEAPU8() { + return libzip.HEAPU8; + }, + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_CREATE: 1, + ZIP_EXCL: 2, + ZIP_TRUNCATE: 8, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_FL_COMPRESSED: 4, + ZIP_OPSYS_DOS: 0, + ZIP_OPSYS_AMIGA: 1, + ZIP_OPSYS_OPENVMS: 2, + ZIP_OPSYS_UNIX: 3, + ZIP_OPSYS_VM_CMS: 4, + ZIP_OPSYS_ATARI_ST: 5, + ZIP_OPSYS_OS_2: 6, + ZIP_OPSYS_MACINTOSH: 7, + ZIP_OPSYS_Z_SYSTEM: 8, + ZIP_OPSYS_CPM: 9, + ZIP_OPSYS_WINDOWS_NTFS: 10, + ZIP_OPSYS_MVS: 11, + ZIP_OPSYS_VSE: 12, + ZIP_OPSYS_ACORN_RISC: 13, + ZIP_OPSYS_VFAT: 14, + ZIP_OPSYS_ALTERNATE_MVS: 15, + ZIP_OPSYS_BEOS: 16, + ZIP_OPSYS_TANDEM: 17, + ZIP_OPSYS_OS_400: 18, + ZIP_OPSYS_OS_X: 19, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: libzip._malloc(1), + uint16S: libzip._malloc(2), + uint32S: libzip._malloc(4), + uint64S: libzip._malloc(8), + malloc: libzip._malloc, + free: libzip._free, + getValue: libzip.getValue, + open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]), + openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: libzip.cwrap(`zip_close`, `number`, [`number`]), + discard: libzip.cwrap(`zip_discard`, null, [`number`]), + getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: libzip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]), + statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]), + fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: libzip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), + fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: libzip.cwrap(`zip_source_free`, null, [`number`]), + keep: libzip.cwrap(`zip_source_keep`, null, [`number`]), + open: libzip.cwrap(`zip_source_open`, `number`, [`number`]), + close: libzip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: libzip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: libzip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: libzip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: libzip.cwrap(`zip_source_error`, `number`, [`number`]), + setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`]) + }, + struct: { + stat: libzip.cwrap(`zipstruct_stat`, `number`, []), + statS: libzip.cwrap(`zipstruct_statS`, `number`, []), + statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]), + statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]), + statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: libzip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: libzip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: libzip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + error: libzip.cwrap(`zipstruct_error`, `number`, []), + errorS: libzip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: libzip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); + +let mod = null; +function getLibzipSync() { + if (mod === null) + mod = makeInterface(createModule()); + return mod; +} + +var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { + ErrorCode2["API_ERROR"] = `API_ERROR`; + ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; + ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; + ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; + ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; + ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; + ErrorCode2["INTERNAL"] = `INTERNAL`; + ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; + ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; + return ErrorCode2; +})(ErrorCode || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, + "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ +]); +function makeError(pnpCode, message, data = {}, code) { + code != null ? code : code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { + ...propertySpec, + value: code + }, + pnpCode: { + ...propertySpec, + value: pnpCode + }, + data: { + ...propertySpec, + value: data + } + }); +} +function getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +const builtinModules = new Set(require$$0.Module.builtinModules || Object.keys(process.binding(`natives`))); +const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +function reportRequiredFilesToWatchMode(files) { + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); + if (WATCH_MODE_MESSAGE_USES_ARRAYS) { + process.send({ "watch:require": files }); + } else { + for (const filename of files) { + process.send({ "watch:require": filename }); + } + } + } +} + +function applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof url.URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + var _a; + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = (_a = opts.manager.findApiPathFor(npath.join(path, `[file]`))) != null ? _a : opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (isBuiltinModule(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...rest } = options; + const forwardedOptions = Object.keys(rest).length > 0 ? rest : void 0; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = (parent == null ? void 0 : parent.filename) != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + var _a, _b; + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && ((_a = pkg.data) == null ? void 0 : _a.type) === `module`) { + const err = ERR_REQUIRE_ESM(filename, (_b = module.parent) == null ? void 0 : _b.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +function hydrateRuntimeState(data, { basePath }) { + const portablePath = npath.toPortablePath(basePath); + const absolutePortablePath = ppath.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageLocatorsByLocations = /* @__PURE__ */ new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + var _a; + if (packageName === null !== (packageReference === null)) + throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = (_a = packageInformationData.discardFromLookup) != null ? _a : false; + const packageLocator = { name: packageName, reference: packageReference }; + const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); + if (!entry) { + packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); + } else { + entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; + if (!discardFromLookup) { + entry.locator = packageLocator; + } + } + let resolvedPackageLocation = null; + return [packageReference, { + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup, + get packageLocation() { + return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); + } + }]; + }))]; + })); + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocatorsByLocations, + packageRegistry + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert__default.default(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( + "ERR_PACKAGE_PATH_NOT_EXPORTED", + (pkgPath, subpath, base = void 0) => { + if (subpath === ".") + return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + url.fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = url.fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), + url.fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && url.fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && url.fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) + return true; + if (typeof exports !== "object" || exports === null) + return false; + const keys = ObjectGetOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + for (let j = 0; j < keys.length; j++) { + const key = keys[j]; + const curIsConditionalSugar = key === "" || key[0] !== "."; + if (i++ === 0) { + isConditionalSugar = curIsConditionalSugar; + } else if (isConditionalSugar !== curIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` + ); + } + } + return isConditionalSugar; +} +function throwExportsNotFound(subpath, packageJSONUrl, base) { + throw new ERR_PACKAGE_PATH_NOT_EXPORTED( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + base && url.fileURLToPath(base) + ); +} +const emittedPackageWarnings = /* @__PURE__ */ new Set(); +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + const pjsonPath = url.fileURLToPath(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + "|" + match)) + return; + emittedPackageWarnings.add(pjsonPath + "|" + match); + process.emitWarning( + `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, + "DeprecationWarning", + "DEP0155" + ); +} +function packageExportsResolve({ + packageJSONUrl, + packageSubpath, + exports, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + "", + packageSubpath, + base, + false, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(exports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + packageSubpath, + StringPrototypeSlice(key, 0, patternIndex) + )) { + if (StringPrototypeEndsWith(packageSubpath, "/")) + emitTrailingSlashPatternDeprecation( + packageSubpath, + packageJSONUrl, + base + ); + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + packageSubpath, + patternIndex, + packageSubpath.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = exports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + throwExportsNotFound(packageSubpath, packageJSONUrl, base); +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + const aliases = {}; + const handlers = {}; + + for (const key of Object.keys(opts)) { + if (!key) { + throw new ArgError( + 'argument key cannot be an empty string', + 'ARG_CONFIG_EMPTY_KEY' + ); + } + + if (key[0] !== '-') { + throw new ArgError( + `argument key must start with '-' but found: '${key}'`, + 'ARG_CONFIG_NONOPT_KEY' + ); + } + + if (key.length === 1) { + throw new ArgError( + `argument key must have a name; singular '-' keys are not allowed: ${key}`, + 'ARG_CONFIG_NONAME_KEY' + ); + } + + if (typeof opts[key] === 'string') { + aliases[key] = opts[key]; + continue; + } + + let type = opts[key]; + let isFlag = false; + + if ( + Array.isArray(type) && + type.length === 1 && + typeof type[0] === 'function' + ) { + const [fn] = type; + type = (value, name, prev = []) => { + prev.push(fn(value, name, prev[prev.length - 1])); + return prev; + }; + isFlag = fn === Boolean || fn[flagSymbol] === true; + } else if (typeof type === 'function') { + isFlag = type === Boolean || type[flagSymbol] === true; + } else { + throw new ArgError( + `type missing or not a function or valid array type: ${key}`, + 'ARG_CONFIG_VAD_TYPE' + ); + } + + if (key[1] !== '-' && key.length > 2) { + throw new ArgError( + `short argument keys (with a single hyphen) must have only one character: ${key}`, + 'ARG_CONFIG_SHORTOPT_TOOLONG' + ); + } + + handlers[key] = [type, isFlag]; + } + + for (let i = 0, len = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + continue; + } else { + throw new ArgError( + `unknown or unexpected option: ${originalArgName}`, + 'ARG_UNKNOWN_OPTION' + ); + } + } + + const [type, isFlag] = handlers[argName]; + + if (!isFlag && j + 1 < separatedArguments.length) { + throw new ArgError( + `option requires argument (but was followed by another short argument): ${originalArgName}`, + 'ARG_MISSING_REQUIRED_SHORTARG' + ); + } + + if (isFlag) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && + (type === Number || + // eslint-disable-next-line no-undef + (typeof BigInt !== 'undefined' && type === BigInt)) + )) + ) { + const extended = + originalArgName === argName ? '' : ` (alias for ${argName})`; + throw new ArgError( + `option requires argument: ${originalArgName}${extended}`, + 'ARG_MISSING_REQUIRED_LONGARG' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + permissive: true + } + ); +} +function getNodeOptionsEnvArgv() { + const errors = []; + const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); + if (errors.length !== 0) ; + return envArgv; +} +function ParseNodeOptionsEnvVar(node_options, errors) { + const env_argv = []; + let is_in_string = false; + let will_start_new_arg = true; + for (let index = 0; index < node_options.length; ++index) { + let c = node_options[index]; + if (c === "\\" && is_in_string) { + if (index + 1 === node_options.length) { + errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); + return env_argv; + } else { + c = node_options[++index]; + } + } else if (c === " " && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c === '"') { + is_in_string = !is_in_string; + continue; + } + if (will_start_new_arg) { + env_argv.push(c); + will_start_new_arg = false; + } else { + env_argv[env_argv.length - 1] += c; + } + } + if (is_in_string) { + errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); + } + return env_argv; +} + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; + const isDirRegExp = /\/$/; + const isRelativeRegexp = /^\.{0,2}\//; + const topLevelLocator = { name: null, reference: null }; + const fallbackLocators = []; + const emittedWarnings = /* @__PURE__ */ new Set(); + if (runtimeState.enableTopLevelFallback === true) + fallbackLocators.push(topLevelLocator); + if (opts.compatibilityMode !== false) { + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ name, reference }); + } + } + } + } + } + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + function trace(entry) { + var _a, _b, _c, _d, _e, _f; + const colors = (_c = (_b = (_a = process.stderr) == null ? void 0 : _a.hasColors) == null ? void 0 : _b.call(_a)) != null ? _c : process.stdout.isTTY; + const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; + const error = entry.error; + if (error) + console.error(c(`31;1`, `\u2716 ${(_d = entry.error) == null ? void 0 : _d.message.replace(/\n.*/s, ``)}`)); + else + console.error(c(`33;1`, `\u203C Resolution`)); + if (entry.args.length > 0) + console.error(); + for (const arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); + } + const stack = (_f = (_e = new Error().stack.match(/(?<=^ +)at.*/gm)) == null ? void 0 : _e.slice(2)) != null ? _f : []; + if (stack.length > 0) { + console.error(); + for (const line of stack) { + console.error(` ${c(`38;5;244`, line)}`); + } + } + console.error(); + } + function maybeLog(name, fn) { + if (opts.allowDebug === false) + return fn; + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + trace(logEntry); + throw error; + } + }; + } + } + return fn; + } + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + if (!packageInformation) { + throw makeError( + ErrorCode.INTERNAL, + `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` + ); + } + return packageInformation; + } + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) + return true; + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) + if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) + return true; + return false; + } + const defaultExportsConditions = /* @__PURE__ */ new Set([ + `node`, + `require`, + ...getOptionValue(`--conditions`) + ]); + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + if (locator === null) { + throw makeError( + ErrorCode.INTERNAL, + `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` + ); + } + const { packageLocation } = getPackageInformationSafe(locator); + const manifestPath = ppath.join(packageLocation, Filename.manifest); + if (!opts.fakeFs.existsSync(manifestPath)) + return null; + const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); + if (pkgJson.exports == null) + return null; + let subpath = ppath.contains(packageLocation, unqualifiedPath); + if (subpath === null) { + throw makeError( + ErrorCode.INTERNAL, + `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` + ); + } + if (subpath !== `.` && !isRelativeRegexp.test(subpath)) + subpath = `./${subpath}`; + try { + const resolvedExport = packageExportsResolve({ + packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), + packageSubpath: subpath, + exports: pkgJson.exports, + base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, + conditions + }); + return npath.toPortablePath(url.fileURLToPath(resolvedExport)); + } catch (error) { + throw makeError( + ErrorCode.EXPORTS_RESOLUTION_FAILED, + error.message, + { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, + error.code + ); + } + } + function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { + let stat; + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) { + } + if (stat && !stat.isDirectory()) + return opts.fakeFs.realpathSync(unqualifiedPath); + if (stat && stat.isDirectory()) { + let pkgJson; + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); + } catch (error) { + } + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) + nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); + if (resolution !== null) { + return resolution; + } + } + } + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } + return null; + } + function makeFakeModule(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + if (subPath === null) + return false; + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; + const topLevel = topLevelLocator; + function getPackageInformation({ name, reference }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) + return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) + return null; + return packageInformation; + } + function findPackageDependents({ name, reference }) { + const dependents = []; + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) + continue; + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) + continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) + continue; + if (dependentName === name && dependentReference === reference) + continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + return dependents; + } + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = /* @__PURE__ */ new Map(); + const alreadyVisited = /* @__PURE__ */ new Set(); + const traversal = (currentPackage) => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) + return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) + brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); + brokenSet.add(dependent.reference); + } + } + }; + traversal(initialPackage); + const brokenList = []; + for (const name of [...brokenPackages.keys()].sort()) + for (const reference of [...brokenPackages.get(name)].sort()) + brokenList.push({ name, reference }); + return brokenList; + } + function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { + if (isPathIgnored(location) && !resolveIgnored) + return null; + let relativeLocation = ppath.relative(runtimeState.basePath, location); + if (!relativeLocation.match(isStrictRegExp)) + relativeLocation = `./${relativeLocation}`; + if (!relativeLocation.endsWith(`/`)) + relativeLocation = `${relativeLocation}/`; + do { + const entry = packageLocatorsByLocations.get(relativeLocation); + if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { + relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); + continue; + } + return entry.locator; + } while (relativeLocation !== ``); + return null; + } + function tryReadFile(filePath) { + try { + return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } + } + function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { + if (request.startsWith(`#`)) + throw new Error(`resolveToUnqualified can not handle private import mappings`); + if (request === `pnpapi`) + return npath.toPortablePath(opts.pnpapiResolution); + if (considerBuiltins && isBuiltinModule(request)) + return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); + if (issuer && isPathIgnored(issuer)) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + } + let unqualifiedPath; + const dependencyNameMatch = request.match(pathRegExp); + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const absoluteIssuer = ppath.resolve(issuer); + if (issuer.match(isDirRegExp)) { + unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); + } else { + unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); + } + } + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + const issuerInformation = getPackageInformationSafe(issuerLocator); + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) + continue; + if (alwaysWarnOnFallback) + fallbackReference = reference; + else + dependencyReference = reference; + break; + } + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } + let error = null; + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } else { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) + +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } + } + } else if (dependencyReference === void 0) { + if (!considerBuiltins && isBuiltinModule(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } + } + if (dependencyReference == null) { + if (fallbackReference === null || error === null) + throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + if (!emittedWarnings.has(message) && debugLevel !== 0) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } + const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + if (!dependencyInformation.packageLocation) { + throw makeError( + ErrorCode.MISSING_DEPENDENCY, + `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } + ); + } + const dependencyLocation = dependencyInformation.packageLocation; + if (subPath) { + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + return ppath.normalize(unqualifiedPath); + } + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { + if (isStrictRegExp.test(request)) + return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { + var _a, _b; + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + if (containingPackage) { + const { packageLocation } = getPackageInformationSafe(containingPackage); + let exists = true; + try { + opts.fakeFs.accessSync(packageLocation); + } catch (err) { + if ((err == null ? void 0 : err.code) === `ENOENT`) { + exists = false; + } else { + const readableError = ((_b = (_a = err == null ? void 0 : err.message) != null ? _a : err) != null ? _b : `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); + throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); + } + } + if (!exists) { + const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `${errorMessage} + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${unqualifiedPathForDisplay} +${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} +`).join(``)}`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + function resolvePrivateRequest(request, issuer, opts2) { + var _a; + if (!issuer) + throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); + const resolved = packageImportsResolve({ + name: request, + base: url.pathToFileURL(npath.fromPortablePath(issuer)), + conditions: (_a = opts2.conditions) != null ? _a : defaultExportsConditions, + readFileSyncFn: tryReadFile + }); + if (resolved instanceof url.URL) { + return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolveRequest(resolved, issuer, opts2); + } + } + function resolveRequest(request, issuer, opts2 = {}) { + try { + if (request.startsWith(`#`)) + return resolvePrivateRequest(request, issuer, opts2); + const { considerBuiltins, extensions, conditions } = opts2; + const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); + if (request === `pnpapi`) + return unqualifiedPath; + if (unqualifiedPath === null) + return null; + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + const remappedPath = (!considerBuiltins || !isBuiltinModule(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; + return resolveUnqualified(remappedPath, { extensions }); + } catch (error) { + if (Object.prototype.hasOwnProperty.call(error, `pnpCode`)) + Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); + throw error; + } + } + function resolveVirtual(request) { + const normalized = ppath.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { name: referencish[0], reference: referencish[1] }; + } else { + return { name, reference: referencish }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + getAllLocators() { + const locators = []; + for (const [name, entry] of packageRegistry) + for (const reference of entry.keys()) + if (name !== null && reference !== null) + locators.push({ name, reference }); + return locators; + }, + getPackageInformation: (locator) => { + const info = getPackageInformation(locator); + if (info === null) + return null; + const packageLocation = npath.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, packageLocation }; + return nativeInfo; + }, + findPackageLocator: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) + target = VirtualFS.resolveVirtual(target); + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + libzip: () => getLibzipSync(), + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + constructor() { + super(ppath); + this.baseFs = defaultFsLayer; + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/.pnp.loader.mjs b/.pnp.loader.mjs new file mode 100644 index 00000000..4b7f9f84 --- /dev/null +++ b/.pnp.loader.mjs @@ -0,0 +1,2047 @@ +import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; +import fs from 'fs'; +import path from 'path'; +import moduleExports, { Module } from 'module'; +import { EOL } from 'os'; +import assert from 'assert'; + +const SAFE_TIME = 456789e3; + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const npath = Object.create(path); +const ppath = Object.create(path.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = () => toPortablePath(process.cwd()); +ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path.posix.resolve(...segments); + } else { + return path.posix.resolve(ppath.cwd(), ...segments); + } +}; +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePath(p) { + if (process.platform !== `win32`) + return p; + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePath(p) { + if (process.platform !== `win32`) + return p; + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + const updateTime = typeof destinationFs.lutimesPromise === `function` ? destinationFs.lutimesPromise.bind(destinationFs) : destinationFs.utimesPromise.bind(destinationFs); + await copyImpl(prelayout, postlayout, updateTime, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, updateTime, destinationFs, destination, sourceFs, source, opts) { + var _a, _b; + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: + { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (updated || ((_a = destinationStat == null ? void 0 : destinationStat.mtime) == null ? void 0 : _a.getTime()) !== mtime.getTime() || ((_b = destinationStat == null ? void 0 : destinationStat.atime) == null ? void 0 : _b.getTime()) !== atime.getTime()) { + postlayout.push(() => updateTime(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, updateTime, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +const isCloneSupportedCache = /* @__PURE__ */ new WeakMap(); +function makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + return async () => { + await opFs.linkPromise(source, destination); + if (linkStrategy === "readOnly" /* ReadOnly */) { + sourceStat.mode &= ~146; + await opFs.chmodPromise(destination, sourceStat.mode); + } + }; +} +function makeCloneLinkOperation(opFs, destination, source, sourceStat, linkStrategy) { + const isCloneSupported = isCloneSupportedCache.get(opFs); + if (typeof isCloneSupported === `undefined`) { + return async () => { + try { + await opFs.copyFilePromise(source, destination, fs.constants.COPYFILE_FICLONE_FORCE); + isCloneSupportedCache.set(opFs, true); + } catch (err) { + if (err.code === `ENOSYS` || err.code === `ENOTSUP`) { + isCloneSupportedCache.set(opFs, false); + await makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy)(); + } else { + throw err; + } + } + }; + } else { + if (isCloneSupported) { + return async () => opFs.copyFilePromise(source, destination, fs.constants.COPYFILE_FICLONE_FORCE); + } else { + return makeLinkOperation(opFs, destination, source, sourceStat, linkStrategy); + } + } +} +async function copyFile(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + var _a; + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + const linkStrategy = (_a = opts.linkStrategy) != null ? _a : null; + const op = destinationFs === sourceFs ? linkStrategy !== null ? makeCloneLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.copyFilePromise(source, destination, fs.constants.COPYFILE_FICLONE) : linkStrategy !== null ? makeLinkOperation(destinationFs, destination, source, sourceStat, linkStrategy) : async () => destinationFs.writeFilePromise(destination, await sourceFs.readFilePromise(source)); + prelayout.push(async () => op()); + return true; +} +async function copySymlink(prelayout, postlayout, updateTime, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +function makeError(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function ENOSYS(message, reason) { + return makeError(`ENOSYS`, `${message}, ${reason}`); +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory != null ? createdDirectory : createdDirectory = subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data) { + return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)} +`); + } + writeJsonSync(p, data) { + return this.writeFileSync(p, `${JSON.stringify(data, null, 2)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesPromise) { + await this.lutimesPromise(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + await this.utimesPromise(p, stat.atime, stat.mtime); + } + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + if (this.lutimesSync) { + this.lutimesSync(p, stat.atime, stat.mtime); + } else if (!stat.isSymbolicLink()) { + this.utimesSync(p, stat.atime, stat.mtime); + } + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs) { + super(); + this.realFs = realFs; + if (typeof this.realFs.lutimes !== `undefined`) { + this.lutimesPromise = this.lutimesPromiseImpl; + this.lutimesSync = this.lutimesSyncImpl; + } + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + return Object.defineProperty(dir, `path`, { value: p, configurable: true, writable: true }); + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromiseImpl(p, atime, mtime) { + const lutimes = this.realFs.lutimes; + if (typeof lutimes === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + return await new Promise((resolve, reject) => { + lutimes.call(this.realFs, npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSyncImpl(p, atime, mtime) { + const lutimesSync = this.realFs.lutimesSync; + if (typeof lutimesSync === `undefined`) + throw ENOSYS(`unavailable Node binding`, `lutimes '${p}'`); + lutimesSync.call(this.realFs, npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts == null ? void 0 : opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), { withFileTypes: true }, this.makeCallback(resolve, reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback((value) => resolve(value), reject)); + } + }); + } + readdirSync(p, opts) { + if (opts == null ? void 0 : opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), { withFileTypes: true }); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + } + readFileSync(p, encoding) { + if (encoding === `utf8`) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } else { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + } + async readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const HAS_CONSOLIDATED_HOOKS = major > 16 || major === 16 && minor >= 12; +const HAS_UNFLAGGED_JSON_MODULES = major > 17 || major === 17 && minor >= 5 || major === 16 && minor >= 15; +const HAS_JSON_IMPORT_ASSERTION_REQUIREMENT = major > 17 || major === 17 && minor >= 1 || major === 16 && minor > 14; +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; +const HAS_LAZY_LOADED_TRANSLATORS = major > 19 || major === 19 && minor >= 3; + +const builtinModules = new Set(Module.builtinModules || Object.keys(process.binding(`natives`))); +const isBuiltinModule = (request) => request.startsWith(`node:`) || builtinModules.has(request); +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs.existsSync(jsonPath)) + return null; + return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); +} + +async function tryReadFile$1(path2) { + try { + return await fs.promises.readFile(path2, `utf8`); + } catch (error) { + if (error.code === `ENOENT`) + return null; + throw error; + } +} +function tryParseURL(str, base) { + try { + return new URL$1(str, base); + } catch { + return null; + } +} +let entrypointPath = null; +function setEntrypointPath(file) { + entrypointPath = file; +} +function getFileFormat(filepath) { + var _a, _b; + const ext = path.extname(filepath); + switch (ext) { + case `.mjs`: { + return `module`; + } + case `.cjs`: { + return `commonjs`; + } + case `.wasm`: { + throw new Error( + `Unknown file extension ".wasm" for ${filepath}` + ); + } + case `.json`: { + if (HAS_UNFLAGGED_JSON_MODULES) + return `json`; + throw new Error( + `Unknown file extension ".json" for ${filepath}` + ); + } + case `.js`: { + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + return (_a = pkg.data.type) != null ? _a : `commonjs`; + } + default: { + if (entrypointPath !== filepath) + return null; + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + if (pkg.data.type === `module`) + return null; + return (_b = pkg.data.type) != null ? _b : `commonjs`; + } + } +} + +async function getFormat$1(resolved, context, defaultGetFormat) { + const url = tryParseURL(resolved); + if ((url == null ? void 0 : url.protocol) !== `file:`) + return defaultGetFormat(resolved, context, defaultGetFormat); + const format = getFileFormat(fileURLToPath(url)); + if (format) { + return { + format + }; + } + return defaultGetFormat(resolved, context, defaultGetFormat); +} + +async function getSource$1(urlString, context, defaultGetSource) { + const url = tryParseURL(urlString); + if ((url == null ? void 0 : url.protocol) !== `file:`) + return defaultGetSource(urlString, context, defaultGetSource); + return { + source: await fs.promises.readFile(fileURLToPath(url), `utf8`) + }; +} + +async function load$1(urlString, context, nextLoad) { + var _a; + const url = tryParseURL(urlString); + if ((url == null ? void 0 : url.protocol) !== `file:`) + return nextLoad(urlString, context, nextLoad); + const filePath = fileURLToPath(url); + const format = getFileFormat(filePath); + if (!format) + return nextLoad(urlString, context, nextLoad); + if (HAS_JSON_IMPORT_ASSERTION_REQUIREMENT && format === `json` && ((_a = context.importAssertions) == null ? void 0 : _a.type) !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`); + err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; + throw err; + } + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + const pathToSend = pathToFileURL( + npath.fromPortablePath( + VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) + ) + ).href; + process.send({ + "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend + }); + } + return { + format, + source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), + shortCircuit: true + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), + fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; +const isRelativeRegexp = /^\.{0,2}\//; +function tryReadFile(filePath) { + try { + return fs.readFileSync(filePath, `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } +} +async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { + const resolved = packageImportsResolve({ + name: specifier, + base: pathToFileURL(issuer), + conditions: new Set(context.conditions), + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL$1) { + return { url: resolved.href, shortCircuit: true }; + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolve$1(resolved, context, nextResolve); + } +} +async function resolve$1(originalSpecifier, context, nextResolve) { + var _a, _b; + const { findPnpApi } = moduleExports; + if (!findPnpApi || isBuiltinModule(originalSpecifier)) + return nextResolve(originalSpecifier, context, nextResolve); + let specifier = originalSpecifier; + const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); + if (url) { + if (url.protocol !== `file:`) + return nextResolve(originalSpecifier, context, nextResolve); + specifier = fileURLToPath(url); + } + const { parentURL, conditions = [] } = context; + const issuer = parentURL && ((_a = tryParseURL(parentURL)) == null ? void 0 : _a.protocol) === `file:` ? fileURLToPath(parentURL) : process.cwd(); + const pnpapi = (_b = findPnpApi(issuer)) != null ? _b : url ? findPnpApi(specifier) : null; + if (!pnpapi) + return nextResolve(originalSpecifier, context, nextResolve); + if (specifier.startsWith(`#`)) + return resolvePrivateRequest(specifier, issuer, context, nextResolve); + const dependencyNameMatch = specifier.match(pathRegExp); + let allowLegacyResolve = false; + if (dependencyNameMatch) { + const [, dependencyName, subPath] = dependencyNameMatch; + if (subPath === `` && dependencyName !== `pnpapi`) { + const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); + if (resolved) { + const content = await tryReadFile$1(resolved); + if (content) { + const pkg = JSON.parse(content); + allowLegacyResolve = pkg.exports == null; + } + } + } + } + let result; + try { + result = pnpapi.resolveRequest(specifier, issuer, { + conditions: new Set(conditions), + extensions: allowLegacyResolve ? void 0 : [] + }); + } catch (err) { + if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) + err.code = `ERR_MODULE_NOT_FOUND`; + throw err; + } + if (!result) + throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); + const resultURL = pathToFileURL(result); + if (url) { + resultURL.search = url.search; + resultURL.hash = url.hash; + } + if (!parentURL) + setEntrypointPath(fileURLToPath(resultURL)); + return { + url: resultURL.href, + shortCircuit: true + }; +} + +if (!HAS_LAZY_LOADED_TRANSLATORS) { + const binding = process.binding(`fs`); + const originalfstat = binding.fstat; + const ZIP_MASK = 4278190080; + const ZIP_MAGIC = 704643072; + binding.fstat = function(...args) { + const [fd, useBigint, req] = args; + if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { + try { + const stats = fs.fstatSync(fd); + return new Float64Array([ + stats.dev, + stats.mode, + stats.nlink, + stats.uid, + stats.gid, + stats.rdev, + stats.blksize, + stats.ino, + stats.size, + stats.blocks + ]); + } catch { + } + } + return originalfstat.apply(this, args); + }; +} + +const resolve = resolve$1; +const getFormat = HAS_CONSOLIDATED_HOOKS ? void 0 : getFormat$1; +const getSource = HAS_CONSOLIDATED_HOOKS ? void 0 : getSource$1; +const load = HAS_CONSOLIDATED_HOOKS ? load$1 : void 0; + +export { getFormat, getSource, load, resolve }; diff --git a/docs/network/state-of-network.md b/docs/network/state-of-network.md index 530577ef..477a2864 100644 --- a/docs/network/state-of-network.md +++ b/docs/network/state-of-network.md @@ -2,12 +2,10 @@ You can set your Lit Network in the LitNodeClient config of the Lit SDK, by passing the network name to the `litNetwork` parameter. -| Name | Supported Algorithms | Supported Features | ETA | Description | Status | -| -------- | -------------------- | -------------------------------- | -------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------- | -| Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | -| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Not persistent. Will be turned off in early 2024. | https://serrano-status.litprotocol.com/ | -| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | August 2023 | Centralized test network. Persistent, keys will not be deleted. | Coming Soon | -| Manzano | ECDSA | Signing | September 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | -| Habanero | ECDSA | Signing | October 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | -| Datil | BLS | Encryption | October 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | -| Naga | ECDSA | Signing, Lit Actions | November 2023 | Decentralized main network. Persistent, so keys will not be deleted | Coming Soon | +| Name | Supported Algorithms | Supported Features | ETA | Description | Status | +| -------- | -------------------- | -------------------------------- | -------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------- | +| Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | +| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Not persistent. Will be turned off in early 2024. | https://serrano-status.litprotocol.com/ | +| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | September 2023 | Centralized test network. Not persistent, keys will be deleted. | Beta: https://cayenne-status.litprotocol.com/ | +| Manzano | ECDSA | Signing | November 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | +| Habanero | ECDSA | Encryption, Signing, Lit Actions | December 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | diff --git a/yarn.lock b/yarn.lock index 7914c442..1da2dad9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,157 +2,166 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz" - integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== +"@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.7.1" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-preset-algolia@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz" - integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== +"@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.7.1" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-shared@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz" - integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== +"@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz" - integrity sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA== +"@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.14.2" + "@algolia/cache-common" "4.20.0" -"@algolia/cache-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz" - integrity sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg== +"@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz" - integrity sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ== +"@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.14.2" + "@algolia/cache-common" "4.20.0" -"@algolia/client-account@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz" - integrity sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w== +"@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.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/client-common" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-analytics@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz" - integrity sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ== +"@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.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz" - integrity sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q== +"@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.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-personalization@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz" - integrity sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw== +"@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.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/client-common" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-search@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz" - integrity sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw== +"@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.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@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.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz" - integrity sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA== +"@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz" - integrity sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g== +"@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.14.2" + "@algolia/logger-common" "4.20.0" -"@algolia/requester-browser-xhr@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz" - integrity sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw== +"@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.14.2" + "@algolia/requester-common" "4.20.0" -"@algolia/requester-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz" - integrity sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg== +"@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz" - integrity sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg== +"@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.14.2" + "@algolia/requester-common" "4.20.0" -"@algolia/transporter@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz" - integrity sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ== +"@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.14.2" - "@algolia/logger-common" "4.14.2" - "@algolia/requester-common" "4.14.2" + "@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.0" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== + 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.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.8.3": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== dependencies: - "@babel/highlight" "^7.18.6" + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.19.4", "@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== "@babel/core@7.12.9": version "7.12.9" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== dependencies: "@babel/code-frame" "^7.10.4" @@ -172,884 +181,893 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.12.3", "@babel/core@^7.18.5", "@babel/core@^7.18.6": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz" - integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== +"@babel/core@^7.12.3", "@babel/core@^7.18.6", "@babel/core@^7.19.6": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.3" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.3" - "@babel/types" "^7.21.3" - convert-source-map "^1.7.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.21.3": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz" - integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== +"@babel/generator@^7.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== dependencies: - "@babel/types" "^7.21.3" + "@babel/types" "^7.23.0" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== +"@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.18.6" + "@babel/types" "^7.22.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": + 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/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" + "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@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.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" + "@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.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz" - integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": + 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-regexp-features-plugin@^7.18.6", "@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" - semver "^6.1.2" -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== +"@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-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== +"@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/types" "^7.18.6" + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== +"@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/template" "^7.20.7" - "@babel/types" "^7.21.0" + "@babel/types" "^7.22.5" -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== +"@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.18.6" + "@babel/types" "^7.23.0" -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== +"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": + 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.18.9" + "@babel/types" "^7.22.15" -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== + 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-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.18.6" + "@babel/types" "^7.22.5" "@babel/helper-plugin-utils@7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== -"@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.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" - -"@babel/helper-simple-access@^7.18.6", "@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz" - integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helper-wrap-function@^7.18.9": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz" - integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helpers@^7.12.5", "@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" +"@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-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": + 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.5", "@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-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-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-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@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-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-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.12.5", "@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz" - integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" +"@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== -"@babel/plugin-proposal-async-generator-functions@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": + version "7.22.15" + 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.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" + integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" + integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.15" "@babel/plugin-proposal-object-rest-spread@7.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" -"@babel/plugin-proposal-object-rest-spread@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz" - integrity sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q== - dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" +"@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.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + 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.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + 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.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + 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.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz" - integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== +"@babel/plugin-syntax-import-assertions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" + integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@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.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + 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.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-jsx@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + 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", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + 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.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + 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.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== +"@babel/plugin-syntax-typescript@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-arrow-functions@^7.18.6": +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + 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-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== +"@babel/plugin-transform-arrow-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== +"@babel/plugin-transform-async-generator-functions@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" + integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@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-block-scoping@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz" - integrity sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-classes@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz" - integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" +"@babel/plugin-transform-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" + integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" + integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" + integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" + integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== +"@babel/plugin-transform-computed-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" -"@babel/plugin-transform-destructuring@^7.19.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz" - integrity sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA== +"@babel/plugin-transform-destructuring@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" + integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== +"@babel/plugin-transform-dotall-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" + integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== +"@babel/plugin-transform-duplicate-keys@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" + integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== +"@babel/plugin-transform-dynamic-import@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" + integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== +"@babel/plugin-transform-exponentiation-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" + integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== +"@babel/plugin-transform-export-namespace-from@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" + integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== +"@babel/plugin-transform-for-of@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" + integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== +"@babel/plugin-transform-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz" - integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== +"@babel/plugin-transform-json-strings@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" + integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== +"@babel/plugin-transform-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz" - integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== +"@babel/plugin-transform-logical-assignment-operators@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" + integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== +"@babel/plugin-transform-member-expression-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== +"@babel/plugin-transform-modules-amd@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" + integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== +"@babel/plugin-transform-modules-commonjs@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" + integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== +"@babel/plugin-transform-modules-systemjs@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" + integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== +"@babel/plugin-transform-modules-umd@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" + integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== +"@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-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.17.12": - version "7.18.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz" - integrity sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw== +"@babel/plugin-transform-new-target@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" + integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz" - integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" + integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== +"@babel/plugin-transform-numeric-separator@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" + integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" + integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/compat-data" "^7.22.9" + "@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.22.15" -"@babel/plugin-transform-react-jsx@^7.18.6": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz" - integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== +"@babel/plugin-transform-object-super@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" -"@babel/plugin-transform-react-pure-annotations@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz" - integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== +"@babel/plugin-transform-optional-catch-binding@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" + integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== +"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" + integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" + "@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-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" + integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-runtime@^7.18.6": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz" - integrity sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" +"@babel/plugin-transform-private-methods@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" + integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== +"@babel/plugin-transform-private-property-in-object@^7.22.11": + version "7.22.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" + integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.11" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== +"@babel/plugin-transform-property-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== +"@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.18.12": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz#6dfa7c1c37f7d7279e417ceddf5a04abb8bb9c29" + integrity sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== +"@babel/plugin-transform-react-display-name@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" + integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== +"@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/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-typescript@^7.18.6": - version "7.19.3" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz" - integrity sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w== +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" + integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-typescript" "^7.18.6" + "@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.22.5" + "@babel/types" "^7.22.15" -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== +"@babel/plugin-transform-react-pure-annotations@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" + integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== +"@babel/plugin-transform-regenerator@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" + integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" -"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.18.2", "@babel/preset-env@^7.18.6": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.4.tgz" - integrity sha512-5QVOTXUdqTCjQuh2GGtdd7YEhoRXBMVGROAtsBeLGIbIz3obCBIfRMT1I3ZKkMgNzwkyCkftDXSSkHxnfVf4qg== - dependencies: - "@babel/compat-data" "^7.19.4" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.19.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" +"@babel/plugin-transform-reserved-words@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" + integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.18.6": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" + integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== + 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.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" + integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" + integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== + 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.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.22.10": + version "7.22.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" + integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" + integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.18.6", "@babel/preset-env@^7.19.4": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" + integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== + dependencies: + "@babel/compat-data" "^7.23.2" + "@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.22.15" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.15" + "@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.18.6" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@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" @@ -1059,150 +1077,177 @@ "@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-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.19.4" - "@babel/plugin-transform-classes" "^7.19.0" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.19.4" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.0" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.4" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.23.2" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.23.0" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.11" + "@babel/plugin-transform-classes" "^7.22.15" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.23.0" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.11" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.11" + "@babel/plugin-transform-for-of" "^7.22.15" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.11" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.23.0" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-modules-systemjs" "^7.23.0" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.11" + "@babel/plugin-transform-numeric-separator" "^7.22.11" + "@babel/plugin-transform-object-rest-spread" "^7.22.15" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.11" + "@babel/plugin-transform-optional-chaining" "^7.23.0" + "@babel/plugin-transform-parameters" "^7.22.15" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.11" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.10" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.10" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/preset-modules" "0.1.6-no-external-plugins" + "@babel/types" "^7.23.0" + 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/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.17.12", "@babel/preset-react@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz" - integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-react-display-name" "^7.18.6" - "@babel/plugin-transform-react-jsx" "^7.18.6" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-pure-annotations" "^7.18.6" - -"@babel/preset-typescript@^7.17.12", "@babel/preset-typescript@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" +"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.18.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" + integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.22.5" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.22.5" + +"@babel/preset-typescript@^7.18.6": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" + integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-typescript" "^7.22.15" + +"@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.18.6": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz" - integrity sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ== - dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": - version "7.19.4" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz" - integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.12.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz" - integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.3" - "@babel/types" "^7.21.3" + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz#a5cd9d8b408fb946b2f074b21ea40c04e516795c" + integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== + 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.18.6", "@babel/runtime@^7.20.13", "@babel/runtime@^7.8.4": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.12.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": + 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/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@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.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.18.4", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.4", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.4.4": - version "7.21.3" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz" - integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== +"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.20.0", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-string-parser" "^7.22.5" + "@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.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@docsearch/css@3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.2.1.tgz" - integrity sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g== +"@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.1.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.2.1.tgz" - integrity sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ== + 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.7.1" - "@algolia/autocomplete-preset-algolia" "1.7.1" - "@docsearch/css" "3.2.1" - algoliasearch "^4.0.0" + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" "@docusaurus/core@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.1.0.tgz#4aedc306f4c4cd2e0491b641bf78941d4b480ab6" integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== dependencies: "@babel/core" "^7.18.6" @@ -1277,9 +1322,86 @@ webpack-merge "^5.8.0" webpackbar "^5.0.2" +"@docusaurus/core@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.4.3.tgz#d86624901386fd8164ce4bff9cc7f16fde57f523" + integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== + dependencies: + "@babel/core" "^7.18.6" + "@babel/generator" "^7.18.7" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.18.6" + "@babel/preset-env" "^7.18.6" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@babel/runtime" "^7.18.6" + "@babel/runtime-corejs3" "^7.18.6" + "@babel/traverse" "^7.18.8" + "@docusaurus/cssnano-preset" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/react-loadable" "5.5.2" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" + "@slorber/static-site-generator-webpack-plugin" "^4.0.7" + "@svgr/webpack" "^6.2.1" + autoprefixer "^10.4.7" + babel-loader "^8.2.5" + babel-plugin-dynamic-import-node "^2.3.3" + boxen "^6.2.1" + chalk "^4.1.2" + chokidar "^3.5.3" + clean-css "^5.3.0" + cli-table3 "^0.6.2" + combine-promises "^1.1.0" + commander "^5.1.0" + copy-webpack-plugin "^11.0.0" + core-js "^3.23.3" + css-loader "^6.7.1" + css-minimizer-webpack-plugin "^4.0.0" + cssnano "^5.1.12" + del "^6.1.1" + detect-port "^1.3.0" + escape-html "^1.0.3" + eta "^2.0.0" + file-loader "^6.2.0" + fs-extra "^10.1.0" + html-minifier-terser "^6.1.0" + html-tags "^3.2.0" + html-webpack-plugin "^5.5.0" + import-fresh "^3.3.0" + leven "^3.1.0" + lodash "^4.17.21" + mini-css-extract-plugin "^2.6.1" + postcss "^8.4.14" + postcss-loader "^7.0.0" + prompts "^2.4.2" + react-dev-utils "^12.0.1" + react-helmet-async "^1.3.0" + react-loadable "npm:@docusaurus/react-loadable@5.5.2" + react-loadable-ssr-addon-v5-slorber "^1.0.1" + react-router "^5.3.3" + react-router-config "^5.1.1" + react-router-dom "^5.3.3" + rtl-detect "^1.0.4" + semver "^7.3.7" + serve-handler "^6.1.3" + shelljs "^0.8.5" + terser-webpack-plugin "^5.3.3" + tslib "^2.4.0" + update-notifier "^5.1.0" + url-loader "^4.1.1" + wait-on "^6.0.1" + webpack "^5.73.0" + webpack-bundle-analyzer "^4.5.0" + webpack-dev-server "^4.9.3" + webpack-merge "^5.8.0" + webpackbar "^5.0.2" + "@docusaurus/cssnano-preset@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz#5b42107769b7cbc61655496090bc262d7788d6ab" integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== dependencies: cssnano-preset-advanced "^5.3.8" @@ -1287,17 +1409,35 @@ postcss-sort-media-queries "^4.2.1" tslib "^2.4.0" +"@docusaurus/cssnano-preset@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz#1d7e833c41ce240fcc2812a2ac27f7b862f32de0" + integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== + dependencies: + cssnano-preset-advanced "^5.3.8" + postcss "^8.4.14" + postcss-sort-media-queries "^4.2.1" + tslib "^2.4.0" + "@docusaurus/logger@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.1.0.tgz#86c97e948f578814d3e61fc2b2ad283043cbe87a" integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== dependencies: chalk "^4.1.2" tslib "^2.4.0" +"@docusaurus/logger@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.4.3.tgz#518bbc965fb4ebe8f1d0b14e5f4161607552d34c" + integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== + dependencies: + chalk "^4.1.2" + tslib "^2.4.0" + "@docusaurus/mdx-loader@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz#3fca9576cc73a22f8e7d9941985590b9e47a8526" integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== dependencies: "@babel/parser" "^7.18.8" @@ -1318,9 +1458,32 @@ url-loader "^4.1.1" webpack "^5.73.0" +"@docusaurus/mdx-loader@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz#e8ff37f30a060eaa97b8121c135f74cb531a4a3e" + integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== + dependencies: + "@babel/parser" "^7.18.8" + "@babel/traverse" "^7.18.8" + "@docusaurus/logger" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@mdx-js/mdx" "^1.6.22" + escape-html "^1.0.3" + file-loader "^6.2.0" + fs-extra "^10.1.0" + image-size "^1.0.1" + mdast-util-to-string "^2.0.0" + remark-emoji "^2.2.0" + stringify-object "^3.3.0" + tslib "^2.4.0" + unified "^9.2.2" + unist-util-visit "^2.0.3" + url-loader "^4.1.1" + webpack "^5.73.0" + "@docusaurus/module-type-aliases@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz#322f8fd5b436af2154c0dddfa173435730e66261" integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== dependencies: "@docusaurus/react-loadable" "5.5.2" @@ -1334,7 +1497,7 @@ "@docusaurus/plugin-content-blog@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz#32b1a7cd4b0026f4a76fce4edc5cfdd0edb1ec42" integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== dependencies: "@docusaurus/core" "2.1.0" @@ -1356,7 +1519,7 @@ "@docusaurus/plugin-content-docs@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz#3fcdf258c13dde27268ce7108a102b74ca4c279b" integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== dependencies: "@docusaurus/core" "2.1.0" @@ -1378,7 +1541,7 @@ "@docusaurus/plugin-content-pages@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz#714d24f71d49dbfed888f50c15e975c2154c3ce8" integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== dependencies: "@docusaurus/core" "2.1.0" @@ -1392,7 +1555,7 @@ "@docusaurus/plugin-debug@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz#b3145affb40e25cf342174638952a5928ddaf7dc" integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== dependencies: "@docusaurus/core" "2.1.0" @@ -1402,9 +1565,9 @@ react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@2.1.0", "@docusaurus/plugin-google-analytics@^2.1.0": +"@docusaurus/plugin-google-analytics@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz#c9a7269817b38e43484d38fad9996e39aac4196c" integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== dependencies: "@docusaurus/core" "2.1.0" @@ -1412,9 +1575,19 @@ "@docusaurus/utils-validation" "2.1.0" tslib "^2.4.0" +"@docusaurus/plugin-google-analytics@^2.1.0": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz#0d19993136ade6f7a7741251b4f617400d92ab45" + integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" + tslib "^2.4.0" + "@docusaurus/plugin-google-gtag@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz#e4f351dcd98b933538d55bb742650a2a36ca9a32" integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== dependencies: "@docusaurus/core" "2.1.0" @@ -1424,7 +1597,7 @@ "@docusaurus/plugin-sitemap@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz#b316bb9a42a1717845e26bd4e2d3071748a54b47" integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== dependencies: "@docusaurus/core" "2.1.0" @@ -1439,7 +1612,7 @@ "@docusaurus/preset-classic@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz#45b23c8ec10c96ded9ece128fac3a39b10bcbc56" integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== dependencies: "@docusaurus/core" "2.1.0" @@ -1457,7 +1630,7 @@ "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce" integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== dependencies: "@types/react" "*" @@ -1465,7 +1638,7 @@ "@docusaurus/theme-classic@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz#d957a907ea8dd035c1cf911d0fbe91d8f24aef3f" integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== dependencies: "@docusaurus/core" "2.1.0" @@ -1496,7 +1669,7 @@ "@docusaurus/theme-common@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.1.0.tgz#dff4d5d1e29efc06125dc06f7b259f689bb3f24d" integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== dependencies: "@docusaurus/mdx-loader" "2.1.0" @@ -1516,7 +1689,7 @@ "@docusaurus/theme-search-algolia@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz#e7cdf64b6f7a15b07c6dcf652fd308cfdaabb0ee" integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== dependencies: "@docsearch/react" "^3.1.1" @@ -1538,7 +1711,7 @@ "@docusaurus/theme-translations@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz#ce9a2955afd49bff364cfdfd4492b226f6dd3b6e" integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== dependencies: fs-extra "^10.1.0" @@ -1546,7 +1719,7 @@ "@docusaurus/types@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.1.0.tgz#01e13cd9adb268fffe87b49eb90302d5dc3edd6b" integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== dependencies: "@types/history" "^4.7.11" @@ -1558,16 +1731,37 @@ webpack "^5.73.0" webpack-merge "^5.8.0" +"@docusaurus/types@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.4.3.tgz#4aead281ca09f721b3c0a9b926818450cfa3db31" + integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== + dependencies: + "@types/history" "^4.7.11" + "@types/react" "*" + commander "^5.1.0" + joi "^17.6.0" + react-helmet-async "^1.3.0" + utility-types "^3.10.0" + webpack "^5.73.0" + webpack-merge "^5.8.0" + "@docusaurus/utils-common@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.1.0.tgz#248434751096f8c6c644ed65eed2a5a070a227f8" integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== dependencies: tslib "^2.4.0" +"@docusaurus/utils-common@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.4.3.tgz#30656c39ef1ce7e002af7ba39ea08330f58efcfb" + integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== + dependencies: + tslib "^2.4.0" + "@docusaurus/utils-validation@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz#c8cf1d8454d924d9a564fefa86436268f43308e3" integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== dependencies: "@docusaurus/logger" "2.1.0" @@ -1576,9 +1770,20 @@ js-yaml "^4.1.0" tslib "^2.4.0" +"@docusaurus/utils-validation@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz#8122c394feef3e96c73f6433987837ec206a63fb" + integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== + dependencies: + "@docusaurus/logger" "2.4.3" + "@docusaurus/utils" "2.4.3" + joi "^17.6.0" + js-yaml "^4.1.0" + tslib "^2.4.0" + "@docusaurus/utils@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.1.0.tgz#b77b45b22e61eb6c2dcad8a7e96f6db0409b655f" integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== dependencies: "@docusaurus/logger" "2.1.0" @@ -1597,6 +1802,28 @@ url-loader "^4.1.1" webpack "^5.73.0" +"@docusaurus/utils@2.4.3": + version "2.4.3" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.4.3.tgz#52b000d989380a2125831b84e3a7327bef471e89" + integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== + dependencies: + "@docusaurus/logger" "2.4.3" + "@svgr/webpack" "^6.2.1" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + fs-extra "^10.1.0" + github-slugger "^1.4.0" + globby "^11.1.0" + gray-matter "^4.0.3" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.4.0" + url-loader "^4.1.1" + webpack "^5.73.0" + "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" @@ -1941,115 +2168,107 @@ "@hapi/hoek@^9.0.0": version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + 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.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + 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.0.0": - version "29.0.0" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== +"@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.24.1" + "@sinclair/typebox" "^0.27.8" -"@jest/types@^29.2.0": - version "29.2.0" - resolved "https://registry.npmjs.org/@jest/types/-/types-29.2.0.tgz" - integrity sha512-mfgpQz4Z2xGo37m6KD8xEpKelaVzvYVRijmLPePn9pxgaPEtX+SqIyPNzzoeCPXKYbB4L/wYSgXDL8o3Gop78Q== +"@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.0.0" + "@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.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + 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/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@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.0", "@jridgewell/set-array@^1.0.1": +"@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== +"@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.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@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.14", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== +"@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/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" - resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.54": - version "2.2.54" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.54.tgz#107580f6c9cacad3ee2e2c1d57e436f5b36e5ea3" - integrity sha512-moaPHLNUsyZbKD63ylb9dmBAIEvJP7VY7pufZJkavx+quakjA6pgy8+6PcPqi+JuAo6vOqwIYNt4G66rrKYfEA== +"@lit-protocol/auth-helpers@2.2.61": + version "2.2.61" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.61.tgz#b1741090ae0b03c952123f4fa71523e1d604347f" + integrity sha512-2VzwFaHwMHN4raQ5RsKfXz02KqQ2hbPHCf0GPfXify79ZAUYp/BIsOyo1mpVlVkA1moaQ0zadHAlTdcBVNCVtQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.54": - version "2.2.54" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.54.tgz#28b2fbdc92d2be32ce24879411595a192c586605" - integrity sha512-Z7gE7OO+e0Lu88HVh+z74E6VAq3+K5g7ZYcOeucVmgkTPcJUd/tB40LvCS9ldJq69goI0zqjAGxPiJi7WUr9aQ== +"@lit-protocol/constants@^2.2.61": + version "2.2.61" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.61.tgz#0f584c27ec1fb5966d17d278ed398a33afbe0c95" + integrity sha512-M4jvbawMX0QgPriTT8H4iymkh7uJXjqPZvm+pr/5bIsDbarng5eRpHd1gB6DPX9n5RV9X+rSk1FFSoahUeWieg== dependencies: - "@lit-protocol/auth-helpers" "2.2.54" - "@lit-protocol/types" "2.2.54" + "@lit-protocol/auth-helpers" "2.2.61" + "@lit-protocol/types" "2.2.61" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.54": - version "2.2.54" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.54.tgz#d340694b89bc4ec08ab9d1427a38cd51e498f07b" - integrity sha512-bhIG4733BT32QXGZO7K7r+7ZDOxzLHjcYwP0tMqjLP86BJ2mQkTzW5q0nFgUBbPay/77lp/Tp8yXPfzgYMaYPQ== +"@lit-protocol/types@2.2.61": + version "2.2.61" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.61.tgz#a1db4348cc17b1c7e0368e52a588f16842cc3d4a" + integrity sha512-5BFOFZlrlWPNvkROcw3690uypFdeIr/e7Kqr3JS/22RH1dsAz9Oq0kJGXe+qEF4hp699BvyLQzsqd15CzY5+oA== dependencies: - "@lit-protocol/auth-helpers" "2.2.54" + "@lit-protocol/auth-helpers" "2.2.61" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" @@ -2057,7 +2276,7 @@ "@mdx-js/mdx@^1.6.22": version "1.6.22" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== dependencies: "@babel/core" "7.12.9" @@ -2082,22 +2301,22 @@ "@mdx-js/react@^1.6.21", "@mdx-js/react@^1.6.22": version "1.6.22" - resolved "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== "@mdx-js/util@1.6.22": version "1.6.22" - resolved "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== "@noble/hashes@^1.1.2": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + 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" @@ -2105,52 +2324,52 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + 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.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + 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" "@polka/url@^1.0.0-next.20": - version "1.0.0-next.21" - resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz" - integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + 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.npmjs.org/@sideway/address/-/address-4.1.4.tgz" + 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.0": - version "3.0.0" - resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz" - integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg== +"@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.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== -"@sinclair/typebox@^0.24.1": - version "0.24.46" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.46.tgz" - integrity sha512-ng4ut1z2MCBhK/NwDVwIQp3pAUOCs/KNaW3cBxdFB2xTDrOuo1xuNmpr/9HHFhxqIvHrs1NTH3KJg6q+JSy1Kw== +"@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@^0.14.0": version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@slorber/static-site-generator-webpack-plugin@^4.0.7": version "4.0.7" - resolved "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz#fc1678bddefab014e2145cbe25b3ce4e1cfc36f3" integrity sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA== dependencies: eval "^0.1.8" @@ -2194,87 +2413,87 @@ "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== -"@svgr/babel-plugin-add-jsx-attribute@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.0.tgz" - integrity sha512-Cp1JR1IPrQNvPRbkfcPmax52iunBC+eQDyBce8feOIIbVH6ZpVhErYoJtPWRBj2rKi4Wi9HvCm1+L1UD6QlBmg== +"@svgr/babel-plugin-add-jsx-attribute@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== + +"@svgr/babel-plugin-remove-jsx-attribute@*": + 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-attribute@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== -"@svgr/babel-plugin-remove-jsx-attribute@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-6.5.0.tgz" - integrity sha512-8zYdkym7qNyfXpWvu4yq46k41pyNM9SOstoWhKlm+IfdCE1DdnRKeMUPsWIEO/DEkaWxJ8T9esNdG3QwQ93jBA== +"@svgr/babel-plugin-remove-jsx-empty-expression@*": + 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-remove-jsx-empty-expression@^5.0.1": version "5.0.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== -"@svgr/babel-plugin-remove-jsx-empty-expression@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-6.5.0.tgz" - integrity sha512-NFdxMq3xA42Kb1UbzCVxplUc0iqSyM9X8kopImvFnB+uSDdzIHOdbs1op8ofAvVRtbg4oZiyRl3fTYeKcOe9Iw== - "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": version "5.0.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.0.tgz" - integrity sha512-XWm64/rSPUCQ+MFyA9lhMO+w8bOZvkTvovRIU1lpIy63ysPaVAFtxjQiZj+S7QaLaLGUXkSkf8WZsaN+QPo/gA== +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== -"@svgr/babel-plugin-svg-dynamic-title@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.0.tgz" - integrity sha512-JIF2D2ltiWFGlTw2fJ9jJg1fNT9rWjOD2Cf0/xzeW6Z2LIRQTHcRHxpZq359+SRWtEPsCXEWV2Xmd+DMBj6dBw== +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== -"@svgr/babel-plugin-svg-em-dimensions@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.0.tgz" - integrity sha512-uuo0FfLP4Nu2zncOcoUFDzZdXWma2bxkTGk0etRThs4/PghvPIGaW8cPhCg6yJ8zpaauWcKV0wZtzKlJRCtVzg== +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== -"@svgr/babel-plugin-transform-react-native-svg@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.0.tgz" - integrity sha512-VMRWyOmrV+DaEFPgP3hZMsFgs2g87ojs3txw0Rx8iz6Nf/E3UoHUwTqpkSCWd3Hsnc9gMOY9+wl6+/Ycleh1sw== +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== "@svgr/babel-plugin-transform-svg-component@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== -"@svgr/babel-plugin-transform-svg-component@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.0.tgz" - integrity sha512-b67Ul3SelaqvGEEG/1B3VJ03KUtGFgRQjRLCCjdttMQLcYa9l/izQFEclNFx53pNqhijUMNKHPhGMY/CWGVKig== +"@svgr/babel-plugin-transform-svg-component@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== "@svgr/babel-preset@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" @@ -2286,58 +2505,58 @@ "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" "@svgr/babel-plugin-transform-svg-component" "^5.5.0" -"@svgr/babel-preset@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.0.tgz" - integrity sha512-UWM98PKVuMqw2UZo8YO3erI6nF1n7/XBYTXBqR0QhZP7HTjYK6QxFNvPfIshddy1hBdzhVpkf148Vg8xiVOtyg== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.5.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^6.5.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^6.5.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.0" - "@svgr/babel-plugin-svg-dynamic-title" "^6.5.0" - "@svgr/babel-plugin-svg-em-dimensions" "^6.5.0" - "@svgr/babel-plugin-transform-react-native-svg" "^6.5.0" - "@svgr/babel-plugin-transform-svg-component" "^6.5.0" +"@svgr/babel-preset@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" "@svgr/core@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== dependencies: "@svgr/plugin-jsx" "^5.5.0" camelcase "^6.2.0" cosmiconfig "^7.0.0" -"@svgr/core@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.0.tgz" - integrity sha512-jIbu36GMjfK8HCCQitkfVVeQ2vSXGfq0ef0GO9HUxZGjal6Kvpkk4PwpkFP+OyCzF+skQFT9aWrUqekT3pKF8w== +"@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== dependencies: - "@babel/core" "^7.18.5" - "@svgr/babel-preset" "^6.5.0" - "@svgr/plugin-jsx" "^6.5.0" + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" camelcase "^6.2.0" cosmiconfig "^7.0.1" "@svgr/hast-util-to-babel-ast@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== dependencies: "@babel/types" "^7.12.6" -"@svgr/hast-util-to-babel-ast@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.0.tgz" - integrity sha512-PPy94U/EiPQ2dY0b4jEqj4QOdDRq6DG7aTHjpGaL8HlKSHkpU1DpjfywCXTJqtOdCo2FywjWvg0U2FhqMeUJaA== +"@svgr/hast-util-to-babel-ast@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: - "@babel/types" "^7.18.4" - entities "^4.3.0" + "@babel/types" "^7.20.0" + entities "^4.4.0" "@svgr/plugin-jsx@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== dependencies: "@babel/core" "^7.12.3" @@ -2345,29 +2564,29 @@ "@svgr/hast-util-to-babel-ast" "^5.5.0" svg-parser "^2.0.2" -"@svgr/plugin-jsx@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.0.tgz" - integrity sha512-1CHMqOBKoNk/ZPU+iGXKcQPC6q9zaD7UOI99J+BaGY5bdCztcf5bZyi0QZSDRJtCQpdofeVv7XfBYov2mtl0Pw== +"@svgr/plugin-jsx@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== dependencies: - "@babel/core" "^7.18.5" - "@svgr/babel-preset" "^6.5.0" - "@svgr/hast-util-to-babel-ast" "^6.5.0" + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" svg-parser "^2.0.4" "@svgr/plugin-svgo@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== dependencies: cosmiconfig "^7.0.0" deepmerge "^4.2.2" svgo "^1.2.2" -"@svgr/plugin-svgo@^6.5.0": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.0.tgz" - integrity sha512-8Zv1Yyv6I7HlIqrqGFM0sDKQrhjbfNZJawR8UjIaVWSb0tKZP1Ra6ymhqIFu6FT6kDRD0Ct5NlQZ10VUujSspw== +"@svgr/plugin-svgo@^6.5.1": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: cosmiconfig "^7.0.1" deepmerge "^4.2.2" @@ -2375,7 +2594,7 @@ "@svgr/webpack@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== dependencies: "@babel/core" "^7.12.3" @@ -2388,236 +2607,251 @@ loader-utils "^2.0.0" "@svgr/webpack@^6.2.1": - version "6.5.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.0.tgz" - integrity sha512-rM/Z4pwMhqvAXEHoHIlE4SeTb0ToQNmJuBdiHwhP2ZtywyX6XqrgCv2WX7K/UCgNYJgYbekuylgyjnuLUHTcZQ== - dependencies: - "@babel/core" "^7.18.5" - "@babel/plugin-transform-react-constant-elements" "^7.17.12" - "@babel/preset-env" "^7.18.2" - "@babel/preset-react" "^7.17.12" - "@babel/preset-typescript" "^7.17.12" - "@svgr/core" "^6.5.0" - "@svgr/plugin-jsx" "^6.5.0" - "@svgr/plugin-svgo" "^6.5.0" + version "6.5.1" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.5.1.tgz#ecf027814fc1cb2decc29dc92f39c3cf691e40e8" + integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== + dependencies: + "@babel/core" "^7.19.6" + "@babel/plugin-transform-react-constant-elements" "^7.18.12" + "@babel/preset-env" "^7.19.4" + "@babel/preset-react" "^7.18.6" + "@babel/preset-typescript" "^7.18.6" + "@svgr/core" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + "@svgr/plugin-svgo" "^6.5.1" "@szmarczak/http-timer@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: defer-to-connect "^1.0.1" "@trysound/sax@0.2.0": version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/body-parser@*": - version "1.19.2" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + version "1.19.4" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.4.tgz#78ad68f1f79eb851aa3634db0c7f57f6f601b462" + integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - version "3.5.10" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + version "3.5.12" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.12.tgz#49badafb988e6c433ca675a5fd769b93b7649fc8" + integrity sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + version "1.5.2" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz#acf51e088b3bb6507f7b093bd2b0de20940179cc" + integrity sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q== dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - version "3.4.35" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + version "3.4.37" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.37.tgz#c66a96689fd3127c8772eb3e9e5c6028ec1a9af5" + integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + version "3.7.6" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.6.tgz#585578b368ed170e67de8aae7b93f54a1b2fdc26" + integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.4.6" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== + version "8.44.6" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.6.tgz#60e564551966dd255f4c01c459f0b4fb87068603" + integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== dependencies: "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" + integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.31" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.39" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz#2107afc0a4b035e6cb00accac3bdf2d76ae408c8" + integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" + "@types/send" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.14" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== + version "4.17.20" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.20.tgz#e7c9b40276d29e38a4e3564d7a3d65911e2aa433" + integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== dependencies: "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" + "@types/express-serve-static-core" "^4.17.33" "@types/qs" "*" "@types/serve-static" "*" "@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== + version "2.3.7" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.7.tgz#5e9bd7ab4452d5313aeec9d38fbc193a70f8d810" + integrity sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw== dependencies: - "@types/unist" "*" + "@types/unist" "^2" "@types/history@^4.7.11": version "4.7.11" - resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" + 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.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + 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-errors@*": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.3.tgz#c54e61f79b3947d040f150abd58f71efb422ff62" + integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== + "@types/http-proxy@^1.17.8": - version "1.17.9" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== + version "1.17.13" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.13.tgz#dd3a4da550580eb0557d4c7128a2ff1d1a38d465" + integrity sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#fdfdd69fa16d530047d9963635bd77c71a08c068" + integrity sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ== "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz#394798d5f727402eb5ec99eb9618ffcd2b7645a1" + integrity sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz#0313e2608e6d6955d195f55361ddeebd4b74c6e7" + integrity sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg== 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.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + version "7.0.14" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" + integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== "@types/mdast@^3.0.0": - version "3.0.10" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" - integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== + version "3.0.14" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.14.tgz#0735473a5b35be032b9f2685b7413cbab1b8a639" + integrity sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw== dependencies: - "@types/unist" "*" + "@types/unist" "^2" "@types/mime@*": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.3.tgz#886674659ce55fe7c6c06ec5ca7c0eb276a08f91" + integrity sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ== + +"@types/mime@^1": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.4.tgz#a4ed836e069491414bab92c31fdea9e557aca0d9" + integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== + +"@types/node-forge@^1.3.0": + version "1.3.8" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.8.tgz#044ad98354ff309a031a55a40ad122f3be1ac2bb" + integrity sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg== + dependencies: + "@types/node" "*" "@types/node@*": - version "18.11.0" - resolved "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz" - integrity sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w== + version "20.8.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" + integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== + dependencies: + undici-types "~5.26.4" "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + 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.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.1.tgz#27f7559836ad796cea31acb63163b203756a5b4e" + integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== "@types/parse5@^5.0.0": version "5.0.3" - resolved "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== "@types/prop-types@*": - version "15.7.5" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + version "15.7.9" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.9.tgz#b6f785caa7ea1fe4414d9df42ee0ab67f23d8a6d" + integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== "@types/q@^1.5.1": - version "1.5.5" - resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + version "1.5.7" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.7.tgz#5fe8cf91556bfb310d17f2e2b4263a7c12c2c2ca" + integrity sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA== "@types/qs@*": - version "6.9.7" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + version "6.9.9" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.9.tgz#66f7b26288f6799d279edf13da7ccd40d2fa9197" + integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + version "1.2.6" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.6.tgz#7cb33992049fd7340d5b10c0098e104184dfcd2a" + integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== "@types/react-router-config@*", "@types/react-router-config@^5.0.6": - version "5.0.6" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz" - integrity sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg== + version "5.0.9" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.9.tgz#8dad16c6b887d08efaa6d9da83e40db629ac21b6" + integrity sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg== dependencies: "@types/history" "^4.7.11" "@types/react" "*" - "@types/react-router" "*" + "@types/react-router" "^5.1.0" "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + 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@*": - version "5.1.19" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz" - integrity sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA== +"@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.0.21" - resolved "https://registry.npmjs.org/@types/react/-/react-18.0.21.tgz" - integrity sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA== + version "18.2.33" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.33.tgz#055356243dc4350a9ee6c6a2c07c5cae12e38877" + integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2625,225 +2859,234 @@ "@types/retry@0.12.0": version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + 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.4" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz" - integrity sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw== + version "1.2.6" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.6.tgz#6e563455034014db5ab9e24a929404cf9b43adc3" + integrity sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ== dependencies: "@types/node" "*" "@types/scheduler@*": - version "0.16.2" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + version "0.16.5" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.5.tgz#4751153abbf8d6199babb345a52e1eb4167d64af" + integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== + +"@types/send@*": + version "0.17.3" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.3.tgz#81b2ea5a3a18aad357405af2d643ccbe5a09020b" + integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== + dependencies: + "@types/mime" "^1" + "@types/node" "*" "@types/serve-index@^1.9.1": - version "1.9.1" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + version "1.9.3" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.3.tgz#af9403916eb6fbf7d6ec6f47b2a4c46eb3222cc9" + integrity sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.0" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== + version "1.15.4" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.4.tgz#44b5895a68ca637f06c229119e1c774ca88f81b2" + integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== dependencies: + "@types/http-errors" "*" "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - version "0.3.33" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + version "0.3.35" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.35.tgz#f4a568c73d2a8071944bd6ffdca0d4e66810cd21" + integrity sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw== dependencies: "@types/node" "*" -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.6" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" - integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/unist@^2", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.9.tgz#72e164381659a49557b0a078b28308f2c6a3e1ce" + integrity sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ== -"@types/ws@^8.5.1": - version "8.5.3" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== +"@types/ws@^8.5.5": + version "8.5.8" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.8.tgz#13efec7bd439d0bdf2af93030804a94f163b1430" + integrity sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg== dependencies: "@types/node" "*" "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + version "21.0.2" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.2.tgz#7bd04c5da378496ef1695a1008bf8f71847a8b8b" + integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== "@types/yargs@^17.0.8": - version "17.0.13" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.13.tgz" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== + version "17.0.29" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.29.tgz#06aabc72497b798c643c812a8b561537fea760cf" + integrity sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA== dependencies: "@types/yargs-parser" "*" -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== +"@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.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== +"@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== +"@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== +"@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== +"@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.1" - "@webassemblyjs/helper-api-error" "1.11.1" + "@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== +"@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== +"@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.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" + "@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== +"@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.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" +"@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.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + 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.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + 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.npmjs.org/accepts/-/accepts-1.3.8.tgz" + 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.7.6: - version "1.8.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +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-walk@^8.0.0: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + 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.4, acorn@^8.5.0, acorn@^8.7.1: - version "8.8.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== +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.1" - resolved "https://registry.npmjs.org/address/-/address-1.2.1.tgz" - integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== + version "1.2.2" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== aes-js@3.0.0: version "3.0.0" @@ -2852,7 +3095,7 @@ aes-js@3.0.0: aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + 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" @@ -2860,26 +3103,26 @@ aggregate-error@^3.0.0: ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + 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.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv-keywords@^5.0.0: +ajv-keywords@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + 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.4, ajv@^6.12.5: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + 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" @@ -2887,10 +3130,10 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.8.0: - version "8.11.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== +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" @@ -2898,162 +3141,188 @@ ajv@^8.0.0, ajv@^8.8.0: uri-js "^4.2.2" algoliasearch-helper@^3.10.0: - version "3.11.1" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz" - integrity sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw== + 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.0.0, algoliasearch@^4.13.1: - version "4.14.2" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz" - integrity sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg== - dependencies: - "@algolia/cache-browser-local-storage" "4.14.2" - "@algolia/cache-common" "4.14.2" - "@algolia/cache-in-memory" "4.14.2" - "@algolia/client-account" "4.14.2" - "@algolia/client-analytics" "4.14.2" - "@algolia/client-common" "4.14.2" - "@algolia/client-personalization" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/logger-common" "4.14.2" - "@algolia/logger-console" "4.14.2" - "@algolia/requester-browser-xhr" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/requester-node-http" "4.14.2" - "@algolia/transporter" "4.14.2" +algoliasearch@^4.13.1, 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.0, ansi-align@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + 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.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + 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.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + 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.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + 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.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + 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.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + 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.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + 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.2" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + 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" apg-js@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.1.3.tgz#0cb9dc99f8830740d7a8f9fc0048fa618ae4d199" - integrity sha512-XYyDcoBho8OpnWPRnedMwyL+76ovCtsESerHZEfY39dO4IrEqN97mdEYkOyHa0XTX5+3+U5FmpqPLttK0f7n6g== + version "4.2.1" + resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.2.1.tgz#cae595e8300fa4c5bc7ef755da9ac4289b70a62c" + integrity sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA== arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + 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.npmjs.org/argparse/-/argparse-1.0.10.tgz" + 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.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + 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.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + 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.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.reduce@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz" - integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== +array.prototype.reduce@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5" + integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-array-method-boxes-properly "^1.0.0" is-string "^1.0.7" +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + asap@~2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -autoprefixer@^10.3.7, autoprefixer@^10.4.7: - version "10.4.12" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz" - integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== +autoprefixer@^10.4.12, autoprefixer@^10.4.7: + 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.4" - caniuse-lite "^1.0.30001407" - fraction.js "^4.2.0" + 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" +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + axios@^0.25.0: version "0.25.0" - resolved "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== dependencies: follow-redirects "^1.14.7" babel-loader@^8.2.5: - version "8.2.5" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz" - integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== dependencies: find-cache-dir "^3.3.1" loader-utils "^2.0.0" @@ -3062,7 +3331,7 @@ babel-loader@^8.2.5: babel-plugin-apply-mdx-type-prop@1.6.22: version "1.6.22" - resolved "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" @@ -3070,60 +3339,60 @@ babel-plugin-apply-mdx-type-prop@1.6.22: babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + 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-extract-import-names@1.6.22: version "1.6.22" - resolved "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== +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.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.3" + semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== +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.3.3" - core-js-compat "^3.25.1" + "@babel/helper-define-polyfill-provider" "^0.4.3" + core-js-compat "^3.33.1" -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== +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.3.3" + "@babel/helper-define-polyfill-provider" "^0.4.3" bail@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base16@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== batch@0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== bech32@1.1.4: @@ -3133,12 +3402,12 @@ bech32@1.1.4: big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + 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.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bn.js@^4.11.9: @@ -3153,7 +3422,7 @@ bn.js@^5.2.1: body-parser@1.20.1: version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + 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" @@ -3170,9 +3439,9 @@ body-parser@1.20.1: unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.0.14" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.14.tgz" - integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== + 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" @@ -3181,12 +3450,12 @@ bonjour-service@^1.0.11: boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== boxen@^5.0.0: version "5.1.2" - resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== dependencies: ansi-align "^3.0.0" @@ -3200,7 +3469,7 @@ boxen@^5.0.0: boxen@^6.2.1: version "6.2.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== dependencies: ansi-align "^3.0.1" @@ -3214,7 +3483,7 @@ boxen@^6.2.1: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -3222,7 +3491,7 @@ brace-expansion@^1.1.7: braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" @@ -3232,34 +3501,34 @@ brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.20.3, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, 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.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + 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.npmjs.org/bytes/-/bytes-3.0.0.tgz" + 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.npmjs.org/bytes/-/bytes-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacheable-request@^6.0.0: version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== dependencies: clone-response "^1.0.2" @@ -3270,22 +3539,23 @@ cacheable-request@^6.0.0: normalize-url "^4.1.0" responselike "^1.0.2" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + 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.1" - get-intrinsic "^1.0.2" + 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.npmjs.org/callsites/-/callsites-3.1.0.tgz" + 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.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" @@ -3293,17 +3563,17 @@ camel-case@^4.1.2: camelcase-css@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + 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" @@ -3311,10 +3581,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: - version "1.0.30001420" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz" - integrity sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: + version "1.0.30001554" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz#ba80d88dff9acbc0cd4b7535fc30e0191c5e2e2a" + integrity sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ== canonicalize@^2.0.0: version "2.0.0" @@ -3323,12 +3593,12 @@ canonicalize@^2.0.0: ccount@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -chalk@^2.0.0, chalk@^2.4.1: +chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + 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" @@ -3337,7 +3607,7 @@ chalk@^2.0.0, chalk@^2.4.1: chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -3345,22 +3615,22 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: character-entities-legacy@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== character-entities@^1.0.0: version "1.2.4" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-reference-invalid@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -3372,7 +3642,7 @@ cheerio-select@^2.1.0: cheerio@^1.0.0-rc.12: version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" @@ -3385,7 +3655,7 @@ cheerio@^1.0.0-rc.12: chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -3400,44 +3670,44 @@ chokidar@^3.4.2, chokidar@^3.5.3: chrome-trace-event@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: - version "3.5.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz" - integrity sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw== + 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.0: - version "5.3.1" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz" - integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== + 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.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-boxes@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + 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.2: version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + 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" @@ -3446,7 +3716,7 @@ cli-table3@^0.6.2: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + 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" @@ -3455,19 +3725,19 @@ clone-deep@^4.0.1: clone-response@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== dependencies: mimic-response "^1.0.0" clsx@^1.1.1, clsx@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== coa@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== dependencies: "@types/q" "^1.5.1" @@ -3476,88 +3746,88 @@ coa@^2.0.2: collapse-white-space@^1.0.2: version "1.0.6" - resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + 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.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + 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.npmjs.org/color-name/-/color-name-1.1.3.tgz" + 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.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colord@^2.9.1: version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + 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.19" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + 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.1.0" - resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz" - integrity sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg== + 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@^1.0.0: version "1.0.8" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== commander@^2.20.0: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + 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.npmjs.org/commander/-/commander-5.1.0.tgz" + 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.npmjs.org/commander/-/commander-7.2.0.tgz" + 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.npmjs.org/commander/-/commander-8.3.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compressible@~2.0.16: version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + 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.npmjs.org/compression/-/compression-1.7.4.tgz" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: accepts "~1.3.5" @@ -3570,12 +3840,12 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== configstore@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" @@ -3587,54 +3857,59 @@ configstore@^5.0.1: connect-history-api-fallback@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + 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.npmjs.org/consola/-/consola-2.15.3.tgz" + 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.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + 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.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + 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.4" - resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + 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@^1.7.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +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.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + 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.npmjs.org/cookie/-/cookie-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-text-to-clipboard@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" - integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== + 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.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + 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" @@ -3644,31 +3919,31 @@ copy-webpack-plugin@^11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.25.1: - version "3.25.5" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.5.tgz" - integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.33.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.1.tgz#debe80464107d75419e00c2ee29f35982118ff84" + integrity sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ== dependencies: - browserslist "^4.21.4" + browserslist "^4.22.1" -core-js-pure@^3.25.1: - version "3.25.5" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.25.5.tgz" - integrity sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg== +core-js-pure@^3.30.2: + version "3.33.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.1.tgz#7f27dd239da8eb97dbea30120071be8e5565cb0e" + integrity sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ== core-js@^3.23.3: - version "3.25.5" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.25.5.tgz" - integrity sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw== + version "3.33.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.1.tgz#ef3766cfa382482d0a2c2bc5cb52c6d88805da52" + integrity sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + 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.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + 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" @@ -3678,9 +3953,9 @@ cosmiconfig@^6.0.0: yaml "^1.7.2" cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -3688,16 +3963,26 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +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-fetch@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + version "3.1.8" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== dependencies: - node-fetch "2.6.7" + node-fetch "^2.6.12" cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -3706,31 +3991,31 @@ cross-spawn@^7.0.3: crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-declaration-sorter@^6.3.0: - version "6.3.1" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== +css-declaration-sorter@^6.3.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" + integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== css-loader@^6.7.1: - version "6.7.1" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz" - integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== + 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.7" + postcss "^8.4.21" postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.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.5" + semver "^7.3.8" css-minimizer-webpack-plugin@^4.0.0: version "4.2.2" - resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz#79f6199eb5adf1ff7ba57f105e3752d15211eb35" integrity sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA== dependencies: cssnano "^5.1.8" @@ -3742,12 +4027,12 @@ css-minimizer-webpack-plugin@^4.0.0: css-select-base-adapter@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== css-select@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== dependencies: boolbase "^1.0.0" @@ -3757,7 +4042,7 @@ css-select@^2.0.0: css-select@^4.1.3: version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -3768,7 +4053,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + 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" @@ -3779,7 +4064,7 @@ css-select@^5.1.0: css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== dependencies: mdn-data "2.0.4" @@ -3787,7 +4072,7 @@ css-tree@1.0.0-alpha.37: css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" @@ -3795,50 +4080,50 @@ css-tree@^1.1.2, css-tree@^1.1.3: css-what@^3.2.1: version "3.4.2" - resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + 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.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssnano-preset-advanced@^5.3.8: - version "5.3.8" - resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.8.tgz" - integrity sha512-xUlLLnEB1LjpEik+zgRNlk8Y/koBPPtONZjp7JKbXigeAmCrFvq9H0pXW5jJV45bQWAlmJ0sKy+IMr0XxLYQZg== + version "5.3.10" + resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz#25558a1fbf3a871fb6429ce71e41be7f5aca6eef" + integrity sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ== dependencies: - autoprefixer "^10.3.7" - cssnano-preset-default "^5.2.12" + autoprefixer "^10.4.12" + cssnano-preset-default "^5.2.14" postcss-discard-unused "^5.1.0" postcss-merge-idents "^5.1.1" postcss-reduce-idents "^5.2.0" postcss-zindex "^5.1.0" -cssnano-preset-default@^5.2.12: - version "5.2.12" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz" - integrity sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew== +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== dependencies: - css-declaration-sorter "^6.3.0" + css-declaration-sorter "^6.3.1" cssnano-utils "^3.1.0" postcss-calc "^8.2.3" - postcss-colormin "^5.3.0" - postcss-convert-values "^5.1.2" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" postcss-discard-comments "^5.1.2" postcss-discard-duplicates "^5.1.0" postcss-discard-empty "^5.1.1" postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.6" - postcss-merge-rules "^5.1.2" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" postcss-minify-font-values "^5.1.0" postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.3" + postcss-minify-params "^5.1.4" postcss-minify-selectors "^5.2.1" postcss-normalize-charset "^5.1.0" postcss-normalize-display-values "^5.1.0" @@ -3846,40 +4131,40 @@ cssnano-preset-default@^5.2.12: postcss-normalize-repeat-style "^5.1.1" postcss-normalize-string "^5.1.0" postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.0" + postcss-normalize-unicode "^5.1.1" postcss-normalize-url "^5.1.0" postcss-normalize-whitespace "^5.1.1" postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.0" + postcss-reduce-initial "^5.1.2" postcss-reduce-transforms "^5.1.0" postcss-svgo "^5.1.0" postcss-unique-selectors "^5.1.1" cssnano-utils@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^5.1.12, cssnano@^5.1.8: - version "5.1.13" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.13.tgz" - integrity sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ== + version "5.1.15" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== dependencies: - cssnano-preset-default "^5.2.12" + cssnano-preset-default "^5.2.14" lilconfig "^2.0.3" yaml "^1.10.2" csso@^4.0.2, csso@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: css-tree "^1.1.2" csstype@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== data-uri-to-buffer@^4.0.0: version "4.0.1" @@ -3888,63 +4173,73 @@ data-uri-to-buffer@^4.0.0: debug@2.6.9, debug@^2.6.0: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + 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.1.0, debug@^4.1.1: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" decompress-response@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== dependencies: mimic-response "^1.0.0" deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + 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.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + 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@^1.0.1: version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== +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.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + 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.npmjs.org/del/-/del-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== dependencies: globby "^11.0.1" @@ -3958,34 +4253,34 @@ del@^6.1.1: depd@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + 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.npmjs.org/depd/-/depd-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== destroy@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detab@2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== dependencies: repeat-string "^1.5.4" detect-node@^2.0.4: version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + 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.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + 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" @@ -3993,7 +4288,7 @@ detect-port-alt@^1.1.6: detect-port@^1.3.0: version "1.5.1" - resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" + 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" @@ -4001,33 +4296,33 @@ detect-port@^1.3.0: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + 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.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + 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.4.0" - resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz" - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== + 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.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@0: version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== dependencies: domelementtype "^2.0.1" @@ -4035,7 +4330,7 @@ dom-serializer@0: dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" @@ -4044,7 +4339,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + 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" @@ -4053,31 +4348,31 @@ dom-serializer@^2.0.0: domelementtype@1: version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + 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.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + 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.1, domhandler@^5.0.2, domhandler@^5.0.3: +domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" domutils@^1.7.0: version "1.7.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: dom-serializer "0" @@ -4085,7 +4380,7 @@ domutils@^1.7.0: domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -4093,17 +4388,17 @@ domutils@^2.5.2, domutils@^2.8.0: domhandler "^4.2.0" domutils@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" - integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + 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.1" + domhandler "^5.0.3" dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -4111,40 +4406,40 @@ dot-case@^3.0.4: dot-prop@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" dotenv@^16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + version "16.3.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" + integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== duplexer3@^0.1.4: version "0.1.5" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== duplexer@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + 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.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + 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.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + 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.251: - version "1.4.284" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== +electron-to-chromium@^1.4.535: + version "1.4.568" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz#6ab444e120dd7fd9c3789eac54d3132b6cfcd0f9" + integrity sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg== elliptic@6.5.4: version "6.5.4" @@ -4161,104 +4456,128 @@ elliptic@6.5.4: emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + 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.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== emoticon@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-3.2.0.tgz#c008ca7d7620fac742fe1bf4af8ff8fed154ae7f" integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.1.0: version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== +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.npmjs.org/entities/-/entities-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" - integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== +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.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + 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-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1: - version "1.20.4" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz" - integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== +es-abstract@^1.17.2, es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: - call-bind "^1.0.2" + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" get-symbol-description "^1.0.0" - has "^1.0.3" + globalthis "^1.0.3" + gopd "^1.0.1" has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" is-callable "^1.2.7" is-negative-zero "^2.0.2" is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" + is-typed-array "^1.1.12" is-weakref "^1.0.2" - object-inspect "^1.12.2" + object-inspect "^1.13.1" object-keys "^1.1.1" object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" es-array-method-boxes-properly@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" + integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -4267,32 +4586,32 @@ es-to-primitive@^1.2.1: escalade@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-goat@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + 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.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + 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.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + 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" @@ -4300,39 +4619,44 @@ eslint-scope@5.1.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + 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.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + 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.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + 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.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== eta@^1.12.3: - version "1.12.3" - resolved "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz" - integrity sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg== + version "1.14.2" + resolved "https://registry.yarnpkg.com/eta/-/eta-1.14.2.tgz#5e6181a26ec13d8444c559ce51f7b3090cebbdd1" + integrity sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ== + +eta@^2.0.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.npmjs.org/etag/-/etag-1.8.1.tgz" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== ethers@^5.7.1: @@ -4373,7 +4697,7 @@ ethers@^5.7.1: eval@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== dependencies: "@types/node" "*" @@ -4381,17 +4705,17 @@ eval@^0.1.8: eventemitter3@^4.0.0: version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + 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.npmjs.org/events/-/events-3.3.0.tgz" + 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.npmjs.org/execa/-/execa-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -4406,7 +4730,7 @@ execa@^5.0.0: express@^4.17.3: version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" @@ -4443,25 +4767,25 @@ express@^4.17.3: extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + 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.npmjs.org/extend/-/extend-3.0.2.tgz" + 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.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + 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: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -4471,46 +4795,46 @@ fast-glob@^3.2.11, fast-glob@^3.2.9: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + 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.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + 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.13.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + 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" faye-websocket@^0.11.3: version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" fbemitter@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== dependencies: fbjs "^3.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz" - integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + version "3.0.5" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" + integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== dependencies: cross-fetch "^3.1.5" fbjs-css-vars "^1.0.0" @@ -4518,11 +4842,11 @@ fbjs@^3.0.0, fbjs@^3.0.1: object-assign "^4.1.0" promise "^7.1.1" setimmediate "^1.0.5" - ua-parser-js "^0.7.30" + ua-parser-js "^1.0.35" feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" @@ -4537,7 +4861,7 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: file-loader@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + 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" @@ -4545,19 +4869,19 @@ file-loader@^6.2.0: filesize@^8.0.6: version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + 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.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + 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.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" @@ -4570,7 +4894,7 @@ finalhandler@1.2.0: find-cache-dir@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" @@ -4579,14 +4903,14 @@ find-cache-dir@^3.3.1: find-up@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + 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@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -4594,29 +4918,41 @@ find-up@^4.0.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + 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" +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== + flux@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz" - integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" + integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== dependencies: fbemitter "^3.0.0" fbjs "^3.0.1" follow-redirects@^1.0.0, follow-redirects@^1.14.7: - version "1.15.2" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.2" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz" - integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== + 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" @@ -4641,22 +4977,22 @@ formdata-polyfill@^4.0.10: forwarded@0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== +fraction.js@^4.3.6: + 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.npmjs.org/fresh/-/fresh-0.5.2.tgz" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^10.1.0: version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -4665,7 +5001,7 @@ fs-extra@^10.1.0: fs-extra@^9.0.0: version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + 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" @@ -4673,114 +5009,115 @@ fs-extra@^9.0.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== +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.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + 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.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + 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.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +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== -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" -functions-have-names@^1.2.2: +functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + 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.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, 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.1" - has "^1.0.3" + 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.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + 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@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" get-stream@^5.1.0: version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" get-intrinsic "^1.1.1" github-slugger@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz" - integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== + 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.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + 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.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + 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.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + 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.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -4791,22 +5128,22 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: path-is-absolute "^1.0.0" global-dirs@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz" - integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + 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.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + 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.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -4815,12 +5152,19 @@ global-prefix@^3.0.0: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -4831,19 +5175,26 @@ globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: slash "^3.0.0" globby@^13.1.1: - version "13.1.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz" - integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ== + 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.2.11" - ignore "^5.2.0" + 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@^9.6.0: version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" @@ -4859,13 +5210,13 @@ got@^9.6.0: url-parse-lax "^3.0.0" 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.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + 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.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -4875,62 +5226,60 @@ gray-matter@^4.0.3: gzip-size@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + 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.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + 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.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + 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.0" - resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + 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.1.1" + 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.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has-yarn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" @@ -4939,9 +5288,16 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +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-to-hyperscript@^9.0.0: version "9.0.1" - resolved "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== dependencies: "@types/unist" "^2.0.3" @@ -4954,7 +5310,7 @@ hast-to-hyperscript@^9.0.0: hast-util-from-parse5@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== dependencies: "@types/parse5" "^5.0.0" @@ -4966,12 +5322,12 @@ hast-util-from-parse5@^6.0.0: hast-util-parse-selector@^2.0.0: version "2.2.5" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== hast-util-raw@6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== dependencies: "@types/hast" "^2.0.0" @@ -4987,7 +5343,7 @@ hast-util-raw@6.0.1: hast-util-to-parse5@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== dependencies: hast-to-hyperscript "^9.0.0" @@ -4998,7 +5354,7 @@ hast-util-to-parse5@^6.0.0: hastscript@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== dependencies: "@types/hast" "^2.0.0" @@ -5009,12 +5365,12 @@ hastscript@^6.0.0: he@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + 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.npmjs.org/history/-/history-4.10.1.tgz" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== dependencies: "@babel/runtime" "^7.1.2" @@ -5035,14 +5391,14 @@ hmac-drbg@^1.0.1: hoist-non-react-statics@^3.1.0: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + 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.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" @@ -5051,13 +5407,13 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-entities@^2.3.2: - version "2.3.3" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + 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" @@ -5069,19 +5425,19 @@ html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: terser "^5.10.0" html-tags@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz" - integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg== + 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@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== + 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" @@ -5091,7 +5447,7 @@ html-webpack-plugin@^5.5.0: htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -5100,28 +5456,28 @@ htmlparser2@^6.1.0: entities "^2.0.0" htmlparser2@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" - integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + 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.2" + domhandler "^5.0.3" domutils "^3.0.1" - entities "^4.3.0" + entities "^4.4.0" http-cache-semantics@^4.0.0: - version "4.1.0" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + 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.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + 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.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + 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" @@ -5132,7 +5488,7 @@ http-errors@2.0.0: http-errors@~1.6.2: version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" @@ -5142,12 +5498,12 @@ http-errors@~1.6.2: http-parser-js@>=0.5.1: version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + 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.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + 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" @@ -5158,7 +5514,7 @@ http-proxy-middleware@^2.0.3: http-proxy@^1.18.1: version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + 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" @@ -5167,46 +5523,46 @@ http-proxy@^1.18.1: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== husky@^7.0.4: version "7.0.4" - resolved "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + 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.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -ignore@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== +ignore@^5.2.0, ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== image-size@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" + 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.15" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.15.tgz" - integrity sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ== + 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.2.1, import-fresh@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + 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" @@ -5214,27 +5570,27 @@ import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: import-lazy@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + 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.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + 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.42: version "0.2.0-alpha.42" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.42.tgz#f6e86a655ad40877c6b4d11b2ede681eb5470aa5" integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -5242,95 +5598,104 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + 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.npmjs.org/inherits/-/inherits-2.0.3.tgz" + 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.npmjs.org/ini/-/ini-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.5, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + 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.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== +internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" + get-intrinsic "^1.2.2" + hasown "^2.0.0" side-channel "^1.0.4" interpret@^1.0.0: version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + 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.npmjs.org/invariant/-/invariant-2.2.4.tgz" + 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.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + 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.0.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== + 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@1.0.4, is-alphabetical@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== is-alphanumerical@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== dependencies: is-alphabetical "^1.0.0" is-decimal "^1.0.0" +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + 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-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -5338,75 +5703,75 @@ is-boolean-object@^1.1.0: is-buffer@^2.0.0: version "2.0.5" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== +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: - has "^1.0.3" + hasown "^2.0.0" is-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-decimal@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + 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.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + 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.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + 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.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + 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.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + 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@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-installed-globally@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + 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" @@ -5414,66 +5779,71 @@ is-installed-globally@^0.4.0: is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-npm@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + 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.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + 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.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + 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.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + 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.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + 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@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + 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-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -5481,100 +5851,112 @@ is-regex@^1.1.4: is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + 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.npmjs.org/is-root/-/is-root-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-whitespace-character@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== is-word-character@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + 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.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + 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.npmjs.org/isexe/-/isexe-2.0.0.tgz" + 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.npmjs.org/isobject/-/isobject-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -jest-util@^29.2.0: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.2.0.tgz" - integrity sha512-8M1dx12ujkBbnhwytrezWY0Ut79hbflwodE+qZKjxSRz5qt4xDp6dQQJaOCFvCmE0QJqp9KyEK33lpPNjnhevw== +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.2.0" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" @@ -5583,7 +5965,7 @@ jest-util@^29.2.0: jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" @@ -5591,24 +5973,29 @@ jest-worker@^27.4.5: supports-color "^8.0.0" jest-worker@^29.1.2: - version "29.2.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.2.0.tgz" - integrity sha512-mluOlMbRX1H59vGVzPcVg2ALfCausbBpxC8a2KWOzInhYHZibbHH8CB0C1JkmkpfurrkOYgF7FPmypuom1OM9A== + 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.2.0" + jest-util "^29.7.0" merge-stream "^2.0.0" supports-color "^8.0.0" +jiti@^1.18.2: + version "1.20.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" + integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== + joi@^17.6.0: - version "17.6.3" - resolved "https://registry.npmjs.org/joi/-/joi-17.6.3.tgz" - integrity sha512-YlQsIaS9MHYekzf1Qe11LjTkNzx9qhYluK3172z38RxYoAUf82XMX1p1DG1H4Wtk2ED/vPdSn9OggqtDu+aTow== + 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.0" + "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" js-sha3@0.8.0: @@ -5618,12 +6005,12 @@ js-sha3@0.8.0: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + 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.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + 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" @@ -5631,49 +6018,49 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + 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.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + 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.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-buffer@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + 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.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + 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.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + 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.2: +json5@^2.1.2, json5@^2.2.3: version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + 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.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -5682,70 +6069,73 @@ jsonfile@^6.0.1: keyv@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== dependencies: json-buffer "3.0.0" kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + 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.npmjs.org/kleur/-/kleur-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== - latest-version@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: package-json "^6.3.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.npmjs.org/leven/-/leven-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== lilconfig@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + 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.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + 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.2" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz" - integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + 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.0" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz" - integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== + 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.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -5753,115 +6143,140 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + 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" lodash.curry@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.escape@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" + integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== + lodash.flow@^3.3.0: version "3.5.0" - resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== +lodash.invokemap@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz#1748cda5d8b0ef8369c4eb3ec54c21feba1f2d62" + integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== + lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== +lodash.pullall@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.pullall/-/lodash.pullall-4.2.0.tgz#9d98b8518b7c965b0fae4099bd9fb7df8bbf38ba" + integrity sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg== + lodash.uniq@4.5.0, lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== +lodash.uniqby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" + integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== + lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 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.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + 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.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + 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@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== lowercase-keys@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + 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.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + 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" make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" markdown-escapes@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== mdast-squeeze-paragraphs@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== dependencies: unist-util-remove "^2.0.0" mdast-util-definitions@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== dependencies: unist-util-visit "^2.0.0" mdast-util-to-hast@10.0.1: version "10.0.1" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== dependencies: "@types/mdast" "^3.0.0" @@ -5875,59 +6290,59 @@ mdast-util-to-hast@10.0.1: mdast-util-to-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== mdn-data@2.0.14: version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== mdn-data@2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== mdurl@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + 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.4.7" - resolved "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz" - integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== + 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.3" + fs-monkey "^1.0.4" merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + 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.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + 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.npmjs.org/merge2/-/merge2-1.4.1.tgz" + 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.npmjs.org/methods/-/methods-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -5935,53 +6350,53 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + 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.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + 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.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + 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.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + 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.npmjs.org/mime/-/mime-1.6.0.tgz" + 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.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== mini-css-extract-plugin@^2.6.1: - version "2.6.1" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz" - integrity sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg== + 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, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.1: @@ -5989,55 +6404,48 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.4, minimatch@^3.1.1: +minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + 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, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mkdirp@~0.5.1: version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" mrmime@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" + 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.npmjs.org/ms/-/ms-2.0.0.tgz" + 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.npmjs.org/ms/-/ms-2.1.2.tgz" + 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.npmjs.org/ms/-/ms-2.1.3.tgz" + 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.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + 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" @@ -6048,24 +6456,24 @@ multiformats@^11.0.2: resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== -nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + 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.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + 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.npmjs.org/no-case/-/no-case-3.0.4.tgz" + 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" @@ -6078,22 +6486,22 @@ node-domexception@^1.0.0: node-emoji@^1.10.0: version "1.11.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== dependencies: lodash "^4.17.21" -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" node-fetch@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" - integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: data-uri-to-buffer "^4.0.0" fetch-blob "^3.1.4" @@ -6101,78 +6509,78 @@ node-fetch@^3.3.1: node-forge@^1: version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== +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== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + 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.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^4.1.0: version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== normalize-url@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + 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.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + 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.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== +object-inspect@^1.13.1, 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.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0, object.assign@^4.1.4: version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + 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" @@ -6181,59 +6589,60 @@ object.assign@^4.1.0, object.assign@^4.1.4: object-keys "^1.1.1" object.getownpropertydescriptors@^2.1.0: - version "2.1.4" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz" - integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== + version "2.1.7" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a" + integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== dependencies: - array.prototype.reduce "^1.0.4" + array.prototype.reduce "^1.0.6" call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.1" + define-properties "^1.2.0" + es-abstract "^1.22.1" + safe-array-concat "^1.0.0" object.values@^1.1.0: - version "1.1.5" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" + define-properties "^1.2.0" + es-abstract "^1.22.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + 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.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + 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.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + 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, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + 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.npmjs.org/onetime/-/onetime-5.1.2.tgz" + 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.0" - resolved "https://registry.npmjs.org/open/-/open-8.4.0.tgz" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== + 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" @@ -6241,59 +6650,59 @@ open@^8.0.9, open@^8.4.0: opener@^1.5.2: version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== p-cancelable@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + 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.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + 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-locate@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + 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@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + 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-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + 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.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" @@ -6301,12 +6710,12 @@ p-retry@^4.5.0: p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^6.3.0: version "6.5.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: got "^9.6.0" @@ -6316,7 +6725,7 @@ package-json@^6.3.0: param-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" @@ -6324,14 +6733,14 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + 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@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== dependencies: character-entities "^1.0.0" @@ -6341,9 +6750,9 @@ parse-entities@^2.0.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + 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" @@ -6353,12 +6762,12 @@ parse-json@^5.0.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + 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.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + 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" @@ -6366,24 +6775,24 @@ parse5-htmlparser2-tree-adapter@^7.0.0: parse5@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^7.0.0: - version "7.1.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz" - integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== + 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.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + 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.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + 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" @@ -6391,209 +6800,209 @@ pascal-case@^3.1.2: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + 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.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + 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.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + 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.npmjs.org/path-key/-/path-key-3.1.1.tgz" + 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.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + 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.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + 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.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + 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.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + 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.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + 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.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pkg-dir@^4.1.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pkg-up@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + 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@^8.2.3: version "8.2.4" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== dependencies: postcss-selector-parser "^6.0.9" postcss-value-parser "^4.2.0" -postcss-colormin@^5.3.0: - version "5.3.0" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" caniuse-api "^3.0.0" colord "^2.9.1" postcss-value-parser "^4.2.0" -postcss-convert-values@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz" - integrity sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g== +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== dependencies: - browserslist "^4.20.3" + browserslist "^4.21.4" postcss-value-parser "^4.2.0" postcss-discard-comments@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== postcss-discard-duplicates@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== postcss-discard-empty@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== postcss-discard-overridden@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== postcss-discard-unused@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz#8974e9b143d887677304e558c1166d3762501142" integrity sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw== dependencies: postcss-selector-parser "^6.0.5" postcss-loader@^7.0.0: - version "7.0.1" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz" - integrity sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ== + 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 "^7.0.0" - klona "^2.0.5" - semver "^7.3.7" + cosmiconfig "^8.2.0" + jiti "^1.18.2" + semver "^7.3.8" postcss-merge-idents@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz#7753817c2e0b75d0853b56f78a89771e15ca04a1" integrity sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw== dependencies: cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" -postcss-merge-longhand@^5.1.6: - version "5.1.6" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz" - integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw== +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== dependencies: postcss-value-parser "^4.2.0" - stylehacks "^5.1.0" + stylehacks "^5.1.1" -postcss-merge-rules@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz" - integrity sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ== +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" caniuse-api "^3.0.0" cssnano-utils "^3.1.0" postcss-selector-parser "^6.0.5" postcss-minify-font-values@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: postcss-value-parser "^4.2.0" postcss-minify-gradients@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== dependencies: colord "^2.9.1" cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" -postcss-minify-params@^5.1.3: - version "5.1.3" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz" - integrity sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg== +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" cssnano-utils "^3.1.0" postcss-value-parser "^4.2.0" postcss-minify-selectors@^5.2.1: version "5.2.1" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== dependencies: postcss-selector-parser "^6.0.5" postcss-modules-extract-imports@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + 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.0: - version "4.0.0" - resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== +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" @@ -6601,69 +7010,69 @@ postcss-modules-local-by-default@^4.0.0: postcss-modules-scope@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + 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.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + 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@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== postcss-normalize-display-values@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-positions@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-repeat-style@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-string@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-timing-functions@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: postcss-value-parser "^4.2.0" -postcss-normalize-unicode@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz" - integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" postcss-value-parser "^4.2.0" postcss-normalize-url@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: normalize-url "^6.0.1" @@ -6671,14 +7080,14 @@ postcss-normalize-url@^5.1.0: postcss-normalize-whitespace@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: postcss-value-parser "^4.2.0" postcss-ordered-values@^5.1.3: version "5.1.3" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: cssnano-utils "^3.1.0" @@ -6686,44 +7095,44 @@ postcss-ordered-values@^5.1.3: postcss-reduce-idents@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz#c89c11336c432ac4b28792f24778859a67dfba95" integrity sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg== dependencies: postcss-value-parser "^4.2.0" -postcss-reduce-initial@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz" - integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" caniuse-api "^3.0.0" postcss-reduce-transforms@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: postcss-value-parser "^4.2.0" postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - version "6.0.10" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz" - integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + 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@^4.2.1: - version "4.3.0" - resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.3.0.tgz" - integrity sha512-jAl8gJM2DvuIJiI9sL1CuiHtKM4s5aEIomkU8G3LFvbP+p8i7Sz8VV63uieTgoewGqKbi+hxBTiOKJlB35upCg== + version "4.4.1" + resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz#04a5a78db3921eb78f28a1a781a2e68e65258128" + integrity sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw== dependencies: sort-css-media-queries "2.1.0" postcss-svgo@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: postcss-value-parser "^4.2.0" @@ -6731,38 +7140,38 @@ postcss-svgo@^5.1.0: postcss-unique-selectors@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: postcss-selector-parser "^6.0.5" postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss-zindex@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: - version "8.4.18" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz" - integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== +postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.21: + 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.4" + nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" prepend-http@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== pretty-error@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" @@ -6770,34 +7179,34 @@ pretty-error@^4.0.0: pretty-time@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prism-react-renderer@^1.2.1, prism-react-renderer@^1.3.5: version "1.3.5" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== prismjs@^1.28.0: version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + 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.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== promise@^7.1.1: version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" prompts@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -6805,7 +7214,7 @@ prompts@^2.4.2: prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + 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" @@ -6814,14 +7223,14 @@ prop-types@^15.6.2, prop-types@^15.7.2: property-information@^5.0.0, property-information@^5.3.0: version "5.6.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== dependencies: xtend "^4.0.0" proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + 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" @@ -6829,7 +7238,7 @@ proxy-addr@~2.0.7: pump@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" @@ -6837,70 +7246,70 @@ pump@^3.0.0: punycode@^1.3.2: version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + 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.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + version "2.3.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== pupa@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== dependencies: escape-goat "^2.0.0" pure-color@^1.2.0: version "1.3.0" - resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== q@^1.1.2: version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qs@6.11.0: version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + 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.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + 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.npmjs.org/queue/-/queue-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== dependencies: inherits "~2.0.3" randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + 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.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + 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.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + 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.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + 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" @@ -6910,7 +7319,7 @@ raw-body@2.5.1: rc@1.2.8, rc@^1.2.8: version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -6920,7 +7329,7 @@ rc@1.2.8, rc@^1.2.8: react-base16-styling@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== dependencies: base16 "^1.0.0" @@ -6930,7 +7339,7 @@ react-base16-styling@^0.6.0: react-dev-utils@^12.0.1: version "12.0.1" - resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + 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" @@ -6960,7 +7369,7 @@ react-dev-utils@^12.0.1: react-dom@^17.0.1: version "17.0.2" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" @@ -6969,17 +7378,17 @@ react-dom@^17.0.1: react-error-overlay@^6.0.11: version "6.0.11" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + 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: - version "3.2.0" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz" - integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== + 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@*, react-helmet-async@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" + 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" @@ -6990,12 +7399,12 @@ react-helmet-async@*, react-helmet-async@^1.3.0: react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-json-view@^1.21.3: version "1.21.3" - resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== dependencies: flux "^4.0.1" @@ -7005,26 +7414,26 @@ react-json-view@^1.21.3: react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-loadable-ssr-addon-v5-slorber@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + 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-router-config@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + 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.3: version "5.3.4" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" + 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" @@ -7037,7 +7446,7 @@ react-router-dom@^5.3.3: react-router@5.3.4, react-router@^5.3.3: version "5.3.4" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" + 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" @@ -7051,26 +7460,26 @@ react-router@5.3.4, react-router@^5.3.3: tiny-warning "^1.0.0" react-textarea-autosize@^8.3.2: - version "8.3.4" - resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz" - integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ== + version "8.5.3" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" + integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== dependencies: - "@babel/runtime" "^7.10.2" + "@babel/runtime" "^7.20.13" use-composed-ref "^1.3.0" use-latest "^1.2.1" react@^17.0.1: version "17.0.2" - resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" readable-stream@^2.0.1: - version "2.3.7" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + 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" @@ -7081,9 +7490,9 @@ readable-stream@^2.0.1: util-deprecate "~1.0.1" readable-stream@^3.0.6: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + 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" @@ -7091,109 +7500,104 @@ readable-stream@^3.0.6: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + 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.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + 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.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + 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.2" - resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + 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.4" + minimatch "^3.0.5" regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + 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.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: - version "0.13.10" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz" - integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== +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.0: - version "0.15.0" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== +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" -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== +regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" -regexpu-core@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz" - integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== +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" - regjsgen "^0.7.1" regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@^4.0.0: version "4.2.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== dependencies: rc "1.2.8" registry-url@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: rc "^1.2.8" -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - regjsparser@^0.9.1: version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-emoji@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-2.2.0.tgz#1c702090a1525da5b80e15a8f963ef2c8236cac7" integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== dependencies: emoticon "^3.2.0" @@ -7202,12 +7606,12 @@ remark-emoji@^2.2.0: remark-footnotes@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== remark-mdx@1.6.22: version "1.6.22" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== dependencies: "@babel/core" "7.12.9" @@ -7221,7 +7625,7 @@ remark-mdx@1.6.22: remark-parse@8.0.3: version "8.0.3" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== dependencies: ccount "^1.0.0" @@ -7243,14 +7647,14 @@ remark-parse@8.0.3: remark-squeeze-paragraphs@4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== dependencies: mdast-squeeze-paragraphs "^4.0.0" renderkid@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + 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" @@ -7261,75 +7665,75 @@ renderkid@^3.0.0: repeat-string@^1.5.4: version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + 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.npmjs.org/require-like/-/require-like-0.1.2.tgz" + 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.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + 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.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + 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, resolve@^1.3.2: - version "1.22.1" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + 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.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" responselike@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== dependencies: lowercase-keys "^1.0.0" retry@^0.13.1: version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + 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.npmjs.org/reusify/-/reusify-1.0.4.tgz" + 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.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + 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.0.4" - resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.4.tgz" - integrity sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ== + 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@^3.5.0: version "3.5.0" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== dependencies: find-up "^5.0.0" @@ -7339,31 +7743,41 @@ rtlcss@^3.5.0: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + 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" rxjs@^7.5.4: - version "7.5.7" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.7.tgz" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" +safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + 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.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex-test@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== dependencies: call-bind "^1.0.2" @@ -7372,17 +7786,22 @@ safe-regex-test@^1.0.0: "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sax@^1.2.4, sax@~1.2.4: +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== + +sax@~1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== scheduler@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" @@ -7390,7 +7809,7 @@ scheduler@^0.20.2: schema-utils@2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + 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" @@ -7399,31 +7818,31 @@ schema-utils@2.7.0: schema-utils@^2.6.5: version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +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: - version "4.0.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== + 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.8.0" + ajv "^8.9.0" ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" + ajv-keywords "^5.1.0" scrypt-js@3.0.1: version "3.0.1" @@ -7432,7 +7851,7 @@ scrypt-js@3.0.1: section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" @@ -7440,43 +7859,44 @@ section-matter@^1.0.0: select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + 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.1.1" - resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + 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@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: semver "^6.3.0" semver@^5.4.1: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, 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.4, semver@^7.3.5, semver@^7.3.7: - version "7.3.8" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== +semver@^7.3.2, semver@^7.3.4, semver@^7.3.7, semver@^7.3.8: + 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.npmjs.org/send/-/send-0.18.0.tgz" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" @@ -7493,30 +7913,30 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== +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.3: - version "6.1.3" - resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz" - integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w== + 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.0.4" + 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.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" @@ -7529,7 +7949,7 @@ serve-index@^1.9.1: serve-static@1.15.0: version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + 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" @@ -7537,53 +7957,72 @@ serve-static@1.15.0: 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" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + 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.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + 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.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + 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.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + 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.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + 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.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.3: - version "1.7.4" - resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz" - integrity sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw== +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.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" @@ -7592,7 +8031,7 @@ shelljs@^0.8.5: side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -7601,26 +8040,26 @@ side-channel@^1.0.4: signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -sirv@^1.0.7: - version "1.0.19" - resolved "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz" - integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== +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 "^1.0.0" + totalist "^3.0.0" sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + 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.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" @@ -7649,17 +8088,17 @@ siwe@^2.0.5, siwe@^2.1.4: slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + 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.npmjs.org/slash/-/slash-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== sockjs@^0.3.24: version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" @@ -7668,17 +8107,17 @@ sockjs@^0.3.24: sort-css-media-queries@2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz#7c85e06f79826baabb232f5560e9745d7a78c4ce" integrity sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA== source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + 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.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + 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" @@ -7686,22 +8125,22 @@ source-map-support@~0.5.20: source-map@^0.5.0: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== space-separated-tokens@^1.0.0: version "1.1.5" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + 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" @@ -7713,7 +8152,7 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" @@ -7724,37 +8163,37 @@ spdy@^4.0.2: sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stable@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== state-toggle@^1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== statuses@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + 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.npmjs.org/statuses/-/statuses-1.5.0.tgz" + 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.3.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.3.0.tgz" - integrity sha512-cNNS+VYsXIs5gI6gJipO4qZ8YYT274JHvNnQ1/R/x8Q8mdP0qj0zoMchRXmBNPqp/0eOEhX+3g7g6Fgb7meLIQ== + version "3.4.3" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910" + integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + 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" @@ -7763,48 +8202,57 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 string-width@^5.0.1: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + 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.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" string_decoder@^1.1.1: version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + 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.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + 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-object@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + 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" @@ -7813,87 +8261,87 @@ stringify-object@^3.3.0: strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + 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.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== + 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.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + 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.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + 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.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + 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.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== style-to-object@0.3.0, style-to-object@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== dependencies: inline-style-parser "0.1.1" -stylehacks@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz" - integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== dependencies: - browserslist "^4.16.6" + browserslist "^4.21.4" postcss-selector-parser "^6.0.4" supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + 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.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + 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.2, svg-parser@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== svgo@^1.2.2: version "1.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== dependencies: chalk "^2.4.1" @@ -7912,7 +8360,7 @@ svgo@^1.2.2: svgo@^2.7.0, svgo@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" @@ -7925,145 +8373,179 @@ svgo@^2.7.0, svgo@^2.8.0: tapable@^1.0.0: version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + 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.npmjs.org/tapable/-/tapable-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.3: - version "5.3.6" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== +terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: + 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.14" + "@jridgewell/trace-mapping" "^0.3.17" jest-worker "^27.4.5" schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" -terser@^5.10.0, terser@^5.14.1: - version "5.15.1" - resolved "https://registry.npmjs.org/terser/-/terser-5.15.1.tgz" - integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== +terser@^5.10.0, terser@^5.16.8: + version "5.22.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" + integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@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.npmjs.org/text-table/-/text-table-0.2.0.tgz" + 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.npmjs.org/thunky/-/thunky-1.1.0.tgz" + 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.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" + 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.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + 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.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-readable-stream@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + 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.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== +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== tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-trailing-lines@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== trim@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== trough@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^2.3.0: - version "2.5.0" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.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@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^2.5.0: version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + 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.npmjs.org/type-is/-/type-is-1.6.18.tgz" + 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" +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + 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" -ua-parser-js@^0.7.30: - version "0.7.32" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz" - integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== +ua-parser-js@^1.0.35: + version "1.0.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -8071,9 +8553,14 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" +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== + unherit@^1.0.4: version "1.1.3" - resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== dependencies: inherits "^2.0.0" @@ -8081,30 +8568,30 @@ unherit@^1.0.4: unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + 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-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + 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.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +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.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + 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@9.2.0: version "9.2.0" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== dependencies: bail "^1.0.0" @@ -8116,7 +8603,7 @@ unified@9.2.0: unified@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== dependencies: bail "^1.0.0" @@ -8128,55 +8615,55 @@ unified@^9.2.2: unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" unist-builder@2.0.3, unist-builder@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== unist-util-generated@^1.0.0: version "1.1.6" - resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== unist-util-is@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-position@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== unist-util-remove-position@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== dependencies: unist-util-visit "^2.0.0" unist-util-remove@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== dependencies: unist-util-is "^4.0.0" unist-util-stringify-position@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== dependencies: "@types/unist" "^2.0.2" unist-util-visit-parents@^3.0.0: version "3.1.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" @@ -8184,7 +8671,7 @@ unist-util-visit-parents@^3.0.0: unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" @@ -8193,30 +8680,30 @@ unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: universalify@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unquote@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +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@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== dependencies: boxen "^5.0.0" @@ -8236,14 +8723,14 @@ update-notifier@^5.1.0: uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + 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.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + 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" @@ -8252,36 +8739,36 @@ url-loader@^4.1.1: url-parse-lax@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== dependencies: prepend-http "^2.0.0" use-composed-ref@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== use-isomorphic-layout-effect@^1.1.1: version "1.1.2" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== use-latest@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== dependencies: use-isomorphic-layout-effect "^1.1.1" util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util.promisify@~1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== dependencies: define-properties "^1.1.3" @@ -8291,22 +8778,22 @@ util.promisify@~1.0.0: utila@~0.4: version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + 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.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" + 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.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + 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.npmjs.org/uuid/-/uuid-8.3.2.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== valid-url@^1.0.9: @@ -8316,22 +8803,22 @@ valid-url@^1.0.9: value-equal@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + 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.npmjs.org/vary/-/vary-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^3.0.0, vfile-location@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== vfile-message@^2.0.0: version "2.0.4" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== dependencies: "@types/unist" "^2.0.0" @@ -8339,7 +8826,7 @@ vfile-message@^2.0.0: vfile@^4.0.0: version "4.2.1" - resolved "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" @@ -8349,7 +8836,7 @@ vfile@^4.0.0: wait-on@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e" integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw== dependencies: axios "^0.25.0" @@ -8360,7 +8847,7 @@ wait-on@^6.0.1: watchpack@^2.4.0: version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + 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" @@ -8368,14 +8855,14 @@ watchpack@^2.4.0: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + 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@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== web-streams-polyfill@^3.0.3: @@ -8385,27 +8872,35 @@ web-streams-polyfill@^3.0.3: webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webpack-bundle-analyzer@^4.5.0: - version "4.6.1" - resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz" - integrity sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw== + version "4.9.1" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz#d00bbf3f17500c10985084f22f1a2bf45cb2f09d" + integrity sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w== dependencies: + "@discoveryjs/json-ext" "0.5.7" acorn "^8.0.4" acorn-walk "^8.0.0" - chalk "^4.1.0" commander "^7.2.0" + escape-string-regexp "^4.0.0" gzip-size "^6.0.0" - lodash "^4.17.20" + is-plain-object "^5.0.0" + lodash.debounce "^4.0.8" + lodash.escape "^4.0.1" + lodash.flatten "^4.4.0" + lodash.invokemap "^4.6.0" + lodash.pullall "^4.2.0" + lodash.uniqby "^4.7.0" opener "^1.5.2" - sirv "^1.0.7" + 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.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + 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" @@ -8415,9 +8910,9 @@ webpack-dev-middleware@^5.3.1: schema-utils "^4.0.0" webpack-dev-server@^4.9.3: - version "4.11.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz" - integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== + 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" @@ -8425,7 +8920,7 @@ webpack-dev-server@^4.9.3: "@types/serve-index" "^1.9.1" "@types/serve-static" "^1.13.10" "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" + "@types/ws" "^8.5.5" ansi-html-community "^0.0.8" bonjour-service "^1.0.11" chokidar "^3.5.3" @@ -8438,6 +8933,7 @@ webpack-dev-server@^4.9.3: 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" @@ -8447,37 +8943,38 @@ webpack-dev-server@^4.9.3: sockjs "^0.3.24" spdy "^4.0.2" webpack-dev-middleware "^5.3.1" - ws "^8.4.2" + ws "^8.13.0" webpack-merge@^5.8.0: - version "5.8.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + 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.2, webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.73.0: - version "5.74.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== + 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" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@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.7.6" + acorn-import-assertions "^1.9.0" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + 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" @@ -8486,15 +8983,15 @@ webpack@^5.73.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" + 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.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570" integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== dependencies: chalk "^4.1.0" @@ -8504,7 +9001,7 @@ webpackbar@^5.0.2: websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + 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" @@ -8513,12 +9010,12 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: websocket-extensions@>=0.1.1: version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -8526,7 +9023,7 @@ whatwg-url@^5.0.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -8535,42 +9032,53 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + which@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + 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.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" widest-line@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: string-width "^4.0.0" widest-line@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + 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.0" - resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -8578,9 +9086,9 @@ wrap-ansi@^7.0.0: strip-ansi "^6.0.0" wrap-ansi@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz" - integrity sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g== + 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" @@ -8588,12 +9096,12 @@ wrap-ansi@^8.0.1: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + 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" @@ -8608,52 +9116,52 @@ ws@7.4.6: ws@^7.3.1: version "7.5.9" - resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.4.2: - version "8.9.0" - resolved "https://registry.npmjs.org/ws/-/ws-8.9.0.tgz" - integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== +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@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" xtend@^4.0.0, xtend@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + 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.npmjs.org/yallist/-/yallist-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + 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.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zwitch@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From 88681fed36a60eba34d0d297dac1ea54688bf7bc Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Sun, 29 Oct 2023 16:51:29 -0700 Subject: [PATCH 051/627] Various small changes and broken link fixes (#158) * remove note * revise note * fix broken link * relative link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link * fix broken link --- docs/integrations/storage/ceramic-example.md | 45 +-- docs/integrations/storage/irys.md | 355 +++++++++--------- docs/intro/overview.mdx | 18 +- docs/resources/contracts.md | 4 +- docs/resources/glossary.md | 58 ++- docs/resources/how-it-works.md | 6 +- .../auth-methods/add-remove-auth-methods.md | 4 +- .../session-sigs/auth-methods/overview.md | 8 +- docs/sdk/authentication/session-sigs/intro.md | 16 +- docs/sdk/installation.md | 8 +- docs/sdk/serverless-signing/quick-start.md | 14 +- docs/sdk/tests.md | 187 ++++----- docs/sdk/wallets/walletconnect.md | 30 +- docs/support/faq.md | 34 +- learningLab/intro-to-lit/prog-signing.md | 27 +- .../Integrations/bundlrxarweave.md | 65 ++-- 16 files changed, 477 insertions(+), 402 deletions(-) diff --git a/docs/integrations/storage/ceramic-example.md b/docs/integrations/storage/ceramic-example.md index 315f881a..c7af296b 100644 --- a/docs/integrations/storage/ceramic-example.md +++ b/docs/integrations/storage/ceramic-example.md @@ -11,6 +11,7 @@ Learn how to use Lit Protocol to encrypt messages and save them to the Ceramic N --- ## Objectives + At completion of this reading you should be able to: - Create ComposeDB schemas and deploy those models on a local Ceramic node. @@ -22,7 +23,7 @@ At completion of this reading you should be able to: ## What is the Ceramic Network? -[Ceramic](https://ceramic.network/) is a decentralized data network that leverages the verifiable qualities you can expect from a blockchain, with cost efficiency and querying capabilities similar to a traditional database. Ceramic empowers developers to leverage interoperable data formats stored on the Network, helping product teams circumvent "cold-start" data problems while simultaneously allowing individuals to take ownership of their digital presence. +[Ceramic](https://ceramic.network/) is a decentralized data network that leverages the verifiable qualities you can expect from a blockchain, with cost efficiency and querying capabilities similar to a traditional database. Ceramic empowers developers to leverage interoperable data formats stored on the Network, helping product teams circumvent "cold-start" data problems while simultaneously allowing individuals to take ownership of their digital presence. ### How does it Work? @@ -38,7 +39,7 @@ For more information on how Ceramic works, visit [How it Works](https://ceramic. ## ComposeDB -ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://composedb.js.org/docs/0.5.x/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! +ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://composedb.js.org/docs/0.5.x/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! For the purpose of this tutorial, we will be using Ceramic with ComposeDB to illustrate how developers can generate, store, and query simple encrypted messages. @@ -60,7 +61,7 @@ git clone https://github.com/ceramicstudio/lit-composedb && cd lit-composedb npm install ``` -Open the repository in your editor of choice to continue following along. +Open the repository in your editor of choice to continue following along. ### Generate Your Local Node Configuration @@ -68,7 +69,7 @@ This tutorial shows developers how to run a local node with which they will depl In order to do this, a [server configuration](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) will have to be defined, as well as corresponding Ceramic node admin credentials. -We've done most of this work for you using [this script](https://github.com/mzkrasner/lit-composedb/blob/main/scripts/commands.mjs) we've provided. +We've done most of this work for you using [this script](https://github.com/mzkrasner/lit-composedb/blob/main/scripts/commands.mjs) we've provided. To generate your credentials, run the following in your terminal: @@ -88,19 +89,19 @@ You can find pre-made graphql schema definitions within your /composites directo # 00-posts.graphql type Posts @createModel(accountRelation: LIST, description: "A simple Post") { - author: DID! @documentAccount - body: String! @string(maxLength: 100000) - to: String! @string(minLength: 42, maxLength: 42) - edited: DateTime - created: DateTime! - ciphertext: String @string(maxLength: 100000) - chain: String @string(maxLength: 100000) - accessControlConditions: String @string(maxLength: 100000) - accessControlConditionType: String @string(maxLength: 100000) + author: DID! @documentAccount + body: String! @string(maxLength: 100000) + to: String! @string(minLength: 42, maxLength: 42) + edited: DateTime + created: DateTime! + ciphertext: String @string(maxLength: 100000) + chain: String @string(maxLength: 100000) + accessControlConditions: String @string(maxLength: 100000) + accessControlConditionType: String @string(maxLength: 100000) } ``` -In this model definition, you'll notice that the "author" field takes a scalar type `DID` with an `@documentAccount` directive. This field definition allows each Posts instance to be queried based on the controlling Ceramic Account (based on DID), and therefore is automatically assigned each time a model instance is defined. +In this model definition, you'll notice that the "author" field takes a scalar type `DID` with an `@documentAccount` directive. This field definition allows each Posts instance to be queried based on the controlling Ceramic Account (based on DID), and therefore is automatically assigned each time a model instance is defined. (For more information on controlling Accounts and Documents, visit [ComposeDB Concepts](https://composedb.js.org/docs/0.5.x/core-concepts)). @@ -114,7 +115,8 @@ To run the application, first make sure you're running node version 16, and then nvm use 16 npm run dev ``` -You can observe your local node's output logs within your terminal as the application starts up. + +You can observe your local node's output logs within your terminal as the application starts up. Once your terminal reads `[NextJS] ready - started server on 0.0.0.0:3000, url: http://localhost:3000`, you can view the frontend in your browser by visiting http://localhost:3000. @@ -136,7 +138,7 @@ Upon opening the homepage in your browser, you will be prompted with the option

-Navigating back to your text editor, observe the `useEffect` lifecycle hook within /src/pages/index.tsx that checks the browser's local storage for an item with a "did" key. Upon pressing the button to initiate the authentication sequence, the `handleLogin` method on the same page is called, relying on an `authenticateCeramic` method imported from /utils/index.ts, using the client definitions imported from /context/index.tsx. +Navigating back to your text editor, observe the `useEffect` lifecycle hook within /src/pages/index.tsx that checks the browser's local storage for an item with a "did" key. Upon pressing the button to initiate the authentication sequence, the `handleLogin` method on the same page is called, relying on an `authenticateCeramic` method imported from /utils/index.ts, using the client definitions imported from /context/index.tsx. The important item to recognize during this sequence is which DID method is being used. While Ceramic supports multiple [DID methods](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/), this application authorizes Ethereum accounts using [@didtools/pkh-ethereum](https://did.js.org/docs/api/modules/pkh_ethereum/) (visit [User Sessions](https://composedb.js.org/docs/0.5.x/guides/composedb-client/user-sessions) for more information). @@ -158,7 +160,7 @@ Finally, navigating back to /src/pages/index.tsx, you'll also notice that a `sta Now that we are authenticated with Ceramic, we can go ahead and send messages to the network. In your text editor, you'll notice that the component defined in `/src/components/Chat.tsx` imports and returns a `` component (using the raw message contents and the user's address as props). If you navigate into `/src/fragments/chatinputbox.tsx`, you'll find a flow that involves both encryption with LIT and saving to Ceramic. -Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../sdk/access-control/condition-types/boolean-logic.md) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). +Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../../../sdk/access-control/condition-types/boolean-logic) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). Next, you'll find an `encrypted` constant assigned to the evaluated result of invoking `encryptWithLit`, using the Lit client instance, the raw message, access control conditions, and the assigned chain as arguments. This method is imported from /utils/lit.ts. Similar to the Ceramic authentication flow outlined in the previous section, `encryptWithLit` first invoked a child method called `checkAndSignAuthMessage` that checks for an existing cryptographic authentication signature and creates one if it does not exist. The result of this signature is then stored in local storage so the user doesn't have to sign each time they perform an operation. @@ -172,7 +174,7 @@ If this is your first time submitting a message after following the steps above, Observe how the child methods within `encryptWithLit` use the original arguments to eventually return an object that we will then save to ComposeDB. -Back in `/src/fragments/chatinputbox.tsx`, observe how the `executeQuery` method on our `composeClient` class instance is invoked with the values we just generated from the LIT encryption sequence. It's important to note that mutation queries (such as this one) only work when a user is authenticated. Since we are importing the `useCeramicContext` wrapper from /context/index.tsx, we are able to access the authenticated session we established in the last section from within any child components. You can also see how the `createPosts` mutation query accessing the model definitions we discussed previously, found in `/composites/00-post.graphql`. +Back in `/src/fragments/chatinputbox.tsx`, observe how the `executeQuery` method on our `composeClient` class instance is invoked with the values we just generated from the LIT encryption sequence. It's important to note that mutation queries (such as this one) only work when a user is authenticated. Since we are importing the `useCeramicContext` wrapper from /context/index.tsx, we are able to access the authenticated session we established in the last section from within any child components. You can also see how the `createPosts` mutation query accessing the model definitions we discussed previously, found in `/composites/00-post.graphql`. If you've followed the steps above to submit an encrypted message, your UI should now look something like this: @@ -184,15 +186,15 @@ If you've followed the steps above to submit an encrypted message, your UI shoul ### Grabbing Indexed Messages -Now that you've generated encrypted messages using LIT and saved them to your local Ceramic node using ComposeDB, you'll notice that every time you refresh the page, those messages are rendered in the UI. +Now that you've generated encrypted messages using LIT and saved them to your local Ceramic node using ComposeDB, you'll notice that every time you refresh the page, those messages are rendered in the UI. -If you navigate back to `/src/components/Chat.tsx`, you'll be able to observe why this is happening. You'll notice that a `getMessages` method is tied to the `useEffect` lifecycle hook. When invoked, this method queries your imported composeClient for the last 20 instances of Posts from your index (if they exist). It's important to note that, unlike mutation queries, this read request works regardless if someone is authenticated or not. +If you navigate back to `/src/components/Chat.tsx`, you'll be able to observe why this is happening. You'll notice that a `getMessages` method is tied to the `useEffect` lifecycle hook. When invoked, this method queries your imported composeClient for the last 20 instances of Posts from your index (if they exist). It's important to note that, unlike mutation queries, this read request works regardless if someone is authenticated or not. ### Decrypting Messages If you've followed along in the tutorial up until this point without switching to a different wallet address (meaning you're still logged into the one you used to generate a few messages), you'll see a "Decrypt" button within each message box rendered in the UI. This button renders conditionally based on whether you're the message author (see `src/fragments/chatcontent.tsx` for the conditional `message.isChatOwner`). However, even if we rendered this button for all users regardless of author, we can still rely on LIT to grant decryption access solely to users who meet the correct access control conditions. -In `/src/fragments/chatcontent.tsx` you can observe how this works. When you click the "Decrypt" button, this action invokes the `handleDecrypt` method with both an event pointer and the message contents relevant to that component instance. Similar to the sequence of events incurred when encrypting data with LIT, observe how the `decryptWithLit` method is invoked (after converting the message contents to their necessary formats). +In `/src/fragments/chatcontent.tsx` you can observe how this works. When you click the "Decrypt" button, this action invokes the `handleDecrypt` method with both an event pointer and the message contents relevant to that component instance. Similar to the sequence of events incurred when encrypting data with LIT, observe how the `decryptWithLit` method is invoked (after converting the message contents to their necessary formats). The definition for this method lives in `/utils/lit.ts`, which checks for an existing cryptographic authentication signature in the browser's local storage. If the user is authorized, a `decryptToString` method is later invoked using the `litNodeClient` instance on the window object, along with the access control conditions, ciphertext, encrypted and hashed data, and chain. This will finally decrypt the message contents and allow us to render it in our UI. @@ -228,4 +230,3 @@ Developers are encouraged to join the Ceramic community, engage with members of - Follow the Ceramic Network on [Twitter](https://twitter.com/ceramicnetwork) for updates - Browse technical tutorials and feature release announcements on the Ceramic [blog](https://blog.ceramic.network/) - Check out the [YouTube Channel](https://www.youtube.com/channel/UCgCLq5dx7sX-yUrrEbtYqVw) for presentations and videos - diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index 050364dd..bbd24d6e 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -1,17 +1,19 @@ # Irys ## Encrypting on-chain data (server-side) + Learn how to encrypt data before storing on-chain on [Irys](https://irys.xyz/). --- ## Objectives + At completion of this reading you should be able to: -- Encrypt data using Lit Protocol. -- Establish a set of rules determining who can decrypt the data. -- Store encrypted data on Arweave using Irys. -- Decrypt data using Lit Protocol. +- Encrypt data using Lit Protocol. +- Establish a set of rules determining who can decrypt the data. +- Store encrypted data on Arweave using Irys. +- Decrypt data using Lit Protocol. --- @@ -56,9 +58,9 @@ dotenv.config(); There are three steps to encrypting data -- Obtain a wallet signature ([authSig](../../sdk/authentication/overview.md)), which proves you own a wallet -- Define [access control conditions](../../sdk/access-control/intro.md) for who can decrypt your data -- Connect to a Lit node and request that it encrypt your data +- Obtain a wallet signature ([authSig](../../sdk/authentication/overview.md)), which proves you own a wallet +- Define [access control conditions](../../sdk/access-control/intro.md) for who can decrypt your data +- Connect to a Lit node and request that it encrypt your data :::info @@ -82,34 +84,35 @@ Then, create a helper function that creates a message and signs it using your pr ```js async function getAuthSig() { - // Initialize the signer - const wallet = new ethers.Wallet(process.env.PRIVATE_KEY); - const address = ethers.utils.getAddress(await wallet.getAddress()); - - // Craft the SIWE message - const domain = "localhost"; - const origin = "https://localhost/login"; - const statement = "This is a test statement. You can put anything you want here."; - const siweMessage = new siwe.SiweMessage({ - domain, - address: address, - statement, - uri: origin, - version: "1", - chainId: "1", - }); - const messageToSign = siweMessage.prepareMessage(); - - // Sign the message and format the authSig - const signature = await wallet.signMessage(messageToSign); - const authSig = { - sig: signature, - derivedVia: "web3.eth.personal.sign", - signedMessage: messageToSign, - address: address, - }; - - return authSig; + // Initialize the signer + const wallet = new ethers.Wallet(process.env.PRIVATE_KEY); + const address = ethers.utils.getAddress(await wallet.getAddress()); + + // Craft the SIWE message + const domain = "localhost"; + const origin = "https://localhost/login"; + const statement = + "This is a test statement. You can put anything you want here."; + const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: "1", + chainId: "1", + }); + const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + const authSig = { + sig: signature, + derivedVia: "web3.eth.personal.sign", + signedMessage: messageToSign, + address: address, + }; + + return authSig; } ``` @@ -117,32 +120,32 @@ async function getAuthSig() { Lit Protocol enables users to set [access control conditions](../../sdk/access-control/intro.md) specifying who can decrypt data. This provides builders with the flexibility to designate data decryption permissions, including: -- A single wallet address -- DAO membership -- Owners of an ERC20 or ERC721 -- Outcomes from a smart contract call -- Outcomes from an API call +- A single wallet address +- DAO membership +- Owners of an ERC20 or ERC721 +- Outcomes from a smart contract call +- Outcomes from an API call To ensure anyone can run the code in this repository, it uses the following for access control, allowing anyone with an ETH balance `>=` 0 to decrypt. More details on the different types of [access control conditions supported](../../sdk/access-control/intro.md). ```ts // This defines who can decrypt the data function getAccessControlConditions() { - const accessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain: "ethereum", - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "0", // 0 ETH, so anyone can open - }, - }, - ]; - - return accessControlConditions; + const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "0", // 0 ETH, so anyone can open + }, + }, + ]; + + return accessControlConditions; } ``` @@ -159,14 +162,14 @@ Write a helper function to connect to a Lit node: ```js async function getLitNodeClient() { - // Initialize LitNodeClient - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - alertWhenUnauthorized: false, - litNetwork: "cayenne", - }); - await litNodeClient.connect(); - - return litNodeClient; + // Initialize LitNodeClient + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: "cayenne", + }); + await litNodeClient.connect(); + + return litNodeClient; } ``` @@ -176,23 +179,23 @@ Finally, write a function that accepts a string and uses the code we wrote earli ```js async function encryptData(dataToEncrypt) { - const authSig = await getAuthSig(); - const accessControlConditions = getAccessControlConditions(); - const litNodeClient = await getLitNodeClient(); - - // 1. Encryption - // encryptedString - // dataToEncryptHash - const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( - { - authSig, - accessControlConditions, - dataToEncrypt: dataToEncrypt, - chain: "ethereum", - }, - litNodeClient, - ); - return [ciphertext, dataToEncryptHash]; + const authSig = await getAuthSig(); + const accessControlConditions = getAccessControlConditions(); + const litNodeClient = await getLitNodeClient(); + + // 1. Encryption + // encryptedString + // dataToEncryptHash + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + authSig, + accessControlConditions, + dataToEncrypt: dataToEncrypt, + chain: "ethereum", + }, + litNodeClient + ); + return [ciphertext, dataToEncryptHash]; } ``` @@ -200,31 +203,29 @@ async function encryptData(dataToEncrypt) { To use Irys to store data on Arweave, first connect to an [Irys node](https://docs.irys.xyz/overview/nodes). This function uses the same private key from our `.env` file and connects to the Irys Devnet where uploads are stored for 60 days. In a production environment, you would change this to use Irys' [Node 1 or 2](https://docs.irys.xyz/overview/nodes) where uploads are permanent. - -:::info +:::info This code is configured to MATIC to pay for uploads, and while working with the Irys Devnet, you need to fund your wallet with [free MUMBAI MATIC Devnet](https://mumbaifaucet.com/) tokens. Alternatively, you could use [any other -Devnet token](/overview/supported-tokens#devnet-tokens) supported by Irys. +Devnet token](../../../resources/supported-chains) supported by Irys. ::: - ```js async function getIrys() { - const url = "https://devnet.irys.xyz"; - const providerUrl = "https://rpc-mumbai.maticvigil.com"; - const token = "matic"; - - const irys = new Irys({ - url, // URL of the node you want to connect to - token, // Token used for payment - key: process.env.PRIVATE_KEY, // Private key - config: { providerUrl }, // Optional provider URL, only required when using Devnet - }); - return irys; + const url = "https://devnet.irys.xyz"; + const providerUrl = "https://rpc-mumbai.maticvigil.com"; + const token = "matic"; + + const irys = new Irys({ + url, // URL of the node you want to connect to + token, // Token used for payment + key: process.env.PRIVATE_KEY, // Private key + config: { providerUrl }, // Optional provider URL, only required when using Devnet + }); + return irys; } ``` -Then write a function that takes the encrypted data, the original data hash, the access control conditions, and stores it all on Arweave using Irys. +Then write a function that takes the encrypted data, the original data hash, the access control conditions, and stores it all on Arweave using Irys. Irys' upload function returns [a signed receipt](https://docs.irys.xyz/learn/receipts) containing the exact time (in milliseconds) of the upload and also a transaction ID, which can then be used to [download the data from a gateway](https://docs.irys.xyz/developer-docs/downloading). @@ -235,23 +236,23 @@ is a design choice; you have the flexibility to store these values as you see fi ```js async function storeOnIrys(cipherText, dataToEncryptHash) { - const irys = await getIrys(); - - const dataToUpload = { - cipherText: cipherText, - dataToEncryptHash: dataToEncryptHash, - accessControlConditions: getAccessControlConditions(), - }; - - let receipt; - try { - const tags = [{ name: "Content-Type", value: "application/json" }]; - receipt = await irys.upload(JSON.stringify(dataToUpload), { tags }); - } catch (e) { - console.log("Error uploading data ", e); - } - - return receipt?.id; + const irys = await getIrys(); + + const dataToUpload = { + cipherText: cipherText, + dataToEncryptHash: dataToEncryptHash, + accessControlConditions: getAccessControlConditions(), + }; + + let receipt; + try { + const tags = [{ name: "Content-Type", value: "application/json" }]; + receipt = await irys.upload(JSON.stringify(dataToUpload), { tags }); + } catch (e) { + console.log("Error uploading data ", e); + } + + return receipt?.id; } ``` @@ -261,9 +262,9 @@ async function storeOnIrys(cipherText, dataToEncryptHash) { There are three steps to decrypting data: -- Obtain a wallet signature ([AuthSig](../../sdk/authentication/overview.md)), which proves you own a wallet -- Retrieve data stored on Arweave -- Connect to a Lit node and request that it decrypt your data +- Obtain a wallet signature ([AuthSig](../../sdk/authentication/overview.md)), which proves you own a wallet +- Retrieve data stored on Arweave +- Connect to a Lit node and request that it decrypt your data ### Retrieving data from Arweve using the Irys gatway @@ -273,21 +274,25 @@ This function downloads the data JSON object, parses out the three values and re ```js async function retrieveFromIrys(id) { - const gatewayAddress = "https://gateway.irys.xyz/"; - const url = `${gatewayAddress}${id}`; - - try { - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`Failed to retrieve data for ID: ${id}`); - } - - const data = await response.json(); - return [data.cipherText, data.dataToEncryptHash, data.accessControlConditions]; - } catch (e) { - console.log("Error retrieving data ", e); - } + const gatewayAddress = "https://gateway.irys.xyz/"; + const url = `${gatewayAddress}${id}`; + + try { + const response = await fetch(url); + + if (!response.ok) { + throw new Error(`Failed to retrieve data for ID: ${id}`); + } + + const data = await response.json(); + return [ + data.cipherText, + data.dataToEncryptHash, + data.accessControlConditions, + ]; + } catch (e) { + console.log("Error retrieving data ", e); + } } ``` @@ -296,27 +301,31 @@ async function retrieveFromIrys(id) { Finally, we decrypt the data using Lit's [`decryptString()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptString.html) function. ```js -async function decryptData(ciphertext, dataToEncryptHash, accessControlConditions) { - const authSig = await getAuthSig(); - const litNodeClient = await getLitNodeClient(); - - let decryptedString; - try { - decryptedString = await LitJsSdk.decryptToString( - { - authSig, - accessControlConditions, - ciphertext, - dataToEncryptHash, - chain: "ethereum", - }, - litNodeClient, - ); - } catch (e) { - console.log(e); - } - - return decryptedString; +async function decryptData( + ciphertext, + dataToEncryptHash, + accessControlConditions +) { + const authSig = await getAuthSig(); + const litNodeClient = await getLitNodeClient(); + + let decryptedString; + try { + decryptedString = await LitJsSdk.decryptToString( + { + authSig, + accessControlConditions, + ciphertext, + dataToEncryptHash, + chain: "ethereum", + }, + litNodeClient + ); + } catch (e) { + console.log(e); + } + + return decryptedString; } ``` @@ -326,24 +335,30 @@ Finally, write a `main()` function that calls the calls our encrypt, store and d ```js async function main() { - const messageToEncrypt = "Irys + Lit is 🔥x2"; - - // 1. Encrypt data - const [cipherText, dataToEncryptHash] = await encryptData(messageToEncrypt); - - // 2. Store cipherText and dataToEncryptHash on Irys - const encryptedDataID = await storeOnIrys(cipherText, dataToEncryptHash); - - console.log(`Data stored at https://gateway.irys.xyz/${encryptedDataID}`); - - // 3. Retrieve data stored on Irys - // In real world applications, you could wait any amount of time before retrieving and decrypting - const [cipherTextRetrieved, dataToEncryptHashRetrieved, accessControlConditions] = await retrieveFromIrys( - encryptedDataID, - ); - // 4. Decrypt data - const decryptedString = await decryptData(cipherTextRetrieved, dataToEncryptHashRetrieved, accessControlConditions); - console.log("decryptedString:", decryptedString); + const messageToEncrypt = "Irys + Lit is 🔥x2"; + + // 1. Encrypt data + const [cipherText, dataToEncryptHash] = await encryptData(messageToEncrypt); + + // 2. Store cipherText and dataToEncryptHash on Irys + const encryptedDataID = await storeOnIrys(cipherText, dataToEncryptHash); + + console.log(`Data stored at https://gateway.irys.xyz/${encryptedDataID}`); + + // 3. Retrieve data stored on Irys + // In real world applications, you could wait any amount of time before retrieving and decrypting + const [ + cipherTextRetrieved, + dataToEncryptHashRetrieved, + accessControlConditions, + ] = await retrieveFromIrys(encryptedDataID); + // 4. Decrypt data + const decryptedString = await decryptData( + cipherTextRetrieved, + dataToEncryptHashRetrieved, + accessControlConditions + ); + console.log("decryptedString:", decryptedString); } main(); diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 0ce73e2b..8191e16a 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -1,14 +1,14 @@ --- slug: / sidebar_position: 1 ---- -import EcosystemSection from '@site/src/components/CardSectionsV3/Ecosystem'; -import QuickStartSection from '@site/src/components/CardSectionsV3/QuickStart'; -import CoreConceptsSection from '@site/src/components/CardSectionsV3/CoreConcepts'; -import LearnCodeSection from '@site/src/components/CardSectionsV3/LearnCode'; +--- -# Overview +import EcosystemSection from "@site/src/components/CardSectionsV3/Ecosystem"; +import QuickStartSection from "@site/src/components/CardSectionsV3/QuickStart"; +import CoreConceptsSection from "@site/src/components/CardSectionsV3/CoreConcepts"; +import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; +# Overview Lit Protocol lets developers and their users create and manage decentralized keys for condition-based encryption and programmatic signing for digital assets. The Lit network can be used in place of centralized key custodians and other key management solutions. @@ -16,11 +16,9 @@ Get started today! :::note -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://lit-js-sdk-v3-api-docs.vercel.app/). +Lit is still in developer preview with the mainnet launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +[Learn more](https://developer.litprotocol.com/v3/network/state-of-network) about what data will persist during the developer preview. ::: diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 7fbcfe4e..8e9ae244 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -3,6 +3,6 @@ import TabItem from '@theme/TabItem'; # Contracts -Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). +Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). -The contracts live on the [Chronicle Testnet](../intro/rollup). +The contracts live on the [Chronicle Testnet](../network/rollup). diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index bfe0c0ea..cb05461f 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -7,8 +7,11 @@ sidebar_position: 2 ## Definitions of commonly used terms and core concepts. ### **[Auth Sig](../sdk/authentication/overview.md)** + In order to use Lit Protocol, you must present a wallet signature obtained from the user. This is referred to as an 'AuthSig' in the documentation. + ### **[Boneh-Lynn-Shacham (BLS) Signatures](https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716)** + A cryptographic algorithm that can be used for both signing and encryption. BLS allows for signature aggregation and verification at scale using [Elliptic Curve cryptography](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography). Ethereum uses the BLS signature scheme to facilitate secure cryptography within the protocol. This method allows validators to sign messages, and these resulting signatures are then aggregated and verified at scale. This enables a Proof-of-Stake system with a large number of validators to function efficiently in production. @@ -18,57 +21,102 @@ Ethereum uses the BLS signature scheme to facilitate secure cryptography within A (cryptographic) challenge is a piece of data that is used in challenge-response authentication schemes for a verifier to independently assert the authenticity of another entity. Unique and random challenges are used to prevent against replay attacks. ### **[Decentralized Access Control](../sdk/access-control/intro.md)** -Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](../access-control/intro), allowing you to securely store data on the open web. + +Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](../sdk/access-control/intro.md), allowing you to securely store data on the open web. + ### **Digital Signature** + In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the wallet address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner and the wallet associated with it. In working with the Lit network, someone will sign with their wallet when they want to mint a PKP. That is a transaction signature — where someone is sending a transaction (minting). This signature is then used as the method of authentication over the PKP and associated Lit Actions. + ### **Distributed Key Generation** + A cryptographic process in which key generation requires participation from above a certain threshold of nodes, where each node only holds a **share** of the complete keypair. + ### **[Elliptic Curve Digital Signature Algorithm (ECDSA)](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/)** + ECDSA is a cryptographically secure digital signature scheme, based on elliptic-curve cryptography. ECDSA is mainly used for digital signatures. A digital signature is an authentication method used where a public key pair and a digital certificate are used as a signature to verify the identity of a recipient or sender of information. + ### **[Encryption](../intro/what-is-lit-protocol.md)** + The process of encoding data so that it remains hidden or inaccessible to unauthorized parties, the core technology that enables privacy on the Internet. At a high level, encryption converts plaintext (i.e “this is a secret”) into “nonsense” ciphertext (”e5sVVb#bn332J”). You can read a more in-depth explanation [here](https://www.cloudflare.com/learning/ssl/what-is-encryption/). + ### **[Ethereum Virtual Machine (EVM)](../sdk/access-control/evm/basic-examples.md)** + A stack-based virtual machine that executes [bytecode](https://ethereum.org/en/glossary/#bytecode). In Ethereum, the execution model specifies how the system state is altered given a series of bytecode instructions and a small tuple of environmental data. This is specified through a formal model of a virtual state machine. + ### **[Externally Owned Account (EOA)](https://ethereum.org/en/developers/docs/accounts/)** + Externally owned accounts (EOAs) are accounts that are controlled by [private keys](https://ethereum.org/en/glossary/#private-key), typically generated using a [seed phrase](https://ethereum.org/en/glossary/#hd-wallet-seed). Unlike smart contracts, externally owned accounts are accounts without any code associated with them. Typically these accounts are managed with a [wallet](https://ethereum.org/en/glossary/#wallet). + ### **Key Re-Share** + Re-share the private key shares to add a node to the network. The shares before and after the re-share are compatible. + ### **Lit Actions** + Immutable Javascript functions stored on IPFS that can use PKPs for programmatic signing and decryption. They can be thought of as Lit’s native version of smart contracts. + ### **[Multi-Party Computation (MPC)](https://eprint.iacr.org/2020/300.pdf)** + In a general sense, MPC enables multiple parties – each holding their own private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). + ### **Nonce** + In cryptography, a value that can only be used once. An account nonce is a transaction counter in each account, which is used to prevent replay attacks. + ### **[Oracle](https://cointelegraph.com/blockchain-for-beginners/what-is-a-blockchain-oracle-and-how-does-it-work)** + An oracle is a bridge between the [blockchain](https://ethereum.org/en/glossary/#blockchain) and the real world, querying data from off-chain [APIs](https://ethereum.org/en/glossary/#api) for use in [smart contracts](https://ethereum.org/en/glossary/#smart-contract). + ### **Private Key Share** -A share of a private key that can be used to decrypt and sign. Decryption creates “decryption shares” and signing creates “signature shares”. These resultant shares are combined above the threshold to produce the decrypted content or signature. + +A share of a private key that can be used to decrypt and sign. Decryption creates “decryption shares” and signing creates “signature shares”. These resultant shares are combined above the threshold to produce the decrypted content or signature. + ### **[Proactive Secret Sharing](https://www.youtube.com/watch?v=iOqU2DySmeU&t=594s)** -Keep the same overall private key, but change the private key shares, such that private key shares after the PSS operation are incompatible with shares from before the operation. We use PSS for adding and removing nodes from the network during an epoch transition, such that private key shares from the previous epoch are incompatible with private key shares in the next epoch. + +Keep the same overall private key, but change the private key shares, such that private key shares after the PSS operation are incompatible with shares from before the operation. We use PSS for adding and removing nodes from the network during an epoch transition, such that private key shares from the previous epoch are incompatible with private key shares in the next epoch. + ### **Programmable Key Pairs (PKPs)** + An ECDSA keypair generated collectively by the Lit nodes. PKPs can be used to read and write data across blockchains (EVM, Cosmos, BTC), storage networks (IPFS, Ceramic), and HTTP endpoints. + ### **Proof** + A proof is a particular application for a digitial signature. For example, using a signature to *prove* that a particular interaction took place. Signing through Lit Actions opens up the possibilities of verifying information from external sources, such as from a Weather API. Within the Lit ecosystem this signed information is called a proof. + ### **Public Key Cryptography** + The technology that underpins cryptocurrency and most of the security infrastructure on the web today. It allows you to do two main things: 1. Encrypt information so that it can only be accessed by authorized parties. 2. Sign (write) data to blockchains, databases, storage networks, and other state machines (digital signatures). + ### **[Rate Limiting](https://explorer.litprotocol.com/rlis)** -By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by purchasing an RLI NFT that comes with "flexible terms" which can be customized by 2 factors, the number of requests/millisecond and the expiry date. + +By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by purchasing an RLI NFT that comes with "flexible terms" which can be customized by 2 factors, the number of requests/millisecond and the expiry date. + ### **[Session Keys](../sdk/authentication/session-sigs/intro.md)** + When the user “signs into” Lit, we generate a random session key for them. They sign that session pubkey as the “URI” of a SIWE message which creates a capability signature. There is a default expiration time of 24 hours, but this is configurable. This signature and the session key are stored in the localstorage of the browser. When the user sends a request, the session key signs it and sends the signature with the request. The capability signature is also sent. Multiple capability signatures can be attached. Therefore, the AuthSig presented to the nodes is actually the session key AuthSig with the capability signatures attached. The SDK will use the session key to scope the AuthSig for each request to the specific resource and node being addressed, preventing replay attacks. + ### **[SIWE](../sdk/authentication/auth-sig.md)** + Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. + ### **[Threshold Cryptography](../resources/how-it-works.md)** + A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. + ### **[Webhooks](../tools/event-listener.md)** + Webhooks are one way that apps can send automated messages or information to other apps. Generally, it is user defined behavior executing when a predefined condition is met. + ### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** + A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. -A trivial example would be proving that you are over the age of 18, without actually disclosing your birthday or any PII. \ No newline at end of file +A trivial example would be proving that you are over the age of 18, without actually disclosing your birthday or any PII. diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 041c42cf..bfea77a2 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -8,7 +8,7 @@ sidebar_position: 1 **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit based on your use case, check out the Lit SDK [here](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit based on your use case, check out the Lit SDK [here](../../sdk/installation). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. @@ -32,7 +32,6 @@ In the context user-facing operations — such as when key shares are provisione We believe that the marriage of MPC, threshold signature schemes (TSS), and SEV provides end users with the most robustly secure and versatile custody solution currently available on the market today. - ## How Lit Protocol works for: ## Access Control @@ -69,11 +68,10 @@ Each PKP is functionally [a wallet](../sdk/wallets/intro), where the private key Lit Actions are used to handle each PKP’s [authentication logic](https://spark.litprotocol.com/how-authentication-works-with-pkps/). Authentication refers to the method used to communicate with and “control” the underlying key pair. As mentioned above, by default each key pair is controlled by the underlying blockchain account (“wallet”) who mints and holds the associated PKP NFT. But what about users who don’t already have a wallet and are attempting to onboard into the ecosystem for the first time? Lit has integrated several “web2” authentication methods to make this onboarding process seamless for the end user, including WebAuthn (Apple Passkey) and oAuth. These credentials can be harnessed as the mechanism(s) associated with ownership of the PKP, [linking familiar web2 accounts to the world of web3](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). -The use of Lit Actions in the wallet context also provides users with the ability to define automated signing logic. For example, setting up an on-chain limit order for the assets held within the wallet, or configuring a [monthly dollar-cost average investment scheme](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). Of course, this signing logic is arbitrary and can be customized based on the specific context and applications being used. +The use of Lit Actions in the wallet context also provides users with the ability to define automated signing logic. For example, setting up an on-chain limit order for the assets held within the wallet, or configuring a [monthly dollar-cost average investment scheme](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). Of course, this signing logic is arbitrary and can be customized based on the specific context and applications being used. ![cloudSigning](/img/CloudSigning.png) - ## Supported Chains Lit is currently compatible with most EVM blockchains, Cosmos, and Solana. You can find the full list of supported chains [here](../resources/supported-chains). diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index 5d615377..773c23df 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -6,7 +6,7 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../sdk/explanation/authentication/overview). +`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../../authentication/overview). ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; @@ -56,7 +56,7 @@ To view more constructor options for `LitContracts`, check out the [API docs](ht To add an auth method, you must pass an `authMethod` object, which should have the following properties: -- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../pkp/auth-helpers/overview#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../../../wallets/auth-methods). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method - `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/overview.md b/docs/sdk/authentication/session-sigs/auth-methods/overview.md index 08e571e2..50727e4c 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/overview.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/overview.md @@ -6,9 +6,9 @@ sidebar_position: 1 With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: -- [Social Login (e.g., Google, Discord)](../../../../../sdk/explanation/authentication/session-sigs/auth-methods/social-login) -- [WebAuthn](../../../../../sdk/explanation/authentication/session-sigs/auth-methods/web-authn) -- [Email / SMS](../../../../../sdk/explanation/authentication/session-sigs/auth-methods/email-sms) +- [Social Login (e.g., Google, Discord)](../social-login) +- [WebAuthn](../web-authn) +- [Email / SMS](../email-sms) Support for one-time passcodes (OTPs) through email and SMS is coming soon. @@ -18,4 +18,4 @@ By utilizing PKP authentication methods, you can build frictionless and secure e Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit JS SDK. -::: \ No newline at end of file +::: diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index a0b1322f..70dc1992 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -20,7 +20,7 @@ The session keypair is used to sign all requests to the Lit Nodes, and the user' Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. -Read more [here](../../../../sdk/explanation/authentication/session-sigs/capability-objects) on the session capability objects that we use. +Read more [here](../capability-objects) on the session capability objects that we use. ## Format of `SessionSigs` @@ -32,8 +32,8 @@ Given the following example `AuthSig`: "derivedVia": "web3.eth.personal.sign", "signedMessage": "localhost:3000 wants you to sign in with your Ethereum account: 0x5259E44670053491E7b4FE4A120C70be1eAD646b - - + + URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a Version: 1 Chain ID: 1 @@ -67,8 +67,8 @@ Here is an example `SessionSig` that uses a session keypair to sign the `AuthSig "derivedVia": "web3.eth.personal.sign", "signedMessage": "localhost:3000 wants you to sign in with your Ethereum account: 0x5259E44670053491E7b4FE4A120C70be1eAD646b - - + + URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a Version: 1 Chain ID: 1 @@ -94,7 +94,7 @@ Here is what each field means: - `sig` is the signature produced by the ed25519 keypair signing the `signedMessage` payload - `derivedVia` should be `litSessionSignViaNacl` and specifies that the SessionSig object was created via the `NaCl` library. -- `signedMessage` is the payload that was signed by the session keypair. +- `signedMessage` is the payload that was signed by the session keypair. - `address` is the session keypair public key. - `algo` is the signing algorithm used to generate the session signature. @@ -103,7 +103,7 @@ Here is what each field means: Here is what each field in `signedMessage` means: - `sessionKey` is the session keypair public key. -- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](../../../../sdk/explanation/authentication/session-sigs/resources-and-abilities) about Lit Resources and Abilities. +- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](../resources-and-abilities) about Lit Resources and Abilities. - `capabilities` is an array of one or more AuthSigs. - `issuedAt` is the time the SessionSig was issued. - `expiration` is the time the SessionSig becomes invalid. @@ -119,4 +119,4 @@ URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6 #### Node Address -The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. \ No newline at end of file +The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 1b2f1bfe..332b74c6 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -23,7 +23,7 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client@^3.0.2 +yarn add @lit-protocol/lit-node-client@cayenne ``` Use the **Lit JS SDK V3**: @@ -39,7 +39,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs@^3.0.2 +yarn add @lit-protocol/lit-node-client-nodejs@cayenne ``` Use the **Lit JS SDK V3**: @@ -57,7 +57,7 @@ You should use **at least Node v16.16.0** because of the need for the **webcrypt ## Connection to the Lit Network -The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). +The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. @@ -72,7 +72,7 @@ In this example stub, the litNodeClient is stored in a global variable `app.loca ```js app.locals.litNodeClient = new LitJsSdk.LitNodeClient({ alertWhenUnauthorized: false, - litNetwork: 'cayenne', + litNetwork: "cayenne", }); await app.locals.litNodeClient.connect(); ``` diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 6cac1d58..37c3f909 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -21,7 +21,7 @@ Need some `LIT` test tokens to mint a PKP? Get some from the [faucet](https:/ ## What are Lit Actions -Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../pkp/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. +Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../../wallets/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. To create a Lit Action write some JavaScript code that will accomplish your goals. The Lit Protocol provides JS function bindings to do things like request a signature or check an arbitrary condition. If you need to include dependencies like NPM packages, use a bundler like Webpack or ESBuild to create a single JS file and provide that bundle as your Lit Action. @@ -45,7 +45,7 @@ yarn add @lit-protocol/lit-node-client-nodejs@cayenne ## 2. Obtain a PKP -Go to https://explorer.litprotocol.com/ and mint a PKP. +Go to https://explorer.litprotocol.com/ and mint a PKP. :::tip @@ -87,7 +87,7 @@ values={[ ```jsx -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; // this code will be run on the node const litActionCode = ` @@ -131,7 +131,7 @@ runLitAction(); ```jsx -import * as LitJsSdk from '@lit-protocol/lit-node-client-nodejs'; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; // this code will be run on the node const litActionCode = ` @@ -156,7 +156,9 @@ const authSig = { }; const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: "serrano" }); + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + litNetwork: "serrano", + }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ code: litActionCode, @@ -234,7 +236,7 @@ const signatures = await litNodeClient.executeJs({ ## Conclusion and More Examples -And that's it, you have now successfully written your first Lit Action! +And that's it, you have now successfully written your first Lit Action! Continue on to the modules ahead to learn more about the types of use cases and functionality that can be supported, as well as example implementations associated with each. diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index da34fe53..891b8ced 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -16,105 +16,106 @@ There is also an attempt at automated tests in the tests folder but running it w Errors are thrown as exceptions when something has gone wrong. Errors are objects with a message, name, and errorCode. Possible codes are documented below. +defaultValue="jalapeno" +values={[ +{label: 'jalapeno', value: 'jalapeno'}, +{label: 'serrano, cayenne', value: 'serrano, cayenne'}, +]}> + -|error code |reason | -|-|----| -|access_control_conditions_check_failed|The Lit nodes failed to check the condition. This means that the Lit nodes could not talk to the chain to check the condition. This could be because the RPC servers are down, or because the condition is making an incorrect smart contract call that reverts.| -|encrypted_symmetric_key_not_found|Could not find the encrypted symmetric key you passed in. You should have already called saveEncryptionKey which returned the encrypted symmetric key.| -|exp_wrong_or_too_large|When signing a JWT, the EXP is too large or wrong. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. -|iat_outside_grace_period|When signing a JWT, the IAT is outside the grace period. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. -|incorrect_access_control_conditions|The access control conditions you passed in do not match the ones that were set by the condition creator for this resourceId or encryptedSymmetricKey. -|invalid_auth_sig|The auth_sig passed to the nodes is invalid or could not be verified. Make sure that you are passing the correct auth_sig. -|invalid_unified_condition_type|In a unified access control condition, you passed an invalid `conditionType`. Check the docs to see what valid types [here](https://developer.litprotocol.com/docs/accesscontrolconditions/unifiedaccesscontrolconditions/). -|lit_node_client_not_ready|The Lit node client is not ready. This means that the Lit node client is not connected to the Lit network. You should run `await litNodeClient.connect()` before calling any other methods that use the Lit Node Client. -|missing_access_control_conditions|You must pass either access_control_conditions or evm_contract_conditions or sol_rpc_conditions, and you did not pass these things to the nodes. -|not_authorized|Thrown when the user does not have access to decrypt or is unauthorized to receive a JWT for an item. -|resource_id_not_found|Could not find the resource ID you passed in. You should have already called saveSigningCondition with the exact same resource ID. -|rpc_error|The Lit Node(s) could not complete the RPC call. This could be because the RPC servers are down, or because the RPC call is making an incorrect smart contract call that reverts. -|storage_error|An error occurred storing the condition. This usually means that you tried to update a permanent condition, or you tried to update a non-permanent condition from the wrong account. Only the creator of a condition can update it, and only if \"permanent\": false was originally passed in when storing the condition. -|wrong_network|The user is on the wrong network. For example, this may mean the user has ethereum selected in their wallet but they were trying to use polygon for the current operation. -|unknown_error|An unknown error has occurred. Please contact us on Discord to report this error.| +| error code | reason | +| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| access_control_conditions_check_failed | The Lit nodes failed to check the condition. This means that the Lit nodes could not talk to the chain to check the condition. This could be because the RPC servers are down, or because the condition is making an incorrect smart contract call that reverts. | +| encrypted_symmetric_key_not_found | Could not find the encrypted symmetric key you passed in. You should have already called saveEncryptionKey which returned the encrypted symmetric key. | +| exp_wrong_or_too_large | When signing a JWT, the EXP is too large or wrong. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. | +| iat_outside_grace_period | When signing a JWT, the IAT is outside the grace period. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. | +| incorrect_access_control_conditions | The access control conditions you passed in do not match the ones that were set by the condition creator for this resourceId or encryptedSymmetricKey. | +| invalid_auth_sig | The auth_sig passed to the nodes is invalid or could not be verified. Make sure that you are passing the correct auth_sig. | +| invalid_unified_condition_type | In a unified access control condition, you passed an invalid `conditionType`. Check the docs to see what valid types [here](../access-control/condition-types/unified-access-control-conditions). | +| lit_node_client_not_ready | The Lit node client is not ready. This means that the Lit node client is not connected to the Lit network. You should run `await litNodeClient.connect()` before calling any other methods that use the Lit Node Client. | +| missing_access_control_conditions | You must pass either access_control_conditions or evm_contract_conditions or sol_rpc_conditions, and you did not pass these things to the nodes. | +| not_authorized | Thrown when the user does not have access to decrypt or is unauthorized to receive a JWT for an item. | +| resource_id_not_found | Could not find the resource ID you passed in. You should have already called saveSigningCondition with the exact same resource ID. | +| rpc_error | The Lit Node(s) could not complete the RPC call. This could be because the RPC servers are down, or because the RPC call is making an incorrect smart contract call that reverts. | +| storage_error | An error occurred storing the condition. This usually means that you tried to update a permanent condition, or you tried to update a non-permanent condition from the wrong account. Only the creator of a condition can update it, and only if \"permanent\": false was originally passed in when storing the condition. | +| wrong_network | The user is on the wrong network. For example, this may mean the user has ethereum selected in their wallet but they were trying to use polygon for the current operation. | +| unknown_error | An unknown error has occurred. Please contact us on Discord to report this error. | -|error code |reason | -|-|----| -|NodeSystemFault|An internal node error occured. Please try again. If this error persists contact us on Discord.| -|NodeAccessControlConditionsCheckFailed|The provided Authsig doesn't meet the access conditions.| -|NodeEncryptedSymmetricKeyNotFound|The provided encryptedSymmetricKey doesn't exist.| -|NodeExpWrongOrTooLarge|The provided exp param is either expired or is too much in the future.| -|NodeIatOutsideGracePeriod|The provided iat param is either outside the grace_period or the issue time is in the future.| -|NodeAuthFailed|The authMethod isn't allowed for the provided PKP.| -|NodeInvalidAuthSig|The provided Authsig is invalid. Please ensure that the Authsig is in the required format as provided [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| -|NodeAuthSigNotSupported|Multiple Authsigs not supported for the function.| -|NodeInvalidEthereumSolanaAuthSig|Either the Authsig isn't provided or all the provided Authsigs are invalid.| -|NodeInvalidED25519AuthSig|The provided Authsig isn't Ed25519 compliant. Please ensure that the Authsig is in the required format as provided [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| -|NodeInvalidAuthSigSigningAlgo|The provided algo param in the sessionSigs isn't supported. The ONLY supported algo is "ed25519".| -|NodeInvalidUnifiedAuthSig|Either no Authsig is provided in the unified conditions or all the provided Authsigs in the are invalid.| -|NodeInvalidEthereumAuthSig|Either no Ethereum Authsig isn't provided or is invalid.| -|NodeInvalidCosmosAuthSig|Either no Cosmos Authsig isn't provided or is invalid.| -|NodeInvalidCosmosSDKSignature|Invalid chain for the provided Cosmos signature. The ONLY supported chains are "cosmos" & "kyve".| -|NodeInvalidKyveAuthSig|Either no Kyve Authsig isn't provided or is invalid.| -|NodeInvalidSolanaAuthSig|Either no Solana Authsig isn't provided or is invalid.| -|NodeAuthSigAddressConversionError|Couldn't convert the Authsig address to Ethereum address. Please ensure that the Authsig address is Ethereum compliant.| -|NodeConditionAddressConversionError|Couldn't convert the provided accessControlCondition param from hex string to bytes.| -|NodeConditionTokenIdParsingError|Couldn't parse the provided accessControlCondition's tokenId. Please look at the returned error for more info.| -|NodeInvalidIPFSID|Invalid IPFS CID.| -|NodeAuthSigSignatureConversionError|Invalid Authsig.sig param. Please look at the returned error for more info & ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| -|NodeAuthSigSessionKeyConversionError|Invalid Authsig.address param. Please look at the returned error for more info ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| -|NodeAuthSigSignedMessageConversionError|Invalid Authsig.signedMessage param. Please look at the returned error for more info ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html)| -|NodeInvalidAuthSigSessionKeySignature|The provided sessionSig is invalid. Please look at the error for more info.| -|NodeMissingAccessControlConditions|No Access Control Condition provided. You have to provide at least one of the accessControlCondition, evmContractConditions, solRpConditions| -|NodeNotAuthorized|The Lit node requested isn't a validator in the current epoch. Please try again. If this error persists contact us on Discord.| -|NodeResourceIdNotFound|Invalid resourceId param.| -|NodeRpcError|Error making the call to RPC url for the passed chain param. Please ensure that the contract call that you're making is correct including the contract address & it's passed params. Especially ensure the correctness of the functionAbi if you're using Custom Contract calls.| -|NodeStorageError|An error occured while storing the encryption condition. Please look at the returned error for more info.| -|NodeWrongNetwork|Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../resources/supported-chains/)| -|NodeHTTPConversionError|Internal error with the RPC url for the provided chain param. Please try again. If this error persists contact us on Discord.| -|NodeUnknownError|An unknow error occured. Please try again. If this error persists contact us on Discord.| -|NodeParserError|Error parsing a provided param. Please look at the returned error for more info.| -|NodeSIWECapabilityInvalid|Either the SIWE capability param isn't provided or is invalid. Please look at the returned error for more info.| -|NodeSIWECapabilityActionInvalid|Invalid SIWE capability's permittedAction param. Please look at the returned error for more info.| -|NodeSIWESigConversionError|Invalid SIWE capability's sig param. Please look at the returned error for more info.| -|NodeSIWESessionKeySignatureInvalid|session.pubkey isn't signed in the wallet-signed SIWE message.| -|NodeBlockchainError|Error making an on-chain call. Please look at the returned error for more info.| -|NodeBlockchainChainUnknown|Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../resources/supported-chains/)]| -|NodeWalletSignatureJSONError|Error parsing Authsig. Please look at the returned error for more info.| -|NodePOAPJSONError|Internal error parsing POAP as a JSON. Please try again. If this error persists contact us on Discord.| -|NodeCosmosJSONError|Error parsing Cosmos result. Please ensure that the Cosmos condition passed is correct.| -|NodeSIWEMessageError|Invalid SIWE message. Please look at the returned error for more info.| -|NodeInvalidSIWEResource|Invalid SIWE resource params. Please look at the returned error for more info.| -|NodeInvalidSIWESpecialParam|Invalid SIWE special resource params. Please look at the returned error for more info.| -|NodeSIWESpecialParamAddressConversionError|The passed SIWE special param ":userAddress" is invalid. Ensure that the passed address is Ethereum compatible.| -|NodeInvalidACCReturnValueTest|Invalid returnValueTest. Please look at the returned error for more info.| -|NodeRecoveryIdError|Invalid "recovery id" for Cosmos. Please ensure the correctness of the Cosmos Authsig.| -|NodeCosmosResponseBodyError|Invalid Cosmos access control conditions.| -|NodeMismatchParameters|Number of function params doesn't match the number of the condition params.| -|NodeConditionTokenizingError|The substituted param isn't compatible with the function param. Please look at the returned error for more info.| -|NodeInvalidConditionTokenType|Invalid comparison with returned EVM token. Please look at the returned error for more info.| -|NodeTokenEncodingDecodingError|Error with the accessControlConditions involving EVM token. Please look at the returned error for more info.| -|NodeInvalidSolanaRpcMethod|Unsupported Solana RPC method. The ONLY supported solanaRPCMethods are: "getBlock", "getBalance", "getAccountInfo", "getTokenAccountBalance", "getTokenAccountsByDelegate", "getTokenAccountsByOwner", "getHealth".| -|NodeInvalidMetaplexCollectionAddress|Incorrect Metaplex collection address.| -|NodeSolanaNFTMetadataError|Unable to retrieve metadata for the Solana NFT. Please ensure the correctness of the solRpcConditions.| -|NodeTimestampConversionError|Error converting Rate Limiting timestamp to u64. Please try again. If this error persists contact us on Discord.| -|NodeOfflinePublicKeyConversionError|Internal error with ECDSA publicKey. Please try again. If this error persists contact us on Discord.| -|NodeUpdatePermanentCondition|Can't update permanant encryption condition!| -|NodeInvalidUpdatingUser|Only the user can update the encryption condition. You're not the user!| -|NodeTooManyConditions|Number of provided accessControlCondition exceeds the maximum permitted value of 30.| -|NodeActionNotAllowed|Lit Action isn't allowed to be executed. You have to permit the Lit Action first to execute it on the nodes.| -|NodeJsExecutionError|Error executing code on the Lit nodes. Note, the maximum execution time for a code is 1s, the nodes will time out after this. Please try again. If this error persists contact us on Discord.| -|NodeBlsNoKeyGenError|Internal error with BLS keygen. Please try again. If this error persists contact us on Discord.| -|NodeBlsWrongKeyGenEpochError|Internal error with BLS epoch sync. Please try again AFTER a while. If this error persists contact us on Discord.| -|NodeContractFunctionParamsEncodingError|Couldn't encode the provided Authsig into the isValidSignature function. Please ensure that it is compatible with the isValidSignature params.| -|NodeContractAuthsigUnauthorized|EIP1271 Authsig failed for the passed Authsig.| +| error code | reason | +| ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| NodeSystemFault | An internal node error occured. Please try again. If this error persists contact us on Discord. | +| NodeAccessControlConditionsCheckFailed | The provided Authsig doesn't meet the access conditions. | +| NodeEncryptedSymmetricKeyNotFound | The provided encryptedSymmetricKey doesn't exist. | +| NodeExpWrongOrTooLarge | The provided exp param is either expired or is too much in the future. | +| NodeIatOutsideGracePeriod | The provided iat param is either outside the grace_period or the issue time is in the future. | +| NodeAuthFailed | The authMethod isn't allowed for the provided PKP. | +| NodeInvalidAuthSig | The provided Authsig is invalid. Please ensure that the Authsig is in the required format as provided [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html) | +| NodeAuthSigNotSupported | Multiple Authsigs not supported for the function. | +| NodeInvalidEthereumSolanaAuthSig | Either the Authsig isn't provided or all the provided Authsigs are invalid. | +| NodeInvalidED25519AuthSig | The provided Authsig isn't Ed25519 compliant. Please ensure that the Authsig is in the required format as provided [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html) | +| NodeInvalidAuthSigSigningAlgo | The provided algo param in the sessionSigs isn't supported. The ONLY supported algo is "ed25519". | +| NodeInvalidUnifiedAuthSig | Either no Authsig is provided in the unified conditions or all the provided Authsigs in the are invalid. | +| NodeInvalidEthereumAuthSig | Either no Ethereum Authsig isn't provided or is invalid. | +| NodeInvalidCosmosAuthSig | Either no Cosmos Authsig isn't provided or is invalid. | +| NodeInvalidCosmosSDKSignature | Invalid chain for the provided Cosmos signature. The ONLY supported chains are "cosmos" & "kyve". | +| NodeInvalidKyveAuthSig | Either no Kyve Authsig isn't provided or is invalid. | +| NodeInvalidSolanaAuthSig | Either no Solana Authsig isn't provided or is invalid. | +| NodeAuthSigAddressConversionError | Couldn't convert the Authsig address to Ethereum address. Please ensure that the Authsig address is Ethereum compliant. | +| NodeConditionAddressConversionError | Couldn't convert the provided accessControlCondition param from hex string to bytes. | +| NodeConditionTokenIdParsingError | Couldn't parse the provided accessControlCondition's tokenId. Please look at the returned error for more info. | +| NodeInvalidIPFSID | Invalid IPFS CID. | +| NodeAuthSigSignatureConversionError | Invalid Authsig.sig param. Please look at the returned error for more info & ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html) | +| NodeAuthSigSessionKeyConversionError | Invalid Authsig.address param. Please look at the returned error for more info ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html) | +| NodeAuthSigSignedMessageConversionError | Invalid Authsig.signedMessage param. Please look at the returned error for more info ensure it's compatible as given [here](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html) | +| NodeInvalidAuthSigSessionKeySignature | The provided sessionSig is invalid. Please look at the error for more info. | +| NodeMissingAccessControlConditions | No Access Control Condition provided. You have to provide at least one of the accessControlCondition, evmContractConditions, solRpConditions | +| NodeNotAuthorized | The Lit node requested isn't a validator in the current epoch. Please try again. If this error persists contact us on Discord. | +| NodeResourceIdNotFound | Invalid resourceId param. | +| NodeRpcError | Error making the call to RPC url for the passed chain param. Please ensure that the contract call that you're making is correct including the contract address & it's passed params. Especially ensure the correctness of the functionAbi if you're using Custom Contract calls. | +| NodeStorageError | An error occured while storing the encryption condition. Please look at the returned error for more info. | +| NodeWrongNetwork | Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../resources/supported-chains/) | +| NodeHTTPConversionError | Internal error with the RPC url for the provided chain param. Please try again. If this error persists contact us on Discord. | +| NodeUnknownError | An unknow error occured. Please try again. If this error persists contact us on Discord. | +| NodeParserError | Error parsing a provided param. Please look at the returned error for more info. | +| NodeSIWECapabilityInvalid | Either the SIWE capability param isn't provided or is invalid. Please look at the returned error for more info. | +| NodeSIWECapabilityActionInvalid | Invalid SIWE capability's permittedAction param. Please look at the returned error for more info. | +| NodeSIWESigConversionError | Invalid SIWE capability's sig param. Please look at the returned error for more info. | +| NodeSIWESessionKeySignatureInvalid | session.pubkey isn't signed in the wallet-signed SIWE message. | +| NodeBlockchainError | Error making an on-chain call. Please look at the returned error for more info. | +| NodeBlockchainChainUnknown | Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../resources/supported-chains/)] | +| NodeWalletSignatureJSONError | Error parsing Authsig. Please look at the returned error for more info. | +| NodePOAPJSONError | Internal error parsing POAP as a JSON. Please try again. If this error persists contact us on Discord. | +| NodeCosmosJSONError | Error parsing Cosmos result. Please ensure that the Cosmos condition passed is correct. | +| NodeSIWEMessageError | Invalid SIWE message. Please look at the returned error for more info. | +| NodeInvalidSIWEResource | Invalid SIWE resource params. Please look at the returned error for more info. | +| NodeInvalidSIWESpecialParam | Invalid SIWE special resource params. Please look at the returned error for more info. | +| NodeSIWESpecialParamAddressConversionError | The passed SIWE special param ":userAddress" is invalid. Ensure that the passed address is Ethereum compatible. | +| NodeInvalidACCReturnValueTest | Invalid returnValueTest. Please look at the returned error for more info. | +| NodeRecoveryIdError | Invalid "recovery id" for Cosmos. Please ensure the correctness of the Cosmos Authsig. | +| NodeCosmosResponseBodyError | Invalid Cosmos access control conditions. | +| NodeMismatchParameters | Number of function params doesn't match the number of the condition params. | +| NodeConditionTokenizingError | The substituted param isn't compatible with the function param. Please look at the returned error for more info. | +| NodeInvalidConditionTokenType | Invalid comparison with returned EVM token. Please look at the returned error for more info. | +| NodeTokenEncodingDecodingError | Error with the accessControlConditions involving EVM token. Please look at the returned error for more info. | +| NodeInvalidSolanaRpcMethod | Unsupported Solana RPC method. The ONLY supported solanaRPCMethods are: "getBlock", "getBalance", "getAccountInfo", "getTokenAccountBalance", "getTokenAccountsByDelegate", "getTokenAccountsByOwner", "getHealth". | +| NodeInvalidMetaplexCollectionAddress | Incorrect Metaplex collection address. | +| NodeSolanaNFTMetadataError | Unable to retrieve metadata for the Solana NFT. Please ensure the correctness of the solRpcConditions. | +| NodeTimestampConversionError | Error converting Rate Limiting timestamp to u64. Please try again. If this error persists contact us on Discord. | +| NodeOfflinePublicKeyConversionError | Internal error with ECDSA publicKey. Please try again. If this error persists contact us on Discord. | +| NodeUpdatePermanentCondition | Can't update permanant encryption condition! | +| NodeInvalidUpdatingUser | Only the user can update the encryption condition. You're not the user! | +| NodeTooManyConditions | Number of provided accessControlCondition exceeds the maximum permitted value of 30. | +| NodeActionNotAllowed | Lit Action isn't allowed to be executed. You have to permit the Lit Action first to execute it on the nodes. | +| NodeJsExecutionError | Error executing code on the Lit nodes. Note, the maximum execution time for a code is 1s, the nodes will time out after this. Please try again. If this error persists contact us on Discord. | +| NodeBlsNoKeyGenError | Internal error with BLS keygen. Please try again. If this error persists contact us on Discord. | +| NodeBlsWrongKeyGenEpochError | Internal error with BLS epoch sync. Please try again AFTER a while. If this error persists contact us on Discord. | +| NodeContractFunctionParamsEncodingError | Couldn't encode the provided Authsig into the isValidSignature function. Please ensure that it is compatible with the isValidSignature params. | +| NodeContractAuthsigUnauthorized | EIP1271 Authsig failed for the passed Authsig. | + diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index d8ef5e26..80a205b6 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -13,17 +13,17 @@ To connect a PKP and a dApp, you will need to: `PKPClient` represents a PKP and initializes signers for use across multiple blockchains (note: EVM-only at the moment). ```js -import { PKPClient } from '@lit-protocol/pkp-client'; +import { PKPClient } from "@lit-protocol/pkp-client"; const pkpClient = new PKPClient({ - controllerAuthSig: '', + controllerAuthSig: "", // Or you can also pass in controllerSessionSigs - pkpPubKey: '', + pkpPubKey: "", }); await pkpClient.connect(); ``` -The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../sdk/explanation/authentication/overview). +The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../../authentication/overview). To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). @@ -32,20 +32,20 @@ To view more constructor options, refer to the [API docs](https://js-sdk.litprot `PKPWalletConnect` wraps [`@walletconnect/web3wallet`](https://docs.walletconnect.com/2.0/web/web3wallet/wallet-usage) to manage WalletConnect session proposals and requests using the given PKPClient. ```js -import { PKPWalletConnect } from '@lit-protocol/pkp-walletconnect'; +import { PKPWalletConnect } from "@lit-protocol/pkp-walletconnect"; const config = { - projectId: '', + projectId: "", metadata: { - name: 'Test Lit Wallet', - description: 'Test Lit Wallet', - url: 'https://litprotocol.com/', - icons: ['https://litprotocol.com/favicon.png'], + name: "Test Lit Wallet", + description: "Test Lit Wallet", + url: "https://litprotocol.com/", + icons: ["https://litprotocol.com/favicon.png"], }, }; const wcClient = new PKPWalletConnect(); await wcClient.initWalletConnect(config); -wcClient.addPKPClient(pkpWallet) +wcClient.addPKPClient(pkpWallet); ``` ## 3. Subscribe and respond to events @@ -55,8 +55,8 @@ wcClient.addPKPClient(pkpWallet) Once the WalletConnect client is initialized, the PKP is ready to connect to dApps. The dApp will request to connect to your PKP through a session proposal. To respond to session proposals, subscribe to the `session_proposal` event. ```js -pkpWalletConnect.on('session_proposal', async (proposal) => { - console.log('Received session proposal: ', proposal); +pkpWalletConnect.on("session_proposal", async (proposal) => { + console.log("Received session proposal: ", proposal); // Accept session proposal await pkpWalletConnect.approveSessionProposal(proposal); @@ -82,8 +82,8 @@ await pkpWalletConnect.pair({ uri: uri }); Once the session proposal is approved, the dApp can then request your PKP to perform actions, such as signing, via a session request. To acknowledge and respond to these session requests, set up an event listener for the `session_request` event. ```js -pkpWalletConnect.on('session_request', async (requestEvent) => { - console.log('Received session request: ', requestEvent); +pkpWalletConnect.on("session_request", async (requestEvent) => { + console.log("Received session request: ", requestEvent); const { topic, params } = requestEvent; const { request } = params; diff --git a/docs/support/faq.md b/docs/support/faq.md index 53cf1a1b..e85551dd 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -14,9 +14,9 @@ Yes, you can find the latest Lit JS SDK version [here](https://github.com/LIT-Pr Currently access control conditions aren’t very expensive in terms of compute & storage, so we’ve been working under the premise that the “artificial” rate limiting of web3 (i.e., RPC endpoints aren’t lightning fast right now) will provide all users with an equal opportunity of excellent network performance. Our payment model, when it becomes active, is predicated on payment being made to store access control conditions - not to read & evaluate them. -So while we don’t have plans for access control rate limiting yet, it could help with scaling up; Lit could envision a project that stores a single access control conditions, and then effectively attempts to “read” it a thousand times a second … obviously this starts to add up, and takes from other projects. This could create a rate limiting scenario - though we’d prefer to scale up first! +So while we don’t have plans for access control rate limiting yet, it could help with scaling up; Lit could envision a project that stores a single access control conditions, and then effectively attempts to “read” it a thousand times a second … obviously this starts to add up, and takes from other projects. This could create a rate limiting scenario - though we’d prefer to scale up first! -In the end, rate limiting (if applied correctly and in good faith!) is a reasonable economic measure that falls into the web3 ethos of paying for what gets used - and only what gets used. 🙂 +In the end, rate limiting (if applied correctly and in good faith!) is a reasonable economic measure that falls into the web3 ethos of paying for what gets used - and only what gets used. 🙂
@@ -44,13 +44,13 @@ With a custodial wallet, there is no need to store the signature. the reason it' ### 1. What is the difference between authorization and authentication? -An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. +An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. -Authorization is through auth signatures - an auth sig is always required when making a request to Lit, whether it be decrypting some piece of content or sending a transaction with a PKP. +Authorization is through auth signatures - an auth sig is always required when making a request to Lit, whether it be decrypting some piece of content or sending a transaction with a PKP. ### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? -You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../access-control/evm/basic-examples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. +You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../../sdk/access-control/evm/basic-examples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. We are currently working on implementing a more direct solution for using Lit Actions and ACCs together, allowing users to define ACCs that provision access based on the result of any Lit Action. This will enable the generation of more complex ACCs and the use of off-chain data in your conditions. @@ -75,6 +75,7 @@ const pkpBTCAddress = bitcoinjs.payments.p2pkh({ ``` ### 3. "Internal JSON-RPC error" When attempting to mint a PKP + You must have `Lit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. ### 4. “Error: Invalid arrayify value”upon passing IPFS CID to functions (isPermittedActions, etc.) while interacting with PKPPermissions contract? @@ -123,7 +124,7 @@ Yes! Check out this [sample project.](https://github.com/dOrgJelli/lit-protocol- ### 1. Can more than one condition be added for access control? -Yes! See [boolean logic](../access-control/condition-types/boolean-logic) for examples. +Yes! See [boolean logic](../../sdk/access-control/condition-types/boolean-logic) for examples. ### 2. What’s the maximum number of accessControlConditions allowed at once? @@ -135,11 +136,11 @@ The Lit network doesn’t store these encrypted contents for you. You can store ### 4. How to construct an accessControlCondition to authorize only a specific wallet address? -Check out the solution [here](../access-control/evm/basic-examples#a-specific-wallet-address). +Check out the solution [here](../../sdk/access-control/evm/basic-examples#a-specific-wallet-address). ### 5. How to use a time-lock based accessControlCondition? -Check out the solution [here](../access-control/evm/timelock). +Check out the solution [here](../../sdk/access-control/evm/timelock).
@@ -169,7 +170,7 @@ For different resources you’ll be required to sign each time since the signed ### 5. Out of the above two approaches, which one is preferred? -A key point to note here is that the LitAction can execute only for 60 seconds after which it times out. Hence it makes sense to reduce complexity in the LitActions code. Also if you want to create a lot of AuthSigs process those in batches. This will require multiple calls to execute the LitAction. You may also parallelize these promises using a package like [p-queue](https://www.npmjs.com/package/p-queue). +A key point to note here is that the LitAction can execute only for 60 seconds after which it times out. Hence it makes sense to reduce complexity in the LitActions code. Also if you want to create a lot of AuthSigs process those in batches. This will require multiple calls to execute the LitAction. You may also parallelize these promises using a package like [p-queue](https://www.npmjs.com/package/p-queue).
@@ -181,13 +182,13 @@ Yes. AES-GCM webcrypto for the symmetric encryption. then that key is encrypted ### 2. How does Lit handles key management? -There is only one key, created with distributed key generation. The nodes all know the public key but nobody knows the whole private key. +There is only one key, created with distributed key generation. The nodes all know the public key but nobody knows the whole private key. -### 3. What's to prevent a Lit node operator from discovering all the symmetric keys stored on the network and being able to decrypt anything? +### 3. What's to prevent a Lit node operator from discovering all the symmetric keys stored on the network and being able to decrypt anything? **(cont'd) It says that it uses BLS threshold signatures so that the decryption key is split into multiple pieces, but that doesn't really totally explain how the key management works? How nodes learn about the various keys being managed by the network? How you prevent one node operator from accumulating all the component keys needed to reconstruct any of the symmetric decryption keys?** -Each node only holds a private key share. When a user wants to decrypt something, he presents the thing to decrypt, and proof that he meets the conditions (a wallet signature). Each node independently checks that the user meets the condition with a RPC call to an ETH node. If the user meets the condition, the node uses its private key share to create a decryption share. The user collects the decryption shares and accumulates them above the threshold, and is then able to decrypt the content. +Each node only holds a private key share. When a user wants to decrypt something, he presents the thing to decrypt, and proof that he meets the conditions (a wallet signature). Each node independently checks that the user meets the condition with a RPC call to an ETH node. If the user meets the condition, the node uses its private key share to create a decryption share. The user collects the decryption shares and accumulates them above the threshold, and is then able to decrypt the content. So, you can see, the nodes don't talk to each other when decrypting the content. Each node's private key share never leaves the node. @@ -209,7 +210,7 @@ Nope! you're probably thinking of shares in the context of shamir's secret shari So the entire network could turnover (all nodes that were there when you encrypted content are gone) but you can still decrypt the content, becuause the private key itself is persisted -### 7. So you need 2/3 of the entire network to decrypt content? not 2/3 of some fixed constant number of key fragments? +### 7. So you need 2/3 of the entire network to decrypt content? not 2/3 of some fixed constant number of key fragments? Yup! those are the default params we are launching with. Over time, we want to let users launch their own "subnets" with their own parameters. @@ -218,12 +219,13 @@ Yup! those are the default params we are launching with. Over time, we want to l Yeah that's correct. we plan to tune the network to have the max number of nodes while still remaining within some performance bounds. like if we can have 100 nodes and it takes less than 2 seconds to unlock something, that would be acceptable. when the network grows beyond that size, we support the automatic creation of subnets, which are basically just parallel networks. and then when someone goes to store some content, automatically load balance between those subnets ### 9. So long as that an attack on the network remains impractical then the system is pretty robust? -**(cont'd) One operator runs enough nodes to gather sufficient fragments to decrypt stuff - is sufficiently difficult and costly to execute so as to be impractical. That still seems like the most likely attack vector if things aren't designed just right. ** -Yeah you nailed it - there are lots of little tricks we can use there. like suppose there are 10 subnets each with their own private key, each with 100 nodes. if you wanted to break one of those private keys, you would need to run 66 of 100 of those nodes. but, when you join the network, the subnet you are assigned to is uniformly random. so now, you need to run 666 of 1000 nodes to amass those 66 shares for a single given subnet (maybe technically less due to the birthday problem). we could give out fake shares. we could make it difficult to discover which public key goes with which private key share, so as a node operator can't even tell which shares will unlock a given piece of data. It's a hard problem to solve but we have a lot of tools. +**(cont'd) One operator runs enough nodes to gather sufficient fragments to decrypt stuff - is sufficiently difficult and costly to execute so as to be impractical. That still seems like the most likely attack vector if things aren't designed just right. ** + +Yeah you nailed it - there are lots of little tricks we can use there. like suppose there are 10 subnets each with their own private key, each with 100 nodes. if you wanted to break one of those private keys, you would need to run 66 of 100 of those nodes. but, when you join the network, the subnet you are assigned to is uniformly random. so now, you need to run 666 of 1000 nodes to amass those 66 shares for a single given subnet (maybe technically less due to the birthday problem). we could give out fake shares. we could make it difficult to discover which public key goes with which private key share, so as a node operator can't even tell which shares will unlock a given piece of data. It's a hard problem to solve but we have a lot of tools.
## I have a question that isn't answered here. Where can I get help? -Join our [Discord](https://litgateway.com/discord) and post your question in our forums! \ No newline at end of file +Join our [Discord](https://litgateway.com/discord) and post your question in our forums! diff --git a/learningLab/intro-to-lit/prog-signing.md b/learningLab/intro-to-lit/prog-signing.md index ef6260b4..5c8bec0f 100644 --- a/learningLab/intro-to-lit/prog-signing.md +++ b/learningLab/intro-to-lit/prog-signing.md @@ -1,7 +1,9 @@ --- sidebar_position: 5 --- + # 4. Programmatic Signing + ![image](../../static/img/ll_progSigning.png) As a distributed key management network, Lit provides developers with the ability to add programmable signing to their applications and wallets. These distributed wallets are known as Programmable Key Pairs (PKP) and the application logic that dictates when and why that key-pair will sign is known as a Lit Action. @@ -9,6 +11,7 @@ As a distributed key management network, Lit provides developers with the abilit --- ## Objectives + At completion of this reading you should be able to: - Explain how Lit Actions and Programmable Key Pairs (PKPs) work together. @@ -25,35 +28,38 @@ Each Programmable Key Pair (PKP) is a versatile multi-party computation wallet t - Build fully decentralized application backends. **Features** -1. [Blockchain Agnostic](../../docs/resources/supported-chains.md): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../docs/sdk/wallets/intro.md), handling authentication, or generating conditional proofs. -3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. -4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. +1. [Blockchain Agnostic](../../../v3/resources/supported-chains): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../../v3/sdk/wallets/intro), handling authentication, or generating conditional proofs. +3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. +4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. ## Lit Actions + Lit Actions are JavaScript programs that can be used to specify signing and authentication logic for PKPs. When used in conjunction with PKPs, Lit Actions are functionally serverless functions with their own private key-pair. Together these tools can be used to write data to blockchains and other state machines. Every Lit Action gets executed across Lit’s threshold cryptography network in parallel, meaning the result of each program is independently verified by each node. Once a threshold of nodes have verified the result (more than two-thirds of network participants), the signing or decryption logic defined therein can be executed. -Lit Actions are stored on the InterPlanetary File System (IPFS). +Lit Actions are stored on the InterPlanetary File System (IPFS). **Features** -1. [Blockchain Agnostic](../../docs/resources/supported-chains.md): Lit Actions can be used to write data to blockchains using PKPs +1. [Blockchain Agnostic](../../../v3/resources/supported-chains): Lit Actions can be used to write data to blockchains using PKPs 2. Immutable: Once a Lit Action has been published, it cannot be modified 3. Atomicity: Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set -4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](../../docs/sdk/access-control/condition-types/lit-action-conditions.md) natively, without requiring the use of a third party oracle +4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](../../../v3/sdk/access-control/condition-types/lit-action-conditions) natively, without requiring the use of a third party oracle ## How do Lit Actions and PKPs work together? + A user can create a new PKP and grant a Lit Action the right to sign using it. This means the distributed key has the ability to sign and decrypt arbitrary data based on pre-defined logic and conditions. ## Why is this useful? + A programmable distributed key is a primitive with a number of potential use cases. For example, using a PKP and Lit Actions for onboarding web2 users to wallets based on modern multi-factor authentication (withouth relying on a central authority or key custodian). Additionally, Lit Actions + PKPs + web3 storage can be a replacement for a traditional web2 backend. Consider a web3-based Twitter alternative that utilizes [Ceramic](https://ceramic.network/) as its data storage solution. By creating a PKP associated with a Ceramic stream and granting specific Lit Actions the capability to sign with that PKP, you can emulate the functionality of a web2 backend. The Lit Actions can enforce business logic to ensure that only accurate data is written to the Ceramic stream. A `likePost()` Lit Action could verify whether a user has already liked a post before allowing the like to be recorded in the stream. -With Lit and web3 storage like Ceramic, you can empower Lit Actions to assume an "admin mode" role over a Ceramic stream. This is achieved by granting the Lit Action the ability to sign with the PKP associated with the stream. Nonetheless, it is crucial to note that the Lit Action will strictly adhere to the logic implemented within its code, ensuring that data is written to the stream in accordance with the specified rules. +With Lit and web3 storage like Ceramic, you can empower Lit Actions to assume an "admin mode" role over a Ceramic stream. This is achieved by granting the Lit Action the ability to sign with the PKP associated with the stream. Nonetheless, it is crucial to note that the Lit Action will strictly adhere to the logic implemented within its code, ensuring that data is written to the stream in accordance with the specified rules. This seamless transition from a centralized web2 model to a decentralized web3 paradigm is greatly simplified through the capabilities provided by Lit. @@ -71,6 +77,7 @@ Use PKPs and Actions to automate your interactions across decentralized finance. - Recurring payments. Example Projects: + - [Sling Protocol](https://github.com/Sling-Protocol/pkp-dex-sdk): An SDK for automating transactions on popular DEXs. Currently supports Uniswap V3 and 1inch. **Infrastructure** @@ -83,6 +90,7 @@ Build powerful infrastructure that harnesses the power of Lit! - Decentralized key custodians. Example Projects: + - [Yacht Labs](https://yachtlabs.io/blog/yacht-lit-swap): Cross-chain atomic swaps with PKPs and Lit Actions - [Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main): SDK for building privacy-preserving interactions on-chain @@ -110,6 +118,7 @@ Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-g --- ## Learn More + Read the Lit developer docs on [programmatic signing](https://developer.litprotocol.com/v3/sdk/wallets/intro). -In order to utilize the Lit functions for PKPs and Lit Actions, you'll need the [Lit JS SDK](https://github.com/LIT-Protocol/js-sdk). +In order to utilize the Lit functions for PKPs and Lit Actions, you'll need the [Lit JS SDK](https://github.com/LIT-Protocol/js-sdk). diff --git a/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md b/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md index 88d10456..39354ced 100644 --- a/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md +++ b/versioned_docs/version-2.0/ToolsAndExamples/Integrations/bundlrxarweave.md @@ -7,11 +7,13 @@ sidebar_position: 4 Read this guide on how to encrypt data using Lit Protocol, upload it to Arweave using Bundlr, fetch the Lit encrypted data, and decrypt using Lit Protocol! ## Demo + Repository: https://github.com/LIT-Protocol/lit-bundlr-example Demo: https://lit-bundlr.herokuapp.com/ ## What can Lit Protocol do? + Lit Protocol is powered by the threshold cryptography, we can harness on-chain access control conditions to do 4 main things: - Encrypt and lock static content @@ -25,6 +27,7 @@ Lit Protocol is powered by the threshold cryptography, we can harness on-chain a ![What is Lit explanation graph](/img/lit_explanation.jpeg) ## What can Bundlr do? + [Bundlr](https://docs.bundlr.network/) is a decentralized storage scaling platform that increases the number of transactions conducted on Arweave, which is a decentralized storage network that enables you to store data permanently. Bundlr can do 2 main things: 1. Collect multiple layer 2 transactions for 2 minutes, bundle them into a single Arweave layer 1 transaction, and submit the bundle onto Arweave. @@ -33,13 +36,13 @@ Lit Protocol is powered by the threshold cryptography, we can harness on-chain a ![How does Bundlr work diagram](/img/bundlr_explanation.webp) ## How do we utilize both technologies, and why? + Let’s say that you want to share private content with members of your DAO and they hold a given NFT, with Lit Protocol and Bundlr, you can encrypt and store an image that can be viewed by anyone that holds the NFT from the DAO’s collection. In this example, we will be encrypting an image (static content) with access control conditions using Lit Protocol, permanently store on Arweave using Bundlr APIs, downloading the encrypted image, and finally decrypting the image that was locked behind an on-chain condition. There are a lot of APIs in both technologies, but in this example, we will only focus on the essential parts, encrypting the data and uploading to Arweave. - ![How to encrypt using Lit and Bundlr](/img/lit_encrypt_bundlr.webp) ### Step 1: Encrypt static content with Lit Protocol @@ -77,13 +80,15 @@ Now that we have all 4 information, we can pass it to the `litNodeClient.saveEnc The code should look like: ```js -const chain = 'ethereum'; +const chain = "ethereum"; -const authSig = await LitJsSdk.checkAndSignAuthMessage({chain}) +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }); // Visit here to understand how to encrypt static content // -const { encryptedString, symmetricKey } = await LitJsSdk.encryptString(fileInString); +const { encryptedString, symmetricKey } = await LitJsSdk.encryptString( + fileInString +); const encryptedSymmetricKey = await litNodeClient.saveEncryptionKey({ accessControlConditions: accessControlConditions.accessControlConditions, @@ -116,12 +121,14 @@ We will then need to create a Bundlr instance by providing: - …more info here ```js -import Bundlr from '@bundlr-network/client'; -const bundlr = new Bundlr("", "currencyName", "privateKey"); +import Bundlr from "@bundlr-network/client"; +const bundlr = new Bundlr( + "", + "currencyName", + "privateKey" +); ``` - - Once the instance is setup, we can create a transaction for our `packagedData`: ``` @@ -131,20 +138,16 @@ const tx = bundlr.createTransaction(packagedData) const transactionId = tx.id; ``` - Then we will sign it, and upload the transaction: - ```js // sign the transaction -await tx.sign() +await tx.sign(); // upload the transaction const result = await tx.upload(); ``` - - You can view your transaction at: https://arweave.app/tx/{transaction_id} Example: https://arweave.app/tx/mcXCIsUmwoKOy7Sk-WfCB1NfeT5gd1cJ78_wA4KGpNY @@ -157,11 +160,8 @@ First, we will fetch the data from the transaction: `const data = await fetch('' + transactionId);` - - Then, we will read the data back as text and parse it to JSON format, as it was in string format when we uploaded. - `const dataOnArweave = JSON.parse(await data.text());` ```js @@ -173,50 +173,51 @@ Then, we will read the data back as text and parse it to JSON format, as it was } ``` - Remember the 4 variables we need to get the `symmetricKey`? Two of them are already in the fetched data `encryptedSymmetricKey` and `accessControlConditions` so all we need now is the `authSig` and the correct chain. ```js -// The 4 information we need -const chain = 'ethereum'; +// The 4 information we need +const chain = "ethereum"; -const authSig = await LitJsSdk.checkAndSignAuthMessage({chain}); +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }); const accessControlConditions = dataOnArweave.accessControlConditions; -const encryptedSymmetricKey = LitJsSdk.uint8arrayToString(dataOnArweave.encryptedSymmetricKey, "base16"); +const encryptedSymmetricKey = LitJsSdk.uint8arrayToString( + dataOnArweave.encryptedSymmetricKey, + "base16" +); ``` - - We can now get the original symmetric key: ```js const symmetricKey = await litNodeClient.getEncryptionKey({ - accessControlConditions, - toDecrypt: encryptedSymmetricKey, - chain, - authSig, + accessControlConditions, + toDecrypt: encryptedSymmetricKey, + chain, + authSig, }); ``` - Now that we have the symmetric key, we can finally use it to decrypt the encrypted data. ```js const decryptString = await LitJsSdk.decryptString( - dataURItoBlob(dataOnArweave.encryptedData), - symmetricKey + dataURItoBlob(dataOnArweave.encryptedData), + symmetricKey ); ``` + ![How to encrypt using Lit](/img/full_encryption.webp) ![How to decrypt using Lit and Bundlr highlighting encrypting](/img/full_decryption.webp) That’s it! and that’s how we connect the two together. You’ve just learned to encrypt static data using Lit Protocol, upload it to Arweave using Bundlr, fetch the encrypted content, and decrypt it again using Lit Protocol! ## Links -Lit Protocol: https://developer.litprotocol.com/docs/intro/ + +Lit Protocol: https://developer.litprotocol.com/v2/sdk/intro/ Bundlr Network: https://docs.bundlr.network -Calculating Arweave Fees: https://ar-fees.arweave.dev/ \ No newline at end of file +Calculating Arweave Fees: https://ar-fees.arweave.dev/ From cb319efa49d4396e2db7bfe5cd82bec6b2fe692d Mon Sep 17 00:00:00 2001 From: Jakob Endler Date: Mon, 30 Oct 2023 00:52:31 +0100 Subject: [PATCH 052/627] Fix LitNodeClient reference in installation docs for NodeJs (#157) * Update installation.md * Update docs/sdk/installation.md Co-authored-by: deb --------- Co-authored-by: Chris Cassano <1285652+glitch003@users.noreply.github.com> Co-authored-by: deb --- docs/sdk/installation.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 332b74c6..ef1d201d 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -67,10 +67,12 @@ Calling `connect()` on the `litNodeClient`` returns a promise that resolves when In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by [Express](https://expressjs.com/) for this purpose. You may have to use what your own server framework provides for this purpose, instead. +> Keep in mind that in the server-side implementation, the client class is named `LitNodeClientNodeJs`. + `client.connect()` returns a promise that resolves when you are connected to the Lit network. ```js -app.locals.litNodeClient = new LitJsSdk.LitNodeClient({ +app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, litNetwork: "cayenne", }); From 33e40d23342f28d9a0c46d84e4ab065db28e4fe5 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Sun, 29 Oct 2023 17:42:46 -0700 Subject: [PATCH 053/627] try to fix workflow (#159) --- .github/workflows/reindex-crawler.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reindex-crawler.yml b/.github/workflows/reindex-crawler.yml index 1e669e70..182df070 100644 --- a/.github/workflows/reindex-crawler.yml +++ b/.github/workflows/reindex-crawler.yml @@ -20,8 +20,8 @@ jobs: - name: Trigger crawler reindexing run: yarn run:crawler env: - CRAWLER_USER_ID: {{ secrets.CRAWLER_USER_ID }} - CRAWLER_API_KEY: {{ secrets.CRAWLER_API_KEY }} - CRAWLER_API_BASE_URL: {{ secrets.CRAWLER_API_BASE_URL }} - ALGOLIA_APP_ID: {{ secrets.ALGOLIA_APP_ID }} - ALGOLIA_API_KEY: {{ secrets.ALGOLIA_API_KEY }} \ No newline at end of file + CRAWLER_USER_ID: ${{ secrets.CRAWLER_USER_ID }} + CRAWLER_API_KEY: ${{ secrets.CRAWLER_API_KEY }} + CRAWLER_API_BASE_URL: ${{ secrets.CRAWLER_API_BASE_URL }} + ALGOLIA_APP_ID: ${{ secrets.ALGOLIA_APP_ID }} + ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }} From b64e6ebe2cf86cf9dae17653490e49d460112d1e Mon Sep 17 00:00:00 2001 From: Jakob Endler Date: Mon, 30 Oct 2023 19:05:06 +0100 Subject: [PATCH 054/627] Update auth-sig.md (#160) * Update auth-sig.md - add missing args for LitNodeClientNodeJs constructor - fix ethers wallet & address creation - fix SiweMessage chainId type * Update auth-sig.md revert false fix * Update auth-sig.md --- docs/sdk/authentication/auth-sig.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index b726e5e4..feec4c24 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -101,12 +101,15 @@ const siwe = require('siwe'); async function main() { // Initialize LitNodeClient - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs(); + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: 'cayenne', + }); await litNodeClient.connect(); // Initialize the signer const wallet = new ethers.Wallet(''); - const address = ethers.utils.getAddress(await wallet.getAddress()); + const address = ethers.getAddress(await wallet.getAddress()); // Craft the SIWE message const domain = 'localhost'; @@ -119,7 +122,7 @@ async function main() { statement, uri: origin, version: '1', - chainId: '1', + chainId: 1, }); const messageToSign = siweMessage.prepareMessage(); From 0a10a9be5f42e82353d5f4002d66bcaa6e9f0972 Mon Sep 17 00:00:00 2001 From: Bean Date: Wed, 1 Nov 2023 09:38:29 -0400 Subject: [PATCH 055/627] update email / sms docs for stytch (#161) * update email / sms docs for stytch * fix note * fix note * remove note --- .../session-sigs/auth-methods/email-sms.md | 152 ++++++++++++------ 1 file changed, 104 insertions(+), 48 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md index 86991d22..e490bf13 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md @@ -1,46 +1,117 @@ -# Email / SMS +# Stytch OTP / TOTP -Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. - -Authenticating with OTP codes delivered via email or SMS is a two-step process. First, an OTP code is initiated and sent to the user's registered email or phone number. The user-provided code is then verified. Upon successful verification, a signed JSON Web Token (JWT) is generated. This token will be validated when creating session signatures. +Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. +We have chosen (Stytch)[https://stytch.com/docs/api/send-otp-by-sms] as our OTP Authentication provider. Once you have setup your Stytch project you can use it via project meta data in our `lit-auth-client` +package. :::note -Codes sent to users via email will be received from `noreply@litprotocol.com`. Codes sent to users via SMS will include `lit-verification` within the SMS message. + The `lit-auth-client` requires a user session to be established in order to authenticate the session as this is the only way to obtain a `session_jwt` which our sdk requires. + See Stytch documentation for more information. ::: -## Register user with email or SMS + +We support all `otp` and `totp` authentication implementations stytch supports through the `StytchOtpProvider` this will use the `sub` property of the session token from our Stytch authnetication session as the `user id` to form the `auth method identifier` which is registered to the pkp for permitting the authentication method. +- Email +- sms +- WhatsApp +- TOTP (authenticator apps) + +## Obtain A Stytch session ```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } +import * as stytch from "stytch"; + +const client = new stytch.Client({ + project_id: STYTCH_PROJECT_ID, + secret: STYTCH_SECRET, +}); + +const emailResponse = await prompts({ + type: "text", + name: "email", + message: "Enter your email address", }); -// starting a validation session -let session = authClient.initProvider(ProviderType.Otp,{ - userId: '' +const stytchResponse = await client.otps.email.loginOrCreate({ + email: emailResponse.email, }); -let status = await session.sendOtpCode(); -let authMethod = await session.authenticate({ - code: "" +const otpResponse = await prompts({ + type: "text", + name: "code", + message: "Enter the code sent to your email:", +}); + +const authResponse = await client.otps.authenticate({ + method_id: stytchResponse.email_id, + code: otpResponse.code, + session_duration_minutes: 60 * 24 * 7, +}); + +let sessionResp = await client.sessions.get({ + user_id: authResponse.user_id, +}); + +// the sessionStatus contains the relevant session token +const sessionStatus = await client.sessions.authenticate({ + session_token: authResponse.session_token, }); -const txHash = await session.mintPKPThroughRelayer(authMethod); ``` -:::note -The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. +## Use an Authenticated Stytch Session with the `lit-auth-client` -If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). +```javascript +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; + +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: LIT_RELAY_API_KEY, + }, + litNodeClient, +}); + +const session = authClient.initProvider(ProviderType.StytchOtp); +// from the above example of using the Stytch client to get an authenticated session +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt, +}); +``` + +## Using Specific Stytch Authentication Factors + +We also support specific Stytch `authentication factors` which are the same as using the default `StytchOtp` provider type, however, instead of using the `user identifier` Stytch assigns to each user. +The `user id` will be the `Authentication Factor` transport. Meaning for example of sms otp was the authentication factor, then the phone number of the user will be the `user id` +below is a table of what each `auth factor` will use as the `user id` + +| ProviderType | user identifier value | +|-----|------| +| StytchEmailFactorOtp | email address | +| StytchSmsFactorOtp | phone number | +| StytchWhatsAppFactorOtp | phone number | +| StytchTotpFactor | totp id | + +There are two main benefits to using an `auth factor` over the generic Stytch OTP provider type. +- Admins of the stytch project cannot modify the user's authentication on their side. +- If being used through Claiming, the pkp public key can be dervied without users authenticating beforehand. + +Using a specific authentication factor means that each user authentication factor is a new user to the Lit Nodes. Meaning if a user has two different auth factors, they are two different authentication methods. + +### Stytch Auth Method Provider Types + +| Name | type | +| ------ | ------ | +| StytchOtp | 9 | +| StytchEmailFactorOtp | 10 | +| StytchSmsFactorOtp | 11 | +| StytchWhatsAppFactorOtp | 12 | +| StytchTotpFactorOtp | 13 | -::: ## Minting via Contract An alternative to minting the PKP NFT via the Lit Relay Server is to send a transaction to the smart contract yourself. You can reference the following example data that is passed to the `mintNextAndAddAuthMethods` method of the `PKPHelper` smart contract: - `keyType` is `2` -- `permittedAuthMethodTypes` is `[7]` +- `permittedAuthMethodTypes` is `[9 - 13]` depending on the type of Stytch authentication used - `permittedAuthMethodIds` is an array with 1 element being the user's email or phone number. - `permittedAuthMethodScopes` is an array with 1 zero-initialized element, e.g. `[[ethers.BigNumber.from("0")]]` - `addPkpEthAddressAsPermittedAddress` is `true` @@ -49,23 +120,18 @@ An alternative to minting the PKP NFT via the Lit Relay Server is to send a tran ### Authenticating to Fetch PKP information ```javascript -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -// starting a validation session -let session = authClient.initProvider(ProviderType.Otp,{ - userId: '' -}); - -let status = await session.sendOtpCode(); -let authMethod = await session.authenticate({ - code: "" -}); +// Using the session examples above you can call to fetch pkps by the auth method gotten from the provider examples const txHash = await session.fetchPKPThroughRelayer(authMethod); ``` + +:::note + +The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. + +If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). + +::: + :::note If the user is using a phone number, the country code must be provided. ::: @@ -74,15 +140,10 @@ Below is an example of an authentication method from successful authentication ```javascript { "accessToken": "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjg0ODc1NTE0NDkxLCJleHAiOjE2ODQ4NzczMTQ0OTEsIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0yM1QyMDo1ODozNC40OTE3ODU5NDUrMDA6MDAifQ.eyJyIjoiZTA0ZDAyNjhjN2ExMzhiNmZiNDJjYTk4NmIxY2I4MWM0N2QyMTc0MzZlOWNlYzc4NGUzNWEyOTZkZmY2YjA4NSIsInMiOiI0NTE5MTVkMDY5YTZhZGE5M2U0OGY3ODUwMGM0MWUzNmMwYzQ4Y2FlODYwMmYxYWM0Njc0MTQ1YTNiMmMyNDU4In0", - "authMethodType": 7 + "authMethodType": 9 } ``` -:::note - Tokens expire after 30 minutes, and must be validated for session signature signing within that period -::: - - ### Generating `SessionSigs` After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. @@ -103,11 +164,6 @@ const sessionSigs = await provider.getSessionSigs({ ### Generating Session Signatures using the `LitNodeClient` -::: note - -The example will assume you are using `LitNodeClient` but this example also works with `LitNodeClientNodeJS` - -::: Initalize an instance of the `LitNodeClient` and connect to the network From 9d1129b0c22f6c03c6fdcbb11ddfc4b32a1043bb Mon Sep 17 00:00:00 2001 From: Bean Date: Wed, 1 Nov 2023 11:43:45 -0400 Subject: [PATCH 056/627] add contract docs (#162) --- .../version-2.0/sdk/explanation/contracts.md | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 versioned_docs/version-2.0/sdk/explanation/contracts.md diff --git a/versioned_docs/version-2.0/sdk/explanation/contracts.md b/versioned_docs/version-2.0/sdk/explanation/contracts.md new file mode 100644 index 00000000..f647d42c --- /dev/null +++ b/versioned_docs/version-2.0/sdk/explanation/contracts.md @@ -0,0 +1,171 @@ +# LitContracts + +The `LitContracts` class serves as a hub for managing and interacting with various smart contracts. This class provides a structured way to handle smart contract instances and offers utility methods for common operations. + +## Class Properties + +- `provider`: The Ethereum provider used to interact with the blockchain. +- `rpc`: The URL of the JSON-RPC endpoint. +- `signer`: The signer used to send transactions. +- `privateKey`: The private key used for signing transactions (if provided). +- `connected`: A flag indicating whether the class is connected to the blockchain. + +## Smart Contract Instances + +The class encapsulates several smart contract instances, each with a `read` and `write` version. The `read` version is used for calling view functions that don't modify the blockchain, while the `write` version is used for sending transactions that modify the blockchain. The smart contracts included are: + +- Allowlist Contract +- LITToken Contract +- Multisender Contract +- PKPHelper Contract +- PKPNFT Contract +- PKPPermissions Contract +- PubkeyRouter Contract +- RateLimitNFT Contract +- Staking Contract + +## Utility Methods + +### `asyncForEachReturn` + +Executes a provided callback function for each item in an array asynchronously. + +```javascript +const result = await LitContracts.asyncForEachReturn(array, asyncCallback); +``` + +### `getBytesFromMultihash` + +Converts a multihash string into an object representing multihash. + +```javascript +const bytes = LitContracts.utils.getBytesFromMultihash(multihash); +``` + +### `getMultihashFromBytes` + +Converts bytes32 to IPFS ID. + +```javascript +const multihash = LitContracts.utils.getMultihashFromBytes(byte32); +``` + +### `timestamp2Date` + +Converts a timestamp to a formatted date string. + +```javascript +const formattedDate = LitContracts.utils.timestamp2Date(timestamp); +``` + +## Methods for Interacting with Smart Contracts + +### `connect` + +Connects to the blockchain using the provided or default settings. + +```javascript +await LitContracts.connect(); +``` + +### PKPNFT Contract Utility Methods + +#### `getTokensByAddress` + +Retrieves all PKP tokens owned by a given address. + +```javascript +const tokens = await LitContracts.pkpNftContractUtils.read.getTokensByAddress(ownerAddress); +``` + +#### `mint` + +Mints a new PKP token. + +```javascript +const mintResult = await LitContracts.pkpNftContractUtils.write.mint(); +``` + +### PKPPermissions Contract Utility Methods + +#### `isPermittedAddress` + +Checks if an address is permitted for a given PKP token. + +```javascript +const isPermitted = await LitContracts.pkpPermissionsContractUtils.read.isPermittedAddress(tokenId, address); +``` + +#### `addPermittedAction` + +Adds a permitted action to a given PKP token. + +```javascript +const tx = await LitContracts.pkpPermissionsContractUtils.write.addPermittedAction(pkpId, ipfsId); +``` + +### RateLimitNFT Contract Utility Methods + +#### `getCapacityByIndex` + +Gets the capacity of a Rate Limit NFT by index. + +```javascript +const capacity = await LitContracts.rateLimitNftContractUtils.read.getCapacityByIndex(index); +``` + +#### `mint` + +Mints a new Rate Limit NFT. + +```javascript +const mintResult = await LitContracts.rateLimitNftContractUtils.write.mint({mintCost, timestamp}); +``` + +## Example Usage + +```javascript +// Instantiate the LitContracts class +const litContracts = new LitContracts( + signer: "" // can be an instance of `PkpEthersWallet` or a different signer of your choosing +); + +// Connect to the blockchain +await litContracts.connect(); + +// Mint a new PKP token +const mintResult = await litContracts.pkpNftContractUtils.write.mint(); + +// Check if an address is permitted for a PKP token +const isPermitted = await litContracts.pkpPermissionsContractUtils.read.isPermittedAddress(tokenId, address); + +// Add a permitted action to a PKP token +const tx = await litContracts.pkpPermissionsContractUtils.write.addPermittedAction(pkpId, ipfsId); + +// mint a new pkp with specific auth methods, ipfsIds, and addresses. +const tx = await litContracts.pkpHelperContractUtils.write.mintNextAddAuthMethods({ + keyType, + permittedAuthMethodTypes, + permittedAuthMethodIds, + permittedAuthMethodPubkeys, + permittedAuthMethodScopes, + addPkpEthAddressAsPermittedAddress, + sendPkpToItself +}); + +const tx = await litContracts.pkpHelperContractUtils.write.claimAndmintNextAndAddAuthMethods({ + keyType; + derivedKeyId; + signatures; +}, +{ + keyType, + permittedAuthMethodTypes, + permittedAuthMethodIds, + permittedAuthMethodPubkeys, + permittedAuthMethodScopes, + addPkpEthAddressAsPermittedAddress, + sendPkpToItself +}); +``` + From 7406eb3abe5d12da0158aecfbd19498f95c4cb28 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Tue, 7 Nov 2023 08:58:29 -0800 Subject: [PATCH 057/627] Feature/doc new auth methods (#163) * update docs on auth methods to add stytch * prettier on table * delete sentence --- .../session-sigs/auth-methods/email-sms.md | 96 ++++++++++--------- docs/sdk/wallets/auth-methods.md | 40 ++++---- 2 files changed, 75 insertions(+), 61 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md index e490bf13..ecb59e1b 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md @@ -5,11 +5,12 @@ We have chosen (Stytch)[https://stytch.com/docs/api/send-otp-by-sms] as our OTP package. :::note - The `lit-auth-client` requires a user session to be established in order to authenticate the session as this is the only way to obtain a `session_jwt` which our sdk requires. - See Stytch documentation for more information. +The `lit-auth-client` requires a user session to be established in order to authenticate the session as this is the only way to obtain a `session_jwt` which our sdk requires. +See Stytch documentation for more information. ::: We support all `otp` and `totp` authentication implementations stytch supports through the `StytchOtpProvider` this will use the `sub` property of the session token from our Stytch authnetication session as the `user id` to form the `auth method identifier` which is registered to the pkp for permitting the authentication method. + - Email - sms - WhatsApp @@ -60,7 +61,7 @@ const sessionStatus = await client.sessions.authenticate({ ## Use an Authenticated Stytch Session with the `lit-auth-client` ```javascript -import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { LitAuthClient } from "@lit-protocol/lit-auth-client"; const authClient = new LitAuthClient({ litRelayConfig: { @@ -69,7 +70,8 @@ const authClient = new LitAuthClient({ litNodeClient, }); -const session = authClient.initProvider(ProviderType.StytchOtp); +const session = + authClient.initProvider < StytchOtpProvider > ProviderType.StytchOtp; // from the above example of using the Stytch client to get an authenticated session const authMethod = await session.authenticate({ accessToken: sessionStatus.session_jwt, @@ -82,14 +84,15 @@ We also support specific Stytch `authentication factors` which are the same as u The `user id` will be the `Authentication Factor` transport. Meaning for example of sms otp was the authentication factor, then the phone number of the user will be the `user id` below is a table of what each `auth factor` will use as the `user id` -| ProviderType | user identifier value | -|-----|------| -| StytchEmailFactorOtp | email address | -| StytchSmsFactorOtp | phone number | -| StytchWhatsAppFactorOtp | phone number | -| StytchTotpFactor | totp id | +| ProviderType | user identifier value | +| ----------------------- | --------------------- | +| StytchEmailFactorOtp | email address | +| StytchSmsFactorOtp | phone number | +| StytchWhatsAppFactorOtp | phone number | +| StytchTotpFactor | totp id | There are two main benefits to using an `auth factor` over the generic Stytch OTP provider type. + - Admins of the stytch project cannot modify the user's authentication on their side. - If being used through Claiming, the pkp public key can be dervied without users authenticating beforehand. @@ -97,14 +100,13 @@ Using a specific authentication factor means that each user authentication facto ### Stytch Auth Method Provider Types -| Name | type | -| ------ | ------ | -| StytchOtp | 9 | -| StytchEmailFactorOtp | 10 | -| StytchSmsFactorOtp | 11 | -| StytchWhatsAppFactorOtp | 12 | -| StytchTotpFactorOtp | 13 | - +| Name | type | +| ----------------------- | ---- | +| StytchOtp | 9 | +| StytchEmailFactorOtp | 10 | +| StytchSmsFactorOtp | 11 | +| StytchWhatsAppFactorOtp | 12 | +| StytchTotpFactorOtp | 13 | ## Minting via Contract @@ -132,11 +134,12 @@ If you are using Lit Relay Server, you will need to request an API key [here](ht ::: -:::note +:::note If the user is using a phone number, the country code must be provided. ::: Below is an example of an authentication method from successful authentication + ```javascript { "accessToken": "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjg0ODc1NTE0NDkxLCJleHAiOjE2ODQ4NzczMTQ0OTEsIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0yM1QyMDo1ODozNC40OTE3ODU5NDUrMDA6MDAifQ.eyJyIjoiZTA0ZDAyNjhjN2ExMzhiNmZiNDJjYTk4NmIxY2I4MWM0N2QyMTc0MzZlOWNlYzc4NGUzNWEyOTZkZmY2YjA4NSIsInMiOiI0NTE5MTVkMDY5YTZhZGE5M2U0OGY3ODUwMGM0MWUzNmMwYzQ4Y2FlODYwMmYxYWM0Njc0MTQ1YTNiMmMyNDU4In0", @@ -151,37 +154,38 @@ After successfully authenticating with an `AuthMethod`, you can generate `Sessio ```javascript // Get session signatures for the given PKP public key and auth method const sessionSigs = await provider.getSessionSigs({ - authMethod: '', + authMethod: "", sessionSigsParams: { - chain: 'ethereum', - resourceAbilityRequests: [{ - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption - }], + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], }, }); ``` ### Generating Session Signatures using the `LitNodeClient` - Initalize an instance of the `LitNodeClient` and connect to the network ```javascript const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ - litNetwork: 'cayenne', - debug: true + litNetwork: "cayenne", + debug: true, }); await litNodeClient.connect(); ``` Request a specified pkp to sign a session signature, authenticating with an `Auth Method` for a given `PKP` -The `session.fetchPKPThroughRelayer` method above can be used to query PKP public keys associated with a given auth method. You can also use the `contracts-sdk` to query PKP information by Authentication Method. +The `session.fetchPKPThroughRelayer` method above can be used to query PKP public keys associated with a given auth method. You can also use the `contracts-sdk` to query PKP information by Authentication Method. ```javascript // The implementation below is wrapped by the above `provider.getSessionSigs` const authNeededCallback = async (params: AuthCallbackParams) => { - console.log("params", params) + console.log("params", params); const response = await litNodeClient.signSessionKey({ sessionKey: sessionKeyPair, statement: params.statement, @@ -191,26 +195,28 @@ const authNeededCallback = async (params: AuthCallbackParams) => { resources: params.resources, chainId: 1, }); - console.log("callback response", response) + console.log("callback response", response); return response.authSig; }; const resourceAbilities = [ - { - resource: new LitActionResource("*"), - ability: LitAbility.PKPSigning, - }, + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, ]; -const sessionSigs = await litNodeClient.getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), - resourceAbilityRequests: resourceAbilities, - sessionKey: sessionKeyPair, - authNeededCallback -}).catch((err) => { - console.log("error while attempting to access session signatures: ", err) - throw err; -}); +const sessionSigs = await litNodeClient + .getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + sessionKey: sessionKeyPair, + authNeededCallback, + }) + .catch((err) => { + console.log("error while attempting to access session signatures: ", err); + throw err; + }); console.log("session signatures: ", sessionSigs); const authSig = sessionSigs[Object.keys(sessionSigs)[0]]; console.log("authSig", authSig); diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 36364354..5219018e 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -17,23 +17,27 @@ Several auth methods are supported by Lit directly. These include methods config ### Existing supported auth methods -| Auth Method Name | Auth Method Type Number | Description | -| ---------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| NULLMETHOD | 0 | Don't use this one, it's just a placeholder | -| ADDRESS | 1 | An Ethereum address. As long as the user presents an AuthSig with this address, they can sign using the PKP. | -| ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | -| WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | -| DISCORD | 4 | Discord Oauth Login | -| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | -| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | -| One Time Password (OTP) | 7 | Email / SMS Login, verification services provides a JWT, this is token will be within the auth method, this token is verified within the nodes when requesting a session signature | +| Auth Method Name | Auth Method Type Number | Description | +| -------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| NULLMETHOD | 0 | Don't use this one, it's just a placeholder | +| ADDRESS | 1 | An Ethereum address. As long as the user presents an AuthSig with this address, they can sign using the PKP. | +| ACTION | 2 | A Lit Action. This is the IPFS CID of the Javascript that is your Lit Action, base58 decoded. As long as the user is calling a Lit Action with this CID, the Lit Action can sign using this PKP. It's very important to only authorize actions that you trust, because they can sign using the PKP. | +| WEBAUTHN | 3 | A WebAuthn Public Key. Take a look at our [WebAuthn example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/tree/main) to learn more. | +| DISCORD | 4 | Discord Oauth Login | +| GOOGLE | 5 | Google Oauth Login. You should try to use the Google JWT Oauth Login below if you can, since it's more efficient and secure. | +| GOOGLE_JWT | 6 | Google Oauth Login, except where Google provides a JWT. This is the most efficient way to use Google Oauth with Lit because the Lit nodes only need to check the JWT signature against the Google certificates, and don't need to make HTTP requests to the Google servers to verify the token. | +| APPLE_JWT | 8 | Sign in with Apple Login | +| STYTCH_JWT | 9 | Stytch Login using the Stytch user. Can use any supported Stytch auth method but note - the Stytch account admin can change underlying identifiers like phone number. To prevent this attack, use one of the explicit Stytch auth methods below | +| STYTCH_EMAIL_OTP | 10 | Stytch Login using the Stytch user's email address. This is a one-time password (OTP) sent to the user's email address. | +| STYTCH_SMS_OTP | 11 | Stytch Login using the Stytch user's phone number. This is a one-time password (OTP) sent to the user's phone number. | +| STYTCH_WHATS_APP_OTP | 12 | Stytch Login using the Stytch user's WhatsApp number. This is a one-time password (OTP) sent to the user's WhatsApp account. | +| STYTCH_TOTP | 13 | Stytch Login using the Stytch user's TOTP. This is a one-time password (OTP) generated by the user's authenticator app. | Check out the implementation details within the SDK section [here](../../sdk/authentication/session-sigs/auth-methods/overview). - ### Adding a Permitted Address -You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. +You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. ### Sending the PKP to itself @@ -45,7 +49,7 @@ After a PKP is generated and assigned an auth method, you can pass the AuthMetho The PKP public key is required to initialize a new 'wallet' object when using [Lit and WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect/blob/main/components/CallRequest.js#L44) together. -You will also need the PKP public key in order to generate a [sessionSig](../../sdk/authentication/session-sigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). +You will also need the PKP public key in order to generate a [sessionSig](../../sdk/authentication/session-sigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). ## Custom Auth @@ -122,10 +126,10 @@ const runLitAction = async () => { // authMethodType: 5, // }, // { - // email / sms + // email / sms // accessToken: "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjgzMjIzNjIyMDg5LCJleHAiOjE2ODMyMjU0MjIwODksIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0wNFQxODowNzowMi4wODkxODgrMDA6MDAifQ.eyJyIjoiOTRiOWE1ODkyODFlYzdlYmZlZTdjOGRjMjU0YTk1NGY5NjY1N2IzZmRkNmFlMWIwZThmMmY1OWIxMWYwNTU1YSIsInMiOiI0NWNlNTA0YTBkZjFlZWFkMWYxMGIyYTQ1MjU4ZjlhOTI5ZTY5ODYzYjIzNDdlZGViMmRkODMxM2Y4NDVhNDA1In0" // authMethodType: 7, - // } + // } { // google oauth JWT accessToken: @@ -136,7 +140,11 @@ const runLitAction = async () => { // all jsParams can be used anywhere in your litActionCode jsParams: { // this is the string "Hello World" for testing - toSign: ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])), + toSign: ethers.utils.arrayify( + ethers.utils.keccak256([ + 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, + ]) + ), publicKey: "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", sigName: "sig1", From a703700d8ccf22dceefd6cd11cf774e6afa20372 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Tue, 7 Nov 2023 08:58:45 -0800 Subject: [PATCH 058/627] use 302 redirects. we don't want the browser caching these, which they do with 301. (#165) * use 302 redirects. we don't want the browser caching these * trying new redirect rule * change redirect order --- netlify.toml | 91 ++++++++++++++++++++++++++-------------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/netlify.toml b/netlify.toml index 99d0b750..c1af4f31 100644 --- a/netlify.toml +++ b/netlify.toml @@ -408,13 +408,13 @@ force = false [[redirects]] from = "/Introduction/whatIsLitProtocol" to = "/what-is-lit" - status = 301 + status = 302 force = false [[redirects]] from = "/Introduction/howItWorks" to = "/resources/how-it-works" - status = 301 + status = 302 force = false # multiple bc redirects are case sensitive @@ -422,109 +422,109 @@ force = false [[redirects]] from = "/Introduction/stateOfNetwork" to = "/support/state-of-network" - status = 301 + status = 302 force = false [[redirects]] from = "/introduction/stateofnetwork" to = "/support/state-of-network" - status = 301 + status = 302 force = false [[redirects]] from = "/introduction/stateOfNetwork" to = "/support/state-of-network" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/usecases" to = "/useCases" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/accessControl/*" to = "/access-control/:splat" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/intro" to = "/pkp/intro" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/PKPs" to = "/pkp/intro" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/authHelpers" to = "/lit-actions/auth-helpers" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/litActions" to = "/lit-actions/intro" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/conditionalSigning" to = "/v2/LitActions/workingWithActions/conditionalSigning" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/LitActionsAndPKPs/actions/usingFetch" to = "/v2/LitActions/workingWithActions/usingFetch" - status = 301 + status = 302 force = false [[redirects]] from = "/coreConcepts/Wallets/*" to = "/pkp/wallets/:splat" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/LitActions/usingEIP" to = "/lit-actions/using-eip" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/LitActions/logAndReturn" to = "/lit-actions/working-with-actions/log-and-return" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/LitActions/contracts" to = "/resources/contracts" - status = 301 + status = 302 force = false [[redirects]] from = "/support/glossary" to = "/resources/glossary" - status = 301 + status = 302 force = false [[redirects]] from = "/LitActions/logAndReturn" to = "/lit-actions/working-with-actions/log-and-return" - status = 301 + status = 302 force = false [[redirects]] from = "/LitActions/usingEIP" to = "/lit-actions/additional-examples/using-eip" - status = 301 + status = 302 force = false # 3/28 - continue adding support for links missing from initial pass @@ -537,49 +537,49 @@ force = false [[redirects]] from = "/introduction/stateofnetwork" to = "/support/state-of-network" - status = 301 + status = 302 force = false [[redirects]] from = "/introduction/stateofnetwork/*" to = "/support/state-of-network" - status = 301 + status = 302 force = false [[redirects]] from = "/coreconcepts/litactionsandpkps/actions/*" to = "/v2/litActions/intro" - status = 301 + status = 302 force = false [[redirects]] from = "/coreconcepts/wallets/intro/*" to = "/pkp/wallets/intro" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/WalletSigs/*" to = "/sdk/explanation/authentication/*" - status = 301 + status = 302 force = false [[redirects]] from = "/pkp/wallets/intro" to = "/resources/pkps-as-wallet" - status = 301 + status = 302 force = false [[redirects]] from = "/pkp/wallets/examples" to = "/resources/pkps-as-wallet" - status = 301 + status = 302 force = false [[redirects]] from = "/pkp/wallets/sendingTxs" to = "/pkp/usage" - status = 301 + status = 302 force = false # 6/5/23 @@ -587,55 +587,62 @@ force = false [[redirects]] from = "/LitActions/usingPKPsAndActions" to = "/resources/pkps-and-actions" - status = 301 + status = 302 force = false [[redirects]] from = "/resources/pkpsAndActions" to = "/pkp/pkps-and-actions" - status = 301 + status = 302 force = false [[redirects]] from = "/LitActions/mintGrantBurn" to = "/pkp/pkps-and-actions" - status = 301 + status = 302 force = false [[redirects]] from = "/resources/pkpsAsWallet" to = "/concepts/pkps-as-wallet" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/authentication/sessionSigs/authMethods/overview" to = "/pkp/authMethods/authHelpers" - status = 301 + status = 302 force = false [[redirects]] from = "/pkp/authHelpers" to = "/pkp/authMethods/authHelpers" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/authentication/sessionSigs/authMethods/socialLogin" to = "/pkp/authMethods/socialLogin" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/authentication/sessionSigs/authMethods/webAuthn" to = "/pkp/authMethods/webAuthn" - status = 301 + status = 302 force = false [[redirects]] from = "/SDK/Explanation/authentication/sessionSigs/authMethods/email-sms" to = "/pkp/authMethods/email-sms" - status = 301 + status = 302 + force = false + +# 10/24/23 +[[redirects]] + from = "/v3/concepts/claimable-keys" + to = "/v3/sdk/wallets/claimable-keys/intro" + status = 302 force = false # 6/28/23 @@ -643,19 +650,13 @@ force = false [[redirects]] from = "/*" to = "/v2/:splat" - status = 301 + status = 302 force = false # home redirect 7/11/23, pointing to V2... update to V3 when ready [[redirects]] from = "/" to = "/v2/" - status = 301 + status = 302 force = false -# 10/24/23 -[[redirects]] - from = "/concepts/claimable-keys" - to = "/sdk/wallets/claimable-keys/intro" - status = 301 - force = false From 037a20b06769b7a8efe769cc87da3e9fff8f2521 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Tue, 7 Nov 2023 14:55:47 -0800 Subject: [PATCH 059/627] added some info on auth method scopes (#166) --- docs/sdk/wallets/auth-methods.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 5219018e..f45d43c9 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -35,6 +35,23 @@ Several auth methods are supported by Lit directly. These include methods config Check out the implementation details within the SDK section [here](../../sdk/authentication/session-sigs/auth-methods/overview). +### Auth Method Scopes + +Auth methods support scoping, which permits what they can be used for within Lit. These scopes are passed in to the "scopes" array as numbers when adding an auth method, or minting a PKP with PKPHelper. The scopes are as follows: + +| Scope Name | Scope Number | Description | +| ------------------ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Sign Anything | 1 | This scope allows signing any data | +| Only Sign Messages | 2 | This scope only allows signing messages using the [EIP-191 scheme](https://eips.ethereum.org/EIPS/eip-191) which prefixes "Ethereum Signed Message" to the data to be signed. This prefix prevents creating signatures that can be used for transactions. | + +You can also set scopes: [] which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. + +Any auth methods (regardless of scope) passed in to a Lit Action will be resolved/checked and put into the Lit.Auth object which is available inside the Lit Action. However, when you try to sign something using signEcdsa(), you'll find that it checks the scopes of the auth methods passed in, and will only sign if the appropriate scope is present. + +Using this strategy, you could have a Lit Action that governs all signing for a user, and then add many auth methods with scopes: [], so that they cannot be used on their own without the Lit Action. You would then also use addPermittedAction() with scopes: [1] on the PKP to permit that action to sign. Then, inside the action, you can check if the auth methods resolved in Lit.Auth are authorized to sign, and if so, sign the data. + +Using this strategy, you could implement your own MFA, where the user must present 2 or more auth methods to sign something, for example. + ### Adding a Permitted Address You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. From 68df054686b3b8654d26c775ac111dc296d07fae Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 <115020815+Adarsh-Kumar28@users.noreply.github.com> Date: Sat, 11 Nov 2023 10:28:26 +0530 Subject: [PATCH 060/627] feat: Update supported chains based on Lit Network v2 Docs (#164) --- .../auth-methods/add-remove-auth-methods.md | 2 +- .../session-sigs/get-session-sigs.md | 4 +- docs/sdk/authentication/session-sigs/intro.md | 4 +- .../version-2.0/resources/glossary.md | 4 +- .../version-2.0/resources/supportedChains.md | 192 +++++++++++++++--- .../sessionSigs/getSessionSigs.md | 4 +- .../version-2.0/support/stateOfNetwork.md | 2 +- 7 files changed, 175 insertions(+), 37 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index 773c23df..5c0644d5 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -113,7 +113,7 @@ const transaction = The `removePermittedAuthMethod` function takes the following arguments: - `tokenId`: The token ID of the PKP you want to remove an auth method from -- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../pkp/auth-helpers/overview#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../../../wallets/auth-methods#existing-supported-auth-methods). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index e9447219..a605a161 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -74,9 +74,9 @@ In the example above, we construct a SIWE message manually, but you can use the ## Resources You Can Request -You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../../../../sdk/explanation/authentication/session-sigs/resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. -When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../../../../sdk/explanation/authentication/session-sigs/capability-objects) about how to create custom session capability objects. +When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../capability-objects) about how to create custom session capability objects. ## Clearing Local Storage diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 70dc1992..b25d0a72 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -20,7 +20,7 @@ The session keypair is used to sign all requests to the Lit Nodes, and the user' Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. -Read more [here](../capability-objects) on the session capability objects that we use. +Read more [here](capability-objects) on the session capability objects that we use. ## Format of `SessionSigs` @@ -103,7 +103,7 @@ Here is what each field means: Here is what each field in `signedMessage` means: - `sessionKey` is the session keypair public key. -- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](../resources-and-abilities) about Lit Resources and Abilities. +- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](resources-and-abilities) about Lit Resources and Abilities. - `capabilities` is an array of one or more AuthSigs. - `issuedAt` is the time the SessionSig was issued. - `expiration` is the time the SessionSig becomes invalid. diff --git a/versioned_docs/version-2.0/resources/glossary.md b/versioned_docs/version-2.0/resources/glossary.md index 44eb24fa..7d26657f 100644 --- a/versioned_docs/version-2.0/resources/glossary.md +++ b/versioned_docs/version-2.0/resources/glossary.md @@ -17,8 +17,8 @@ Ethereum uses the BLS signature scheme to facilitate secure cryptography within A (cryptographic) challenge is a piece of data that is used in challenge-response authentication schemes for a verifier to independently assert the authenticity of another entity. Unique and random challenges are used to prevent against replay attacks. -### **[Decentralized Access Control](../accessControl/intro)** -Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](/accessControl/intro), allowing you to securely store data on the open web. +### **[Decentralized Access Control](../../accessControl/intro)** +Lit’s decentralized access control protocol allows you to encrypt information behind [on-chain conditions](../../accessControl/intro), allowing you to securely store data on the open web. ### **Digital Signature** In cryptography, a digital signature proves that a user controls the private key associated with a particular public address. This is commonly used in the context of *authorization*. Apps can use this signature to verify a user has control over the wallet address, and provide authentication to do both web3 and arbitrary, non-web3 actions. For example, changing a profile on OpenSea requires signing in order to confirm the association between the profile owner and the wallet associated with it. diff --git a/versioned_docs/version-2.0/resources/supportedChains.md b/versioned_docs/version-2.0/resources/supportedChains.md index 814347e6..0f009cc7 100644 --- a/versioned_docs/version-2.0/resources/supportedChains.md +++ b/versioned_docs/version-2.0/resources/supportedChains.md @@ -1,80 +1,218 @@ # Supported Blockchains +Don't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7 + ## Access Control Protocol Our Access Control Protocol supports most EVM chains, the Cosmos ecosystem, and Solana. -Don't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7 + +## Programmable Key Pairs + + PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently "compatible" with chains that rely on this same cryptographic primitive. + +You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) + + +## Jalapeno (Access Control) - ethereum + - polygon -- fantom + - xdai + - bsc + +- bscTestnet + +- base + +- baseGoerli + +- fantom + - arbitrum + - avalanche -- fuji + - harmony + - mumbai + - goerli + +- ropsten + +- kovan + +- rinkeby + - cronos + - optimism + - celo + +- fuji + - aurora + - eluvio + - alfajores + - xdc + - evmos + - evmosTestnet -- bscTestnet -- baseGoerli + - moonbeam + - moonriver + - moonbaseAlpha + - filecoin + - hyperspace -- sepolia + - scrollAlphaTestnet -- zksync -- zksyncTestnet + - lineaGoerli -- litprotocol + +- lukso + +- luksoTestnet + - chiado + +- zora + +- zoraGoerli + - zkEvm + +- zkSync + - mantleTestnet + - mantle + - klaytn + - publicGoodsNetwork -- optimismGoerli -- solana -- solanaDevnet -- solanaTestnet -- cosmos -- kyve -- evmosCosmos -- evmosCosmosTestnet + +- waevEclipseTestnet + +- waevEclipseDevnet + + +## Serrano (Access Control & PKP) + +- alfajores + +- anvil + +- arbitrum + +- aurora + +- avalanche + +- bsc + +- celo + - cheqdMainnet + - cheqdTestnet + +- chronicleTestnet + +- cosmos + +- cronos + +- eluvio + +- ethereum + +- evmos + +- evmosTestnet + +- fantom + +- filecoin + +- hyperspace + +- fuji + +- goerli + +- hardhat + +- harmony + - juno +- kovan -## Programmable Key Pairs +- kyve - PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently "compatible" with chains that rely on this same cryptographic primitive. This includes: +- lineaGoerli -- bitcoin +- lit -- ethereum (and many of the EVM chains you see above) +- litTestnet -- binance +- moonbaseAlpha + +- moonbeam + +- moonriver + +- mumbai + +- optimism + +- optimismGoerli - polygon -- cosmos +- rinkeby -- filecoin +- ropsten -- theta +- sepolia -You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) - \ No newline at end of file +- scrollAlphaTestnet + +- solana + +- solanaDevnet + +- solanaTestnet + +- xdai + +- xdc + +- zkSync + +- zksyncTestnet + +- zkEvm + +- mantleTestnet + +- mantle + +- klaytn + +- publicGoodsNetwork + +- waevEclipseTestnet diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md index 2546069d..53e8be9c 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md @@ -74,9 +74,9 @@ In the example above, we construct a SIWE message manually, but you can use the ## Resources You Can Request -You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../sessionSigs/resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. -When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../sessionSigs/capability-objects) about how to create custom session capability objects. +When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../capability-objects) about how to create custom session capability objects. ## Clearing Local Storage diff --git a/versioned_docs/version-2.0/support/stateOfNetwork.md b/versioned_docs/version-2.0/support/stateOfNetwork.md index b994a60b..691084d5 100644 --- a/versioned_docs/version-2.0/support/stateOfNetwork.md +++ b/versioned_docs/version-2.0/support/stateOfNetwork.md @@ -16,7 +16,7 @@ https://jalapeno-status.litprotocol.com/ The Lit Actions and PKP network (the "Serrano Testnet") is in a developer preview state. -The data on the Serrano Testnet is not persistent and may be erased at any time. Therefore, we do not recommend storing anything of value on the Serrano Testnet. You may use the Serrano testnet by installing the latest `@lit-protocol/lit-node-client` package and specifying `litNetwork: "serrano"` in your `LitNodeClient` config. You can find more info in the [Lit Actions](/LitActions/intro) sections of the docs. +The data on the Serrano Testnet is not persistent and may be erased at any time. Therefore, we do not recommend storing anything of value on the Serrano Testnet. You may use the Serrano testnet by installing the latest `@lit-protocol/lit-node-client` package and specifying `litNetwork: "serrano"` in your `LitNodeClient` config. You can find more info in the [Lit Actions](../../LitActions/intro) sections of the docs. ### Uptime and Status From 212e51b47704e0b9c568e4461e4ae38ae41021a8 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 13 Nov 2023 16:00:24 -0800 Subject: [PATCH 061/627] scope additions (#167) added examples of setting scopes to docs --- docs/resources/glossary.md | 2 +- docs/sdk/wallets/auth-methods.md | 65 +++++++++++++++++++++++- docs/sdk/wallets/minting.md | 85 ++++++++++++++++++++++++++++++-- 3 files changed, 147 insertions(+), 5 deletions(-) diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index cb05461f..b9f70c46 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -16,7 +16,7 @@ A cryptographic algorithm that can be used for both signing and encryption. BLS Ethereum uses the BLS signature scheme to facilitate secure cryptography within the protocol. This method allows validators to sign messages, and these resulting signatures are then aggregated and verified at scale. This enables a Proof-of-Stake system with a large number of validators to function efficiently in production. -### **[Challenge](https://en.wikipedia.org/wiki/Challenge%E2%80%93response_authentication)** +### **[Challenge](https://en.wikipedia.org/wiki/Challenge-response_authentication)** A (cryptographic) challenge is a piece of data that is used in challenge-response authentication schemes for a verifier to independently assert the authenticity of another entity. Unique and random challenges are used to prevent against replay attacks. diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index f45d43c9..22f848ce 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -37,7 +37,7 @@ Check out the implementation details within the SDK section [here](../../sdk/aut ### Auth Method Scopes -Auth methods support scoping, which permits what they can be used for within Lit. These scopes are passed in to the "scopes" array as numbers when adding an auth method, or minting a PKP with PKPHelper. The scopes are as follows: +Auth methods support scoping, which permits what they can be used for within Lit. These scopes are passed in to the "scopes" array as numbers when adding an auth method, or minting a PKP with PKPHelper. An overview of minting with scopes is provided in this [section](../wallets/minting). The scopes are as follows: | Scope Name | Scope Number | Description | | ------------------ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -52,6 +52,69 @@ Using this strategy, you could have a Lit Action that governs all signing for a Using this strategy, you could implement your own MFA, where the user must present 2 or more auth methods to sign something, for example. +**Adding permitted scopes to existing PKPs** +1. Verify the scopes: +```js +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { LitContracts } from '@lit-protocol/contracts-sdk'; +import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; + +const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: ..., +}; + +const authId = LitAuthClient.getAuthIdByAuthMethod(authMethod); + +const scopes = await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( + tokenId, + AuthMethodType.EthWallet, + authId, + 3 // there are only 2 scope numbers atm. and index 0 doesn't count +); + +// -- validate both scopes should be false +if (scopes[1] !== false) { + return fail('scope 1 (sign anything) should be false'); +} + +if (scopes[2] !== false) { + return fail('scope 2 (only sign messages) should be false'); +} +``` +2. Set the scopes: +```js +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { LitContracts } from '@lit-protocol/contracts-sdk'; +import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; + +const authMethod = { + authMethodType: xx, + accessToken: xxx, +}; + +const authId = LitAuthClient.getAuthIdByAuthMethod(authMethod); + +const setScopeTx = + await contractClient.pkpPermissionsContract.write.addPermittedAuthMethodScope( + tokenId, + AuthMethodType.EthWallet, + authId, + AuthMethodScope.SignAnything + ); + +await setScopeTx.wait(); +``` + +**Demos**: +1. [Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs) + +2. [Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs) + +3. [Minting a PKP with no permissions, then add permitted scopes](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-then-set-scope-1.mjs) + +4. [Minting a PKP using the relayer, adding permitted scopes, and getting session sigs](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/e2e-nodejs/group-pkp-session-sigs) + ### Adding a Permitted Address You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 059d5549..c37cddfb 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -1,10 +1,89 @@ # Minting a PKP +This page will walk you through the process of creating PKPs using the [V3 SDK](../../migration/overview), including adding [permitted scopes](../wallets/auth-methods#auth-method-scopes), which are now required in order to create [session signatures](../authentication/session-sigs/intro). ## Mint via Contracts -You can mint an NFT from our PKP contract on Chronicle - Lit's custom EVM rollup testnet - [here](https://explorer.litprotocol.com/mint-pkp). This NFT represents the root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. - -You can also use our handy auth helper contract on Chronicle [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and you can find the contract addresses [here](https://explorer.litprotocol.com/contracts). +You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using the [Lit explorer](https://explorer.litprotocol.com/mint-pkp), the Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or the contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html). + +The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. + +You can also use the handy helper contract on Chronicle [here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) to mint and assign auth methods, as well as view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/cayenne). + +### Installing the required packages +```bash +yarn add @lit-protocol/lit-auth-client@cayenne +yarn add @lit-protocol/contracts-sdk@cayenne +``` + +### Initializing your `LitContract` instance +```js +import { LitContracts } from '@lit-protocol/contracts-sdk'; + +// if no signer is provided, it will attempt to use window.etheruem +const contractClient = new LitContracts({ signer }); +await contractClient.connect(); +``` + +### Minting a PKP and adding permitted scopes +```js +import { AuthMethodScope } from '@lit-protocol/constants'; + +const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: '...', +}; + +const mintInfo = await contractClient.mintWithAuth({ + authMethod: authMethod, + scopes: [ + // AuthMethodScope.NoPermissions, + AuthMethodScope.SignAnything, + AuthMethodScope.OnlySignMessages + ], +}); + +// output: +{ + pkp: { + tokenId: string; + publicKey: string; + ethAddress: string; + }; + tx: ethers.ContractReceipt; +} +``` + +### Minting PKPs using the Lit relayer +```js +import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; + +const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); + +const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: ..., +}; + +// -- setting scope for the auth method +// +const options = { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], +}; + +const mintTx = await authProvider.mintPKPThroughRelayer( + authMethod, + options +); +``` + +**Demos**: +1. [Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs) + +2. [Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs) + +3. [Minting a PKP with no permissions, then add permitted scopes](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-then-set-scope-1.mjs) + +4. [Minting a PKP using the relayer, adding permitted scopes, and getting session sigs](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/e2e-nodejs/group-pkp-session-sigs) ## Mint via Social or Email/SMS (OTP) From c5814d8eace82c0f2578ff5c51d606d22a5aa2a4 Mon Sep 17 00:00:00 2001 From: RJ Catalano Date: Tue, 14 Nov 2023 08:30:10 -0600 Subject: [PATCH 062/627] Update Creating and Claiming (#168) Types were too hard to find without wading through code, so I added the import statement and also believe I have fixed the types using types that exist (unless there's a ContractClaimProcessor I am unaware of?) --- docs/sdk/wallets/claimable-keys/usage.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/sdk/wallets/claimable-keys/usage.md b/docs/sdk/wallets/claimable-keys/usage.md index b3096465..ac864019 100644 --- a/docs/sdk/wallets/claimable-keys/usage.md +++ b/docs/sdk/wallets/claimable-keys/usage.md @@ -37,19 +37,23 @@ console.log("pkp public key: ", res.pubkey); An example of claiming with a customized `ClaimProcessor` using the `contracts-sdk` In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. ```jsx +import { LitContracts } from '@lit-protocol/contracts-sdk'; +import { ClaimRequest, ClaimResult, ClientClaimProcessor } from "@lit-protocol/types" + const client = new LitNodeClient({ litNetwork: "cayenne", debug: false }); await client.connect(); -let claimReq: ClaimRequest = { +let claimReq: ClaimRequest = { authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method - signer: new ethers.Wallet("", new JsonRpcProvider("https://chain-rpc.litprotocol.com/http")); - mintCallback: (claimRes: ClaimResponse) => { - const litContracts = new LitContracts({ signer: claimRes.signer }); - await litContracts.connect(); - let tokenId = litContracts.claimAndMint(claimRes.keyId, claimRes.signatures); - } + signer: new ethers.Wallet("", new ethers.providers.JsonRpcProvider("https://chain-rpc.litprotocol.com/http")), + mintCallback: async (claimRes: ClaimResult) => { + const litContracts = new LitContracts({ signer: claimRes.signer }); + await litContracts.connect(); + let tokenId = await litContracts.pkpNftContractUtils.write.claimAndMint(claimRes.derivedKeyId, claimRes.signatures); + return tokenId.tokenId + } }; let res = await client.claimKeyId(claimReq); From 6f446dc329f2030d3ca23dc1269cd8cc0e6df20e Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Thu, 16 Nov 2023 09:00:58 -0500 Subject: [PATCH 063/627] make serrano persistence clear (#170) --- docs/network/state-of-network.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/network/state-of-network.md b/docs/network/state-of-network.md index 477a2864..f3f21a9f 100644 --- a/docs/network/state-of-network.md +++ b/docs/network/state-of-network.md @@ -2,10 +2,10 @@ You can set your Lit Network in the LitNodeClient config of the Lit SDK, by passing the network name to the `litNetwork` parameter. -| Name | Supported Algorithms | Supported Features | ETA | Description | Status | -| -------- | -------------------- | -------------------------------- | -------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------- | -| Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | -| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Not persistent. Will be turned off in early 2024. | https://serrano-status.litprotocol.com/ | -| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | September 2023 | Centralized test network. Not persistent, keys will be deleted. | Beta: https://cayenne-status.litprotocol.com/ | -| Manzano | ECDSA | Signing | November 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | -| Habanero | ECDSA | Encryption, Signing, Lit Actions | December 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | +| Name | Supported Algorithms | Supported Features | ETA | Description | Status | +| -------- | -------------------- | -------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | +| Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | +| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Persistent. Will be turned off someday, but not before July 2024 and we will give ample notice when we pick a date to turn it off. | https://serrano-status.litprotocol.com/ | +| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | September 2023 | Centralized test network. Not persistent, keys will be deleted. | Beta: https://cayenne-status.litprotocol.com/ | +| Manzano | ECDSA | Signing | November 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | +| Habanero | ECDSA | Encryption, Signing, Lit Actions | December 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | From 4e2bef1e69fcdd79d0e7ed8195a342bb2e873a63 Mon Sep 17 00:00:00 2001 From: Furkan Akal <30433306+furkanakal@users.noreply.github.com> Date: Fri, 24 Nov 2023 20:45:34 +0300 Subject: [PATCH 064/627] fix: typo --- docs/sdk/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index ef1d201d..6f17ae73 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -7,7 +7,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: THe Lit JS SDK V3 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK V3 supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. ## Installing And Importing The SDK From fb66c5a5b362f92ebecb271cec05ec88cf89ac76 Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 Date: Sat, 25 Nov 2023 22:31:48 +0530 Subject: [PATCH 065/627] fix: Use Cayenne constants for v3 chains --- .husky/pre-commit | 2 +- docs/resources/supported-chains.md | 5 +++ package.json | 2 +- yarn.lock | 61 ++++++++++++++++++++++-------- 4 files changed, 52 insertions(+), 18 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 0c2e2e08..ca2cbae1 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,6 +1,6 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -yarn add @lit-protocol/constants +yarn add @lit-protocol/constants@cayenne yarn update-chains git add docs/resources/supported-chains.md diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 0adb1fd9..9520839c 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -36,6 +36,11 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad - sepolia - scrollAlphaTestnet - zksync +- base +- lukso +- luksoTestnet +- zora +- zoraGoerli - zksyncTestnet - lineaGoerli - chronicleTestnet diff --git a/package.json b/package.json index 138558d3..c0a66630 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.2.61", + "@lit-protocol/constants": "^3.0.24", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 1da2dad9..a470a249 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,36 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.61": - version "2.2.61" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.61.tgz#b1741090ae0b03c952123f4fa71523e1d604347f" - integrity sha512-2VzwFaHwMHN4raQ5RsKfXz02KqQ2hbPHCf0GPfXify79ZAUYp/BIsOyo1mpVlVkA1moaQ0zadHAlTdcBVNCVtQ== +"@lit-protocol/auth-helpers@3.0.24": + version "3.0.24" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz#e72206887b7aaad193de66837538859504705d2d" + integrity sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.61": - version "2.2.61" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.61.tgz#0f584c27ec1fb5966d17d278ed398a33afbe0c95" - integrity sha512-M4jvbawMX0QgPriTT8H4iymkh7uJXjqPZvm+pr/5bIsDbarng5eRpHd1gB6DPX9n5RV9X+rSk1FFSoahUeWieg== +"@lit-protocol/constants@^3.0.24": + version "3.0.24" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: - "@lit-protocol/auth-helpers" "2.2.61" - "@lit-protocol/types" "2.2.61" + "@lit-protocol/auth-helpers" "3.0.24" + "@lit-protocol/types" "3.0.24" ethers "^5.7.1" + jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.61": - version "2.2.61" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.61.tgz#a1db4348cc17b1c7e0368e52a588f16842cc3d4a" - integrity sha512-5BFOFZlrlWPNvkROcw3690uypFdeIr/e7Kqr3JS/22RH1dsAz9Oq0kJGXe+qEF4hp699BvyLQzsqd15CzY5+oA== +"@lit-protocol/types@3.0.24": + version "3.0.24" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.24.tgz#4761fef4a89353e0ec2bb420e6c39019ea1d9234" + integrity sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw== dependencies: - "@lit-protocol/auth-helpers" "2.2.61" + "@lit-protocol/auth-helpers" "3.0.24" ethers "^5.7.1" + jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" @@ -5555,6 +5557,11 @@ image-size@^1.0.1: dependencies: queue "6.0.2" +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + immer@^9.0.7: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -6067,6 +6074,16 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jszip@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -6104,6 +6121,13 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -6723,6 +6747,11 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -7476,7 +7505,7 @@ react@^17.0.1: loose-envify "^1.1.0" object-assign "^4.1.1" -readable-stream@^2.0.1: +readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== From 4cd2798ccbc53ad94694a268bf4e621a2f96e110 Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 Date: Sat, 25 Nov 2023 22:37:46 +0530 Subject: [PATCH 066/627] feat: Update v3 chains page --- docs/resources/supported-chains.md | 86 ++++++++++++++++++++++-------- updateChains.js | 29 +++++----- 2 files changed, 78 insertions(+), 37 deletions(-) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 9520839c..85c55c95 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -1,87 +1,127 @@ # Supported Blockchains +Don't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7 ## Access Control Protocol - Our Access Control Protocol supports most EVM chains, the Cosmos ecosystem, and Solana. -Don't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7 +## Programmable Key Pairs + PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently "compatible" with chains that rely on this same cryptographic primitive. + +You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) + +## Cayenne (Access Control & PKP) - ethereum + - polygon + - fantom + - xdai + - bsc + - arbitrum + - avalanche + - fuji + - harmony + - mumbai + - goerli + - cronos + - optimism + - celo + - aurora + - eluvio + - alfajores + - xdc + - evmos + - evmosTestnet + - bscTestnet + - baseGoerli + - moonbeam + - moonriver + - moonbaseAlpha + - filecoin + - hyperspace + - sepolia + - scrollAlphaTestnet + - zksync + - base + - lukso + - luksoTestnet + - zora + - zoraGoerli + - zksyncTestnet + - lineaGoerli + - chronicleTestnet + - chiado + - zkEvm + - mantleTestnet + - mantle + - klaytn + - publicGoodsNetwork + - optimismGoerli + - waevEclipseTestnet + - waevEclipseDevnet -- solana -- solanaDevnet -- solanaTestnet -- cosmos -- kyve -- evmosCosmos -- evmosCosmosTestnet -- cheqdMainnet -- cheqdTestnet -- juno +- solana -## Programmable Key Pairs +- solanaDevnet - PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently "compatible" with chains that rely on this same cryptographic primitive. This includes: +- solanaTestnet -- bitcoin +- cosmos -- ethereum (and many of the EVM chains you see above) +- kyve -- binance +- evmosCosmos -- polygon +- evmosCosmosTestnet -- cosmos +- cheqdMainnet -- filecoin +- cheqdTestnet -- theta +- juno -You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) - \ No newline at end of file diff --git a/updateChains.js b/updateChains.js index 423a620b..bd0c63d9 100644 --- a/updateChains.js +++ b/updateChains.js @@ -1,26 +1,27 @@ const { ALL_LIT_CHAINS } = require("@lit-protocol/constants"); const fs = require("fs"); -function capitalizeFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} - console.log("Updating chains via updateChains.js"); -let md = `# Supported Blockchains\n\n## Access Control Protocol\n\n`; +let md = `# Supported Blockchains\n`; + +md += + "Don't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7\n\n"; + +md += + "## Access Control Protocol\n Our Access Control Protocol supports most EVM chains, the Cosmos ecosystem, and Solana.\n\n"; + +md += + "## Programmable Key Pairs\n PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently \"compatible\" with chains that rely on this same cryptographic primitive.\n\n"; + +md += + "You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html)\n\n"; md += - " Our Access Control Protocol supports most EVM chains, the Cosmos ecosystem, and Solana.\n\nDon't see a blockchain you want? Fill out this form for EVM chains and we'll add it: https://forms.gle/YQV5R7WoRyPk32xc7\n\n"; + "## Cayenne (Access Control & PKP)\n\n"; md += Object.keys(ALL_LIT_CHAINS) - .map((c) => `- ${c}\n`) + .map((c) => `- ${c}\n\n`) .join(""); -md += `\n\n## Programmable Key Pairs\n\n PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. This makes them inherently "compatible" with chains that rely on this same cryptographic primitive. This includes:\n\n- bitcoin\n -- ethereum (and many of the EVM chains you see above)\n -- binance\n -- polygon\n -- cosmos\n -- filecoin\n -- theta\n\nYou can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html)\n `; fs.writeFileSync("docs/resources/supported-chains.md", md); From bbc1123c7ebc9289d91bedb4d0cee193ead9c6ea Mon Sep 17 00:00:00 2001 From: Bean Date: Sun, 26 Nov 2023 10:17:32 -0500 Subject: [PATCH 067/627] Add/lit action claiming (#169) * add lit action claim docs * add more examples * update examples and add sidebar --- docs/sdk/serverless-signing/key-claiming.md | 71 +++++++++++++++++++++ sidebars.js | 1 + 2 files changed, 72 insertions(+) create mode 100644 docs/sdk/serverless-signing/key-claiming.md diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md new file mode 100644 index 00000000..f4a9aa79 --- /dev/null +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -0,0 +1,71 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Key Claiming + +## Prerequisites + +- Familiarity with JavaScript +- Basic understanding of [severless signing](../serverless-signing/quick-start.md) + +## Overview + +Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md) which instead of using an [auth method](../authentication/session-sigs/auth-methods/overview.md) allows for using your own `userId` with the lit action's `IPFS CID` being the `appId` which allows for deriving custom claims which do not have to be derived through a support authentication method. + +# How it works +Instead of pre authenticating the `access token` within an `Authentication Method` claiming in a Lit Action allows you to define your own `UserId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. this will not require a pre authentication step which allows you to set up your own clams which can then be routed on chain withh our `contract-sdk`. + +## Example + +```jsx + const res = await client.executeJs({ + authSig, + code: `(async () => { + Lit.Actions.claimKey({keyId: userId}); + })();`, + authMethods: [], + jsParams: { + userId: 'foo' + }, + }); + + let client = new LitContracts(signer: ""); + let tx = await contractClient.pkpNftContract.write.claimAndMint(2, res.claims['foo'].derivedKeyId, res.claims['foo'].signatures); +``` + +### adding an auth method when minting a claim +```jsx + const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: JSON.stringify(authSig), + }; + + const authMethodId = LitAuthClient.getAuthMethodId(authMethod); + + const res = await client.executeJs({ + authSig, + code: `(async () => { + Lit.Actions.claimKey({keyId: userId}); + })();`, + jsParams: { + userId: 'foo' + }, + }); + + let client = new LitContracts(signer: ""); + let tx = await client.pkpHelperContract.write.claimAndMintNextAndAddAuthMethods( + res.claims['foo'], + { + keyType: 2, + permittedIpfsCIDs: [], + permittedIpfsCIDScopes: [], + permittedAddresses:: [], + permittedAddressScopes: [], + permittedAuthMethodTypes: [AuthMethodType.EthWallet], + permittedAuthMethodIds: [`0x${authMethodId}`], + permittedAuthMethodPubkeys: [`0x`], + permittedAuthMethodScopes: [[BigNumber.from("1")]], + addPkpEthAddressAsPermittedAddress: true, + sendPkpToItself: true + }); +``` \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 0b0a42b1..c694a069 100644 --- a/sidebars.js +++ b/sidebars.js @@ -202,6 +202,7 @@ const sidebars = { "sdk/serverless-signing/conditional-signing", "sdk/serverless-signing/fetch", "sdk/serverless-signing/processing-validation", + "sdk/serverless-signing/key-claiming", "sdk/serverless-signing/eip191", ], }, From f69c50d0d879e2464be82c188c722e983e14590a Mon Sep 17 00:00:00 2001 From: Furkan Date: Mon, 27 Nov 2023 22:00:42 +0300 Subject: [PATCH 068/627] add: 'getlit action' docs --- docs/tools/getlit-cli.md | 48 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 1fad843c..a1a9fa56 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -13,6 +13,8 @@ The GetLit CLI is a command-line tool designed to help developers manage their L ## Getting Started +### Installation + ``` npm install -g getlit @@ -20,7 +22,7 @@ npm install -g getlit yarn add global getlit ``` -## Usage +### Usage To use the GetLit CLI, navigate to a directory or your existing project, and then simply run the desired command followed by any required or optional arguments. The CLI will execute the associated function and display the output accordingly. @@ -33,4 +35,46 @@ To use the GetLit CLI, navigate to a directory or your existing project, and the | `watch` | `getlit watch []` | 🔧 Simultaneously build and test a Lit Action | | `setup` | `getlit setup` | 🔑 Setup config for authSig and PKP | | `docs` \| `doc` | `getlit docs` | 📖 Open the Lit Protocol documentation | -| `help` \| `show` | `getlit help` | 🆘 Show the help menu | \ No newline at end of file +| `help` \| `show` | `getlit help` | 🆘 Show the help menu | + +### Basic Application + +``` +getlit action +``` + +Initialized Lit project directory looks like: + +``` +├── README.md +├── getlit.json +├── globa.d.ts +├── package-lock.json +├── package.json +├── src +│   ├── README.md +│   ├── foo.action.ts +│   └── main.action.ts +├── test +│   ├── README.md +│   ├── foo.t.action.mjs +│   └── main.t.action.mjs +├── tsconfig.json +└── utils.mjs +``` + +In order to proceed, src/foo.action.ts needs to be modified as ‘NA_E’ to ‘NAME’: + +```javascript +/** + * NA_E: foo + * + * ⬆️ Replace "_" with "M" to pass the schema validation + * + */ + +const foo = () => { + return "bar"; +}; +``` + From 5a38ff8b524b8193c4fd5d198834c309214f25a6 Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 28 Nov 2023 18:10:36 +0300 Subject: [PATCH 069/627] add: main.action.ts to CLI docs --- docs/tools/getlit-cli.md | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index a1a9fa56..0981390a 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -63,7 +63,42 @@ Initialized Lit project directory looks like: └── utils.mjs ``` -In order to proceed, src/foo.action.ts needs to be modified as ‘NA_E’ to ‘NAME’: +Let's see what we have in `src/main.action.ts`: + +```javascript +/** + * NAME: hello + */ + +// This will exceed the default file size limit +// import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; + +type SignData = number[]; + +const helloWorld: SignData = [ + 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, +]; + +(async () => { + // this requests a signature share from the Lit Node + // the signature share will be automatically returned in the HTTP response from the node + const sigShare = await LitActions.signEcdsa({ + toSign: new Uint8Array(helloWorld), + publicKey, // <-- You should pass this in jsParam + sigName, + }); + + console.log('sigShare', sigShare); +})(); +``` + +This code basically does: +- define a new type called `SignData` that is an array of numbers, +- define `helloWorld` SignData and assign hash of "HelloWorld" plaintext, +- sign the helloWorld array with the user's public key and request a signature share from the Lit Node, +- finally, print the signature share output. + +In order to proceed, `src/foo.action.ts` needs to be modified as ‘NA_E’ to ‘NAME’: ```javascript /** From 7e19a831008cac426d99ee5d2a3a6cb90e83cc1a Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 28 Nov 2023 18:17:11 +0300 Subject: [PATCH 070/627] modify the ordering in CLI docs --- docs/tools/getlit-cli.md | 44 +- package-lock.json | 28553 +++++++++++++++++++++++++++++++++++++ yarn.lock | 14614 +++++++++---------- 3 files changed, 35944 insertions(+), 7267 deletions(-) create mode 100644 package-lock.json diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 0981390a..9e9b2130 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -63,7 +63,28 @@ Initialized Lit project directory looks like: └── utils.mjs ``` -Let's see what we have in `src/main.action.ts`: +This code basically does: +- define a new type called `SignData` that is an array of numbers, +- define `helloWorld` SignData and assign hash of "HelloWorld" plaintext, +- sign the helloWorld array with the user's public key and request a signature share from the Lit Node, +- finally, print the signature share output. + +In order to proceed, `src/foo.action.ts` needs to be modified as ‘NA_E’ to ‘NAME’: + +```javascript +/** + * NA_E: foo + * + * ⬆️ Replace "_" with "M" to pass the schema validation + * + */ + +const foo = () => { + return "bar"; +}; +``` + +Before moving forward, let's see what we have in `src/main.action.ts`: ```javascript /** @@ -92,24 +113,3 @@ const helloWorld: SignData = [ })(); ``` -This code basically does: -- define a new type called `SignData` that is an array of numbers, -- define `helloWorld` SignData and assign hash of "HelloWorld" plaintext, -- sign the helloWorld array with the user's public key and request a signature share from the Lit Node, -- finally, print the signature share output. - -In order to proceed, `src/foo.action.ts` needs to be modified as ‘NA_E’ to ‘NAME’: - -```javascript -/** - * NA_E: foo - * - * ⬆️ Replace "_" with "M" to pass the schema validation - * - */ - -const foo = () => { - return "bar"; -}; -``` - diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..42a9ba8b --- /dev/null +++ b/package-lock.json @@ -0,0 +1,28553 @@ +{ + "name": "lit-docs", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "lit-docs", + "version": "0.0.0", + "dependencies": { + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@docusaurus/core": "2.1.0", + "@docusaurus/plugin-google-analytics": "^2.1.0", + "@docusaurus/preset-classic": "2.1.0", + "@lit-protocol/constants": "^3.0.24", + "@mdx-js/react": "^1.6.21", + "@svgr/webpack": "^5.5.0", + "clsx": "^1.1.1", + "file-loader": "^6.2.0", + "node-fetch": "^3.3.1", + "prism-react-renderer": "^1.2.1", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "url-loader": "^4.1.1" + }, + "devDependencies": { + "dotenv": "^16.0.3", + "husky": "^7.0.4" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "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" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "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" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "node_modules/@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "dependencies": { + "@algolia/logger-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "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" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@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.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "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.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", + "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "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.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "dependencies": { + "@babel/compat-data": "^7.23.2", + "@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.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@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.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@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.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.23.0", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.23.0", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", + "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", + "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", + "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + }, + "node_modules/@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "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" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", + "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^1.12.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@docusaurus/core/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@docusaurus/core/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/core/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@docusaurus/core/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/core/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@docusaurus/core/node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@docusaurus/core/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", + "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/logger": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", + "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/logger/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/logger/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/logger/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/logger/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@docusaurus/logger/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/logger/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", + "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", + "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.1.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/module-type-aliases/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", + "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "tslib": "^2.4.0", + "unist-util-visit": "^2.0.3", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", + "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@types/react-router-config": "^5.0.6", + "combine-promises": "^1.1.0", + "fs-extra": "^10.1.0", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", + "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "fs-extra": "^10.1.0", + "tslib": "^2.4.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", + "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "fs-extra": "^10.1.0", + "react-json-view": "^1.21.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz", + "integrity": "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz", + "integrity": "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core/node_modules/@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core/node_modules/@docusaurus/utils-common": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz", + "integrity": "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/cssnano-preset": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz", + "integrity": "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/logger": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz", + "integrity": "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz", + "integrity": "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader/node_modules/@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz", + "integrity": "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation/node_modules/@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", + "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", + "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "fs-extra": "^10.1.0", + "sitemap": "^7.1.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", + "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/plugin-debug": "2.1.0", + "@docusaurus/plugin-google-analytics": "2.1.0", + "@docusaurus/plugin-google-gtag": "2.1.0", + "@docusaurus/plugin-sitemap": "2.1.0", + "@docusaurus/theme-classic": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-search-algolia": "2.1.0", + "@docusaurus/types": "2.1.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", + "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/react-loadable": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", + "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-translations": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "copy-text-to-clipboard": "^3.0.1", + "infima": "0.2.0-alpha.42", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.14", + "prism-react-renderer": "^1.3.5", + "prismjs": "^1.28.0", + "react-router-dom": "^5.3.3", + "rtlcss": "^3.5.0", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", + "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", + "dependencies": { + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^1.2.1", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^1.3.5", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", + "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", + "dependencies": { + "@docsearch/react": "^3.1.1", + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-translations": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "algoliasearch": "^4.13.1", + "algoliasearch-helper": "^3.10.0", + "clsx": "^1.2.1", + "eta": "^1.12.3", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", + "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", + "dependencies": { + "fs-extra": "^10.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/types": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz", + "integrity": "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", + "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", + "dependencies": { + "@docusaurus/logger": "2.1.0", + "@svgr/webpack": "^6.2.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", + "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", + "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", + "dependencies": { + "@docusaurus/logger": "2.1.0", + "@docusaurus/utils": "2.1.0", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/utils/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@docusaurus/utils/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@docusaurus/utils/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@docusaurus/utils/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@docusaurus/utils/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@lit-protocol/auth-helpers": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz", + "integrity": "sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg==", + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/constants": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz", + "integrity": "sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw==", + "dependencies": { + "@lit-protocol/auth-helpers": "3.0.24", + "@lit-protocol/types": "3.0.24", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/types": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz", + "integrity": "sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw==", + "dependencies": { + "@lit-protocol/auth-helpers": "3.0.24", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", + "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/plugin-syntax-jsx": "7.12.1", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "1.6.22", + "babel-plugin-apply-mdx-type-prop": "1.6.22", + "babel-plugin-extract-import-names": "1.6.22", + "camelcase-css": "2.0.1", + "detab": "2.0.4", + "hast-util-raw": "6.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "10.0.1", + "remark-footnotes": "2.0.0", + "remark-mdx": "1.6.22", + "remark-parse": "8.0.3", + "remark-squeeze-paragraphs": "4.0.0", + "style-to-object": "0.3.0", + "unified": "9.2.0", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@mdx-js/mdx/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0" + } + }, + "node_modules/@mdx-js/util": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", + "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "dependencies": { + "eval": "^0.1.8", + "p-map": "^4.0.0", + "webpack-sources": "^3.2.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@spruceid/siwe-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz", + "integrity": "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==", + "dependencies": { + "@noble/hashes": "^1.1.2", + "apg-js": "^4.1.1", + "uri-js": "^4.4.1", + "valid-url": "^1.0.9" + } + }, + "node_modules/@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "dependencies": { + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "node_modules/@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", + "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", + "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" + }, + "node_modules/@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz", + "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.13", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", + "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + }, + "node_modules/@types/mdast": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", + "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + }, + "node_modules/@types/node": { + "version": "20.8.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", + "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", + "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", + "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" + }, + "node_modules/@types/q": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz", + "integrity": "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" + }, + "node_modules/@types/qs": { + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + }, + "node_modules/@types/react": { + "version": "18.2.33", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", + "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", + "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz", + "integrity": "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" + }, + "node_modules/@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", + "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", + "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", + "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", + "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "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" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "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" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "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" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "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" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "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" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/algoliasearch": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "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" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", + "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apg-js": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz", + "integrity": "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "dependencies": { + "follow-redirects": "^1.14.7" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@babel/core": "^7.11.6" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "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" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "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" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "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" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001554", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz", + "integrity": "sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/canonicalize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "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" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "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" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "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" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", + "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", + "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz", + "integrity": "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", + "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "dependencies": { + "cssnano": "^5.1.8", + "jest-worker": "^29.1.2", + "postcss": "^8.4.17", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", + "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", + "dependencies": { + "autoprefixer": "^10.4.12", + "cssnano-preset-default": "^5.2.14", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detab": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "dependencies": { + "repeat-string": "^1.5.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.568", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz", + "integrity": "sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", + "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz", + "integrity": "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "dependencies": { + "fbjs": "^3.0.0" + } + }, + "node_modules/fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", + "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", + "dependencies": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + }, + "peerDependencies": { + "react": "^15.0.2 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "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" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "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" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dependencies": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dependencies": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "dependencies": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "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" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "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" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "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" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "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" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.42", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", + "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "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" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "node_modules/lodash.invokemap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", + "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.pullall": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", + "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "dependencies": { + "unist-util-remove": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "deprecated": "this will be v4", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "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" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "dependencies": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", + "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", + "dependencies": { + "sort-css-media-queries": "2.1.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.16" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "peerDependencies": { + "react": ">=0.14.9" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "dependencies": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "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" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "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" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "dependencies": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + }, + "peerDependencies": { + "react": "^17.0.0 || ^16.3.0 || ^15.5.4", + "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" + } + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "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" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "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" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", + "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", + "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "dependencies": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.3" + } + }, + "node_modules/remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/remark-mdx/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/remark-mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/remark-mdx/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/remark-mdx/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remark-mdx/node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "dependencies": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "dependencies": { + "mdast-squeeze-paragraphs": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "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" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "node_modules/rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "dependencies": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + } + }, + "node_modules/rtlcss/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/search-insights": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", + "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "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" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/siwe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz", + "integrity": "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==", + "dependencies": { + "@spruceid/siwe-parser": "*", + "@stablelib/random": "^1.0.1", + "uri-js": "^4.4.1", + "valid-url": "^1.0.9" + }, + "peerDependencies": { + "ethers": "^5.6.8 || ^6.0.8" + } + }, + "node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", + "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "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" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "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" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", + "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "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" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", + "deprecated": "Use String.prototype.trim() instead" + }, + "node_modules/trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/update-notifier/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-notifier/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/wait-on": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", + "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "dependencies": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "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" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz", + "integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "is-plain-object": "^5.0.0", + "lodash.debounce": "^4.0.8", + "lodash.escape": "^4.0.1", + "lodash.flatten": "^4.4.0", + "lodash.invokemap": "^4.6.0", + "lodash.pullall": "^4.2.0", + "lodash.uniqby": "^4.7.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "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" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/webpackbar/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/webpackbar/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/webpackbar/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/webpackbar/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "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" + } + }, + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + }, + "dependencies": { + "@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "requires": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "requires": { + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "requires": { + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "requires": {} + }, + "@algolia/cache-browser-local-storage": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "requires": { + "@algolia/cache-common": "4.20.0" + } + }, + "@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + }, + "@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "requires": { + "@algolia/cache-common": "4.20.0" + } + }, + "@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", + "requires": { + "@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": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "requires": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "requires": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + }, + "@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "requires": { + "@algolia/logger-common": "4.20.0" + } + }, + "@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "requires": { + "@algolia/requester-common": "4.20.0" + } + }, + "@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + }, + "@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "requires": { + "@algolia/requester-common": "4.20.0" + } + }, + "@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", + "requires": { + "@algolia/cache-common": "4.20.0", + "@algolia/logger-common": "4.20.0", + "@algolia/requester-common": "4.20.0" + } + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", + "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==" + }, + "@babel/core": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "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": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", + "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", + "requires": { + "@babel/types": "^7.23.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "requires": { + "@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-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "requires": { + "@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-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "requires": { + "@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": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "requires": { + "@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-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "requires": { + "@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": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "requires": { + "@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-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + }, + "@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", + "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "requires": {} + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "requires": { + "@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-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "requires": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "requires": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "requires": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "requires": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "requires": { + "@babel/compat-data": "^7.22.9", + "@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.22.15" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "requires": { + "@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-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "requires": { + "@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.22.5", + "@babel/types": "^7.22.15" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", + "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", + "requires": { + "@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": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "requires": { + "@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.22.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "requires": { + "@babel/compat-data": "^7.23.2", + "@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.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@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.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@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.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.23.0", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.23.0", + "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": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", + "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + } + }, + "@babel/preset-typescript": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", + "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/runtime-corejs3": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", + "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", + "requires": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", + "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", + "requires": { + "@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/types": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", + "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" + }, + "@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + }, + "@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "requires": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "algoliasearch": "^4.19.1" + } + }, + "@docusaurus/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", + "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^1.12.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "requires": {} + }, + "@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + } + }, + "@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "requires": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + } + }, + "@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + } + }, + "@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "requires": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + } + }, + "@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "requires": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", + "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", + "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@docusaurus/mdx-loader": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", + "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/module-type-aliases": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", + "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", + "requires": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.1.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/plugin-content-blog": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", + "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "tslib": "^2.4.0", + "unist-util-visit": "^2.0.3", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/plugin-content-docs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", + "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@types/react-router-config": "^5.0.6", + "combine-promises": "^1.1.0", + "fs-extra": "^10.1.0", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/plugin-content-pages": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", + "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "fs-extra": "^10.1.0", + "tslib": "^2.4.0", + "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/plugin-debug": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", + "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "fs-extra": "^10.1.0", + "react-json-view": "^1.21.3", + "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/plugin-google-analytics": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz", + "integrity": "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==", + "requires": { + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", + "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/core": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz", + "integrity": "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==", + "requires": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "dependencies": { + "@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "requires": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + }, + "@docusaurus/utils-common": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz", + "integrity": "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==", + "requires": { + "tslib": "^2.4.0" + } + } + } + }, + "@docusaurus/cssnano-preset": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz", + "integrity": "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==", + "requires": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + } + }, + "@docusaurus/logger": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz", + "integrity": "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==", + "requires": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + } + }, + "@docusaurus/mdx-loader": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz", + "integrity": "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==", + "requires": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "dependencies": { + "@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "requires": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + } + } + }, + "@docusaurus/utils-validation": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz", + "integrity": "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==", + "requires": { + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "requires": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + } + } + } + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "requires": {} + }, + "@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + } + }, + "@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "requires": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + } + }, + "@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + } + }, + "@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "requires": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + } + }, + "@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "requires": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "@docusaurus/plugin-google-gtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", + "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/plugin-sitemap": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", + "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "fs-extra": "^10.1.0", + "sitemap": "^7.1.1", + "tslib": "^2.4.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/preset-classic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", + "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/plugin-debug": "2.1.0", + "@docusaurus/plugin-google-analytics": "2.1.0", + "@docusaurus/plugin-google-gtag": "2.1.0", + "@docusaurus/plugin-sitemap": "2.1.0", + "@docusaurus/theme-classic": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-search-algolia": "2.1.0", + "@docusaurus/types": "2.1.0" + }, + "dependencies": { + "@docusaurus/plugin-google-analytics": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", + "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "tslib": "^2.4.0" + } + }, + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/react-loadable": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "requires": { + "@types/react": "*", + "prop-types": "^15.6.2" + } + }, + "@docusaurus/theme-classic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", + "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", + "requires": { + "@docusaurus/core": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-translations": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "copy-text-to-clipboard": "^3.0.1", + "infima": "0.2.0-alpha.42", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.14", + "prism-react-renderer": "^1.3.5", + "prismjs": "^1.28.0", + "react-router-dom": "^5.3.3", + "rtlcss": "^3.5.0", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "dependencies": { + "@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + } + } + }, + "@docusaurus/theme-common": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", + "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", + "requires": { + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^1.2.1", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^1.3.5", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + } + }, + "@docusaurus/theme-search-algolia": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", + "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", + "requires": { + "@docsearch/react": "^3.1.1", + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-translations": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "algoliasearch": "^4.13.1", + "algoliasearch-helper": "^3.10.0", + "clsx": "^1.2.1", + "eta": "^1.12.3", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + } + }, + "@docusaurus/theme-translations": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", + "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", + "requires": { + "fs-extra": "^10.1.0", + "tslib": "^2.4.0" + } + }, + "@docusaurus/types": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz", + "integrity": "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + } + }, + "@docusaurus/utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", + "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", + "requires": { + "@docusaurus/logger": "2.1.0", + "@svgr/webpack": "^6.2.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "requires": {} + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "requires": {} + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "requires": {} + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "requires": {} + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "requires": {} + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "requires": {} + }, + "@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + } + }, + "@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "requires": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + } + }, + "@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "requires": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + } + }, + "@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "requires": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + } + }, + "@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "requires": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "@docusaurus/utils-common": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", + "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@docusaurus/utils-validation": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", + "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", + "requires": { + "@docusaurus/logger": "2.1.0", + "@docusaurus/utils": "2.1.0", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + } + }, + "@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "requires": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "requires": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + }, + "@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "requires": { + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "requires": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "requires": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "requires": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "requires": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "requires": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "@lit-protocol/auth-helpers": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz", + "integrity": "sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg==", + "requires": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "@lit-protocol/constants": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz", + "integrity": "sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw==", + "requires": { + "@lit-protocol/auth-helpers": "3.0.24", + "@lit-protocol/types": "3.0.24", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "@lit-protocol/types": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz", + "integrity": "sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw==", + "requires": { + "@lit-protocol/auth-helpers": "3.0.24", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "@mdx-js/mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", + "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "requires": { + "@babel/core": "7.12.9", + "@babel/plugin-syntax-jsx": "7.12.1", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "1.6.22", + "babel-plugin-apply-mdx-type-prop": "1.6.22", + "babel-plugin-extract-import-names": "1.6.22", + "camelcase-css": "2.0.1", + "detab": "2.0.4", + "hast-util-raw": "6.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "10.0.1", + "remark-footnotes": "2.0.0", + "remark-mdx": "1.6.22", + "remark-parse": "8.0.3", + "remark-squeeze-paragraphs": "4.0.0", + "style-to-object": "0.3.0", + "unified": "9.2.0", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.3" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + } + } + }, + "@mdx-js/react": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", + "requires": {} + }, + "@mdx-js/util": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" + }, + "@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", + "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "requires": { + "eval": "^0.1.8", + "p-map": "^4.0.0", + "webpack-sources": "^3.2.2" + } + }, + "@spruceid/siwe-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz", + "integrity": "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==", + "requires": { + "@noble/hashes": "^1.1.2", + "apg-js": "^4.1.1", + "uri-js": "^4.4.1", + "valid-url": "^1.0.9" + } + }, + "@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "requires": { + "@stablelib/int": "^1.0.1" + } + }, + "@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + }, + "@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + }, + "@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + }, + "@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + }, + "@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + }, + "@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + }, + "@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + }, + "@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + }, + "@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "requires": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + } + }, + "@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "requires": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + } + }, + "@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "requires": { + "@babel/types": "^7.12.6" + } + }, + "@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "requires": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + } + }, + "@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "requires": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + } + }, + "@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + } + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + }, + "@types/body-parser": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", + "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", + "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.44.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", + "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", + "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", + "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" + }, + "@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "@types/hast": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz", + "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", + "requires": { + "@types/unist": "^2" + } + }, + "@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + }, + "@types/http-proxy": { + "version": "1.17.13", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", + "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + }, + "@types/mdast": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", + "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", + "requires": { + "@types/unist": "^2" + } + }, + "@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + }, + "@types/node": { + "version": "20.8.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", + "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/node-forge": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", + "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", + "requires": { + "@types/node": "*" + } + }, + "@types/parse-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", + "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" + }, + "@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "@types/prop-types": { + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" + }, + "@types/q": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz", + "integrity": "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" + }, + "@types/qs": { + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + }, + "@types/range-parser": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + }, + "@types/react": { + "version": "18.2.33", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", + "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "@types/react-router-config": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", + "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "requires": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "@types/sax": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz", + "integrity": "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==", + "requires": { + "@types/node": "*" + } + }, + "@types/scheduler": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" + }, + "@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/serve-index": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", + "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "requires": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", + "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "requires": { + "@types/node": "*" + } + }, + "@types/unist": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", + "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" + }, + "@types/ws": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", + "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" + }, + "@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "requires": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "requires": { + "@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": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "requires": { + "@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": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "requires": { + "@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": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "requires": { + "@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": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "requires": { + "@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": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "requires": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + } + } + }, + "acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" + }, + "acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "requires": {} + }, + "acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==" + }, + "address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + }, + "aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "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-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "requires": {} + }, + "algoliasearch": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", + "requires": { + "@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" + } + }, + "algoliasearch-helper": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", + "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", + "requires": { + "@algolia/events": "^4.0.1" + } + }, + "ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "requires": { + "string-width": "^4.1.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "apg-js": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz", + "integrity": "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "requires": { + "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" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, + "axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "requires": { + "follow-redirects": "^1.14.7" + } + }, + "babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "requires": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "requires": { + "@babel/helper-plugin-utils": "7.10.4" + }, + "dependencies": { + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + } + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + } + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "requires": { + "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" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "requires": { + "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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "requires": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + } + } + }, + "call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "requires": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001554", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz", + "integrity": "sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==" + }, + "canonicalize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "requires": { + "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" + } + }, + "cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "requires": { + "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" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" + }, + "clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + } + } + }, + "clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==" + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + } + }, + "connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" + }, + "content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==" + }, + "copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "requires": { + "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" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "requires": { + "is-glob": "^4.0.3" + } + }, + "globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + } + } + }, + "core-js": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", + "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==" + }, + "core-js-compat": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", + "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "requires": { + "browserslist": "^4.22.1" + } + }, + "core-js-pure": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz", + "integrity": "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==" + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "requires": { + "node-fetch": "^2.6.12" + }, + "dependencies": { + "node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "requires": { + "whatwg-url": "^5.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "requires": {} + }, + "css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "requires": { + "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" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "css-minimizer-webpack-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", + "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "requires": { + "cssnano": "^5.1.8", + "jest-worker": "^29.1.2", + "postcss": "^8.4.17", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "requires": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-advanced": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", + "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", + "requires": { + "autoprefixer": "^10.4.12", + "cssnano-preset-default": "^5.2.14", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + } + }, + "cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + } + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "requires": { + "execa": "^5.0.0" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "requires": { + "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": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + }, + "detab": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "requires": { + "repeat-string": "^1.5.4" + } + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "requires": { + "address": "^1.0.1", + "debug": "4" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + } + } + }, + "dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "dev": true + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "electron-to-chromium": { + "version": "1.4.568", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz", + "integrity": "sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "emoticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", + "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + } + }, + "es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + }, + "es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "requires": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "eta": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz", + "integrity": "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + }, + "ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "requires": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "requires": { + "@types/node": "*", + "require-like": ">= 0.1.1" + } + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "requires": { + "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" + }, + "dependencies": { + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + } + } + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "requires": { + "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" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "requires": { + "safe-buffer": "5.2.1" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "requires": { + "@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": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "requires": { + "punycode": "^1.3.2" + } + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "requires": { + "fbjs": "^3.0.0" + } + }, + "fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "requires": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "requires": { + "xml-js": "^1.6.11" + } + }, + "fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "requires": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, + "flux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", + "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", + "requires": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + } + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@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" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "requires": { + "fetch-blob": "^3.1.2" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + }, + "fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, + "get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "requires": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "requires": { + "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" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "requires": { + "ini": "2.0.0" + }, + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + } + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "dependencies": { + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "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" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "requires": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + } + } + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "requires": { + "duplexer": "^0.1.2" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "requires": { + "function-bind": "^1.1.2" + } + }, + "hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "requires": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "requires": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + } + }, + "hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" + }, + "hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "requires": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + } + } + }, + "hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "requires": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + } + }, + "hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@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" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" + }, + "html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "requires": { + "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" + }, + "dependencies": { + "commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + } + } + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==" + }, + "html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" + }, + "html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "requires": { + "@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": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "requires": { + "@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" + }, + "dependencies": { + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + } + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + }, + "husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "requires": {} + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "requires": { + "queue": "6.0.2" + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "infima": { + "version": "0.2.0-alpha.42", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", + "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "requires": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + } + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, + "is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==" + }, + "joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "requires": { + "@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-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "requires": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + }, + "loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "lodash.invokemap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", + "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "lodash.pullall": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", + "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "requires": { + "tslib": "^2.0.3" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "requires": { + "unist-util-remove": "^2.0.0" + } + }, + "mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + }, + "memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "requires": { + "fs-monkey": "^1.0.4" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "~1.33.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "requires": { + "minimist": "^1.2.6" + } + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==" + }, + "nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "requires": { + "lodash": "^4.17.21" + } + }, + "node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "requires": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "requires": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + } + }, + "object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@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": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "requires": { + "entities": "^4.4.0" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "requires": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + } + } + }, + "postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "requires": {} + }, + "postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "requires": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, + "dependencies": { + "cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "requires": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sort-media-queries": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", + "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", + "requires": { + "sort-css-media-queries": "2.1.0" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + } + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "requires": {} + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" + }, + "pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "requires": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" + }, + "prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "requires": {} + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "requires": { + "xtend": "^4.0.0" + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "requires": { + "escape-goat": "^2.0.0" + } + }, + "pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "requires": { + "inherits": "~2.0.3" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + } + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + } + } + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "requires": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "requires": { + "@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" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "requires": { + "@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": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "requires": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + } + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-loadable": { + "version": "npm:@docusaurus/react-loadable@5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "requires": { + "@types/react": "*", + "prop-types": "^15.6.2" + } + }, + "react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "requires": { + "@babel/runtime": "^7.10.3" + } + }, + "react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "requires": { + "@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-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "requires": { + "@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-textarea-autosize": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", + "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", + "requires": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + } + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "requires": { + "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" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "requires": { + "resolve": "^1.1.6" + } + }, + "recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "requires": { + "minimatch": "^3.0.5" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "requires": { + "@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": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "requires": { + "rc": "1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + }, + "remark-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", + "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "requires": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.3" + } + }, + "remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" + }, + "remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "requires": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + }, + "dependencies": { + "@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + } + } + }, + "remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "requires": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + } + }, + "remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "requires": { + "mdast-squeeze-paragraphs": "^4.0.0" + } + }, + "renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "requires": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "requires": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "search-insights": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", + "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", + "peer": true + }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "requires": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "requires": { + "semver": "^6.3.0" + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + } + } + }, + "serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "requires": { + "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" + }, + "dependencies": { + "path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + } + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "requires": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "dependencies": { + "@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + } + } + }, + "siwe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz", + "integrity": "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==", + "requires": { + "@spruceid/siwe-parser": "*", + "@stablelib/random": "^1.0.1", + "uri-js": "^4.4.1", + "valid-url": "^1.0.9" + } + }, + "siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "requires": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "sort-css-media-queries": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", + "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "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" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, + "std-env": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", + "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + }, + "dependencies": { + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + } + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + }, + "terser": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", + "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "requires": { + "@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" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + }, + "totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" + }, + "trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + } + } + }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "peer": true + }, + "ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" + }, + "unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" + }, + "unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" + }, + "unist-util-remove": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + } + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "requires": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "requires": { + "lru-cache": "^6.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + } + } + }, + "url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "requires": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "requires": {} + }, + "use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "requires": {} + }, + "use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "requires": { + "use-isomorphic-layout-effect": "^1.1.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" + }, + "value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "wait-on": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", + "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "requires": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + } + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" + }, + "web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "requires": { + "@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" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz", + "integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==", + "requires": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "is-plain-object": "^5.0.0", + "lodash.debounce": "^4.0.8", + "lodash.escape": "^4.0.1", + "lodash.flatten": "^4.4.0", + "lodash.invokemap": "^4.6.0", + "lodash.pullall": "^4.2.0", + "lodash.uniqby": "^4.7.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "requires": { + "@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" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + } + }, + "ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "requires": {} + } + } + }, + "webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "requires": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + }, + "webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } + }, + "widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "requires": { + "string-width": "^5.0.1" + } + }, + "wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "requires": {} + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "requires": { + "sax": "^1.2.4" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" + } + } +} diff --git a/yarn.lock b/yarn.lock index a470a249..d4f3e517 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,64 +3,64 @@ "@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== + "integrity" "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==" + "resolved" "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" + "version" "1.9.3" 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== + "integrity" "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==" + "resolved" "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" + "version" "1.9.3" 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== + "integrity" "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==" + "resolved" "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" + "version" "1.9.3" 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== + "integrity" "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==" + "resolved" "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" + "version" "1.9.3" "@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== + "integrity" "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==" + "resolved" "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + "resolved" "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz" + "version" "4.20.0" "@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== + "integrity" "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==" + "resolved" "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==" + "resolved" "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==" + "resolved" "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz" + "version" "4.20.0" dependencies: "@algolia/client-common" "4.20.0" "@algolia/client-search" "4.20.0" @@ -68,101 +68,122 @@ "@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== + "integrity" "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==" + "resolved" "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==" + "resolved" "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz" + "version" "4.20.0" 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== +"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.20.0": + "integrity" "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==" + "resolved" "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + "resolved" "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + "version" "4.0.1" "@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== + "integrity" "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + "resolved" "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz" + "version" "4.20.0" "@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== + "integrity" "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==" + "resolved" "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==" + "resolved" "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + "resolved" "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz" + "version" "4.20.0" "@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== + "integrity" "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==" + "resolved" "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==" + "resolved" "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz" + "version" "4.20.0" 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== + "integrity" "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==" + "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + "version" "2.2.1" dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.8.3": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.4", "@babel/code-frame@^7.8.3": + "integrity" "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz" + "version" "7.23.4" dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" + "@babel/highlight" "^7.23.4" + "chalk" "^2.4.2" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" - integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== + "integrity" "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==" + "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" + "version" "7.23.2" + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.18.6", "@babel/core@^7.19.6", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": + "integrity" "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz" + "version" "7.23.3" + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.3" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.3" + "@babel/types" "^7.23.3" + "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.12.9": - version "7.12.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" - integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + "integrity" "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" + "version" "7.12.9" dependencies: "@babel/code-frame" "^7.10.4" "@babel/generator" "^7.12.5" @@ -172,75 +193,54 @@ "@babel/template" "^7.12.7" "@babel/traverse" "^7.12.9" "@babel/types" "^7.12.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.12.3", "@babel/core@^7.18.6", "@babel/core@^7.19.6": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" - integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.2" - "@babel/parser" "^7.23.0" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.2" - "@babel/types" "^7.23.0" - 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.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.1" + "json5" "^2.1.2" + "lodash" "^4.17.19" + "resolve" "^1.3.2" + "semver" "^5.4.1" + "source-map" "^0.5.0" + +"@babel/generator@^7.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.23.3", "@babel/generator@^7.23.4": + "integrity" "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz" + "version" "7.23.4" + dependencies: + "@babel/types" "^7.23.4" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" + "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== + "integrity" "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==" + "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/types" "^7.22.5" "@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - 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== + "integrity" "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==" + "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/types" "^7.22.15" "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@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== + "integrity" "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==" + "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" + "version" "7.22.15" 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" + "browserslist" "^4.21.9" + "lru-cache" "^5.1.1" + "semver" "^6.3.1" "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": - 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== + "integrity" "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.5" @@ -250,66 +250,66 @@ "@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" + "semver" "^6.3.1" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@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== + "integrity" "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" - semver "^6.3.1" + "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== + "integrity" "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==" + "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz" + "version" "0.4.3" 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" + "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== + "integrity" "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + "version" "7.22.20" "@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== + "integrity" "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + "version" "7.23.0" 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== + "integrity" "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==" + "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + "version" "7.22.5" 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== + "integrity" "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==" + "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + "version" "7.23.0" dependencies: "@babel/types" "^7.23.0" "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": - 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== + "integrity" "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" - integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": + "integrity" "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" + "version" "7.23.3" dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -318,297 +318,297 @@ "@babel/helper-validator-identifier" "^7.22.20" "@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== + "integrity" "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==" + "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - "@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== + "integrity" "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + "version" "7.22.5" + +"@babel/helper-plugin-utils@7.10.4": + "integrity" "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + "version" "7.10.4" "@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": - 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== + "integrity" "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==" + "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + "version" "7.22.20" 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.5", "@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== + "integrity" "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==" + "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" + "version" "7.22.20" 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-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== + "integrity" "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/types" "^7.22.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== + "integrity" "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + "version" "7.22.5" 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== + "integrity" "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + "version" "7.22.6" dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.23.4": + "integrity" "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" + "version" "7.23.4" "@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== + "integrity" "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + "version" "7.22.20" "@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== + "integrity" "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" + "version" "7.22.15" "@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== + "integrity" "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==" + "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" + "version" "7.22.20" dependencies: "@babel/helper-function-name" "^7.22.5" "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" "@babel/helpers@^7.12.5", "@babel/helpers@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" - integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== + "integrity" "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz" + "version" "7.23.2" dependencies: "@babel/template" "^7.22.15" "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== +"@babel/highlight@^7.23.4": + "integrity" "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" + "version" "7.23.4" dependencies: "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" + "chalk" "^2.4.2" + "js-tokens" "^4.0.0" -"@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.23.4": + "integrity" "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz" + "version" "7.23.4" "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": - version "7.22.15" - 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.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" - integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== + "integrity" "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" - integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== + "integrity" "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-optional-chaining" "^7.22.15" "@babel/plugin-proposal-object-rest-spread@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + "integrity" "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" + "version" "7.12.1" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" "@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== + "integrity" "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + "version" "7.21.0-placeholder-for-preset-env.2" "@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== + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" 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== + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" 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== + "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "version" "7.14.5" 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== + "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "version" "7.8.3" 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== + "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" - integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== + "integrity" "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-attributes@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" - integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== + "integrity" "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@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== + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" 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== + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" - integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-jsx@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + "integrity" "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-syntax-jsx@7.12.1": + "integrity" "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" + "version" "7.12.1" + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + "@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== + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" 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== + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" 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== + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@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== +"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3", "@babel/plugin-syntax-object-rest-spread@7.8.3": + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" 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== + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" 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== + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" 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== + "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "version" "7.14.5" 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== + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + "integrity" "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@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== + "integrity" "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + "version" "7.18.6" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-arrow-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" - integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== + "integrity" "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-async-generator-functions@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" - integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== + "integrity" "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz" + "version" "7.23.2" dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" @@ -616,49 +616,49 @@ "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-transform-async-to-generator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" - integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + "integrity" "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-module-imports" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-remap-async-to-generator" "^7.22.5" "@babel/plugin-transform-block-scoped-functions@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" - integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + "integrity" "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoping@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" - integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== + "integrity" "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz" + "version" "7.23.0" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-class-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" - integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== + "integrity" "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-class-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-class-static-block@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" - integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== + "integrity" "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-create-class-features-plugin" "^7.22.11" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-transform-classes@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" - integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== + "integrity" "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-compilation-targets" "^7.22.15" @@ -668,129 +668,129 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-replace-supers" "^7.22.9" "@babel/helper-split-export-declaration" "^7.22.6" - globals "^11.1.0" + "globals" "^11.1.0" "@babel/plugin-transform-computed-properties@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" - integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== + "integrity" "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/template" "^7.22.5" "@babel/plugin-transform-destructuring@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" - integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== + "integrity" "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz" + "version" "7.23.0" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-dotall-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" - integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== + "integrity" "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-duplicate-keys@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" - integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== + "integrity" "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-dynamic-import@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" - integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== + "integrity" "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-transform-exponentiation-operator@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" - integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== + "integrity" "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-export-namespace-from@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" - integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== + "integrity" "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-transform-for-of@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" - integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== + "integrity" "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" - integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== + "integrity" "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-compilation-targets" "^7.22.5" "@babel/helper-function-name" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-json-strings@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" - integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== + "integrity" "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-transform-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" - integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== + "integrity" "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-logical-assignment-operators@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" - integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== + "integrity" "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-transform-member-expression-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" - integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== + "integrity" "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-modules-amd@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" - integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== + "integrity" "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz" + "version" "7.23.0" dependencies: "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-modules-commonjs@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" - integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== + "integrity" "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz" + "version" "7.23.0" dependencies: "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" "@babel/plugin-transform-modules-systemjs@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" - integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== + "integrity" "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz" + "version" "7.23.0" dependencies: "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-module-transforms" "^7.23.0" @@ -798,48 +798,48 @@ "@babel/helper-validator-identifier" "^7.22.20" "@babel/plugin-transform-modules-umd@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" - integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== + "integrity" "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-module-transforms" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@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== + "integrity" "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-new-target@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" - integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== + "integrity" "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" - integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== + "integrity" "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-transform-numeric-separator@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" - integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== + "integrity" "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-transform-object-rest-spread@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" - integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== + "integrity" "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/compat-data" "^7.22.9" "@babel/helper-compilation-targets" "^7.22.15" @@ -848,49 +848,49 @@ "@babel/plugin-transform-parameters" "^7.22.15" "@babel/plugin-transform-object-super@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" - integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== + "integrity" "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-replace-supers" "^7.22.5" "@babel/plugin-transform-optional-catch-binding@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" - integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== + "integrity" "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" - integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== + "integrity" "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz" + "version" "7.23.0" 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-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" - integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== + "integrity" "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-private-methods@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" - integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== + "integrity" "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-class-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-private-property-in-object@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" - integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== + "integrity" "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz" + "version" "7.22.11" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-create-class-features-plugin" "^7.22.11" @@ -898,37 +898,37 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-transform-property-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" - integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== + "integrity" "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.18.12": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz#6dfa7c1c37f7d7279e417ceddf5a04abb8bb9c29" - integrity sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA== + "integrity" "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" - integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== + "integrity" "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz" + "version" "7.22.5" 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== + "integrity" "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" + "version" "7.22.5" 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.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" - integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== + "integrity" "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-module-imports" "^7.22.15" @@ -937,80 +937,80 @@ "@babel/types" "^7.22.15" "@babel/plugin-transform-react-pure-annotations@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" - integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== + "integrity" "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-regenerator@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" - integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== + "integrity" "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz" + "version" "7.22.10" dependencies: "@babel/helper-plugin-utils" "^7.22.5" - regenerator-transform "^0.15.2" + "regenerator-transform" "^0.15.2" "@babel/plugin-transform-reserved-words@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" - integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== + "integrity" "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.18.6": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" - integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== + "integrity" "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz" + "version" "7.23.2" 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-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.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" - integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + "integrity" "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-spread@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" - integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + "integrity" "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-sticky-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" - integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + "integrity" "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-template-literals@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" - integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + "integrity" "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typeof-symbol@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" - integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== + "integrity" "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typescript@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" - integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== + "integrity" "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-create-class-features-plugin" "^7.22.15" @@ -1018,40 +1018,40 @@ "@babel/plugin-syntax-typescript" "^7.22.5" "@babel/plugin-transform-unicode-escapes@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" - integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== + "integrity" "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz" + "version" "7.22.10" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-property-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" - integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== + "integrity" "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" - integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + "integrity" "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-sets-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" - integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + "integrity" "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" + "version" "7.22.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.18.6", "@babel/preset-env@^7.19.4": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" - integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== + "integrity" "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==" + "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz" + "version" "7.23.2" dependencies: "@babel/compat-data" "^7.23.2" "@babel/helper-compilation-targets" "^7.22.15" @@ -1128,25 +1128,25 @@ "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" "@babel/preset-modules" "0.1.6-no-external-plugins" "@babel/types" "^7.23.0" - 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-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== + "integrity" "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==" + "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + "version" "0.1.6-no-external-plugins" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/types" "^7.4.4" - esutils "^2.0.2" + "esutils" "^2.0.2" "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.18.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" - integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== + "integrity" "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==" + "resolved" "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -1156,9 +1156,9 @@ "@babel/plugin-transform-react-pure-annotations" "^7.22.5" "@babel/preset-typescript@^7.18.6": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" - integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== + "integrity" "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==" + "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz" + "version" "7.23.2" dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -1167,88 +1167,88 @@ "@babel/plugin-transform-typescript" "^7.22.15" "@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== + "integrity" "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + "resolved" "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + "version" "0.8.0" "@babel/runtime-corejs3@^7.18.6": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz#a5cd9d8b408fb946b2f074b21ea40c04e516795c" - integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== + "integrity" "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==" + "resolved" "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz" + "version" "7.23.2" dependencies: - core-js-pure "^3.30.2" - regenerator-runtime "^0.14.0" + "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.18.6", "@babel/runtime@^7.20.13", "@babel/runtime@^7.8.4": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" - integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== + "integrity" "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" + "version" "7.23.2" dependencies: - regenerator-runtime "^0.14.0" + "regenerator-runtime" "^0.14.0" "@babel/template@^7.12.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + "integrity" "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" + "version" "7.22.15" dependencies: "@babel/code-frame" "^7.22.13" "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.23.2": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== +"@babel/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3": + "integrity" "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz" + "version" "7.23.4" dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@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.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" - globals "^11.1.0" + "@babel/parser" "^7.23.4" + "@babel/types" "^7.23.4" + "debug" "^4.1.0" + "globals" "^11.1.0" -"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.20.0", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== +"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.20.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.3", "@babel/types@^7.23.4", "@babel/types@^7.4.4": + "integrity" "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz" + "version" "7.23.4" dependencies: - "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-string-parser" "^7.23.4" "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" + "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== + "integrity" "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" + "resolved" "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + "version" "1.5.0" "@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== + "integrity" "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" + "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + "version" "0.5.7" "@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== + "integrity" "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + "resolved" "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" + "version" "3.5.2" "@docsearch/react@^3.1.1": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" - integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== + "integrity" "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==" + "resolved" "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" + "version" "3.5.2" dependencies: "@algolia/autocomplete-core" "1.9.3" "@algolia/autocomplete-preset-algolia" "1.9.3" "@docsearch/css" "3.5.2" - algoliasearch "^4.19.1" + "algoliasearch" "^4.19.1" "@docusaurus/core@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.1.0.tgz#4aedc306f4c4cd2e0491b641bf78941d4b480ab6" - integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== + "integrity" "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==" + "resolved" "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" + "version" "2.1.0" dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1269,63 +1269,63 @@ "@docusaurus/utils-validation" "2.1.0" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" - autoprefixer "^10.4.7" - babel-loader "^8.2.5" - babel-plugin-dynamic-import-node "^2.3.3" - boxen "^6.2.1" - chalk "^4.1.2" - chokidar "^3.5.3" - clean-css "^5.3.0" - cli-table3 "^0.6.2" - combine-promises "^1.1.0" - commander "^5.1.0" - copy-webpack-plugin "^11.0.0" - core-js "^3.23.3" - css-loader "^6.7.1" - css-minimizer-webpack-plugin "^4.0.0" - cssnano "^5.1.12" - del "^6.1.1" - detect-port "^1.3.0" - escape-html "^1.0.3" - eta "^1.12.3" - file-loader "^6.2.0" - fs-extra "^10.1.0" - html-minifier-terser "^6.1.0" - html-tags "^3.2.0" - html-webpack-plugin "^5.5.0" - import-fresh "^3.3.0" - leven "^3.1.0" - lodash "^4.17.21" - mini-css-extract-plugin "^2.6.1" - postcss "^8.4.14" - postcss-loader "^7.0.0" - prompts "^2.4.2" - react-dev-utils "^12.0.1" - react-helmet-async "^1.3.0" - react-loadable "npm:@docusaurus/react-loadable@5.5.2" - react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.3.3" - react-router-config "^5.1.1" - react-router-dom "^5.3.3" - rtl-detect "^1.0.4" - semver "^7.3.7" - serve-handler "^6.1.3" - shelljs "^0.8.5" - terser-webpack-plugin "^5.3.3" - tslib "^2.4.0" - update-notifier "^5.1.0" - url-loader "^4.1.1" - wait-on "^6.0.1" - webpack "^5.73.0" - webpack-bundle-analyzer "^4.5.0" - webpack-dev-server "^4.9.3" - webpack-merge "^5.8.0" - webpackbar "^5.0.2" + "autoprefixer" "^10.4.7" + "babel-loader" "^8.2.5" + "babel-plugin-dynamic-import-node" "^2.3.3" + "boxen" "^6.2.1" + "chalk" "^4.1.2" + "chokidar" "^3.5.3" + "clean-css" "^5.3.0" + "cli-table3" "^0.6.2" + "combine-promises" "^1.1.0" + "commander" "^5.1.0" + "copy-webpack-plugin" "^11.0.0" + "core-js" "^3.23.3" + "css-loader" "^6.7.1" + "css-minimizer-webpack-plugin" "^4.0.0" + "cssnano" "^5.1.12" + "del" "^6.1.1" + "detect-port" "^1.3.0" + "escape-html" "^1.0.3" + "eta" "^1.12.3" + "file-loader" "^6.2.0" + "fs-extra" "^10.1.0" + "html-minifier-terser" "^6.1.0" + "html-tags" "^3.2.0" + "html-webpack-plugin" "^5.5.0" + "import-fresh" "^3.3.0" + "leven" "^3.1.0" + "lodash" "^4.17.21" + "mini-css-extract-plugin" "^2.6.1" + "postcss" "^8.4.14" + "postcss-loader" "^7.0.0" + "prompts" "^2.4.2" + "react-dev-utils" "^12.0.1" + "react-helmet-async" "^1.3.0" + "react-loadable" "npm:@docusaurus/react-loadable@5.5.2" + "react-loadable-ssr-addon-v5-slorber" "^1.0.1" + "react-router" "^5.3.3" + "react-router-config" "^5.1.1" + "react-router-dom" "^5.3.3" + "rtl-detect" "^1.0.4" + "semver" "^7.3.7" + "serve-handler" "^6.1.3" + "shelljs" "^0.8.5" + "terser-webpack-plugin" "^5.3.3" + "tslib" "^2.4.0" + "update-notifier" "^5.1.0" + "url-loader" "^4.1.1" + "wait-on" "^6.0.1" + "webpack" "^5.73.0" + "webpack-bundle-analyzer" "^4.5.0" + "webpack-dev-server" "^4.9.3" + "webpack-merge" "^5.8.0" + "webpackbar" "^5.0.2" "@docusaurus/core@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.4.3.tgz#d86624901386fd8164ce4bff9cc7f16fde57f523" - integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== + "integrity" "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==" + "resolved" "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz" + "version" "2.4.3" dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1346,145 +1346,145 @@ "@docusaurus/utils-validation" "2.4.3" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" - autoprefixer "^10.4.7" - babel-loader "^8.2.5" - babel-plugin-dynamic-import-node "^2.3.3" - boxen "^6.2.1" - chalk "^4.1.2" - chokidar "^3.5.3" - clean-css "^5.3.0" - cli-table3 "^0.6.2" - combine-promises "^1.1.0" - commander "^5.1.0" - copy-webpack-plugin "^11.0.0" - core-js "^3.23.3" - css-loader "^6.7.1" - css-minimizer-webpack-plugin "^4.0.0" - cssnano "^5.1.12" - del "^6.1.1" - detect-port "^1.3.0" - escape-html "^1.0.3" - eta "^2.0.0" - file-loader "^6.2.0" - fs-extra "^10.1.0" - html-minifier-terser "^6.1.0" - html-tags "^3.2.0" - html-webpack-plugin "^5.5.0" - import-fresh "^3.3.0" - leven "^3.1.0" - lodash "^4.17.21" - mini-css-extract-plugin "^2.6.1" - postcss "^8.4.14" - postcss-loader "^7.0.0" - prompts "^2.4.2" - react-dev-utils "^12.0.1" - react-helmet-async "^1.3.0" - react-loadable "npm:@docusaurus/react-loadable@5.5.2" - react-loadable-ssr-addon-v5-slorber "^1.0.1" - react-router "^5.3.3" - react-router-config "^5.1.1" - react-router-dom "^5.3.3" - rtl-detect "^1.0.4" - semver "^7.3.7" - serve-handler "^6.1.3" - shelljs "^0.8.5" - terser-webpack-plugin "^5.3.3" - tslib "^2.4.0" - update-notifier "^5.1.0" - url-loader "^4.1.1" - wait-on "^6.0.1" - webpack "^5.73.0" - webpack-bundle-analyzer "^4.5.0" - webpack-dev-server "^4.9.3" - webpack-merge "^5.8.0" - webpackbar "^5.0.2" + "autoprefixer" "^10.4.7" + "babel-loader" "^8.2.5" + "babel-plugin-dynamic-import-node" "^2.3.3" + "boxen" "^6.2.1" + "chalk" "^4.1.2" + "chokidar" "^3.5.3" + "clean-css" "^5.3.0" + "cli-table3" "^0.6.2" + "combine-promises" "^1.1.0" + "commander" "^5.1.0" + "copy-webpack-plugin" "^11.0.0" + "core-js" "^3.23.3" + "css-loader" "^6.7.1" + "css-minimizer-webpack-plugin" "^4.0.0" + "cssnano" "^5.1.12" + "del" "^6.1.1" + "detect-port" "^1.3.0" + "escape-html" "^1.0.3" + "eta" "^2.0.0" + "file-loader" "^6.2.0" + "fs-extra" "^10.1.0" + "html-minifier-terser" "^6.1.0" + "html-tags" "^3.2.0" + "html-webpack-plugin" "^5.5.0" + "import-fresh" "^3.3.0" + "leven" "^3.1.0" + "lodash" "^4.17.21" + "mini-css-extract-plugin" "^2.6.1" + "postcss" "^8.4.14" + "postcss-loader" "^7.0.0" + "prompts" "^2.4.2" + "react-dev-utils" "^12.0.1" + "react-helmet-async" "^1.3.0" + "react-loadable" "npm:@docusaurus/react-loadable@5.5.2" + "react-loadable-ssr-addon-v5-slorber" "^1.0.1" + "react-router" "^5.3.3" + "react-router-config" "^5.1.1" + "react-router-dom" "^5.3.3" + "rtl-detect" "^1.0.4" + "semver" "^7.3.7" + "serve-handler" "^6.1.3" + "shelljs" "^0.8.5" + "terser-webpack-plugin" "^5.3.3" + "tslib" "^2.4.0" + "update-notifier" "^5.1.0" + "url-loader" "^4.1.1" + "wait-on" "^6.0.1" + "webpack" "^5.73.0" + "webpack-bundle-analyzer" "^4.5.0" + "webpack-dev-server" "^4.9.3" + "webpack-merge" "^5.8.0" + "webpackbar" "^5.0.2" "@docusaurus/cssnano-preset@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz#5b42107769b7cbc61655496090bc262d7788d6ab" - integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== + "integrity" "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" + "version" "2.1.0" dependencies: - cssnano-preset-advanced "^5.3.8" - postcss "^8.4.14" - postcss-sort-media-queries "^4.2.1" - tslib "^2.4.0" + "cssnano-preset-advanced" "^5.3.8" + "postcss" "^8.4.14" + "postcss-sort-media-queries" "^4.2.1" + "tslib" "^2.4.0" "@docusaurus/cssnano-preset@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz#1d7e833c41ce240fcc2812a2ac27f7b862f32de0" - integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== + "integrity" "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==" + "resolved" "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz" + "version" "2.4.3" dependencies: - cssnano-preset-advanced "^5.3.8" - postcss "^8.4.14" - postcss-sort-media-queries "^4.2.1" - tslib "^2.4.0" + "cssnano-preset-advanced" "^5.3.8" + "postcss" "^8.4.14" + "postcss-sort-media-queries" "^4.2.1" + "tslib" "^2.4.0" "@docusaurus/logger@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.1.0.tgz#86c97e948f578814d3e61fc2b2ad283043cbe87a" - integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== + "integrity" "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==" + "resolved" "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" + "version" "2.1.0" dependencies: - chalk "^4.1.2" - tslib "^2.4.0" + "chalk" "^4.1.2" + "tslib" "^2.4.0" "@docusaurus/logger@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.4.3.tgz#518bbc965fb4ebe8f1d0b14e5f4161607552d34c" - integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== + "integrity" "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==" + "resolved" "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz" + "version" "2.4.3" dependencies: - chalk "^4.1.2" - tslib "^2.4.0" + "chalk" "^4.1.2" + "tslib" "^2.4.0" "@docusaurus/mdx-loader@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz#3fca9576cc73a22f8e7d9941985590b9e47a8526" - integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== + "integrity" "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==" + "resolved" "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" + "version" "2.1.0" dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" "@docusaurus/logger" "2.1.0" "@docusaurus/utils" "2.1.0" "@mdx-js/mdx" "^1.6.22" - escape-html "^1.0.3" - file-loader "^6.2.0" - fs-extra "^10.1.0" - image-size "^1.0.1" - mdast-util-to-string "^2.0.0" - remark-emoji "^2.2.0" - stringify-object "^3.3.0" - tslib "^2.4.0" - unified "^9.2.2" - unist-util-visit "^2.0.3" - url-loader "^4.1.1" - webpack "^5.73.0" + "escape-html" "^1.0.3" + "file-loader" "^6.2.0" + "fs-extra" "^10.1.0" + "image-size" "^1.0.1" + "mdast-util-to-string" "^2.0.0" + "remark-emoji" "^2.2.0" + "stringify-object" "^3.3.0" + "tslib" "^2.4.0" + "unified" "^9.2.2" + "unist-util-visit" "^2.0.3" + "url-loader" "^4.1.1" + "webpack" "^5.73.0" "@docusaurus/mdx-loader@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz#e8ff37f30a060eaa97b8121c135f74cb531a4a3e" - integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== + "integrity" "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==" + "resolved" "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz" + "version" "2.4.3" dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" "@docusaurus/logger" "2.4.3" "@docusaurus/utils" "2.4.3" "@mdx-js/mdx" "^1.6.22" - escape-html "^1.0.3" - file-loader "^6.2.0" - fs-extra "^10.1.0" - image-size "^1.0.1" - mdast-util-to-string "^2.0.0" - remark-emoji "^2.2.0" - stringify-object "^3.3.0" - tslib "^2.4.0" - unified "^9.2.2" - unist-util-visit "^2.0.3" - url-loader "^4.1.1" - webpack "^5.73.0" + "escape-html" "^1.0.3" + "file-loader" "^6.2.0" + "fs-extra" "^10.1.0" + "image-size" "^1.0.1" + "mdast-util-to-string" "^2.0.0" + "remark-emoji" "^2.2.0" + "stringify-object" "^3.3.0" + "tslib" "^2.4.0" + "unified" "^9.2.2" + "unist-util-visit" "^2.0.3" + "url-loader" "^4.1.1" + "webpack" "^5.73.0" "@docusaurus/module-type-aliases@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz#322f8fd5b436af2154c0dddfa173435730e66261" - integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== + "integrity" "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/react-loadable" "5.5.2" "@docusaurus/types" "2.1.0" @@ -1492,13 +1492,13 @@ "@types/react" "*" "@types/react-router-config" "*" "@types/react-router-dom" "*" - react-helmet-async "*" - react-loadable "npm:@docusaurus/react-loadable@5.5.2" + "react-helmet-async" "*" + "react-loadable" "npm:@docusaurus/react-loadable@5.5.2" "@docusaurus/plugin-content-blog@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz#32b1a7cd4b0026f4a76fce4edc5cfdd0edb1ec42" - integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== + "integrity" "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/logger" "2.1.0" @@ -1507,20 +1507,20 @@ "@docusaurus/utils" "2.1.0" "@docusaurus/utils-common" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - cheerio "^1.0.0-rc.12" - feed "^4.2.2" - fs-extra "^10.1.0" - lodash "^4.17.21" - reading-time "^1.5.0" - tslib "^2.4.0" - unist-util-visit "^2.0.3" - utility-types "^3.10.0" - webpack "^5.73.0" + "cheerio" "^1.0.0-rc.12" + "feed" "^4.2.2" + "fs-extra" "^10.1.0" + "lodash" "^4.17.21" + "reading-time" "^1.5.0" + "tslib" "^2.4.0" + "unist-util-visit" "^2.0.3" + "utility-types" "^3.10.0" + "webpack" "^5.73.0" "@docusaurus/plugin-content-docs@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz#3fcdf258c13dde27268ce7108a102b74ca4c279b" - integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== + "integrity" "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/logger" "2.1.0" @@ -1530,75 +1530,75 @@ "@docusaurus/utils" "2.1.0" "@docusaurus/utils-validation" "2.1.0" "@types/react-router-config" "^5.0.6" - combine-promises "^1.1.0" - fs-extra "^10.1.0" - import-fresh "^3.3.0" - js-yaml "^4.1.0" - lodash "^4.17.21" - tslib "^2.4.0" - utility-types "^3.10.0" - webpack "^5.73.0" + "combine-promises" "^1.1.0" + "fs-extra" "^10.1.0" + "import-fresh" "^3.3.0" + "js-yaml" "^4.1.0" + "lodash" "^4.17.21" + "tslib" "^2.4.0" + "utility-types" "^3.10.0" + "webpack" "^5.73.0" "@docusaurus/plugin-content-pages@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz#714d24f71d49dbfed888f50c15e975c2154c3ce8" - integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== + "integrity" "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/mdx-loader" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - fs-extra "^10.1.0" - tslib "^2.4.0" - webpack "^5.73.0" + "fs-extra" "^10.1.0" + "tslib" "^2.4.0" + "webpack" "^5.73.0" "@docusaurus/plugin-debug@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz#b3145affb40e25cf342174638952a5928ddaf7dc" - integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== + "integrity" "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils" "2.1.0" - fs-extra "^10.1.0" - react-json-view "^1.21.3" - tslib "^2.4.0" - -"@docusaurus/plugin-google-analytics@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz#c9a7269817b38e43484d38fad9996e39aac4196c" - integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" - tslib "^2.4.0" + "fs-extra" "^10.1.0" + "react-json-view" "^1.21.3" + "tslib" "^2.4.0" "@docusaurus/plugin-google-analytics@^2.1.0": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz#0d19993136ade6f7a7741251b4f617400d92ab45" - integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== + "integrity" "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz" + "version" "2.4.3" dependencies: "@docusaurus/core" "2.4.3" "@docusaurus/types" "2.4.3" "@docusaurus/utils-validation" "2.4.3" - tslib "^2.4.0" + "tslib" "^2.4.0" + +"@docusaurus/plugin-google-analytics@2.1.0": + "integrity" "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" + "tslib" "^2.4.0" "@docusaurus/plugin-google-gtag@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz#e4f351dcd98b933538d55bb742650a2a36ca9a32" - integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== + "integrity" "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - tslib "^2.4.0" + "tslib" "^2.4.0" "@docusaurus/plugin-sitemap@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz#b316bb9a42a1717845e26bd4e2d3071748a54b47" - integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== + "integrity" "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==" + "resolved" "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/logger" "2.1.0" @@ -1606,14 +1606,14 @@ "@docusaurus/utils" "2.1.0" "@docusaurus/utils-common" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - fs-extra "^10.1.0" - sitemap "^7.1.1" - tslib "^2.4.0" + "fs-extra" "^10.1.0" + "sitemap" "^7.1.1" + "tslib" "^2.4.0" "@docusaurus/preset-classic@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz#45b23c8ec10c96ded9ece128fac3a39b10bcbc56" - integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== + "integrity" "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==" + "resolved" "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/plugin-content-blog" "2.1.0" @@ -1628,18 +1628,18 @@ "@docusaurus/theme-search-algolia" "2.1.0" "@docusaurus/types" "2.1.0" -"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": - version "5.5.2" - resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce" - integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== +"@docusaurus/react-loadable@5.5.2": + "integrity" "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" + "version" "5.5.2" dependencies: "@types/react" "*" - prop-types "^15.6.2" + "prop-types" "^15.6.2" "@docusaurus/theme-classic@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz#d957a907ea8dd035c1cf911d0fbe91d8f24aef3f" - integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== + "integrity" "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==" + "resolved" "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/mdx-loader" "2.1.0" @@ -1654,23 +1654,23 @@ "@docusaurus/utils-common" "2.1.0" "@docusaurus/utils-validation" "2.1.0" "@mdx-js/react" "^1.6.22" - clsx "^1.2.1" - copy-text-to-clipboard "^3.0.1" - infima "0.2.0-alpha.42" - lodash "^4.17.21" - nprogress "^0.2.0" - postcss "^8.4.14" - prism-react-renderer "^1.3.5" - prismjs "^1.28.0" - react-router-dom "^5.3.3" - rtlcss "^3.5.0" - tslib "^2.4.0" - utility-types "^3.10.0" + "clsx" "^1.2.1" + "copy-text-to-clipboard" "^3.0.1" + "infima" "0.2.0-alpha.42" + "lodash" "^4.17.21" + "nprogress" "^0.2.0" + "postcss" "^8.4.14" + "prism-react-renderer" "^1.3.5" + "prismjs" "^1.28.0" + "react-router-dom" "^5.3.3" + "rtlcss" "^3.5.0" + "tslib" "^2.4.0" + "utility-types" "^3.10.0" "@docusaurus/theme-common@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.1.0.tgz#dff4d5d1e29efc06125dc06f7b259f689bb3f24d" - integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== + "integrity" "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==" + "resolved" "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/mdx-loader" "2.1.0" "@docusaurus/module-type-aliases" "2.1.0" @@ -1681,16 +1681,16 @@ "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" - clsx "^1.2.1" - parse-numeric-range "^1.3.0" - prism-react-renderer "^1.3.5" - tslib "^2.4.0" - utility-types "^3.10.0" + "clsx" "^1.2.1" + "parse-numeric-range" "^1.3.0" + "prism-react-renderer" "^1.3.5" + "tslib" "^2.4.0" + "utility-types" "^3.10.0" "@docusaurus/theme-search-algolia@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz#e7cdf64b6f7a15b07c6dcf652fd308cfdaabb0ee" - integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== + "integrity" "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==" + "resolved" "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docsearch/react" "^3.1.1" "@docusaurus/core" "2.1.0" @@ -1700,134 +1700,134 @@ "@docusaurus/theme-translations" "2.1.0" "@docusaurus/utils" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - algoliasearch "^4.13.1" - algoliasearch-helper "^3.10.0" - clsx "^1.2.1" - eta "^1.12.3" - fs-extra "^10.1.0" - lodash "^4.17.21" - tslib "^2.4.0" - utility-types "^3.10.0" + "algoliasearch" "^4.13.1" + "algoliasearch-helper" "^3.10.0" + "clsx" "^1.2.1" + "eta" "^1.12.3" + "fs-extra" "^10.1.0" + "lodash" "^4.17.21" + "tslib" "^2.4.0" + "utility-types" "^3.10.0" "@docusaurus/theme-translations@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz#ce9a2955afd49bff364cfdfd4492b226f6dd3b6e" - integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== + "integrity" "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==" + "resolved" "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" + "version" "2.1.0" dependencies: - fs-extra "^10.1.0" - tslib "^2.4.0" + "fs-extra" "^10.1.0" + "tslib" "^2.4.0" -"@docusaurus/types@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.1.0.tgz#01e13cd9adb268fffe87b49eb90302d5dc3edd6b" - integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== +"@docusaurus/types@*", "@docusaurus/types@2.4.3": + "integrity" "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==" + "resolved" "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz" + "version" "2.4.3" dependencies: "@types/history" "^4.7.11" "@types/react" "*" - commander "^5.1.0" - joi "^17.6.0" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.73.0" - webpack-merge "^5.8.0" - -"@docusaurus/types@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.4.3.tgz#4aead281ca09f721b3c0a9b926818450cfa3db31" - integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== + "commander" "^5.1.0" + "joi" "^17.6.0" + "react-helmet-async" "^1.3.0" + "utility-types" "^3.10.0" + "webpack" "^5.73.0" + "webpack-merge" "^5.8.0" + +"@docusaurus/types@2.1.0": + "integrity" "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" + "version" "2.1.0" dependencies: "@types/history" "^4.7.11" "@types/react" "*" - commander "^5.1.0" - joi "^17.6.0" - react-helmet-async "^1.3.0" - utility-types "^3.10.0" - webpack "^5.73.0" - webpack-merge "^5.8.0" + "commander" "^5.1.0" + "joi" "^17.6.0" + "react-helmet-async" "^1.3.0" + "utility-types" "^3.10.0" + "webpack" "^5.73.0" + "webpack-merge" "^5.8.0" "@docusaurus/utils-common@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.1.0.tgz#248434751096f8c6c644ed65eed2a5a070a227f8" - integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== + "integrity" "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==" + "resolved" "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" + "version" "2.1.0" dependencies: - tslib "^2.4.0" + "tslib" "^2.4.0" "@docusaurus/utils-common@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.4.3.tgz#30656c39ef1ce7e002af7ba39ea08330f58efcfb" - integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== + "integrity" "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz" + "version" "2.4.3" dependencies: - tslib "^2.4.0" + "tslib" "^2.4.0" "@docusaurus/utils-validation@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz#c8cf1d8454d924d9a564fefa86436268f43308e3" - integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== + "integrity" "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/logger" "2.1.0" "@docusaurus/utils" "2.1.0" - joi "^17.6.0" - js-yaml "^4.1.0" - tslib "^2.4.0" + "joi" "^17.6.0" + "js-yaml" "^4.1.0" + "tslib" "^2.4.0" "@docusaurus/utils-validation@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz#8122c394feef3e96c73f6433987837ec206a63fb" - integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== + "integrity" "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==" + "resolved" "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz" + "version" "2.4.3" dependencies: "@docusaurus/logger" "2.4.3" "@docusaurus/utils" "2.4.3" - joi "^17.6.0" - js-yaml "^4.1.0" - tslib "^2.4.0" + "joi" "^17.6.0" + "js-yaml" "^4.1.0" + "tslib" "^2.4.0" "@docusaurus/utils@2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.1.0.tgz#b77b45b22e61eb6c2dcad8a7e96f6db0409b655f" - integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== + "integrity" "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==" + "resolved" "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" + "version" "2.1.0" dependencies: "@docusaurus/logger" "2.1.0" "@svgr/webpack" "^6.2.1" - file-loader "^6.2.0" - fs-extra "^10.1.0" - github-slugger "^1.4.0" - globby "^11.1.0" - gray-matter "^4.0.3" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.4.0" - url-loader "^4.1.1" - webpack "^5.73.0" + "file-loader" "^6.2.0" + "fs-extra" "^10.1.0" + "github-slugger" "^1.4.0" + "globby" "^11.1.0" + "gray-matter" "^4.0.3" + "js-yaml" "^4.1.0" + "lodash" "^4.17.21" + "micromatch" "^4.0.5" + "resolve-pathname" "^3.0.0" + "shelljs" "^0.8.5" + "tslib" "^2.4.0" + "url-loader" "^4.1.1" + "webpack" "^5.73.0" "@docusaurus/utils@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.4.3.tgz#52b000d989380a2125831b84e3a7327bef471e89" - integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== + "integrity" "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==" + "resolved" "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz" + "version" "2.4.3" dependencies: "@docusaurus/logger" "2.4.3" "@svgr/webpack" "^6.2.1" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - fs-extra "^10.1.0" - github-slugger "^1.4.0" - globby "^11.1.0" - gray-matter "^4.0.3" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.4.0" - url-loader "^4.1.1" - webpack "^5.73.0" - -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== + "escape-string-regexp" "^4.0.0" + "file-loader" "^6.2.0" + "fs-extra" "^10.1.0" + "github-slugger" "^1.4.0" + "globby" "^11.1.0" + "gray-matter" "^4.0.3" + "js-yaml" "^4.1.0" + "lodash" "^4.17.21" + "micromatch" "^4.0.5" + "resolve-pathname" "^3.0.0" + "shelljs" "^0.8.5" + "tslib" "^2.4.0" + "url-loader" "^4.1.1" + "webpack" "^5.73.0" + +"@ethersproject/abi@^5.7.0", "@ethersproject/abi@5.7.0": + "integrity" "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==" + "resolved" "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/address" "^5.7.0" "@ethersproject/bignumber" "^5.7.0" @@ -1839,10 +1839,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== +"@ethersproject/abstract-provider@^5.7.0", "@ethersproject/abstract-provider@5.7.0": + "integrity" "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==" + "resolved" "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -1852,10 +1852,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== +"@ethersproject/abstract-signer@^5.7.0", "@ethersproject/abstract-signer@5.7.0": + "integrity" "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==" + "resolved" "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/bignumber" "^5.7.0" @@ -1863,10 +1863,10 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== +"@ethersproject/address@^5.7.0", "@ethersproject/address@5.7.0": + "integrity" "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==" + "resolved" "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -1874,48 +1874,48 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== +"@ethersproject/base64@^5.7.0", "@ethersproject/base64@5.7.0": + "integrity" "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==" + "resolved" "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== +"@ethersproject/basex@^5.7.0", "@ethersproject/basex@5.7.0": + "integrity" "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==" + "resolved" "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== +"@ethersproject/bignumber@^5.7.0", "@ethersproject/bignumber@5.7.0": + "integrity" "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==" + "resolved" "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" + "bn.js" "^5.2.1" -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== +"@ethersproject/bytes@^5.7.0", "@ethersproject/bytes@5.7.0": + "integrity" "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==" + "resolved" "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== +"@ethersproject/constants@^5.7.0", "@ethersproject/constants@5.7.0": + "integrity" "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==" + "resolved" "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== + "integrity" "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==" + "resolved" "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/abstract-provider" "^5.7.0" @@ -1928,10 +1928,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== +"@ethersproject/hash@^5.7.0", "@ethersproject/hash@5.7.0": + "integrity" "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==" + "resolved" "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/address" "^5.7.0" @@ -1943,10 +1943,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== +"@ethersproject/hdnode@^5.7.0", "@ethersproject/hdnode@5.7.0": + "integrity" "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==" + "resolved" "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/basex" "^5.7.0" @@ -1961,10 +1961,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== +"@ethersproject/json-wallets@^5.7.0", "@ethersproject/json-wallets@5.7.0": + "integrity" "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==" + "resolved" "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/address" "^5.7.0" @@ -1977,48 +1977,48 @@ "@ethersproject/random" "^5.7.0" "@ethersproject/strings" "^5.7.0" "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" + "aes-js" "3.0.0" + "scrypt-js" "3.0.1" -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== +"@ethersproject/keccak256@^5.7.0", "@ethersproject/keccak256@5.7.0": + "integrity" "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==" + "resolved" "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" + "js-sha3" "0.8.0" -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== +"@ethersproject/logger@^5.7.0", "@ethersproject/logger@5.7.0": + "integrity" "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" + "resolved" "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" + "version" "5.7.0" -"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== +"@ethersproject/networks@^5.7.0", "@ethersproject/networks@5.7.1": + "integrity" "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==" + "resolved" "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" + "version" "5.7.1" dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== +"@ethersproject/pbkdf2@^5.7.0", "@ethersproject/pbkdf2@5.7.0": + "integrity" "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==" + "resolved" "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== +"@ethersproject/properties@^5.7.0", "@ethersproject/properties@5.7.0": + "integrity" "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==" + "resolved" "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/logger" "^5.7.0" "@ethersproject/providers@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== + "integrity" "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==" + "resolved" "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" + "version" "5.7.2" dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -2038,50 +2038,50 @@ "@ethersproject/strings" "^5.7.0" "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" + "bech32" "1.1.4" + "ws" "7.4.6" -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== +"@ethersproject/random@^5.7.0", "@ethersproject/random@5.7.0": + "integrity" "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==" + "resolved" "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== +"@ethersproject/rlp@^5.7.0", "@ethersproject/rlp@5.7.0": + "integrity" "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==" + "resolved" "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== +"@ethersproject/sha2@^5.7.0", "@ethersproject/sha2@5.7.0": + "integrity" "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==" + "resolved" "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" + "hash.js" "1.1.7" -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== +"@ethersproject/signing-key@^5.7.0", "@ethersproject/signing-key@5.7.0": + "integrity" "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==" + "resolved" "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" + "bn.js" "^5.2.1" + "elliptic" "6.5.4" + "hash.js" "1.1.7" "@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== + "integrity" "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==" + "resolved" "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -2090,19 +2090,19 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== +"@ethersproject/strings@^5.7.0", "@ethersproject/strings@5.7.0": + "integrity" "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==" + "resolved" "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== +"@ethersproject/transactions@^5.7.0", "@ethersproject/transactions@5.7.0": + "integrity" "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==" + "resolved" "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/address" "^5.7.0" "@ethersproject/bignumber" "^5.7.0" @@ -2115,18 +2115,18 @@ "@ethersproject/signing-key" "^5.7.0" "@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== + "integrity" "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==" + "resolved" "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" "@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== + "integrity" "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==" + "resolved" "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -2144,10 +2144,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== +"@ethersproject/web@^5.7.0", "@ethersproject/web@5.7.1": + "integrity" "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==" + "resolved" "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" + "version" "5.7.1" dependencies: "@ethersproject/base64" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -2155,10 +2155,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== +"@ethersproject/wordlists@^5.7.0", "@ethersproject/wordlists@5.7.0": + "integrity" "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==" + "resolved" "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" + "version" "5.7.0" dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/hash" "^5.7.0" @@ -2167,336 +2167,326 @@ "@ethersproject/strings" "^5.7.0" "@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== + "integrity" "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + "resolved" "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + "version" "9.3.0" "@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== + "integrity" "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==" + "resolved" "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + "version" "5.1.0" 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== + "integrity" "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" + "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + "version" "29.6.3" 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== + "integrity" "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + "version" "29.6.3" 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" + "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== + "integrity" "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + "version" "0.3.3" dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" "@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== + "integrity" "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + "version" "3.1.1" "@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== + "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + "version" "1.1.2" "@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== + "integrity" "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==" + "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" + "version" "0.3.5" 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== + "integrity" "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + "version" "1.4.15" "@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== + "integrity" "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==" + "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" + "version" "0.3.20" 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== + "integrity" "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + "resolved" "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + "version" "2.0.4" "@lit-protocol/auth-helpers@3.0.24": - version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz#e72206887b7aaad193de66837538859504705d2d" - integrity sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg== + "integrity" "sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg==" + "resolved" "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz" + "version" "3.0.24" dependencies: - siwe "^2.0.5" - siwe-recap "0.0.2-alpha.0" - tslib "^2.3.0" + "siwe" "^2.0.5" + "siwe-recap" "0.0.2-alpha.0" + "tslib" "^2.3.0" "@lit-protocol/constants@^3.0.24": - version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" - integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== + "integrity" "sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw==" + "resolved" "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz" + "version" "3.0.24" dependencies: "@lit-protocol/auth-helpers" "3.0.24" "@lit-protocol/types" "3.0.24" - ethers "^5.7.1" - jszip "^3.10.1" - siwe "^2.0.5" - siwe-recap "0.0.2-alpha.0" - tslib "^2.3.0" + "ethers" "^5.7.1" + "jszip" "^3.10.1" + "siwe" "^2.0.5" + "siwe-recap" "0.0.2-alpha.0" + "tslib" "^2.3.0" "@lit-protocol/types@3.0.24": - version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.24.tgz#4761fef4a89353e0ec2bb420e6c39019ea1d9234" - integrity sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw== + "integrity" "sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw==" + "resolved" "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz" + "version" "3.0.24" dependencies: "@lit-protocol/auth-helpers" "3.0.24" - ethers "^5.7.1" - jszip "^3.10.1" - siwe "^2.0.5" - siwe-recap "0.0.2-alpha.0" - tslib "^2.3.0" + "ethers" "^5.7.1" + "jszip" "^3.10.1" + "siwe" "^2.0.5" + "siwe-recap" "0.0.2-alpha.0" + "tslib" "^2.3.0" "@mdx-js/mdx@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" - integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== + "integrity" "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==" + "resolved" "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" + "version" "1.6.22" dependencies: "@babel/core" "7.12.9" "@babel/plugin-syntax-jsx" "7.12.1" "@babel/plugin-syntax-object-rest-spread" "7.8.3" "@mdx-js/util" "1.6.22" - babel-plugin-apply-mdx-type-prop "1.6.22" - babel-plugin-extract-import-names "1.6.22" - camelcase-css "2.0.1" - detab "2.0.4" - hast-util-raw "6.0.1" - lodash.uniq "4.5.0" - mdast-util-to-hast "10.0.1" - remark-footnotes "2.0.0" - remark-mdx "1.6.22" - remark-parse "8.0.3" - remark-squeeze-paragraphs "4.0.0" - style-to-object "0.3.0" - unified "9.2.0" - unist-builder "2.0.3" - unist-util-visit "2.0.3" + "babel-plugin-apply-mdx-type-prop" "1.6.22" + "babel-plugin-extract-import-names" "1.6.22" + "camelcase-css" "2.0.1" + "detab" "2.0.4" + "hast-util-raw" "6.0.1" + "lodash.uniq" "4.5.0" + "mdast-util-to-hast" "10.0.1" + "remark-footnotes" "2.0.0" + "remark-mdx" "1.6.22" + "remark-parse" "8.0.3" + "remark-squeeze-paragraphs" "4.0.0" + "style-to-object" "0.3.0" + "unified" "9.2.0" + "unist-builder" "2.0.3" + "unist-util-visit" "2.0.3" "@mdx-js/react@^1.6.21", "@mdx-js/react@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" - integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== + "integrity" "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" + "resolved" "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" + "version" "1.6.22" "@mdx-js/util@1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" - integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== + "integrity" "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" + "resolved" "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" + "version" "1.6.22" "@noble/hashes@^1.1.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "integrity" "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" + "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" + "version" "1.3.2" "@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== + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" + "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.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@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== + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@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== + "integrity" "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" + "resolved" "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz" + "version" "1.0.0-next.23" "@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== + "integrity" "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==" + "resolved" "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" + "version" "4.1.4" 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== + "integrity" "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + "resolved" "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + "version" "3.0.1" "@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== + "integrity" "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + "resolved" "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + "version" "2.0.0" "@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== + "integrity" "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + "version" "0.27.8" "@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + "version" "0.14.0" "@slorber/static-site-generator-webpack-plugin@^4.0.7": - version "4.0.7" - resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz#fc1678bddefab014e2145cbe25b3ce4e1cfc36f3" - integrity sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA== + "integrity" "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==" + "resolved" "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz" + "version" "4.0.7" dependencies: - eval "^0.1.8" - p-map "^4.0.0" - webpack-sources "^3.2.2" + "eval" "^0.1.8" + "p-map" "^4.0.0" + "webpack-sources" "^3.2.2" "@spruceid/siwe-parser@*": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz#964dbe9e5611fe95d39e21aa96e67407f610374f" - integrity sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA== + "integrity" "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==" + "resolved" "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz" + "version" "2.0.2" dependencies: "@noble/hashes" "^1.1.2" - apg-js "^4.1.1" - uri-js "^4.4.1" - valid-url "^1.0.9" + "apg-js" "^4.1.1" + "uri-js" "^4.4.1" + "valid-url" "^1.0.9" "@stablelib/binary@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" - integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + "integrity" "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==" + "resolved" "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" + "version" "1.0.1" dependencies: "@stablelib/int" "^1.0.1" "@stablelib/int@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" - integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + "integrity" "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + "resolved" "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" + "version" "1.0.1" "@stablelib/random@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" - integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + "integrity" "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==" + "resolved" "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz" + "version" "1.0.2" dependencies: "@stablelib/binary" "^1.0.1" "@stablelib/wipe" "^1.0.1" "@stablelib/wipe@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" - integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + "integrity" "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + "resolved" "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" + "version" "1.0.1" "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== + "integrity" "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-add-jsx-attribute@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba" - integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== - -"@svgr/babel-plugin-remove-jsx-attribute@*": - 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-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== - -"@svgr/babel-plugin-remove-jsx-empty-expression@*": - 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-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== + "integrity" "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" + "version" "6.5.1" + +"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + "integrity" "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" + "version" "5.4.0" + +"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + "integrity" "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" + "version" "5.0.1" "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== + "integrity" "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" + "version" "5.0.1" "@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60" - integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + "integrity" "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + "version" "6.5.1" "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== + "integrity" "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-svg-dynamic-title@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4" - integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== + "integrity" "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + "version" "6.5.1" "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== + "integrity" "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-svg-em-dimensions@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217" - integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + "integrity" "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + "version" "6.5.1" "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== + "integrity" "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" + "version" "5.4.0" "@svgr/babel-plugin-transform-react-native-svg@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305" - integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + "integrity" "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + "version" "6.5.1" "@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== + "integrity" "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" + "version" "5.5.0" "@svgr/babel-plugin-transform-svg-component@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250" - integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + "integrity" "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==" + "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + "version" "6.5.1" "@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + "integrity" "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==" + "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" + "version" "5.5.0" dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" @@ -2508,9 +2498,9 @@ "@svgr/babel-plugin-transform-svg-component" "^5.5.0" "@svgr/babel-preset@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828" - integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + "integrity" "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==" + "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + "version" "6.5.1" dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" "@svgr/babel-plugin-remove-jsx-attribute" "*" @@ -2521,83 +2511,83 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - -"@svgr/core@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" - integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== +"@svgr/core@*", "@svgr/core@^6.0.0", "@svgr/core@^6.5.1": + "integrity" "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==" + "resolved" "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + "version" "6.5.1" dependencies: "@babel/core" "^7.19.6" "@svgr/babel-preset" "^6.5.1" "@svgr/plugin-jsx" "^6.5.1" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" + "camelcase" "^6.2.0" + "cosmiconfig" "^7.0.1" + +"@svgr/core@^5.5.0": + "integrity" "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==" + "resolved" "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + "camelcase" "^6.2.0" + "cosmiconfig" "^7.0.0" "@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== + "integrity" "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==" + "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" + "version" "5.5.0" dependencies: "@babel/types" "^7.12.6" "@svgr/hast-util-to-babel-ast@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2" - integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== + "integrity" "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==" + "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + "version" "6.5.1" dependencies: "@babel/types" "^7.20.0" - entities "^4.4.0" + "entities" "^4.4.0" "@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + "integrity" "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==" + "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" + "version" "5.5.0" dependencies: "@babel/core" "^7.12.3" "@svgr/babel-preset" "^5.5.0" "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" + "svg-parser" "^2.0.2" "@svgr/plugin-jsx@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072" - integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== + "integrity" "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==" + "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + "version" "6.5.1" dependencies: "@babel/core" "^7.19.6" "@svgr/babel-preset" "^6.5.1" "@svgr/hast-util-to-babel-ast" "^6.5.1" - svg-parser "^2.0.4" + "svg-parser" "^2.0.4" "@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + "integrity" "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==" + "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" + "version" "5.5.0" dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" + "cosmiconfig" "^7.0.0" + "deepmerge" "^4.2.2" + "svgo" "^1.2.2" "@svgr/plugin-svgo@^6.5.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84" - integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== + "integrity" "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==" + "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" + "version" "6.5.1" dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" + "cosmiconfig" "^7.0.1" + "deepmerge" "^4.2.2" + "svgo" "^2.8.0" "@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + "integrity" "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==" + "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" + "version" "5.5.0" dependencies: "@babel/core" "^7.12.3" "@babel/plugin-transform-react-constant-elements" "^7.12.1" @@ -2606,12 +2596,12 @@ "@svgr/core" "^5.5.0" "@svgr/plugin-jsx" "^5.5.0" "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" + "loader-utils" "^2.0.0" "@svgr/webpack@^6.2.1": - version "6.5.1" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.5.1.tgz#ecf027814fc1cb2decc29dc92f39c3cf691e40e8" - integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== + "integrity" "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==" + "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" + "version" "6.5.1" dependencies: "@babel/core" "^7.19.6" "@babel/plugin-transform-react-constant-elements" "^7.18.12" @@ -2623,72 +2613,72 @@ "@svgr/plugin-svgo" "^6.5.1" "@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" + "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + "version" "1.1.2" dependencies: - defer-to-connect "^1.0.1" + "defer-to-connect" "^1.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== + "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + "version" "0.2.0" "@types/body-parser@*": - version "1.19.4" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.4.tgz#78ad68f1f79eb851aa3634db0c7f57f6f601b462" - integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== + "integrity" "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==" + "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz" + "version" "1.19.4" dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.12.tgz#49badafb988e6c433ca675a5fd769b93b7649fc8" - integrity sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg== + "integrity" "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==" + "resolved" "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz" + "version" "3.5.12" dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz#acf51e088b3bb6507f7b093bd2b0de20940179cc" - integrity sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q== + "integrity" "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==" + "resolved" "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz" + "version" "1.5.2" dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - version "3.4.37" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.37.tgz#c66a96689fd3127c8772eb3e9e5c6028ec1a9af5" - integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== + "integrity" "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==" + "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz" + "version" "3.4.37" dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": - version "3.7.6" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.6.tgz#585578b368ed170e67de8aae7b93f54a1b2fdc26" - integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== + "integrity" "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==" + "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz" + "version" "3.7.6" dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.44.6" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.6.tgz#60e564551966dd255f4c01c459f0b4fb87068603" - integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== + "integrity" "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==" + "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz" + "version" "8.44.6" dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" - integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== + "integrity" "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz" + "version" "1.0.3" "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.39" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz#2107afc0a4b035e6cb00accac3bdf2d76ae408c8" - integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== + "integrity" "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==" + "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz" + "version" "4.17.39" dependencies: "@types/node" "*" "@types/qs" "*" @@ -2696,9 +2686,9 @@ "@types/send" "*" "@types/express@*", "@types/express@^4.17.13": - version "4.17.20" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.20.tgz#e7c9b40276d29e38a4e3564d7a3d65911e2aa433" - integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== + "integrity" "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==" + "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz" + "version" "4.17.20" dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -2706,272 +2696,267 @@ "@types/serve-static" "*" "@types/hast@^2.0.0": - version "2.3.7" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.7.tgz#5e9bd7ab4452d5313aeec9d38fbc193a70f8d810" - integrity sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw== + "integrity" "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==" + "resolved" "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz" + "version" "2.3.7" dependencies: "@types/unist" "^2" "@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== + "integrity" "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + "resolved" "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" + "version" "4.7.11" "@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== + "integrity" "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "version" "6.1.0" "@types/http-errors@*": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.3.tgz#c54e61f79b3947d040f150abd58f71efb422ff62" - integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== + "integrity" "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + "resolved" "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz" + "version" "2.0.3" "@types/http-proxy@^1.17.8": - version "1.17.13" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.13.tgz#dd3a4da550580eb0557d4c7128a2ff1d1a38d465" - integrity sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw== + "integrity" "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==" + "resolved" "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz" + "version" "1.17.13" dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#fdfdd69fa16d530047d9963635bd77c71a08c068" - integrity sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ== + "integrity" "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" + "version" "2.0.5" "@types/istanbul-lib-report@*": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz#394798d5f727402eb5ec99eb9618ffcd2b7645a1" - integrity sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w== + "integrity" "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz" + "version" "3.0.2" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz#0313e2608e6d6955d195f55361ddeebd4b74c6e7" - integrity sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg== + "integrity" "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz" + "version" "3.0.3" 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.14" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" - integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== + "integrity" "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" + "version" "7.0.14" "@types/mdast@^3.0.0": - version "3.0.14" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.14.tgz#0735473a5b35be032b9f2685b7413cbab1b8a639" - integrity sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw== + "integrity" "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==" + "resolved" "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz" + "version" "3.0.14" dependencies: "@types/unist" "^2" -"@types/mime@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.3.tgz#886674659ce55fe7c6c06ec5ca7c0eb276a08f91" - integrity sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ== - -"@types/mime@^1": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.4.tgz#a4ed836e069491414bab92c31fdea9e557aca0d9" - integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== +"@types/mime@*", "@types/mime@^1": + "integrity" "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz" + "version" "1.3.4" "@types/node-forge@^1.3.0": - version "1.3.8" - resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.8.tgz#044ad98354ff309a031a55a40ad122f3be1ac2bb" - integrity sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg== + "integrity" "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==" + "resolved" "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz" + "version" "1.3.8" dependencies: "@types/node" "*" "@types/node@*": - version "20.8.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" - integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== + "integrity" "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz" + "version" "20.8.9" dependencies: - undici-types "~5.26.4" + "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== + "integrity" "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + "version" "17.0.45" "@types/parse-json@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.1.tgz#27f7559836ad796cea31acb63163b203756a5b4e" - integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== + "integrity" "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" + "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz" + "version" "4.0.1" "@types/parse5@^5.0.0": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" - integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== + "integrity" "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + "resolved" "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" + "version" "5.0.3" "@types/prop-types@*": - version "15.7.9" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.9.tgz#b6f785caa7ea1fe4414d9df42ee0ab67f23d8a6d" - integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== + "integrity" "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" + "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" + "version" "15.7.9" "@types/q@^1.5.1": - version "1.5.7" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.7.tgz#5fe8cf91556bfb310d17f2e2b4263a7c12c2c2ca" - integrity sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA== + "integrity" "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" + "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz" + "version" "1.5.7" "@types/qs@*": - version "6.9.9" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.9.tgz#66f7b26288f6799d279edf13da7ccd40d2fa9197" - integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== + "integrity" "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz" + "version" "6.9.9" "@types/range-parser@*": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.6.tgz#7cb33992049fd7340d5b10c0098e104184dfcd2a" - integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== + "integrity" "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz" + "version" "1.2.6" "@types/react-router-config@*", "@types/react-router-config@^5.0.6": - version "5.0.9" - resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.9.tgz#8dad16c6b887d08efaa6d9da83e40db629ac21b6" - integrity sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg== + "integrity" "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==" + "resolved" "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz" + "version" "5.0.9" 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== + "integrity" "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==" + "resolved" "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + "version" "5.3.3" 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== + "integrity" "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==" + "resolved" "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" + "version" "5.1.20" dependencies: "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*": - version "18.2.33" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.33.tgz#055356243dc4350a9ee6c6a2c07c5cae12e38877" - integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== +"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0": + "integrity" "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==" + "resolved" "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" + "version" "18.2.33" dependencies: "@types/prop-types" "*" "@types/scheduler" "*" - csstype "^3.0.2" + "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== + "integrity" "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "resolved" "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + "version" "0.12.0" "@types/sax@^1.2.1": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.6.tgz#6e563455034014db5ab9e24a929404cf9b43adc3" - integrity sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ== + "integrity" "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==" + "resolved" "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz" + "version" "1.2.6" dependencies: "@types/node" "*" "@types/scheduler@*": - version "0.16.5" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.5.tgz#4751153abbf8d6199babb345a52e1eb4167d64af" - integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== + "integrity" "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" + "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz" + "version" "0.16.5" "@types/send@*": - version "0.17.3" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.3.tgz#81b2ea5a3a18aad357405af2d643ccbe5a09020b" - integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== + "integrity" "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==" + "resolved" "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz" + "version" "0.17.3" dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-index@^1.9.1": - version "1.9.3" - resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.3.tgz#af9403916eb6fbf7d6ec6f47b2a4c46eb3222cc9" - integrity sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg== + "integrity" "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==" + "resolved" "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz" + "version" "1.9.3" dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.4" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.4.tgz#44b5895a68ca637f06c229119e1c774ca88f81b2" - integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== + "integrity" "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==" + "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz" + "version" "1.15.4" dependencies: "@types/http-errors" "*" "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - version "0.3.35" - resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.35.tgz#f4a568c73d2a8071944bd6ffdca0d4e66810cd21" - integrity sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw== + "integrity" "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==" + "resolved" "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz" + "version" "0.3.35" dependencies: "@types/node" "*" "@types/unist@^2", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.9" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.9.tgz#72e164381659a49557b0a078b28308f2c6a3e1ce" - integrity sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ== + "integrity" "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" + "resolved" "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz" + "version" "2.0.9" "@types/ws@^8.5.5": - version "8.5.8" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.8.tgz#13efec7bd439d0bdf2af93030804a94f163b1430" - integrity sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg== + "integrity" "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==" + "resolved" "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz" + "version" "8.5.8" dependencies: "@types/node" "*" "@types/yargs-parser@*": - version "21.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.2.tgz#7bd04c5da378496ef1695a1008bf8f71847a8b8b" - integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== + "integrity" "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz" + "version" "21.0.2" "@types/yargs@^17.0.8": - version "17.0.29" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.29.tgz#06aabc72497b798c643c812a8b561537fea760cf" - integrity sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA== + "integrity" "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz" + "version" "17.0.29" dependencies: "@types/yargs-parser" "*" -"@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== +"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": + "integrity" "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + "version" "1.11.6" 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== + "integrity" "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + "version" "1.11.6" "@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== + "integrity" "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + "version" "1.11.6" "@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== + "integrity" "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + "version" "1.11.6" "@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== + "integrity" "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + "version" "1.11.6" dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.6" "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.6": - 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== + "integrity" "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + "version" "1.11.6" "@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== + "integrity" "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + "version" "1.11.6" dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -2979,28 +2964,28 @@ "@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== + "integrity" "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + "version" "1.11.6" 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== + "integrity" "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + "version" "1.11.6" 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== + "integrity" "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + "version" "1.11.6" "@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== + "integrity" "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + "version" "1.11.6" dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -3012,9 +2997,9 @@ "@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== + "integrity" "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + "version" "1.11.6" dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" @@ -3023,19 +3008,19 @@ "@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== + "integrity" "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + "version" "1.11.6" 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== +"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": + "integrity" "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + "version" "1.11.6" dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-api-error" "1.11.6" @@ -3045,114 +3030,124 @@ "@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== + "integrity" "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + "version" "1.11.6" 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== + "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "version" "1.2.0" "@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-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.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== - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -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.4, 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.10.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz#d680783329920a3619a74504dccb97a4fb943443" - integrity sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA== + "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + "version" "4.2.2" + +"accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.8": + "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" + "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" + "version" "1.3.8" + dependencies: + "mime-types" "~2.1.34" + "negotiator" "0.6.3" + +"acorn-import-assertions@^1.9.0": + "integrity" "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==" + "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + "version" "1.9.0" + +"acorn-walk@^8.0.0": + "integrity" "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" + "version" "8.3.0" + +"acorn@^8", "acorn@^8.0.4", "acorn@^8.7.1", "acorn@^8.8.2": + "integrity" "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" + "version" "8.11.2" + +"address@^1.0.1", "address@^1.1.2": + "integrity" "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" + "resolved" "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + "version" "1.2.2" + +"aes-js@3.0.0": + "integrity" "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + "resolved" "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" + "version" "3.0.0" + +"aggregate-error@^3.0.0": + "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" + "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "clean-stack" "^2.0.0" + "indent-string" "^4.0.0" + +"ajv-formats@^2.1.1": + "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" + "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ajv" "^8.0.0" + +"ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": + "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "version" "3.5.2" + +"ajv-keywords@^5.1.0": + "integrity" "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "fast-deep-equal" "^3.1.3" + +"ajv@^6.12.2", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + 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": + "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + "version" "8.12.0" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"ajv@^8.8.2", "ajv@^8.9.0": + "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + "version" "8.12.0" + 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.10.0": + "integrity" "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==" + "resolved" "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz" + "version" "3.15.0" dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.13.1, 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== +"algoliasearch@^4.13.1", "algoliasearch@^4.19.1", "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": + "integrity" "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==" + "resolved" "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz" + "version" "4.20.0" dependencies: "@algolia/cache-browser-local-storage" "4.20.0" "@algolia/cache-common" "4.20.0" @@ -3169,1502 +3164,1533 @@ algoliasearch@^4.13.1, algoliasearch@^4.19.1: "@algolia/requester-node-http" "4.20.0" "@algolia/transporter" "4.20.0" -ansi-align@^3.0.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.0.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" - -apg-js@^4.1.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.2.1.tgz#cae595e8300fa4c5bc7ef755da9ac4289b70a62c" - integrity sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA== - -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-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - -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== - -array.prototype.reduce@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5" - integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - -arraybuffer.prototype.slice@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" - integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - get-intrinsic "^1.2.1" - is-array-buffer "^3.0.2" - is-shared-array-buffer "^1.0.2" - -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -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.12, autoprefixer@^10.4.7: - 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" - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -axios@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" - integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== - dependencies: - follow-redirects "^1.14.7" - -babel-loader@^8.2.5: - version "8.3.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-apply-mdx-type-prop@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" - integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== +"ansi-align@^3.0.0", "ansi-align@^3.0.1": + "integrity" "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==" + "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "string-width" "^4.1.0" + +"ansi-html-community@^0.0.8": + "integrity" "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" + "resolved" "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + "version" "0.0.8" + +"ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-regex@^6.0.1": + "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + "version" "6.0.1" + +"ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"ansi-styles@^6.1.0": + "integrity" "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + "version" "6.2.1" + +"anymatch@~3.1.2": + "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"apg-js@^4.1.1": + "integrity" "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" + "resolved" "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz" + "version" "4.2.1" + +"arg@^5.0.0": + "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + "version" "5.0.2" + +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"argparse@^2.0.1": + "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + "version" "2.0.1" + +"array-buffer-byte-length@^1.0.0": + "integrity" "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==" + "resolved" "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "is-array-buffer" "^3.0.1" + +"array-flatten@^2.1.2": + "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + "version" "2.1.2" + +"array-flatten@1.1.1": + "integrity" "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + "version" "1.1.1" + +"array-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + +"array.prototype.reduce@^1.0.6": + "integrity" "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==" + "resolved" "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + "es-array-method-boxes-properly" "^1.0.0" + "is-string" "^1.0.7" + +"arraybuffer.prototype.slice@^1.0.2": + "integrity" "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==" + "resolved" "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "array-buffer-byte-length" "^1.0.0" + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + "get-intrinsic" "^1.2.1" + "is-array-buffer" "^3.0.2" + "is-shared-array-buffer" "^1.0.2" + +"asap@~2.0.3": + "integrity" "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + "version" "2.0.6" + +"at-least-node@^1.0.0": + "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + "version" "1.0.0" + +"autoprefixer@^10.4.12", "autoprefixer@^10.4.7": + "integrity" "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==" + "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz" + "version" "10.4.16" + 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" + +"available-typed-arrays@^1.0.5": + "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + "version" "1.0.5" + +"axios@^0.25.0": + "integrity" "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==" + "resolved" "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" + "version" "0.25.0" + dependencies: + "follow-redirects" "^1.14.7" + +"babel-loader@^8.2.5": + "integrity" "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==" + "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + "version" "8.3.0" + dependencies: + "find-cache-dir" "^3.3.1" + "loader-utils" "^2.0.0" + "make-dir" "^3.1.0" + "schema-utils" "^2.6.5" + +"babel-plugin-apply-mdx-type-prop@1.6.22": + "integrity" "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" + "version" "1.6.22" dependencies: "@babel/helper-plugin-utils" "7.10.4" "@mdx-js/util" "1.6.22" -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== +"babel-plugin-dynamic-import-node@^2.3.3": + "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + "version" "2.3.3" dependencies: - object.assign "^4.1.0" + "object.assign" "^4.1.0" -babel-plugin-extract-import-names@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" - integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== +"babel-plugin-extract-import-names@1.6.22": + "integrity" "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" + "version" "1.6.22" dependencies: "@babel/helper-plugin-utils" "7.10.4" -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== +"babel-plugin-polyfill-corejs2@^0.4.6": + "integrity" "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz" + "version" "0.4.6" dependencies: "@babel/compat-data" "^7.22.6" "@babel/helper-define-polyfill-provider" "^0.4.3" - semver "^6.3.1" + "semver" "^6.3.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== +"babel-plugin-polyfill-corejs3@^0.8.5": + "integrity" "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz" + "version" "0.8.6" dependencies: "@babel/helper-define-polyfill-provider" "^0.4.3" - core-js-compat "^3.33.1" + "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== +"babel-plugin-polyfill-regenerator@^0.5.3": + "integrity" "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz" + "version" "0.5.3" dependencies: "@babel/helper-define-polyfill-provider" "^0.4.3" -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - -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== - -base16@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" - integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== - -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== - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -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== - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -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, 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@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -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" - -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" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, 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" - -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-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - -call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: - 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-css@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -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.30001554" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz#ba80d88dff9acbc0cd4b7535fc30e0191c5e2e2a" - integrity sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ== - -canonicalize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-2.0.0.tgz#32be2cef4446d67fd5348027a384cae28f17226a" - integrity sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w== - -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== - -chalk@^2.4.1, 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" - -character-entities-legacy@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" - integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== - -character-entities@^1.0.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" - integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== - -character-reference-invalid@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" - integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== - -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" +"bail@^1.0.0": + "integrity" "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + "resolved" "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + "version" "1.0.5" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"base16@^1.0.0": + "integrity" "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + "resolved" "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + "version" "1.0.0" + +"batch@0.6.1": + "integrity" "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + "version" "0.6.1" + +"bech32@1.1.4": + "integrity" "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + "resolved" "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" + "version" "1.1.4" + +"big.js@^5.2.2": + "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + "version" "5.2.2" + +"binary-extensions@^2.0.0": + "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + "version" "2.2.0" + +"bn.js@^4.11.9": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^5.2.1": + "integrity" "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" + "version" "5.2.1" + +"body-parser@1.20.1": + "integrity" "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==" + "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + "version" "1.20.1" + 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": + "integrity" "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==" + "resolved" "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" + "version" "1.1.1" + 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", "boolbase@~1.0.0": + "integrity" "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + "version" "1.0.0" + +"boxen@^5.0.0": + "integrity" "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "ansi-align" "^3.0.0" + "camelcase" "^6.2.0" + "chalk" "^4.1.0" + "cli-boxes" "^2.2.1" + "string-width" "^4.2.2" + "type-fest" "^0.20.2" + "widest-line" "^3.1.0" + "wrap-ansi" "^7.0.0" + +"boxen@^6.2.1": + "integrity" "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==" + "resolved" "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" + "version" "6.2.1" + 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" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"braces@^3.0.2", "braces@~3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"brorand@^1.1.0": + "integrity" "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + "version" "1.1.0" + +"browserslist@^4.0.0", "browserslist@^4.14.5", "browserslist@^4.18.1", "browserslist@^4.21.10", "browserslist@^4.21.4", "browserslist@^4.21.9", "browserslist@^4.22.1", "browserslist@>= 4.21.0": + "integrity" "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" + "version" "4.22.1" + dependencies: + "caniuse-lite" "^1.0.30001541" + "electron-to-chromium" "^1.4.535" + "node-releases" "^2.0.13" + "update-browserslist-db" "^1.0.13" + +"buffer-from@^1.0.0": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"bytes@3.0.0": + "integrity" "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + "version" "3.0.0" + +"bytes@3.1.2": + "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + "version" "3.1.2" + +"cacheable-request@^6.0.0": + "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" + "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "clone-response" "^1.0.2" + "get-stream" "^5.1.0" + "http-cache-semantics" "^4.0.0" + "keyv" "^3.0.0" + "lowercase-keys" "^2.0.0" + "normalize-url" "^4.1.0" + "responselike" "^1.0.2" + +"call-bind@^1.0.0", "call-bind@^1.0.2", "call-bind@^1.0.4", "call-bind@^1.0.5": + "integrity" "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==" + "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "function-bind" "^1.1.2" + "get-intrinsic" "^1.2.1" + "set-function-length" "^1.1.1" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camel-case@^4.1.2": + "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" + "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "pascal-case" "^3.1.2" + "tslib" "^2.0.3" + +"camelcase-css@2.0.1": + "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + "version" "2.0.1" + +"camelcase@^6.2.0": + "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + "version" "6.3.0" + +"caniuse-api@^3.0.0": + "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" + "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + "version" "3.0.0" + 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": + "integrity" "sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz" + "version" "1.0.30001554" + +"canonicalize@^2.0.0": + "integrity" "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + "resolved" "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz" + "version" "2.0.0" + +"ccount@^1.0.0": + "integrity" "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" + "resolved" "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + "version" "1.1.0" + +"chalk@^2.4.1", "chalk@^2.4.2": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^4.0.0": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.1.0": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.1.2": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"character-entities-legacy@^1.0.0": + "integrity" "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + "resolved" "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" + "version" "1.1.4" + +"character-entities@^1.0.0": + "integrity" "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + "resolved" "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" + "version" "1.2.4" + +"character-reference-invalid@^1.0.0": + "integrity" "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + "resolved" "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" + "version" "1.1.4" + +"cheerio-select@^2.1.0": + "integrity" "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==" + "resolved" "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "boolbase" "^1.0.0" + "css-select" "^5.1.0" + "css-what" "^6.1.0" + "domelementtype" "^2.3.0" + "domhandler" "^5.0.3" + "domutils" "^3.0.1" + +"cheerio@^1.0.0-rc.12": + "integrity" "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==" + "resolved" "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + "version" "1.0.0-rc.12" + 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": + "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + "version" "3.5.3" + 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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -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.0: - 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@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - -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.2: - 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" + "fsevents" "~2.3.2" + +"chrome-trace-event@^1.0.2": + "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + "version" "1.0.3" + +"ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + +"ci-info@^3.2.0": + "integrity" "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + "version" "3.9.0" + +"clean-css@^5.2.2", "clean-css@^5.3.0": + "integrity" "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==" + "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" + "version" "5.3.2" + dependencies: + "source-map" "~0.6.0" + +"clean-stack@^2.0.0": + "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + "version" "2.2.0" + +"cli-boxes@^2.2.1": + "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" + "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + "version" "2.2.1" + +"cli-boxes@^3.0.0": + "integrity" "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" + "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + "version" "3.0.0" + +"cli-table3@^0.6.2": + "integrity" "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==" + "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + "version" "0.6.3" + 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== +"clone-deep@^4.0.1": + "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" + "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + "version" "4.0.1" dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" + "is-plain-object" "^2.0.4" + "kind-of" "^6.0.2" + "shallow-clone" "^3.0.0" -clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== +"clone-response@^1.0.2": + "integrity" "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==" + "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + "version" "1.0.3" dependencies: - mimic-response "^1.0.0" + "mimic-response" "^1.0.0" -clsx@^1.1.1, clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== +"clsx@^1.1.1", "clsx@^1.2.1": + "integrity" "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + "version" "1.2.1" -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== +"coa@^2.0.2": + "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" + "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + "version" "2.0.2" dependencies: "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -collapse-white-space@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== - -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.1: - 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@^1.0.0: - version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" - integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== - -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== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -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== - -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - -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@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -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.0.1: - 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.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.1.tgz#debe80464107d75419e00c2ee29f35982118ff84" - integrity sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ== - dependencies: - browserslist "^4.22.1" - -core-js-pure@^3.30.2: - version "3.33.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.1.tgz#7f27dd239da8eb97dbea30120071be8e5565cb0e" - integrity sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ== - -core-js@^3.23.3: - version "3.33.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.1.tgz#ef3766cfa382482d0a2c2bc5cb52c6d88805da52" - integrity sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q== - -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== + "chalk" "^2.4.1" + "q" "^1.1.2" + +"collapse-white-space@^1.0.2": + "integrity" "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + "resolved" "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" + "version" "1.0.6" + +"color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"colord@^2.9.1": + "integrity" "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "resolved" "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + "version" "2.9.3" + +"colorette@^2.0.10": + "integrity" "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + "version" "2.0.20" + +"combine-promises@^1.1.0": + "integrity" "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==" + "resolved" "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" + "version" "1.2.0" + +"comma-separated-tokens@^1.0.0": + "integrity" "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + "resolved" "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" + "version" "1.0.8" + +"commander@^2.20.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^5.1.0": + "integrity" "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + "resolved" "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + "version" "5.1.0" + +"commander@^7.2.0": + "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + "version" "7.2.0" + +"commander@^8.3.0": + "integrity" "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" + "resolved" "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + "version" "8.3.0" + +"commondir@^1.0.1": + "integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + "version" "1.0.1" + +"compressible@~2.0.16": + "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" + "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + "version" "2.0.18" + dependencies: + "mime-db" ">= 1.43.0 < 2" + +"compression@^1.7.4": + "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" + "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + "version" "1.7.4" + 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": + "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"configstore@^5.0.1": + "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" + "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "dot-prop" "^5.2.0" + "graceful-fs" "^4.1.2" + "make-dir" "^3.0.0" + "unique-string" "^2.0.0" + "write-file-atomic" "^3.0.0" + "xdg-basedir" "^4.0.0" + +"connect-history-api-fallback@^2.0.0": + "integrity" "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" + "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + "version" "2.0.0" + +"consola@^2.15.3": + "integrity" "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + "resolved" "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + "version" "2.15.3" + +"content-disposition@0.5.2": + "integrity" "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + "version" "0.5.2" + +"content-disposition@0.5.4": + "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" + "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + "version" "0.5.4" + dependencies: + "safe-buffer" "5.2.1" + +"content-type@~1.0.4": + "integrity" "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" + "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + "version" "1.0.5" + +"convert-source-map@^1.7.0": + "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + "version" "1.9.0" + +"convert-source-map@^2.0.0": + "integrity" "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + "version" "2.0.0" + +"cookie-signature@1.0.6": + "integrity" "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + "version" "1.0.6" + +"cookie@0.5.0": + "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" + "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + "version" "0.5.0" + +"copy-text-to-clipboard@^3.0.1": + "integrity" "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==" + "resolved" "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" + "version" "3.2.0" + +"copy-webpack-plugin@^11.0.0": + "integrity" "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==" + "resolved" "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + "version" "11.0.0" + 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": + "integrity" "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==" + "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz" + "version" "3.33.1" + dependencies: + "browserslist" "^4.22.1" + +"core-js-pure@^3.30.2": + "integrity" "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==" + "resolved" "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz" + "version" "3.33.1" + +"core-js@^3.23.3": + "integrity" "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==" + "resolved" "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz" + "version" "3.33.1" + +"core-util-is@~1.0.0": + "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + "version" "1.0.3" + +"cosmiconfig@^6.0.0": + "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + "version" "6.0.0" 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" + "import-fresh" "^3.1.0" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.7.2" -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" - integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== +"cosmiconfig@^7.0.0", "cosmiconfig@^7.0.1": + "integrity" "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + "version" "7.1.0" dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -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-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== - dependencies: - node-fetch "^2.6.12" - -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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-declaration-sorter@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" - integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== - -css-loader@^6.7.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@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz#79f6199eb5adf1ff7ba57f105e3752d15211eb35" - integrity sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA== - dependencies: - cssnano "^5.1.8" - jest-worker "^29.1.2" - postcss "^8.4.17" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -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@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -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@^5.3.8: - version "5.3.10" - resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz#25558a1fbf3a871fb6429ce71e41be7f5aca6eef" - integrity sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ== - dependencies: - autoprefixer "^10.4.12" - cssnano-preset-default "^5.2.14" - postcss-discard-unused "^5.1.0" - postcss-merge-idents "^5.1.1" - postcss-reduce-idents "^5.2.0" - postcss-zindex "^5.1.0" - -cssnano-preset-default@^5.2.14: - version "5.2.14" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" - integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.1" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.4" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.2" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.1.12, cssnano@^5.1.8: - version "5.1.15" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" - integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== - dependencies: - cssnano-preset-default "^5.2.14" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -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== - -data-uri-to-buffer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" - integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== - -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.1.0, debug@^4.1.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" - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.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: - 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@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -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.3, define-properties@^1.1.4, define-properties@^1.2.0: - 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== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detab@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" - integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== - dependencies: - repeat-string "^1.5.4" - -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.3.0: - 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" - -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== + "import-fresh" "^3.2.1" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.10.0" + +"cosmiconfig@^8.2.0": + "integrity" "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + "version" "8.3.6" + dependencies: + "import-fresh" "^3.3.0" + "js-yaml" "^4.1.0" + "parse-json" "^5.2.0" + "path-type" "^4.0.0" + +"cross-fetch@^3.1.5": + "integrity" "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==" + "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" + "version" "3.1.8" + dependencies: + "node-fetch" "^2.6.12" + +"cross-spawn@^7.0.3": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"crypto-random-string@^2.0.0": + "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + "version" "2.0.0" + +"css-declaration-sorter@^6.3.1": + "integrity" "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==" + "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz" + "version" "6.4.1" + +"css-loader@^6.7.1": + "integrity" "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==" + "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz" + "version" "6.8.1" + 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@^4.0.0": + "integrity" "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==" + "resolved" "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "cssnano" "^5.1.8" + "jest-worker" "^29.1.2" + "postcss" "^8.4.17" + "schema-utils" "^4.0.0" + "serialize-javascript" "^6.0.0" + "source-map" "^0.6.1" + +"css-select-base-adapter@^0.1.1": + "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + "version" "0.1.1" + +"css-select@^2.0.0": + "integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^3.2.1" + "domutils" "^1.7.0" + "nth-check" "^1.0.2" + +"css-select@^4.1.3": + "integrity" "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + "version" "4.3.0" + 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": + "integrity" "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + "version" "5.1.0" + 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@^1.1.2": + "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "mdn-data" "2.0.14" + "source-map" "^0.6.1" + +"css-tree@^1.1.3": + "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "mdn-data" "2.0.14" + "source-map" "^0.6.1" + +"css-tree@1.0.0-alpha.37": + "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + "version" "1.0.0-alpha.37" + dependencies: + "mdn-data" "2.0.4" + "source-map" "^0.6.1" + +"css-what@^3.2.1": + "integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + "version" "3.4.2" + +"css-what@^6.0.1", "css-what@^6.1.0": + "integrity" "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + "version" "6.1.0" + +"cssesc@^3.0.0": + "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + "version" "3.0.0" + +"cssnano-preset-advanced@^5.3.8": + "integrity" "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==" + "resolved" "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz" + "version" "5.3.10" + dependencies: + "autoprefixer" "^10.4.12" + "cssnano-preset-default" "^5.2.14" + "postcss-discard-unused" "^5.1.0" + "postcss-merge-idents" "^5.1.1" + "postcss-reduce-idents" "^5.2.0" + "postcss-zindex" "^5.1.0" + +"cssnano-preset-default@^5.2.14": + "integrity" "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==" + "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" + "version" "5.2.14" + dependencies: + "css-declaration-sorter" "^6.3.1" + "cssnano-utils" "^3.1.0" + "postcss-calc" "^8.2.3" + "postcss-colormin" "^5.3.1" + "postcss-convert-values" "^5.1.3" + "postcss-discard-comments" "^5.1.2" + "postcss-discard-duplicates" "^5.1.0" + "postcss-discard-empty" "^5.1.1" + "postcss-discard-overridden" "^5.1.0" + "postcss-merge-longhand" "^5.1.7" + "postcss-merge-rules" "^5.1.4" + "postcss-minify-font-values" "^5.1.0" + "postcss-minify-gradients" "^5.1.1" + "postcss-minify-params" "^5.1.4" + "postcss-minify-selectors" "^5.2.1" + "postcss-normalize-charset" "^5.1.0" + "postcss-normalize-display-values" "^5.1.0" + "postcss-normalize-positions" "^5.1.1" + "postcss-normalize-repeat-style" "^5.1.1" + "postcss-normalize-string" "^5.1.0" + "postcss-normalize-timing-functions" "^5.1.0" + "postcss-normalize-unicode" "^5.1.1" + "postcss-normalize-url" "^5.1.0" + "postcss-normalize-whitespace" "^5.1.1" + "postcss-ordered-values" "^5.1.3" + "postcss-reduce-initial" "^5.1.2" + "postcss-reduce-transforms" "^5.1.0" + "postcss-svgo" "^5.1.0" + "postcss-unique-selectors" "^5.1.1" + +"cssnano-utils@^3.1.0": + "integrity" "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" + "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + "version" "3.1.0" + +"cssnano@^5.1.12", "cssnano@^5.1.8": + "integrity" "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==" + "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" + "version" "5.1.15" + dependencies: + "cssnano-preset-default" "^5.2.14" + "lilconfig" "^2.0.3" + "yaml" "^1.10.2" + +"csso@^4.0.2", "csso@^4.2.0": + "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" + "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "css-tree" "^1.1.2" + +"csstype@^3.0.2": + "integrity" "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + "version" "3.1.2" + +"data-uri-to-buffer@^4.0.0": + "integrity" "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" + "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz" + "version" "4.0.1" + +"debug@^2.6.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^4.1.0", "debug@^4.1.1", "debug@4": + "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "ms" "2.1.2" + +"debug@2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"decompress-response@^3.3.0": + "integrity" "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==" + "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "mimic-response" "^1.0.0" + +"deep-extend@^0.6.0": + "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + "version" "0.6.0" + +"deepmerge@^4.2.2": + "integrity" "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + "version" "4.3.1" + +"default-gateway@^6.0.3": + "integrity" "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==" + "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + "version" "6.0.3" + dependencies: + "execa" "^5.0.0" + +"defer-to-connect@^1.0.1": + "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + "version" "1.1.3" + +"define-data-property@^1.0.1", "define-data-property@^1.1.1": + "integrity" "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==" + "resolved" "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "get-intrinsic" "^1.2.1" + "gopd" "^1.0.1" + "has-property-descriptors" "^1.0.0" + +"define-lazy-prop@^2.0.0": + "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + "version" "2.0.0" + +"define-properties@^1.1.3", "define-properties@^1.1.4", "define-properties@^1.2.0": + "integrity" "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "define-data-property" "^1.0.1" + "has-property-descriptors" "^1.0.0" + "object-keys" "^1.1.1" + +"del@^6.1.1": + "integrity" "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==" + "resolved" "https://registry.npmjs.org/del/-/del-6.1.1.tgz" + "version" "6.1.1" + 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@~1.1.2": + "integrity" "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" + "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + "version" "1.1.2" + +"depd@2.0.0": + "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + "version" "2.0.0" + +"destroy@1.2.0": + "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" + "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + "version" "1.2.0" + +"detab@2.0.4": + "integrity" "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==" + "resolved" "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "repeat-string" "^1.5.4" + +"detect-node@^2.0.4": + "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + "version" "2.1.0" + +"detect-port-alt@^1.1.6": + "integrity" "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==" + "resolved" "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + "version" "1.1.6" + dependencies: + "address" "^1.0.1" + "debug" "^2.6.0" + +"detect-port@^1.3.0": + "integrity" "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==" + "resolved" "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" + "version" "1.5.1" + dependencies: + "address" "^1.0.1" + "debug" "4" + +"dir-glob@^3.0.1": + "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "path-type" "^4.0.0" + +"dns-equal@^1.0.0": + "integrity" "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + "version" "1.0.0" + +"dns-packet@^5.2.2": + "integrity" "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==" + "resolved" "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" + "version" "5.6.1" 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== +"dom-converter@^0.2.0": + "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" + "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + "version" "0.2.0" dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -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@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -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@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -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@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -dotenv@^16.0.3: - version "16.3.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" - integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== - -duplexer3@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" - integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== - -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.568" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz#6ab444e120dd7fd9c3789eac54d3132b6cfcd0f9" - integrity sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg== - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -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== - -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@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-3.2.0.tgz#c008ca7d7620fac742fe1bf4af8ff8fed154ae7f" - integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== - -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== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -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-abstract@^1.17.2, es-abstract@^1.22.1: - version "1.22.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" - integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== - dependencies: - array-buffer-byte-length "^1.0.0" - arraybuffer.prototype.slice "^1.0.2" - available-typed-arrays "^1.0.5" - call-bind "^1.0.5" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.2" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.12" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - safe-array-concat "^1.0.1" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.8" - string.prototype.trimend "^1.0.7" - string.prototype.trimstart "^1.0.7" - typed-array-buffer "^1.0.0" - typed-array-byte-length "^1.0.0" - typed-array-byte-offset "^1.0.0" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.13" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-module-lexer@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" - integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== - -es-set-tostringtag@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" - integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== - dependencies: - get-intrinsic "^1.2.2" - has-tostringtag "^1.0.0" - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -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@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -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== - -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== - -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@^1.12.3: - version "1.14.2" - resolved "https://registry.yarnpkg.com/eta/-/eta-1.14.2.tgz#5e6181a26ec13d8444c559ce51f7b3090cebbdd1" - integrity sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ== - -eta@^2.0.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== - -ethers@^5.7.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== + "utila" "~0.4" + +"dom-serializer@^1.0.1": + "integrity" "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "domelementtype" "^2.0.1" + "domhandler" "^4.2.0" + "entities" "^2.0.0" + +"dom-serializer@^2.0.0": + "integrity" "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "domelementtype" "^2.3.0" + "domhandler" "^5.0.2" + "entities" "^4.2.0" + +"dom-serializer@0": + "integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "domelementtype" "^2.0.1" + "entities" "^2.0.0" + +"domelementtype@^2.0.1", "domelementtype@^2.2.0", "domelementtype@^2.3.0": + "integrity" "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + "version" "2.3.0" + +"domelementtype@1": + "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + "version" "1.3.1" + +"domhandler@^4.0.0", "domhandler@^4.2.0", "domhandler@^4.3.1": + "integrity" "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==" + "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + "version" "4.3.1" + dependencies: + "domelementtype" "^2.2.0" + +"domhandler@^5.0.2", "domhandler@^5.0.3": + "integrity" "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==" + "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + "version" "5.0.3" + dependencies: + "domelementtype" "^2.3.0" + +"domutils@^1.7.0": + "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "dom-serializer" "0" + "domelementtype" "1" + +"domutils@^2.5.2", "domutils@^2.8.0": + "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + "version" "2.8.0" + dependencies: + "dom-serializer" "^1.0.1" + "domelementtype" "^2.2.0" + "domhandler" "^4.2.0" + +"domutils@^3.0.1": + "integrity" "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "dom-serializer" "^2.0.0" + "domelementtype" "^2.3.0" + "domhandler" "^5.0.3" + +"dot-case@^3.0.4": + "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" + "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"dot-prop@^5.2.0": + "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" + "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + "version" "5.3.0" + dependencies: + "is-obj" "^2.0.0" + +"dotenv@^16.0.3": + "integrity" "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==" + "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz" + "version" "16.3.1" + +"duplexer@^0.1.2": + "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + "version" "0.1.2" + +"duplexer3@^0.1.4": + "integrity" "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + "version" "0.1.5" + +"eastasianwidth@^0.2.0": + "integrity" "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + "resolved" "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + "version" "0.2.0" + +"ee-first@1.1.1": + "integrity" "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + "version" "1.1.1" + +"electron-to-chromium@^1.4.535": + "integrity" "sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz" + "version" "1.4.568" + +"elliptic@6.5.4": + "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" + "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + "version" "6.5.4" + dependencies: + "bn.js" "^4.11.9" + "brorand" "^1.1.0" + "hash.js" "^1.0.0" + "hmac-drbg" "^1.0.1" + "inherits" "^2.0.4" + "minimalistic-assert" "^1.0.1" + "minimalistic-crypto-utils" "^1.0.1" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"emoji-regex@^9.2.2": + "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + "version" "9.2.2" + +"emojis-list@^3.0.0": + "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + "version" "3.0.0" + +"emoticon@^3.2.0": + "integrity" "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" + "resolved" "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" + "version" "3.2.0" + +"encodeurl@~1.0.2": + "integrity" "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + "version" "1.0.2" + +"end-of-stream@^1.1.0": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"enhanced-resolve@^5.15.0": + "integrity" "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" + "version" "5.15.0" + dependencies: + "graceful-fs" "^4.2.4" + "tapable" "^2.2.0" + +"entities@^2.0.0": + "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + "version" "2.2.0" + +"entities@^4.2.0", "entities@^4.4.0": + "integrity" "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" + "resolved" "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + "version" "4.5.0" + +"error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"es-abstract@^1.17.2", "es-abstract@^1.22.1": + "integrity" "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" + "version" "1.22.3" + dependencies: + "array-buffer-byte-length" "^1.0.0" + "arraybuffer.prototype.slice" "^1.0.2" + "available-typed-arrays" "^1.0.5" + "call-bind" "^1.0.5" + "es-set-tostringtag" "^2.0.1" + "es-to-primitive" "^1.2.1" + "function.prototype.name" "^1.1.6" + "get-intrinsic" "^1.2.2" + "get-symbol-description" "^1.0.0" + "globalthis" "^1.0.3" + "gopd" "^1.0.1" + "has-property-descriptors" "^1.0.0" + "has-proto" "^1.0.1" + "has-symbols" "^1.0.3" + "hasown" "^2.0.0" + "internal-slot" "^1.0.5" + "is-array-buffer" "^3.0.2" + "is-callable" "^1.2.7" + "is-negative-zero" "^2.0.2" + "is-regex" "^1.1.4" + "is-shared-array-buffer" "^1.0.2" + "is-string" "^1.0.7" + "is-typed-array" "^1.1.12" + "is-weakref" "^1.0.2" + "object-inspect" "^1.13.1" + "object-keys" "^1.1.1" + "object.assign" "^4.1.4" + "regexp.prototype.flags" "^1.5.1" + "safe-array-concat" "^1.0.1" + "safe-regex-test" "^1.0.0" + "string.prototype.trim" "^1.2.8" + "string.prototype.trimend" "^1.0.7" + "string.prototype.trimstart" "^1.0.7" + "typed-array-buffer" "^1.0.0" + "typed-array-byte-length" "^1.0.0" + "typed-array-byte-offset" "^1.0.0" + "typed-array-length" "^1.0.4" + "unbox-primitive" "^1.0.2" + "which-typed-array" "^1.1.13" + +"es-array-method-boxes-properly@^1.0.0": + "integrity" "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + "resolved" "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + "version" "1.0.0" + +"es-module-lexer@^1.2.1": + "integrity" "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz" + "version" "1.3.1" + +"es-set-tostringtag@^2.0.1": + "integrity" "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==" + "resolved" "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "get-intrinsic" "^1.2.2" + "has-tostringtag" "^1.0.0" + "hasown" "^2.0.0" + +"es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-goat@^2.0.0": + "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" + "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + "version" "2.1.1" + +"escape-html@^1.0.3", "escape-html@~1.0.3": + "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + "version" "1.0.3" + +"escape-string-regexp@^1.0.5": + "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"eslint-scope@5.1.1": + "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^4.1.1" + +"esprima@^4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"esrecurse@^4.3.0": + "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "estraverse" "^5.2.0" + +"estraverse@^4.1.1": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + +"estraverse@^5.2.0": + "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + "version" "5.3.0" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"eta@^1.12.3": + "integrity" "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==" + "resolved" "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz" + "version" "1.14.2" + +"eta@^2.0.0": + "integrity" "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==" + "resolved" "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" + "version" "2.2.0" + +"etag@~1.8.1": + "integrity" "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" + "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + "version" "1.8.1" + +"ethers@^5.5.1", "ethers@^5.6.8 || ^6.0.8", "ethers@^5.7.1": + "integrity" "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==" + "resolved" "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" + "version" "5.7.2" dependencies: "@ethersproject/abi" "5.7.0" "@ethersproject/abstract-provider" "5.7.0" @@ -4697,1307 +4723,1307 @@ ethers@^5.7.1: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -eval@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" - integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== +"eval@^0.1.8": + "integrity" "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==" + "resolved" "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" + "version" "0.1.8" 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.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== + "require-like" ">= 0.1.1" + +"eventemitter3@^4.0.0": + "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + "version" "4.0.7" + +"events@^3.2.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"execa@^5.0.0": + "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" + "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + "version" "5.1.1" + 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": + "integrity" "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==" + "resolved" "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + "version" "4.18.2" + 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": + "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"extend@^3.0.0": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-glob@^3.2.11", "fast-glob@^3.2.9", "fast-glob@^3.3.0": + "integrity" "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + "version" "3.3.1" 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" - -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" - -fbemitter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" - integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== - dependencies: - fbjs "^3.0.0" - -fbjs-css-vars@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" - integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== - -fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.5" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" - integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== - dependencies: - cross-fetch "^3.1.5" - fbjs-css-vars "^1.0.0" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^1.0.35" - -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" - -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - -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@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.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@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.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" - -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== - -flux@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" - integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== - dependencies: - fbemitter "^3.0.0" - fbjs "^3.0.1" - -follow-redirects@^1.0.0, follow-redirects@^1.14.7: - version "1.15.3" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" - integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" + +"fast-json-stable-stringify@^2.0.0": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" + +"fast-url-parser@1.1.3": + "integrity" "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==" + "resolved" "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "punycode" "^1.3.2" + +"fastq@^1.6.0": + "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + "version" "1.15.0" + dependencies: + "reusify" "^1.0.4" + +"faye-websocket@^0.11.3": + "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" + "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + "version" "0.11.4" + dependencies: + "websocket-driver" ">=0.5.1" + +"fbemitter@^3.0.0": + "integrity" "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==" + "resolved" "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "fbjs" "^3.0.0" + +"fbjs-css-vars@^1.0.0": + "integrity" "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + "resolved" "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + "version" "1.0.2" + +"fbjs@^3.0.0", "fbjs@^3.0.1": + "integrity" "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==" + "resolved" "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz" + "version" "3.0.5" + dependencies: + "cross-fetch" "^3.1.5" + "fbjs-css-vars" "^1.0.0" + "loose-envify" "^1.0.0" + "object-assign" "^4.1.0" + "promise" "^7.1.1" + "setimmediate" "^1.0.5" + "ua-parser-js" "^1.0.35" + +"feed@^4.2.2": + "integrity" "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==" + "resolved" "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "xml-js" "^1.6.11" + +"fetch-blob@^3.1.2", "fetch-blob@^3.1.4": + "integrity" "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==" + "resolved" "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz" + "version" "3.2.0" + dependencies: + "node-domexception" "^1.0.0" + "web-streams-polyfill" "^3.0.3" + +"file-loader@*", "file-loader@^6.2.0": + "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" + "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "loader-utils" "^2.0.0" + "schema-utils" "^3.0.0" + +"filesize@^8.0.6": + "integrity" "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" + "resolved" "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + "version" "8.0.7" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"finalhandler@1.2.0": + "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" + "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "debug" "2.6.9" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "on-finished" "2.4.1" + "parseurl" "~1.3.3" + "statuses" "2.0.1" + "unpipe" "~1.0.0" + +"find-cache-dir@^3.3.1": + "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^3.0.2" + "pkg-dir" "^4.1.0" + +"find-up@^3.0.0": + "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "locate-path" "^3.0.0" + +"find-up@^4.0.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^5.0.0": + "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "locate-path" "^6.0.0" + "path-exists" "^4.0.0" + +"flat@^5.0.2": + "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + "version" "5.0.2" + +"flux@^4.0.1": + "integrity" "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==" + "resolved" "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "fbemitter" "^3.0.0" + "fbjs" "^3.0.1" + +"follow-redirects@^1.0.0", "follow-redirects@^1.14.7": + "integrity" "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz" + "version" "1.15.3" + +"for-each@^0.3.3": + "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" + "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + "version" "0.3.3" + dependencies: + "is-callable" "^1.1.3" -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== +"fork-ts-checker-webpack-plugin@^6.5.0": + "integrity" "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==" + "resolved" "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" + "version" "6.5.3" 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" - -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - -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: - 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@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - 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== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.1, 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.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, 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@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -github-slugger@^1.4.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== - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -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@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + "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" + +"formdata-polyfill@^4.0.10": + "integrity" "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==" + "resolved" "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" + "version" "4.0.10" + dependencies: + "fetch-blob" "^3.1.2" + +"forwarded@0.2.0": + "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" + "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + "version" "0.2.0" + +"fraction.js@^4.3.6": + "integrity" "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" + "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + "version" "4.3.7" + +"fresh@0.5.2": + "integrity" "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" + "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + "version" "0.5.2" + +"fs-extra@^10.1.0": + "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + "version" "10.1.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@^9.0.0": + "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + "version" "9.1.0" + 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": + "integrity" "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + "resolved" "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" + "version" "1.0.5" + +"fs.realpath@^1.0.0": + "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fsevents@~2.3.2": + "integrity" "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + "version" "2.3.3" + +"function-bind@^1.1.2": + "integrity" "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + "version" "1.1.2" + +"function.prototype.name@^1.1.6": + "integrity" "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==" + "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + "version" "1.1.6" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + "functions-have-names" "^1.2.3" + +"functions-have-names@^1.2.3": + "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" + "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + "version" "1.2.3" + +"gensync@^1.0.0-beta.1", "gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3", "get-intrinsic@^1.2.0", "get-intrinsic@^1.2.1", "get-intrinsic@^1.2.2": + "integrity" "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==" + "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" + "version" "1.2.2" + 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": + "integrity" "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + "resolved" "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + "version" "3.0.2" + +"get-stream@^4.1.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^5.1.0": + "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^6.0.0": + "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + "version" "6.0.1" + +"get-symbol-description@^1.0.0": + "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" + "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.1" + +"github-slugger@^1.4.0": + "integrity" "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + "resolved" "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" + "version" "1.5.0" + +"glob-parent@^5.1.2", "glob-parent@~5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob-parent@^6.0.1": + "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "is-glob" "^4.0.3" + +"glob-to-regexp@^0.4.1": + "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + "version" "0.4.1" + +"glob@^7.0.0", "glob@^7.1.3", "glob@^7.1.6": + "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + "version" "7.2.3" + 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": + "integrity" "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==" + "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ini" "2.0.0" + +"global-modules@^2.0.0": + "integrity" "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==" + "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "global-prefix" "^3.0.0" + +"global-prefix@^3.0.0": + "integrity" "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==" + "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ini" "^1.3.5" + "kind-of" "^6.0.2" + "which" "^1.3.1" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"globalthis@^1.0.3": + "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" + "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "define-properties" "^1.1.3" + +"globby@^11.0.1", "globby@^11.0.4", "globby@^11.1.0": + "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + "version" "11.1.0" + 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": + "integrity" "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==" + "resolved" "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" + "version" "13.2.2" + 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": + "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" + "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "get-intrinsic" "^1.1.3" + +"got@^9.6.0": + "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" + "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + "version" "9.6.0" dependencies: "@sindresorhus/is" "^0.14.0" "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -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-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -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.1, has-symbols@^1.0.2, 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-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -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-to-hyperscript@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" - integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== + "cacheable-request" "^6.0.0" + "decompress-response" "^3.3.0" + "duplexer3" "^0.1.4" + "get-stream" "^4.1.0" + "lowercase-keys" "^1.0.1" + "mimic-response" "^1.0.1" + "p-cancelable" "^1.0.0" + "to-readable-stream" "^1.0.0" + "url-parse-lax" "^3.0.0" + +"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": + "integrity" "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + "version" "4.2.11" + +"gray-matter@^4.0.3": + "integrity" "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==" + "resolved" "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + "version" "4.0.3" + 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": + "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" + "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "duplexer" "^0.1.2" + +"handle-thing@^2.0.0": + "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + "version" "2.0.1" + +"has-bigints@^1.0.1", "has-bigints@^1.0.2": + "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" + "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + "version" "1.0.2" + +"has-flag@^3.0.0": + "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-property-descriptors@^1.0.0": + "integrity" "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==" + "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "get-intrinsic" "^1.2.2" + +"has-proto@^1.0.1": + "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" + "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + "version" "1.0.1" + +"has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3": + "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + "version" "1.0.3" + +"has-tostringtag@^1.0.0": + "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" + "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-symbols" "^1.0.2" + +"has-yarn@^2.1.0": + "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + "version" "2.1.0" + +"hash.js@^1.0.0", "hash.js@^1.0.3", "hash.js@1.1.7": + "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" + "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "inherits" "^2.0.3" + "minimalistic-assert" "^1.0.1" + +"hasown@^2.0.0": + "integrity" "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==" + "resolved" "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "function-bind" "^1.1.2" + +"hast-to-hyperscript@^9.0.0": + "integrity" "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==" + "resolved" "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" + "version" "9.0.1" dependencies: "@types/unist" "^2.0.3" - comma-separated-tokens "^1.0.0" - property-information "^5.3.0" - space-separated-tokens "^1.0.0" - style-to-object "^0.3.0" - unist-util-is "^4.0.0" - web-namespaces "^1.0.0" - -hast-util-from-parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" - integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== + "comma-separated-tokens" "^1.0.0" + "property-information" "^5.3.0" + "space-separated-tokens" "^1.0.0" + "style-to-object" "^0.3.0" + "unist-util-is" "^4.0.0" + "web-namespaces" "^1.0.0" + +"hast-util-from-parse5@^6.0.0": + "integrity" "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==" + "resolved" "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" + "version" "6.0.1" dependencies: "@types/parse5" "^5.0.0" - hastscript "^6.0.0" - property-information "^5.0.0" - vfile "^4.0.0" - vfile-location "^3.2.0" - web-namespaces "^1.0.0" - -hast-util-parse-selector@^2.0.0: - version "2.2.5" - resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" - integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== - -hast-util-raw@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" - integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== + "hastscript" "^6.0.0" + "property-information" "^5.0.0" + "vfile" "^4.0.0" + "vfile-location" "^3.2.0" + "web-namespaces" "^1.0.0" + +"hast-util-parse-selector@^2.0.0": + "integrity" "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" + "resolved" "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" + "version" "2.2.5" + +"hast-util-raw@6.0.1": + "integrity" "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==" + "resolved" "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" + "version" "6.0.1" dependencies: "@types/hast" "^2.0.0" - hast-util-from-parse5 "^6.0.0" - hast-util-to-parse5 "^6.0.0" - html-void-elements "^1.0.0" - parse5 "^6.0.0" - unist-util-position "^3.0.0" - vfile "^4.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - -hast-util-to-parse5@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" - integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== - dependencies: - hast-to-hyperscript "^9.0.0" - property-information "^5.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - -hastscript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" - integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== + "hast-util-from-parse5" "^6.0.0" + "hast-util-to-parse5" "^6.0.0" + "html-void-elements" "^1.0.0" + "parse5" "^6.0.0" + "unist-util-position" "^3.0.0" + "vfile" "^4.0.0" + "web-namespaces" "^1.0.0" + "xtend" "^4.0.0" + "zwitch" "^1.0.0" + +"hast-util-to-parse5@^6.0.0": + "integrity" "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==" + "resolved" "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "hast-to-hyperscript" "^9.0.0" + "property-information" "^5.0.0" + "web-namespaces" "^1.0.0" + "xtend" "^4.0.0" + "zwitch" "^1.0.0" + +"hastscript@^6.0.0": + "integrity" "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==" + "resolved" "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" + "version" "6.0.0" dependencies: "@types/hast" "^2.0.0" - comma-separated-tokens "^1.0.0" - hast-util-parse-selector "^2.0.0" - property-information "^5.0.0" - space-separated-tokens "^1.0.0" + "comma-separated-tokens" "^1.0.0" + "hast-util-parse-selector" "^2.0.0" + "property-information" "^5.0.0" + "space-separated-tokens" "^1.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== +"he@^1.2.0": + "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + "version" "1.2.0" -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== +"history@^4.9.0": + "integrity" "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==" + "resolved" "https://registry.npmjs.org/history/-/history-4.10.1.tgz" + "version" "4.10.1" 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" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^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-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: - 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-tags@^3.2.0: - 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@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== - -html-webpack-plugin@^5.5.0: - 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== + "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" + +"hmac-drbg@^1.0.1": + "integrity" "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" + "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "hash.js" "^1.0.3" + "minimalistic-assert" "^1.0.0" + "minimalistic-crypto-utils" "^1.0.1" + +"hoist-non-react-statics@^3.1.0": + "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" + "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "react-is" "^16.7.0" + +"hpack.js@^2.1.6": + "integrity" "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==" + "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + "version" "2.1.6" + dependencies: + "inherits" "^2.0.1" + "obuf" "^1.0.0" + "readable-stream" "^2.0.1" + "wbuf" "^1.1.0" + +"html-entities@^2.3.2": + "integrity" "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" + "resolved" "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" + "version" "2.4.0" + +"html-minifier-terser@^6.0.2", "html-minifier-terser@^6.1.0": + "integrity" "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==" + "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + "version" "6.1.0" + 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-tags@^3.2.0": + "integrity" "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==" + "resolved" "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + "version" "3.3.1" + +"html-void-elements@^1.0.0": + "integrity" "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" + "resolved" "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" + "version" "1.0.5" + +"html-webpack-plugin@^5.5.0": + "integrity" "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==" + "resolved" "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz" + "version" "5.5.3" 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.0.0: - 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== + "html-minifier-terser" "^6.0.2" + "lodash" "^4.17.21" + "pretty-error" "^4.0.0" + "tapable" "^2.0.0" + +"htmlparser2@^6.1.0": + "integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==" + "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "domelementtype" "^2.0.1" + "domhandler" "^4.0.0" + "domutils" "^2.5.2" + "entities" "^2.0.0" + +"htmlparser2@^8.0.1": + "integrity" "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==" + "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" + "version" "8.0.2" + dependencies: + "domelementtype" "^2.3.0" + "domhandler" "^5.0.3" + "domutils" "^3.0.1" + "entities" "^4.4.0" + +"http-cache-semantics@^4.0.0": + "integrity" "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + "version" "4.1.1" + +"http-deceiver@^1.2.7": + "integrity" "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + "version" "1.2.7" + +"http-errors@~1.6.2": + "integrity" "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + "version" "1.6.3" + dependencies: + "depd" "~1.1.2" + "inherits" "2.0.3" + "setprototypeof" "1.1.0" + "statuses" ">= 1.4.0 < 2" + +"http-errors@2.0.0": + "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" + "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "depd" "2.0.0" + "inherits" "2.0.4" + "setprototypeof" "1.2.0" + "statuses" "2.0.1" + "toidentifier" "1.0.1" + +"http-parser-js@>=0.5.1": + "integrity" "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + "version" "0.5.8" + +"http-proxy-middleware@^2.0.3": + "integrity" "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==" + "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + "version" "2.0.6" 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" - -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== - -husky@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - -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.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -image-size@^1.0.1: - 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" - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - -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.2.1, 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@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== - -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.42: - version "0.2.0-alpha.42" - resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.42.tgz#f6e86a655ad40877c6b4d11b2ede681eb5470aa5" - integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== - -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.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, 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.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== - -internal-slot@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" - integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== - dependencies: - get-intrinsic "^1.2.2" - hasown "^2.0.0" - side-channel "^1.0.4" - -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@1.0.4, is-alphabetical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" - integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== - -is-alphanumerical@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" - integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== - dependencies: - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - -is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -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-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -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-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.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-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-decimal@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" - integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== - -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@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" - integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== - -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-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-npm@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" - integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -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@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -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-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-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -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-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -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-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: - version "1.1.12" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" - integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== - dependencies: - which-typed-array "^1.1.11" - -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-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-whitespace-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== - -is-word-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== - -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.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -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@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -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== + "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": + "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" + "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + "version" "1.18.1" + dependencies: + "eventemitter3" "^4.0.0" + "follow-redirects" "^1.0.0" + "requires-port" "^1.0.0" + +"human-signals@^2.1.0": + "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + "version" "2.1.0" + +"husky@^7.0.4": + "integrity" "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==" + "resolved" "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" + "version" "7.0.4" + +"iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + +"icss-utils@^5.0.0", "icss-utils@^5.1.0": + "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" + "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + "version" "5.1.0" + +"ignore@^5.2.0", "ignore@^5.2.4": + "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + "version" "5.2.4" + +"image-size@^1.0.1": + "integrity" "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==" + "resolved" "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "queue" "6.0.2" + +"immediate@~3.0.5": + "integrity" "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + "version" "3.0.6" + +"immer@^9.0.7": + "integrity" "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" + "resolved" "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" + "version" "9.0.21" + +"import-fresh@^3.1.0", "import-fresh@^3.2.1", "import-fresh@^3.3.0": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-lazy@^2.1.0": + "integrity" "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" + "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + "version" "2.1.0" + +"imurmurhash@^0.1.4": + "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"indent-string@^4.0.0": + "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + "version" "4.0.0" + +"infima@0.2.0-alpha.42": + "integrity" "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==" + "resolved" "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" + "version" "0.2.0-alpha.42" + +"inflight@^1.0.4": + "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.0", "inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"inherits@2.0.3": + "integrity" "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" + +"ini@^1.3.5", "ini@~1.3.0": + "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + "version" "1.3.8" + +"ini@2.0.0": + "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" + "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + "version" "2.0.0" + +"inline-style-parser@0.1.1": + "integrity" "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + "resolved" "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + "version" "0.1.1" + +"internal-slot@^1.0.5": + "integrity" "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==" + "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "get-intrinsic" "^1.2.2" + "hasown" "^2.0.0" + "side-channel" "^1.0.4" + +"interpret@^1.0.0": + "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + "version" "1.4.0" + +"invariant@^2.2.4": + "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" + "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + "version" "2.2.4" + dependencies: + "loose-envify" "^1.0.0" + +"ipaddr.js@^2.0.1": + "integrity" "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + "version" "2.1.0" + +"ipaddr.js@1.9.1": + "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + "version" "1.9.1" + +"is-alphabetical@^1.0.0", "is-alphabetical@1.0.4": + "integrity" "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + "resolved" "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" + "version" "1.0.4" + +"is-alphanumerical@^1.0.0": + "integrity" "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==" + "resolved" "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "is-alphabetical" "^1.0.0" + "is-decimal" "^1.0.0" + +"is-array-buffer@^3.0.1", "is-array-buffer@^3.0.2": + "integrity" "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==" + "resolved" "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.2.0" + "is-typed-array" "^1.1.10" + +"is-arrayish@^0.2.1": + "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-bigint@^1.0.1": + "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-bigints" "^1.0.1" + +"is-binary-path@~2.1.0": + "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "binary-extensions" "^2.0.0" + +"is-boolean-object@^1.1.0": + "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-buffer@^2.0.0": + "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + "version" "2.0.5" + +"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7": + "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + "version" "1.2.7" + +"is-ci@^2.0.0": + "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ci-info" "^2.0.0" + +"is-core-module@^2.13.0": + "integrity" "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + "version" "2.13.1" + dependencies: + "hasown" "^2.0.0" + +"is-date-object@^1.0.1": + "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-decimal@^1.0.0": + "integrity" "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + "resolved" "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" + "version" "1.0.4" + +"is-docker@^2.0.0", "is-docker@^2.1.1": + "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + "version" "2.2.1" + +"is-extendable@^0.1.0": + "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extglob@^2.1.1": + "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" + +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" + +"is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": + "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "is-extglob" "^2.1.1" + +"is-hexadecimal@^1.0.0": + "integrity" "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + "resolved" "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" + "version" "1.0.4" + +"is-installed-globally@^0.4.0": + "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" + "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "global-dirs" "^3.0.0" + "is-path-inside" "^3.0.2" + +"is-negative-zero@^2.0.2": + "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + "version" "2.0.2" + +"is-npm@^5.0.0": + "integrity" "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" + "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + "version" "5.0.0" + +"is-number-object@^1.0.4": + "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-obj@^1.0.1": + "integrity" "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + "version" "1.0.1" + +"is-obj@^2.0.0": + "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + "version" "2.0.0" + +"is-path-cwd@^2.2.0": + "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + "version" "2.2.0" + +"is-path-inside@^3.0.2": + "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" + "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + "version" "3.0.3" + +"is-plain-obj@^2.0.0": + "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + "version" "2.1.0" + +"is-plain-obj@^3.0.0": + "integrity" "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" + "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + "version" "3.0.0" + +"is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + +"is-plain-object@^5.0.0": + "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + "version" "5.0.0" + +"is-regex@^1.1.4": + "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-regexp@^1.0.0": + "integrity" "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" + "resolved" "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + "version" "1.0.0" + +"is-root@^2.1.0": + "integrity" "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + "resolved" "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + "version" "2.1.0" + +"is-shared-array-buffer@^1.0.2": + "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" + "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"is-string@^1.0.5", "is-string@^1.0.7": + "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-symbol@^1.0.2", "is-symbol@^1.0.3": + "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-symbols" "^1.0.2" + +"is-typed-array@^1.1.10", "is-typed-array@^1.1.12", "is-typed-array@^1.1.9": + "integrity" "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==" + "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + "version" "1.1.12" + dependencies: + "which-typed-array" "^1.1.11" + +"is-typedarray@^1.0.0": + "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"is-weakref@^1.0.2": + "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" + "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + +"is-whitespace-character@^1.0.0": + "integrity" "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + "resolved" "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" + "version" "1.0.4" + +"is-word-character@^1.0.0": + "integrity" "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + "resolved" "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" + "version" "1.0.4" + +"is-wsl@^2.2.0": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + +"is-yarn-global@^0.3.0": + "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + "version" "0.3.0" + +"isarray@^2.0.5": + "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + "version" "2.0.5" + +"isarray@~1.0.0": + "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + +"isarray@0.0.1": + "integrity" "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + "version" "0.0.1" + +"isexe@^2.0.0": + "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" -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== +"isobject@^3.0.1": + "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + +"jest-util@^29.7.0": + "integrity" "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + "version" "29.7.0" 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" + "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== +"jest-worker@^27.4.5": + "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + "version" "27.5.1" dependencies: "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" -jest-worker@^29.1.2: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== +"jest-worker@^29.1.2": + "integrity" "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + "version" "29.7.0" dependencies: "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" + "jest-util" "^29.7.0" + "merge-stream" "^2.0.0" + "supports-color" "^8.0.0" -jiti@^1.18.2: - version "1.20.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" - integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== +"jiti@^1.18.2": + "integrity" "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==" + "resolved" "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz" + "version" "1.20.0" -joi@^17.6.0: - version "17.11.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" - integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== +"joi@^17.6.0": + "integrity" "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==" + "resolved" "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz" + "version" "17.11.0" dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" @@ -6005,2943 +6031,3046 @@ joi@^17.6.0: "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -"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.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== - -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" +"js-sha3@0.8.0": + "integrity" "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + "version" "0.8.0" + +"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" + +"js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" + dependencies: + "argparse" "^1.0.7" + "esprima" "^4.0.0" + +"js-yaml@^4.1.0": + "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "argparse" "^2.0.1" + +"jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"jsesc@~0.5.0": + "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" + +"json-buffer@3.0.0": + "integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + "version" "3.0.0" + +"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-schema-traverse@^1.0.0": + "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + "version" "1.0.0" + +"json5@^2.1.2", "json5@^2.2.3": + "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + "version" "2.2.3" + +"jsonfile@^6.0.1": + "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "universalify" "^2.0.0" optionalDependencies: - graceful-fs "^4.1.6" - -jszip@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" - integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + "graceful-fs" "^4.1.6" + +"jszip@^3.10.1": + "integrity" "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==" + "resolved" "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" + "version" "3.10.1" dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - setimmediate "^1.0.5" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -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@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.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== - -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - -lilconfig@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -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@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.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" - -lodash.curry@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" - integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== - -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.escape@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" - integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== - -lodash.flow@^3.3.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" - integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== - -lodash.invokemap@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz#1748cda5d8b0ef8369c4eb3ec54c21feba1f2d62" - integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== - -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.pullall@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.pullall/-/lodash.pullall-4.2.0.tgz#9d98b8518b7c965b0fae4099bd9fb7df8bbf38ba" - integrity sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg== - -lodash.uniq@4.5.0, 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.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" - integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== - -lodash@^4.17.19, 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== - -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@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -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" + "lie" "~3.3.0" + "pako" "~1.0.2" + "readable-stream" "~2.3.6" + "setimmediate" "^1.0.5" + +"keyv@^3.0.0": + "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" + "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "json-buffer" "3.0.0" + +"kind-of@^6.0.0", "kind-of@^6.0.2": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + +"latest-version@^5.1.0": + "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" + "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "package-json" "^6.3.0" + +"launch-editor@^2.6.0": + "integrity" "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==" + "resolved" "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" + "version" "2.6.1" + dependencies: + "picocolors" "^1.0.0" + "shell-quote" "^1.8.1" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"lie@~3.3.0": + "integrity" "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==" + "resolved" "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "immediate" "~3.0.5" + +"lilconfig@^2.0.3": + "integrity" "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" + "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + "version" "2.1.0" + +"lines-and-columns@^1.1.6": + "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + "version" "1.2.4" + +"loader-runner@^4.2.0": + "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + "version" "4.3.0" + +"loader-utils@^2.0.0": + "integrity" "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^2.1.2" + +"loader-utils@^3.2.0": + "integrity" "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" + "version" "3.2.1" + +"locate-path@^3.0.0": + "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-locate" "^3.0.0" + "path-exists" "^3.0.0" + +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"locate-path@^6.0.0": + "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "p-locate" "^5.0.0" + +"lodash.curry@^4.0.1": + "integrity" "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + "resolved" "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + "version" "4.1.1" + +"lodash.debounce@^4.0.8": + "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + "version" "4.0.8" + +"lodash.escape@^4.0.1": + "integrity" "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" + "resolved" "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz" + "version" "4.0.1" + +"lodash.flatten@^4.4.0": + "integrity" "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + "version" "4.4.0" + +"lodash.flow@^3.3.0": + "integrity" "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + "resolved" "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + "version" "3.5.0" + +"lodash.invokemap@^4.6.0": + "integrity" "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" + "resolved" "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz" + "version" "4.6.0" + +"lodash.memoize@^4.1.2": + "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" + +"lodash.pullall@^4.2.0": + "integrity" "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" + "resolved" "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz" + "version" "4.2.0" + +"lodash.uniq@^4.5.0", "lodash.uniq@4.5.0": + "integrity" "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" + +"lodash.uniqby@^4.7.0": + "integrity" "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" + "resolved" "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" + "version" "4.7.0" + +"lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"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": + "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" + "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "js-tokens" "^3.0.0 || ^4.0.0" + +"lower-case@^2.0.2": + "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" + "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "tslib" "^2.0.3" + +"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": + "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + "version" "1.0.1" + +"lowercase-keys@^2.0.0": + "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + "version" "2.0.0" + +"lru-cache@^5.1.1": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" + 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== +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" dependencies: - yallist "^4.0.0" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + "yallist" "^4.0.0" + +"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" dependencies: - semver "^6.0.0" - -markdown-escapes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== - -mdast-squeeze-paragraphs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" - integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== + "semver" "^6.0.0" + +"markdown-escapes@^1.0.0": + "integrity" "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + "resolved" "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" + "version" "1.0.4" + +"mdast-squeeze-paragraphs@^4.0.0": + "integrity" "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==" + "resolved" "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" + "version" "4.0.0" dependencies: - unist-util-remove "^2.0.0" - -mdast-util-definitions@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" - integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== - dependencies: - unist-util-visit "^2.0.0" + "unist-util-remove" "^2.0.0" + +"mdast-util-definitions@^4.0.0": + "integrity" "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==" + "resolved" "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "unist-util-visit" "^2.0.0" -mdast-util-to-hast@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" - integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== +"mdast-util-to-hast@10.0.1": + "integrity" "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==" + "resolved" "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" + "version" "10.0.1" dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" - mdast-util-definitions "^4.0.0" - mdurl "^1.0.0" - unist-builder "^2.0.0" - unist-util-generated "^1.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" - -mdast-util-to-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" - integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdurl@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - -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== - -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@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - -mini-css-extract-plugin@^2.6.1: - 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, minimalistic-assert@^1.0.1: - 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== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -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, minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -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" - -multiformats@^11.0.2: - version "11.0.2" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" - integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -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-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - -node-emoji@^1.10.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" - integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== - dependencies: - lodash "^4.17.21" - -node-fetch@^2.6.12: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" - integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - -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== - -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@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -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@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -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.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.13.1, 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, object.assign@^4.1.4: - 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" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.7" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a" - integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== - dependencies: - array.prototype.reduce "^1.0.6" - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - safe-array-concat "^1.0.0" - -object.values@^1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" - integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.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, once@^1.3.1, once@^1.4.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" + "mdast-util-definitions" "^4.0.0" + "mdurl" "^1.0.0" + "unist-builder" "^2.0.0" + "unist-util-generated" "^1.0.0" + "unist-util-position" "^3.0.0" + "unist-util-visit" "^2.0.0" + +"mdast-util-to-string@^2.0.0": + "integrity" "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" + "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" + "version" "2.0.0" + +"mdn-data@2.0.14": + "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + "version" "2.0.14" + +"mdn-data@2.0.4": + "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + "version" "2.0.4" + +"mdurl@^1.0.0": + "integrity" "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + "version" "1.0.1" + +"media-typer@0.3.0": + "integrity" "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" + "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + "version" "0.3.0" + +"memfs@^3.1.2", "memfs@^3.4.3": + "integrity" "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==" + "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "fs-monkey" "^1.0.4" + +"merge-descriptors@1.0.1": + "integrity" "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + "version" "1.0.1" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"merge2@^1.3.0", "merge2@^1.4.1": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"methods@~1.1.2": + "integrity" "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" + "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + "version" "1.1.2" + +"micromatch@^4.0.2", "micromatch@^4.0.4", "micromatch@^4.0.5": + "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + "version" "4.0.5" + dependencies: + "braces" "^3.0.2" + "picomatch" "^2.3.1" + +"mime-db@>= 1.43.0 < 2": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-db@~1.33.0": + "integrity" "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + "version" "1.33.0" + +"mime-db@1.52.0": + "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + "version" "1.52.0" + +"mime-types@^2.1.27": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime-types@^2.1.31": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime-types@~2.1.17", "mime-types@2.1.18": + "integrity" "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + "version" "2.1.18" + dependencies: + "mime-db" "~1.33.0" + +"mime-types@~2.1.24": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime-types@~2.1.34": + "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + "version" "2.1.35" + dependencies: + "mime-db" "1.52.0" + +"mime@1.6.0": + "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + "version" "1.6.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"mimic-response@^1.0.0", "mimic-response@^1.0.1": + "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + "version" "1.0.1" + +"mini-css-extract-plugin@^2.6.1": + "integrity" "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==" + "resolved" "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz" + "version" "2.7.6" + dependencies: + "schema-utils" "^4.0.0" + +"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": + "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-crypto-utils@^1.0.1": + "integrity" "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + "version" "1.0.1" + +"minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@3.1.2": + "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist@^1.2.0", "minimist@^1.2.5", "minimist@^1.2.6": + "integrity" "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + "version" "1.2.8" + +"mkdirp@~0.5.1": + "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + "version" "0.5.6" + dependencies: + "minimist" "^1.2.6" + +"mrmime@^1.0.0": + "integrity" "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" + "resolved" "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" + "version" "1.0.1" + +"ms@2.0.0": + "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"ms@2.1.3": + "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + "version" "2.1.3" + +"multicast-dns@^7.2.5": + "integrity" "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==" + "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + "version" "7.2.5" + dependencies: + "dns-packet" "^5.2.2" + "thunky" "^1.0.2" + +"multiformats@^11.0.2": + "integrity" "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==" + "resolved" "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz" + "version" "11.0.2" + +"nanoid@^3.3.6": + "integrity" "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" + "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + "version" "3.3.6" + +"negotiator@0.6.3": + "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" + "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + "version" "0.6.3" + +"neo-async@^2.6.2": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + +"no-case@^3.0.4": + "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" + "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "lower-case" "^2.0.2" + "tslib" "^2.0.3" + +"node-domexception@^1.0.0": + "integrity" "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" + "resolved" "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" + "version" "1.0.0" + +"node-emoji@^1.10.0": + "integrity" "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" + "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + "version" "1.11.0" + dependencies: + "lodash" "^4.17.21" + +"node-fetch@^2.6.12": + "integrity" "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "whatwg-url" "^5.0.0" + +"node-fetch@^3.3.1": + "integrity" "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==" + "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "data-uri-to-buffer" "^4.0.0" + "fetch-blob" "^3.1.4" + "formdata-polyfill" "^4.0.10" + +"node-forge@^1": + "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" + "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + "version" "1.3.1" + +"node-releases@^2.0.13": + "integrity" "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + "version" "2.0.13" + +"normalize-path@^3.0.0", "normalize-path@~3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-range@^0.1.2": + "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" + "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + "version" "0.1.2" + +"normalize-url@^4.1.0": + "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + "version" "4.5.1" + +"normalize-url@^6.0.1": + "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + "version" "6.1.0" + +"npm-run-path@^4.0.1": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"nprogress@^0.2.0": + "integrity" "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + "version" "0.2.0" + +"nth-check@^1.0.2": + "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "boolbase" "~1.0.0" + +"nth-check@^2.0.1": + "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "boolbase" "^1.0.0" + +"object-assign@^4.1.0", "object-assign@^4.1.1": + "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-inspect@^1.13.1", "object-inspect@^1.9.0": + "integrity" "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + "version" "1.13.1" + +"object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object.assign@^4.1.0", "object.assign@^4.1.4": + "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + "version" "4.1.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.4" + "has-symbols" "^1.0.3" + "object-keys" "^1.1.1" + +"object.getownpropertydescriptors@^2.1.0": + "integrity" "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==" + "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz" + "version" "2.1.7" + dependencies: + "array.prototype.reduce" "^1.0.6" + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + "safe-array-concat" "^1.0.0" + +"object.values@^1.1.0": + "integrity" "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==" + "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + +"obuf@^1.0.0", "obuf@^1.1.2": + "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + "version" "1.1.2" + +"on-finished@2.4.1": + "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" + "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "ee-first" "1.1.1" + +"on-headers@~1.0.2": + "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + "version" "1.0.2" + +"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + 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== +"onetime@^5.1.2": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" dependencies: - mimic-fn "^2.1.0" + "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== +"open@^8.0.9", "open@^8.4.0": + "integrity" "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" + "resolved" "https://registry.npmjs.org/open/-/open-8.4.2.tgz" + "version" "8.4.2" dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" + "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== +"opener@^1.5.2": + "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" + "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + "version" "1.5.2" -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== +"p-cancelable@^1.0.0": + "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + "version" "1.1.0" + +"p-limit@^2.0.0", "p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" 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-try" "^2.0.0" + +"p-limit@^3.0.2": + "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "yocto-queue" "^0.1.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== +"p-locate@^3.0.0": + "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + "version" "3.0.0" dependencies: - p-limit "^2.0.0" + "p-limit" "^2.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" dependencies: - p-limit "^2.2.0" + "p-limit" "^2.2.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== +"p-locate@^5.0.0": + "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + "version" "5.0.0" dependencies: - p-limit "^3.0.2" + "p-limit" "^3.0.2" -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== +"p-map@^4.0.0": + "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" + "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + "version" "4.0.0" dependencies: - aggregate-error "^3.0.0" + "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== +"p-retry@^4.5.0": + "integrity" "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==" + "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + "version" "4.6.2" 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@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -pako@~1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -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@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" - integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.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== + "retry" "^0.13.1" + +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" + +"package-json@^6.3.0": + "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" + "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + "version" "6.5.0" + dependencies: + "got" "^9.6.0" + "registry-auth-token" "^4.0.0" + "registry-url" "^5.0.0" + "semver" "^6.2.0" + +"pako@~1.0.2": + "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + "version" "1.0.11" + +"param-case@^3.0.4": + "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" + "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "dot-case" "^3.0.4" + "tslib" "^2.0.3" + +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "callsites" "^3.0.0" + +"parse-entities@^2.0.0": + "integrity" "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==" + "resolved" "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "character-entities" "^1.0.0" + "character-entities-legacy" "^1.0.0" + "character-reference-invalid" "^1.0.0" + "is-alphanumerical" "^1.0.0" + "is-decimal" "^1.0.0" + "is-hexadecimal" "^1.0.0" + +"parse-json@^5.0.0", "parse-json@^5.2.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" 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@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -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-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== - -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@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.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@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" - integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-discard-unused@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz#8974e9b143d887677304e558c1166d3762501142" - integrity sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-loader@^7.0.0: - 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@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz#7753817c2e0b75d0853b56f78a89771e15ca04a1" - integrity sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" - integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" + "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": + "integrity" "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + "resolved" "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + "version" "1.3.0" + +"parse5-htmlparser2-tree-adapter@^7.0.0": + "integrity" "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==" + "resolved" "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "domhandler" "^5.0.2" + "parse5" "^7.0.0" + +"parse5@^6.0.0": + "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + "version" "6.0.1" + +"parse5@^7.0.0": + "integrity" "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" + "version" "7.1.2" + dependencies: + "entities" "^4.4.0" + +"parseurl@~1.3.2", "parseurl@~1.3.3": + "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + "version" "1.3.3" + +"pascal-case@^3.1.2": + "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" + "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"path-exists@^3.0.0": + "integrity" "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + "version" "3.0.0" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-is-inside@1.0.2": + "integrity" "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + "version" "1.0.2" + +"path-key@^3.0.0", "path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.7": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-to-regexp@^1.7.0": + "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "isarray" "0.0.1" + +"path-to-regexp@0.1.7": + "integrity" "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + "version" "0.1.7" + +"path-to-regexp@2.2.1": + "integrity" "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + "version" "2.2.1" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"picocolors@^1.0.0": + "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + "version" "1.0.0" + +"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.3", "picomatch@^2.3.1": + "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + "version" "2.3.1" + +"pkg-dir@^4.1.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"pkg-up@^3.1.0": + "integrity" "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==" + "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "find-up" "^3.0.0" + +"postcss-calc@^8.2.3": + "integrity" "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==" + "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + "version" "8.2.4" + dependencies: + "postcss-selector-parser" "^6.0.9" + "postcss-value-parser" "^4.2.0" + +"postcss-colormin@^5.3.1": + "integrity" "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==" + "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" + "version" "5.3.1" + dependencies: + "browserslist" "^4.21.4" + "caniuse-api" "^3.0.0" + "colord" "^2.9.1" + "postcss-value-parser" "^4.2.0" + +"postcss-convert-values@^5.1.3": + "integrity" "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==" + "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + "version" "5.1.3" + dependencies: + "browserslist" "^4.21.4" + "postcss-value-parser" "^4.2.0" + +"postcss-discard-comments@^5.1.2": + "integrity" "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" + "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + "version" "5.1.2" + +"postcss-discard-duplicates@^5.1.0": + "integrity" "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" + "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + "version" "5.1.0" + +"postcss-discard-empty@^5.1.1": + "integrity" "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" + "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + "version" "5.1.1" + +"postcss-discard-overridden@^5.1.0": + "integrity" "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" + "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + "version" "5.1.0" + +"postcss-discard-unused@^5.1.0": + "integrity" "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==" + "resolved" "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "postcss-selector-parser" "^6.0.5" + +"postcss-loader@^7.0.0": + "integrity" "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==" + "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz" + "version" "7.3.3" + dependencies: + "cosmiconfig" "^8.2.0" + "jiti" "^1.18.2" + "semver" "^7.3.8" + +"postcss-merge-idents@^5.1.1": + "integrity" "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==" + "resolved" "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" + +"postcss-merge-longhand@^5.1.7": + "integrity" "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==" + "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + "version" "5.1.7" + dependencies: + "postcss-value-parser" "^4.2.0" + "stylehacks" "^5.1.1" + +"postcss-merge-rules@^5.1.4": + "integrity" "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==" + "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" + "version" "5.1.4" + dependencies: + "browserslist" "^4.21.4" + "caniuse-api" "^3.0.0" + "cssnano-utils" "^3.1.0" + "postcss-selector-parser" "^6.0.5" -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== +"postcss-minify-font-values@^5.1.0": + "integrity" "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==" + "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" + +"postcss-minify-gradients@^5.1.1": + "integrity" "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==" + "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "colord" "^2.9.1" + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" +"postcss-minify-params@^5.1.4": + "integrity" "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==" + "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + "version" "5.1.4" + dependencies: + "browserslist" "^4.21.4" + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== +"postcss-minify-selectors@^5.2.1": + "integrity" "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==" + "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + "version" "5.2.1" dependencies: - postcss-selector-parser "^6.0.5" + "postcss-selector-parser" "^6.0.5" -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-extract-imports@^3.0.0": + "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" + "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + "version" "3.0.0" -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== +"postcss-modules-local-by-default@^4.0.3": + "integrity" "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==" + "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz" + "version" "4.0.3" dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" + "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== +"postcss-modules-scope@^3.0.0": + "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" + "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + "version" "3.0.0" dependencies: - postcss-selector-parser "^6.0.4" + "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== +"postcss-modules-values@^4.0.0": + "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + "version" "4.0.0" dependencies: - icss-utils "^5.0.0" + "icss-utils" "^5.0.0" -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== +"postcss-normalize-charset@^5.1.0": + "integrity" "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + "version" "5.1.0" -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== +"postcss-normalize-display-values@^5.1.0": + "integrity" "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== +"postcss-normalize-positions@^5.1.1": + "integrity" "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== +"postcss-normalize-repeat-style@^5.1.1": + "integrity" "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==" + "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== +"postcss-normalize-string@^5.1.0": + "integrity" "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==" + "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== +"postcss-normalize-timing-functions@^5.1.0": + "integrity" "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== +"postcss-normalize-unicode@^5.1.1": + "integrity" "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" + "version" "5.1.1" dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" + "browserslist" "^4.21.4" + "postcss-value-parser" "^4.2.0" -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== +"postcss-normalize-url@^5.1.0": + "integrity" "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==" + "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + "version" "5.1.0" dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" + "normalize-url" "^6.0.1" + "postcss-value-parser" "^4.2.0" -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== +"postcss-normalize-whitespace@^5.1.1": + "integrity" "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== +"postcss-ordered-values@^5.1.3": + "integrity" "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==" + "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + "version" "5.1.3" dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" + "cssnano-utils" "^3.1.0" + "postcss-value-parser" "^4.2.0" -postcss-reduce-idents@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz#c89c11336c432ac4b28792f24778859a67dfba95" - integrity sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg== +"postcss-reduce-idents@^5.2.0": + "integrity" "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==" + "resolved" "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz" + "version" "5.2.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-reduce-initial@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" - integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== +"postcss-reduce-initial@^5.1.2": + "integrity" "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==" + "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" + "version" "5.1.2" dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" + "browserslist" "^4.21.4" + "caniuse-api" "^3.0.0" -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== +"postcss-reduce-transforms@^5.1.0": + "integrity" "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==" + "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" + "postcss-value-parser" "^4.2.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - 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== +"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5", "postcss-selector-parser@^6.0.9": + "integrity" "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + "version" "6.0.13" dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" + "cssesc" "^3.0.0" + "util-deprecate" "^1.0.2" -postcss-sort-media-queries@^4.2.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz#04a5a78db3921eb78f28a1a781a2e68e65258128" - integrity sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw== +"postcss-sort-media-queries@^4.2.1": + "integrity" "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==" + "resolved" "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz" + "version" "4.4.1" dependencies: - sort-css-media-queries "2.1.0" + "sort-css-media-queries" "2.1.0" -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== +"postcss-svgo@^5.1.0": + "integrity" "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==" + "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + "version" "5.1.0" dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" + "postcss-value-parser" "^4.2.0" + "svgo" "^2.7.0" -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== +"postcss-unique-selectors@^5.1.1": + "integrity" "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==" + "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + "version" "5.1.1" dependencies: - postcss-selector-parser "^6.0.5" + "postcss-selector-parser" "^6.0.5" -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-value-parser@^4.1.0", "postcss-value-parser@^4.2.0": + "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + "version" "4.2.0" -postcss-zindex@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff" - integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== +"postcss-zindex@^5.1.0": + "integrity" "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==" + "resolved" "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" + "version" "5.1.0" -postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.21: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== +"postcss@^7.0.0 || ^8.0.1", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.3.11", "postcss@^8.4.14", "postcss@^8.4.16", "postcss@^8.4.17", "postcss@^8.4.21": + "integrity" "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" + "version" "8.4.31" dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== - -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@^1.2.1, prism-react-renderer@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" - integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== - -prismjs@^1.28.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== + "nanoid" "^3.3.6" + "picocolors" "^1.0.0" + "source-map-js" "^1.0.2" + +"prepend-http@^2.0.0": + "integrity" "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" + "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + "version" "2.0.0" + +"pretty-error@^4.0.0": + "integrity" "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==" + "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "lodash" "^4.17.20" + "renderkid" "^3.0.0" + +"pretty-time@^1.1.0": + "integrity" "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" + "resolved" "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + "version" "1.1.0" + +"prism-react-renderer@^1.2.1", "prism-react-renderer@^1.3.5": + "integrity" "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==" + "resolved" "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" + "version" "1.3.5" + +"prismjs@^1.28.0": + "integrity" "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + "resolved" "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + "version" "1.29.0" + +"process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - -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.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@^5.0.0, property-information@^5.3.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" - integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== - dependencies: - xtend "^4.0.0" - -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" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.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.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -pupa@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - -pure-color@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" - integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== - -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -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" - -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, 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-base16-styling@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" - integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== - dependencies: - base16 "^1.0.0" - lodash.curry "^4.0.1" - lodash.flow "^3.3.0" - pure-color "^1.2.0" - -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== +"promise@^7.1.1": + "integrity" "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" + "resolved" "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + "version" "7.3.1" + dependencies: + "asap" "~2.0.3" + +"prompts@^2.4.2": + "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"prop-types@^15.6.2", "prop-types@^15.7.2": + "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==" + "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + "version" "15.8.1" + dependencies: + "loose-envify" "^1.4.0" + "object-assign" "^4.1.1" + "react-is" "^16.13.1" + +"property-information@^5.0.0", "property-information@^5.3.0": + "integrity" "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==" + "resolved" "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" + "version" "5.6.0" + dependencies: + "xtend" "^4.0.0" + +"proxy-addr@~2.0.7": + "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" + "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + "version" "2.0.7" + dependencies: + "forwarded" "0.2.0" + "ipaddr.js" "1.9.1" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"punycode@^1.3.2": + "integrity" "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + +"punycode@^2.1.0": + "integrity" "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + "version" "2.3.0" + +"pupa@^2.1.1": + "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==" + "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "escape-goat" "^2.0.0" + +"pure-color@^1.2.0": + "integrity" "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + "resolved" "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + "version" "1.3.0" + +"q@^1.1.2": + "integrity" "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" + "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + "version" "1.5.1" + +"qs@6.11.0": + "integrity" "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + "version" "6.11.0" + dependencies: + "side-channel" "^1.0.4" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"queue@6.0.2": + "integrity" "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==" + "resolved" "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "inherits" "~2.0.3" + +"randombytes@^2.1.0": + "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" + "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "safe-buffer" "^5.1.0" + +"range-parser@^1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" + +"range-parser@~1.2.1": + "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + "version" "1.2.1" + +"range-parser@1.2.0": + "integrity" "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" + "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + "version" "1.2.0" + +"raw-body@2.5.1": + "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" + "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + "version" "2.5.1" + dependencies: + "bytes" "3.1.2" + "http-errors" "2.0.0" + "iconv-lite" "0.4.24" + "unpipe" "1.0.0" + +"rc@^1.2.8", "rc@1.2.8": + "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" + "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + "version" "1.2.8" + dependencies: + "deep-extend" "^0.6.0" + "ini" "~1.3.0" + "minimist" "^1.2.0" + "strip-json-comments" "~2.0.1" + +"react-base16-styling@^0.6.0": + "integrity" "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==" + "resolved" "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "base16" "^1.0.0" + "lodash.curry" "^4.0.1" + "lodash.flow" "^3.3.0" + "pure-color" "^1.2.0" + +"react-dev-utils@^12.0.1": + "integrity" "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==" + "resolved" "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + "version" "12.0.1" 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@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" - integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - scheduler "^0.20.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: - 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@*, 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== + "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@*", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.4 || ^17.0.0", "react-dom@^17.0.0 || ^16.3.0 || ^15.5.4", "react-dom@^17.0.1", "react-dom@>= 16.8.0 < 19.0.0": + "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" + "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + "version" "17.0.2" + dependencies: + "loose-envify" "^1.1.0" + "object-assign" "^4.1.1" + "scheduler" "^0.20.2" + +"react-error-overlay@^6.0.11": + "integrity" "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + "resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + "version" "6.0.11" + +"react-fast-compare@^3.2.0": + "integrity" "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + "resolved" "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + "version" "3.2.2" + +"react-helmet-async@*", "react-helmet-async@^1.3.0": + "integrity" "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==" + "resolved" "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" + "version" "1.3.0" 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@^1.21.3: - version "1.21.3" - resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" - integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== - dependencies: - flux "^4.0.1" - react-base16-styling "^0.6.0" - react-lifecycles-compat "^3.0.4" - react-textarea-autosize "^8.3.2" - -react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -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== + "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": + "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + "version" "16.13.1" + +"react-json-view@^1.21.3": + "integrity" "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==" + "resolved" "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + "version" "1.21.3" + dependencies: + "flux" "^4.0.1" + "react-base16-styling" "^0.6.0" + "react-lifecycles-compat" "^3.0.4" + "react-textarea-autosize" "^8.3.2" + +"react-lifecycles-compat@^3.0.4": + "integrity" "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "resolved" "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + "version" "3.0.4" + +"react-loadable-ssr-addon-v5-slorber@^1.0.1": + "integrity" "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==" + "resolved" "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + "version" "1.0.1" dependencies: "@babel/runtime" "^7.10.3" -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== +"react-loadable@*", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": + "integrity" "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==" + "resolved" "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" + "version" "5.5.2" + dependencies: + "@types/react" "*" + "prop-types" "^15.6.2" + +"react-router-config@^5.1.1": + "integrity" "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==" + "resolved" "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + "version" "5.1.1" dependencies: "@babel/runtime" "^7.1.2" -react-router-dom@^5.3.3: - 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== +"react-router-dom@^5.3.3": + "integrity" "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==" + "resolved" "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" + "version" "5.3.4" 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.3: - version "5.3.4" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" - integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== + "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.3", "react-router@>=5", "react-router@5.3.4": + "integrity" "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==" + "resolved" "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" + "version" "5.3.4" 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-textarea-autosize@^8.3.2: - version "8.5.3" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" - integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== + "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-textarea-autosize@^8.3.2": + "integrity" "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==" + "resolved" "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz" + "version" "8.5.3" dependencies: "@babel/runtime" "^7.20.13" - use-composed-ref "^1.3.0" - use-latest "^1.2.1" - -react@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" - integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -readable-stream@^2.0.1, readable-stream@~2.3.6: - 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== + "use-composed-ref" "^1.3.0" + "use-latest" "^1.2.1" + +"react@*", "react@^15.0.2 || ^16.0.0 || ^17.0.0", "react@^16.13.1 || ^17.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.4 || ^17.0.0", "react@^17.0.0 || ^16.3.0 || ^15.5.4", "react@^17.0.1", "react@>= 16.8.0 < 19.0.0", "react@>=0.14.9", "react@>=15", "react@17.0.2": + "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" + "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" + "version" "17.0.2" + dependencies: + "loose-envify" "^1.1.0" + "object-assign" "^4.1.1" + +"readable-stream@^2.0.1", "readable-stream@~2.3.6": + "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + "version" "2.3.8" + 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": + "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + "version" "3.6.2" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readdirp@~3.6.0": + "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "picomatch" "^2.2.1" + +"reading-time@^1.5.0": + "integrity" "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + "resolved" "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + "version" "1.5.0" + +"rechoir@^0.6.2": + "integrity" "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "resolve" "^1.1.6" + +"recursive-readdir@^2.2.2": + "integrity" "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==" + "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" + "version" "2.2.3" + dependencies: + "minimatch" "^3.0.5" + +"regenerate-unicode-properties@^10.1.0": + "integrity" "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + "version" "10.1.1" + dependencies: + "regenerate" "^1.4.2" + +"regenerate@^1.4.2": + "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + "version" "1.4.2" + +"regenerator-runtime@^0.14.0": + "integrity" "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" + "version" "0.14.0" + +"regenerator-transform@^0.15.2": + "integrity" "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==" + "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + "version" "0.15.2" dependencies: "@babel/runtime" "^7.8.4" -regexp.prototype.flags@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" - integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== +"regexp.prototype.flags@^1.5.1": + "integrity" "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==" + "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" + "version" "1.5.1" dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - set-function-name "^2.0.0" + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "set-function-name" "^2.0.0" -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== +"regexpu-core@^5.3.1": + "integrity" "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + "version" "5.3.2" 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" + "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@^4.0.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" - integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== +"registry-auth-token@^4.0.0": + "integrity" "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==" + "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz" + "version" "4.2.2" dependencies: - rc "1.2.8" + "rc" "1.2.8" -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== +"registry-url@^5.0.0": + "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" + "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + "version" "5.1.0" dependencies: - rc "^1.2.8" + "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== +"regjsparser@^0.9.1": + "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + "version" "0.9.1" dependencies: - jsesc "~0.5.0" + "jsesc" "~0.5.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== +"relateurl@^0.2.7": + "integrity" "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" + "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + "version" "0.2.7" -remark-emoji@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-2.2.0.tgz#1c702090a1525da5b80e15a8f963ef2c8236cac7" - integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== +"remark-emoji@^2.2.0": + "integrity" "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==" + "resolved" "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" + "version" "2.2.0" dependencies: - emoticon "^3.2.0" - node-emoji "^1.10.0" - unist-util-visit "^2.0.3" + "emoticon" "^3.2.0" + "node-emoji" "^1.10.0" + "unist-util-visit" "^2.0.3" -remark-footnotes@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" - integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== +"remark-footnotes@2.0.0": + "integrity" "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" + "resolved" "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" + "version" "2.0.0" -remark-mdx@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" - integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== +"remark-mdx@1.6.22": + "integrity" "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==" + "resolved" "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" + "version" "1.6.22" dependencies: "@babel/core" "7.12.9" "@babel/helper-plugin-utils" "7.10.4" "@babel/plugin-proposal-object-rest-spread" "7.12.1" "@babel/plugin-syntax-jsx" "7.12.1" "@mdx-js/util" "1.6.22" - is-alphabetical "1.0.4" - remark-parse "8.0.3" - unified "9.2.0" - -remark-parse@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" - integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== - dependencies: - ccount "^1.0.0" - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^2.0.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^2.0.0" - vfile-location "^3.0.0" - xtend "^4.0.1" - -remark-squeeze-paragraphs@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" - integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== - dependencies: - mdast-squeeze-paragraphs "^4.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" - -repeat-string@^1.5.4: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -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== + "is-alphabetical" "1.0.4" + "remark-parse" "8.0.3" + "unified" "9.2.0" + +"remark-parse@8.0.3": + "integrity" "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==" + "resolved" "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" + "version" "8.0.3" + dependencies: + "ccount" "^1.0.0" + "collapse-white-space" "^1.0.2" + "is-alphabetical" "^1.0.0" + "is-decimal" "^1.0.0" + "is-whitespace-character" "^1.0.0" + "is-word-character" "^1.0.0" + "markdown-escapes" "^1.0.0" + "parse-entities" "^2.0.0" + "repeat-string" "^1.5.4" + "state-toggle" "^1.0.0" + "trim" "0.0.1" + "trim-trailing-lines" "^1.0.0" + "unherit" "^1.0.4" + "unist-util-remove-position" "^2.0.0" + "vfile-location" "^3.0.0" + "xtend" "^4.0.1" + +"remark-squeeze-paragraphs@4.0.0": + "integrity" "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==" + "resolved" "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "mdast-squeeze-paragraphs" "^4.0.0" + +"renderkid@^3.0.0": + "integrity" "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==" + "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "css-select" "^4.1.3" + "dom-converter" "^0.2.0" + "htmlparser2" "^6.1.0" + "lodash" "^4.17.21" + "strip-ansi" "^6.0.1" + +"repeat-string@^1.5.4": + "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"require-from-string@^2.0.2": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" "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-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, resolve@^1.3.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@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== - dependencies: - lowercase-keys "^1.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@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" - integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== - dependencies: - find-up "^5.0.0" - picocolors "^1.0.0" - postcss "^8.3.11" - 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" - -rxjs@^7.5.4: - version "7.8.1" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" - integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== - dependencies: - tslib "^2.1.0" - -safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" - integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - has-symbols "^1.0.3" - isarray "^2.0.5" - -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== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" + "integrity" "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" + "resolved" "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" + "version" "0.1.2" + +"requires-port@^1.0.0": + "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + "version" "1.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-pathname@^3.0.0": + "integrity" "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + "resolved" "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + "version" "3.0.0" + +"resolve@^1.1.6", "resolve@^1.14.2", "resolve@^1.3.2": + "integrity" "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + "version" "1.22.8" + dependencies: + "is-core-module" "^2.13.0" + "path-parse" "^1.0.7" + "supports-preserve-symlinks-flag" "^1.0.0" + +"responselike@^1.0.2": + "integrity" "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==" + "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "lowercase-keys" "^1.0.0" + +"retry@^0.13.1": + "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" + "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + "version" "0.13.1" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rimraf@^3.0.2": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"rtl-detect@^1.0.4": + "integrity" "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + "resolved" "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" + "version" "1.1.2" + +"rtlcss@^3.5.0": + "integrity" "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==" + "resolved" "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" + "version" "3.5.0" + dependencies: + "find-up" "^5.0.0" + "picocolors" "^1.0.0" + "postcss" "^8.3.11" + "strip-json-comments" "^3.1.1" + +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "queue-microtask" "^1.2.2" + +"rxjs@^7.5.4": + "integrity" "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + "version" "7.8.1" + dependencies: + "tslib" "^2.1.0" + +"safe-array-concat@^1.0.0", "safe-array-concat@^1.0.1": + "integrity" "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==" + "resolved" "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.2.1" + "has-symbols" "^1.0.3" + "isarray" "^2.0.5" + +"safe-buffer@^5.1.0", "safe-buffer@>=5.1.0", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" + +"safe-buffer@5.2.1": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" + +"safe-regex-test@^1.0.0": + "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" + "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.3" + "is-regex" "^1.1.4" "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== + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" -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== +"sax@^1.2.4": + "integrity" "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" + "version" "1.3.0" -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +"sax@~1.2.4": + "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + "version" "1.2.4" -scheduler@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" - integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== +"scheduler@^0.20.2": + "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" + "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" + "version" "0.20.2" dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" + "loose-envify" "^1.1.0" + "object-assign" "^4.1.1" -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== +"schema-utils@^2.6.5": + "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + "version" "2.7.1" dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" + "@types/json-schema" "^7.0.5" + "ajv" "^6.12.4" + "ajv-keywords" "^3.5.2" -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== +"schema-utils@^3.0.0": + "integrity" "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + "version" "3.3.0" dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -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== +"schema-utils@^3.1.1": + "integrity" "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + "version" "3.3.0" dependencies: "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" -schema-utils@^4.0.0: - 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== +"schema-utils@^3.2.0": + "integrity" "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "@types/json-schema" "^7.0.8" + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" + +"schema-utils@^4.0.0": + "integrity" "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" + "version" "4.2.0" dependencies: "@types/json-schema" "^7.0.9" - ajv "^8.9.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.1.0" + "ajv" "^8.9.0" + "ajv-formats" "^2.1.1" + "ajv-keywords" "^5.1.0" -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +"schema-utils@2.7.0": + "integrity" "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + "version" "2.7.0" + dependencies: + "@types/json-schema" "^7.0.4" + "ajv" "^6.12.2" + "ajv-keywords" "^3.4.1" -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== +"scrypt-js@3.0.1": + "integrity" "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + "resolved" "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" + "version" "3.0.1" + +"search-insights@>= 1 < 3": + "integrity" "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==" + "resolved" "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz" + "version" "2.11.0" + +"section-matter@^1.0.0": + "integrity" "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==" + "resolved" "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + "version" "1.0.0" dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" + "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== +"select-hose@^2.0.0": + "integrity" "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + "version" "2.0.0" -selfsigned@^2.1.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" - integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== +"selfsigned@^2.1.1": + "integrity" "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==" + "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + "version" "2.4.1" dependencies: "@types/node-forge" "^1.3.0" - node-forge "^1" - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -semver@^5.4.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, 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.4, semver@^7.3.7, semver@^7.3.8: - 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.3: - 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" - -set-function-name@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" - integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== - dependencies: - define-data-property "^1.0.1" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.0" - -setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -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== + "node-forge" "^1" + +"semver-diff@^3.1.1": + "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" + "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "semver" "^6.3.0" + +"semver@^5.4.1": + "integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + "version" "5.7.2" + +"semver@^6.0.0", "semver@^6.2.0", "semver@^6.3.0", "semver@^6.3.1": + "integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + "version" "6.3.1" + +"semver@^7.3.2": + "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + "version" "7.5.4" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.4": + "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + "version" "7.5.4" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.7": + "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + "version" "7.5.4" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.8": + "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + "version" "7.5.4" + dependencies: + "lru-cache" "^6.0.0" + +"send@0.18.0": + "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" + "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" + "version" "0.18.0" + dependencies: + "debug" "2.6.9" + "depd" "2.0.0" + "destroy" "1.2.0" + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "etag" "~1.8.1" + "fresh" "0.5.2" + "http-errors" "2.0.0" + "mime" "1.6.0" + "ms" "2.1.3" + "on-finished" "2.4.1" + "range-parser" "~1.2.1" + "statuses" "2.0.1" + +"serialize-javascript@^6.0.0", "serialize-javascript@^6.0.1": + "integrity" "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "randombytes" "^2.1.0" + +"serve-handler@^6.1.3": + "integrity" "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==" + "resolved" "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" + "version" "6.1.5" + dependencies: + "bytes" "3.0.0" + "content-disposition" "0.5.2" + "fast-url-parser" "1.1.3" + "mime-types" "2.1.18" + "minimatch" "3.1.2" + "path-is-inside" "1.0.2" + "path-to-regexp" "2.2.1" + "range-parser" "1.2.0" + +"serve-index@^1.9.1": + "integrity" "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==" + "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + "version" "1.9.1" + 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": + "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" + "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + "version" "1.15.0" + dependencies: + "encodeurl" "~1.0.2" + "escape-html" "~1.0.3" + "parseurl" "~1.3.3" + "send" "0.18.0" + +"set-function-length@^1.1.1": + "integrity" "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==" + "resolved" "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "define-data-property" "^1.1.1" + "get-intrinsic" "^1.2.1" + "gopd" "^1.0.1" + "has-property-descriptors" "^1.0.0" + +"set-function-name@^2.0.0": + "integrity" "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==" + "resolved" "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "define-data-property" "^1.0.1" + "functions-have-names" "^1.2.3" + "has-property-descriptors" "^1.0.0" + +"setimmediate@^1.0.5": + "integrity" "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + "version" "1.0.5" + +"setprototypeof@1.1.0": + "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + "version" "1.1.0" + +"setprototypeof@1.2.0": + "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + "version" "1.2.0" + +"shallow-clone@^3.0.0": + "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" + "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^6.0.2" + +"shallowequal@^1.1.0": + "integrity" "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + "resolved" "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + "version" "1.1.0" + +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"shell-quote@^1.7.3", "shell-quote@^1.8.1": + "integrity" "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" + "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + "version" "1.8.1" + +"shelljs@^0.8.5": + "integrity" "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==" + "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + "version" "0.8.5" + dependencies: + "glob" "^7.0.0" + "interpret" "^1.0.0" + "rechoir" "^0.6.2" + +"side-channel@^1.0.4": + "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + "version" "1.0.4" + 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": + "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + "version" "3.0.7" + +"sirv@^2.0.3": + "integrity" "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==" + "resolved" "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz" + "version" "2.0.3" dependencies: "@polka/url" "^1.0.0-next.20" - mrmime "^1.0.0" - totalist "^3.0.0" + "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== +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" -sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== +"sitemap@^7.1.1": + "integrity" "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==" + "resolved" "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + "version" "7.1.1" dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" - arg "^5.0.0" - sax "^1.2.4" + "arg" "^5.0.0" + "sax" "^1.2.4" -siwe-recap@0.0.2-alpha.0: - version "0.0.2-alpha.0" - resolved "https://registry.yarnpkg.com/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz#75a0902c10a8ba5b4471f40e4eafb0afb2f8db59" - integrity sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA== +"siwe-recap@0.0.2-alpha.0": + "integrity" "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==" + "resolved" "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz" + "version" "0.0.2-alpha.0" dependencies: - canonicalize "^2.0.0" - multiformats "^11.0.2" - siwe "^2.1.4" + "canonicalize" "^2.0.0" + "multiformats" "^11.0.2" + "siwe" "^2.1.4" -siwe@^2.0.5, siwe@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/siwe/-/siwe-2.1.4.tgz#005a8be3e61224a86bd3457f60fdaab626f2d1d4" - integrity sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg== +"siwe@^2.0.5", "siwe@^2.1.4": + "integrity" "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==" + "resolved" "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz" + "version" "2.1.4" dependencies: "@spruceid/siwe-parser" "*" "@stablelib/random" "^1.0.1" - uri-js "^4.4.1" - valid-url "^1.0.9" - -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== - -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.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz#7c85e06f79826baabb232f5560e9745d7a78c4ce" - integrity sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA== - -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.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, 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== - -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" - integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== - -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== - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -state-toggle@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== - -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== + "uri-js" "^4.4.1" + "valid-url" "^1.0.9" + +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + +"slash@^4.0.0": + "integrity" "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" + "resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + "version" "4.0.0" + +"sockjs@^0.3.24": + "integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==" + "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + "version" "0.3.24" + dependencies: + "faye-websocket" "^0.11.3" + "uuid" "^8.3.2" + "websocket-driver" "^0.7.4" + +"sort-css-media-queries@2.1.0": + "integrity" "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==" + "resolved" "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz" + "version" "2.1.0" + +"source-map-js@^1.0.2": + "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + "version" "1.0.2" + +"source-map-support@~0.5.20": + "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + "version" "0.5.21" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map@^0.5.0": + "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.0": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"space-separated-tokens@^1.0.0": + "integrity" "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + "resolved" "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" + "version" "1.1.5" + +"spdy-transport@^3.0.0": + "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" + "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + "version" "3.0.0" + 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": + "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" + "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + "version" "4.0.2" + 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": + "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"stable@^0.1.8": + "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + "version" "0.1.8" + +"state-toggle@^1.0.0": + "integrity" "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + "resolved" "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" + "version" "1.0.3" "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.4.3" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910" - integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: - 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: - 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.prototype.trim@^1.2.8: - version "1.2.8" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" - integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimend@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" - integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - -string.prototype.trimstart@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" - integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.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-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.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.3.0, style-to-object@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" - integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== - dependencies: - inline-style-parser "0.1.1" - -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - -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.2, 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@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -svgo@^2.7.0, svgo@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + "version" "1.5.0" + +"statuses@2.0.1": + "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + "version" "2.0.1" + +"std-env@^3.0.1": + "integrity" "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + "resolved" "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" + "version" "3.4.3" + +"string_decoder@^1.1.1", "string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "safe-buffer" "~5.1.0" + +"string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.2": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"string-width@^4.2.0": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"string-width@^5.0.1": + "integrity" "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "eastasianwidth" "^0.2.0" + "emoji-regex" "^9.2.2" + "strip-ansi" "^7.0.1" + +"string.prototype.trim@^1.2.8": + "integrity" "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==" + "resolved" "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" + "version" "1.2.8" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + +"string.prototype.trimend@^1.0.7": + "integrity" "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + +"string.prototype.trimstart@^1.0.7": + "integrity" "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.2.0" + "es-abstract" "^1.22.1" + +"stringify-object@^3.3.0": + "integrity" "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" + "resolved" "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "get-own-enumerable-property-symbols" "^3.0.0" + "is-obj" "^1.0.1" + "is-regexp" "^1.0.0" + +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "ansi-regex" "^5.0.1" + +"strip-ansi@^7.0.1": + "integrity" "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + "version" "7.1.0" + dependencies: + "ansi-regex" "^6.0.1" + +"strip-bom-string@^1.0.0": + "integrity" "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" + "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + "version" "1.0.0" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + +"strip-json-comments@^3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"strip-json-comments@~2.0.1": + "integrity" "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + "version" "2.0.1" + +"style-to-object@^0.3.0", "style-to-object@0.3.0": + "integrity" "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==" + "resolved" "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "inline-style-parser" "0.1.1" + +"stylehacks@^5.1.1": + "integrity" "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==" + "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "browserslist" "^4.21.4" + "postcss-selector-parser" "^6.0.4" + +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" + dependencies: + "has-flag" "^3.0.0" + +"supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" + dependencies: + "has-flag" "^4.0.0" + +"supports-color@^8.0.0": + "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + "version" "8.1.1" + dependencies: + "has-flag" "^4.0.0" + +"supports-preserve-symlinks-flag@^1.0.0": + "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + "version" "1.0.0" + +"svg-parser@^2.0.2", "svg-parser@^2.0.4": + "integrity" "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "resolved" "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + "version" "2.0.4" + +"svgo@^1.2.2": + "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "chalk" "^2.4.1" + "coa" "^2.0.2" + "css-select" "^2.0.0" + "css-select-base-adapter" "^0.1.1" + "css-tree" "1.0.0-alpha.37" + "csso" "^4.0.2" + "js-yaml" "^3.13.1" + "mkdirp" "~0.5.1" + "object.values" "^1.1.0" + "sax" "~1.2.4" + "stable" "^0.1.8" + "unquote" "~1.1.1" + "util.promisify" "~1.0.0" + +"svgo@^2.7.0": + "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + "version" "2.8.0" + dependencies: + "@trysound/sax" "0.2.0" + "commander" "^7.2.0" + "css-select" "^4.1.3" + "css-tree" "^1.1.3" + "csso" "^4.2.0" + "picocolors" "^1.0.0" + "stable" "^0.1.8" + +"svgo@^2.8.0": + "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + "version" "2.8.0" dependencies: "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -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.3, terser-webpack-plugin@^5.3.7: - 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== + "commander" "^7.2.0" + "css-select" "^4.1.3" + "css-tree" "^1.1.3" + "csso" "^4.2.0" + "picocolors" "^1.0.0" + "stable" "^0.1.8" + +"tapable@^1.0.0": + "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + "version" "1.1.3" + +"tapable@^2.0.0", "tapable@^2.1.1", "tapable@^2.2.0": + "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + "version" "2.2.1" + +"terser-webpack-plugin@^5.3.3", "terser-webpack-plugin@^5.3.7": + "integrity" "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" + "version" "5.3.9" 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" + "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.16.8: - version "5.22.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" - integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== +"terser@^5.10.0", "terser@^5.16.8": + "integrity" "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==" + "resolved" "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz" + "version" "5.22.0" 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-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -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== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -trim-trailing-lines@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" - integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== - -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.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@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -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" - -typed-array-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" - integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - is-typed-array "^1.1.10" - -typed-array-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" - integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" - integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - has-proto "^1.0.1" - is-typed-array "^1.1.10" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -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" - -ua-parser-js@^1.0.35: - version "1.0.37" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" - integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -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== - -unherit@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== - dependencies: - inherits "^2.0.0" - xtend "^4.0.0" - -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-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@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" - integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -unified@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" - integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -unist-builder@2.0.3, unist-builder@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" - integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== - -unist-util-generated@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" - integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== - -unist-util-is@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" - integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== - -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== - -unist-util-remove-position@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" - integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== - dependencies: - unist-util-visit "^2.0.0" - -unist-util-remove@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" - integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== - dependencies: - unist-util-is "^4.0.0" - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== + "acorn" "^8.8.2" + "commander" "^2.20.0" + "source-map-support" "~0.5.20" + +"text-table@^0.2.0": + "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" + +"thunky@^1.0.2": + "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + "version" "1.1.0" + +"tiny-invariant@^1.0.2": + "integrity" "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + "resolved" "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" + "version" "1.3.1" + +"tiny-warning@^1.0.0": + "integrity" "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + "resolved" "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + "version" "1.0.3" + +"to-fast-properties@^2.0.0": + "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + +"to-readable-stream@^1.0.0": + "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + "version" "1.0.0" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"toidentifier@1.0.1": + "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" + "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + "version" "1.0.1" + +"totalist@^3.0.0": + "integrity" "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==" + "resolved" "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" + "version" "3.0.1" + +"tr46@~0.0.3": + "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + "version" "0.0.3" + +"trim-trailing-lines@^1.0.0": + "integrity" "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" + "resolved" "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" + "version" "1.1.4" + +"trim@0.0.1": + "integrity" "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" + "resolved" "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" + "version" "0.0.1" + +"trough@^1.0.0": + "integrity" "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + "resolved" "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" + "version" "1.0.5" + +"tslib@^2.0.3", "tslib@^2.1.0", "tslib@^2.3.0", "tslib@^2.4.0": + "integrity" "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + "version" "2.6.2" + +"type-fest@^0.20.2": + "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + "version" "0.20.2" + +"type-fest@^2.5.0": + "integrity" "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + "version" "2.19.0" + +"type-is@~1.6.18": + "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" + "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + "version" "1.6.18" + dependencies: + "media-typer" "0.3.0" + "mime-types" "~2.1.24" + +"typed-array-buffer@^1.0.0": + "integrity" "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==" + "resolved" "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.2.1" + "is-typed-array" "^1.1.10" + +"typed-array-byte-length@^1.0.0": + "integrity" "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==" + "resolved" "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "for-each" "^0.3.3" + "has-proto" "^1.0.1" + "is-typed-array" "^1.1.10" + +"typed-array-byte-offset@^1.0.0": + "integrity" "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==" + "resolved" "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "available-typed-arrays" "^1.0.5" + "call-bind" "^1.0.2" + "for-each" "^0.3.3" + "has-proto" "^1.0.1" + "is-typed-array" "^1.1.10" + +"typed-array-length@^1.0.4": + "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" + "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "for-each" "^0.3.3" + "is-typed-array" "^1.1.9" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"typescript@>= 2.7", "typescript@>=4.9.5": + "integrity" "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz" + "version" "5.3.2" + +"ua-parser-js@^1.0.35": + "integrity" "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" + "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz" + "version" "1.0.37" + +"unbox-primitive@^1.0.2": + "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" + "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "call-bind" "^1.0.2" + "has-bigints" "^1.0.2" + "has-symbols" "^1.0.3" + "which-boxed-primitive" "^1.0.2" + +"undici-types@~5.26.4": + "integrity" "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "resolved" "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + "version" "5.26.5" + +"unherit@^1.0.4": + "integrity" "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==" + "resolved" "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "inherits" "^2.0.0" + "xtend" "^4.0.0" + +"unicode-canonical-property-names-ecmascript@^2.0.0": + "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-match-property-ecmascript@^2.0.0": + "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "unicode-canonical-property-names-ecmascript" "^2.0.0" + "unicode-property-aliases-ecmascript" "^2.0.0" + +"unicode-match-property-value-ecmascript@^2.1.0": + "integrity" "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + "version" "2.1.0" + +"unicode-property-aliases-ecmascript@^2.0.0": + "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + "version" "2.1.0" + +"unified@^9.2.2": + "integrity" "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==" + "resolved" "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" + "version" "9.2.2" + dependencies: + "bail" "^1.0.0" + "extend" "^3.0.0" + "is-buffer" "^2.0.0" + "is-plain-obj" "^2.0.0" + "trough" "^1.0.0" + "vfile" "^4.0.0" + +"unified@9.2.0": + "integrity" "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==" + "resolved" "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + "version" "9.2.0" + dependencies: + "bail" "^1.0.0" + "extend" "^3.0.0" + "is-buffer" "^2.0.0" + "is-plain-obj" "^2.0.0" + "trough" "^1.0.0" + "vfile" "^4.0.0" + +"unique-string@^2.0.0": + "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" + "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "crypto-random-string" "^2.0.0" + +"unist-builder@^2.0.0", "unist-builder@2.0.3": + "integrity" "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" + "resolved" "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" + "version" "2.0.3" + +"unist-util-generated@^1.0.0": + "integrity" "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" + "resolved" "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" + "version" "1.1.6" + +"unist-util-is@^4.0.0": + "integrity" "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" + "resolved" "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" + "version" "4.1.0" + +"unist-util-position@^3.0.0": + "integrity" "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" + "resolved" "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" + "version" "3.1.0" + +"unist-util-remove-position@^2.0.0": + "integrity" "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==" + "resolved" "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "unist-util-visit" "^2.0.0" + +"unist-util-remove@^2.0.0": + "integrity" "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==" + "resolved" "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "unist-util-is" "^4.0.0" + +"unist-util-stringify-position@^2.0.0": + "integrity" "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==" + "resolved" "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + "version" "2.0.3" dependencies: "@types/unist" "^2.0.2" -unist-util-visit-parents@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" - integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== +"unist-util-visit-parents@^3.0.0": + "integrity" "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==" + "resolved" "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" + "version" "3.1.1" dependencies: "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" + "unist-util-is" "^4.0.0" -unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" - integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== +"unist-util-visit@^2.0.0", "unist-util-visit@^2.0.3", "unist-util-visit@2.0.3": + "integrity" "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==" + "resolved" "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + "version" "2.0.3" dependencies: "@types/unist" "^2.0.0" - unist-util-is "^4.0.0" - unist-util-visit-parents "^3.0.0" - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -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== - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== - -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@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" - integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== - dependencies: - boxen "^5.0.0" - chalk "^4.1.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.4.0" - is-npm "^5.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.1.0" - pupa "^2.1.1" - semver "^7.3.4" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -uri-js@^4.2.2, uri-js@^4.4.1: - 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" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== - dependencies: - prepend-http "^2.0.0" - -use-composed-ref@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" - integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== - -use-isomorphic-layout-effect@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== - -use-latest@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" - integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== - dependencies: - use-isomorphic-layout-effect "^1.1.1" - -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== - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -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== - -valid-url@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" - integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== - -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@^3.0.0, vfile-location@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== + "unist-util-is" "^4.0.0" + "unist-util-visit-parents" "^3.0.0" + +"universalify@^2.0.0": + "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + "version" "2.0.0" + +"unpipe@~1.0.0", "unpipe@1.0.0": + "integrity" "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" + "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + "version" "1.0.0" + +"unquote@~1.1.1": + "integrity" "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + "version" "1.1.1" + +"update-browserslist-db@^1.0.13": + "integrity" "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==" + "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + "version" "1.0.13" + dependencies: + "escalade" "^3.1.1" + "picocolors" "^1.0.0" + +"update-notifier@^5.1.0": + "integrity" "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==" + "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "boxen" "^5.0.0" + "chalk" "^4.1.0" + "configstore" "^5.0.1" + "has-yarn" "^2.1.0" + "import-lazy" "^2.1.0" + "is-ci" "^2.0.0" + "is-installed-globally" "^0.4.0" + "is-npm" "^5.0.0" + "is-yarn-global" "^0.3.0" + "latest-version" "^5.1.0" + "pupa" "^2.1.1" + "semver" "^7.3.4" + "semver-diff" "^3.1.1" + "xdg-basedir" "^4.0.0" + +"uri-js@^4.2.2", "uri-js@^4.4.1": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"url-loader@^4.1.1": + "integrity" "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==" + "resolved" "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "loader-utils" "^2.0.0" + "mime-types" "^2.1.27" + "schema-utils" "^3.0.0" + +"url-parse-lax@^3.0.0": + "integrity" "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==" + "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "prepend-http" "^2.0.0" + +"use-composed-ref@^1.3.0": + "integrity" "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==" + "resolved" "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" + "version" "1.3.0" + +"use-isomorphic-layout-effect@^1.1.1": + "integrity" "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==" + "resolved" "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" + "version" "1.1.2" + +"use-latest@^1.2.1": + "integrity" "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==" + "resolved" "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "use-isomorphic-layout-effect" "^1.1.1" + +"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": + "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"util.promisify@~1.0.0": + "integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==" + "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.17.2" + "has-symbols" "^1.0.1" + "object.getownpropertydescriptors" "^2.1.0" + +"utila@~0.4": + "integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + "version" "0.4.0" + +"utility-types@^3.10.0": + "integrity" "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" + "resolved" "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" + "version" "3.10.0" + +"utils-merge@1.0.1": + "integrity" "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" + "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + "version" "1.0.1" + +"uuid@^8.3.2": + "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + "version" "8.3.2" + +"valid-url@^1.0.9": + "integrity" "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" + "resolved" "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" + "version" "1.0.9" + +"value-equal@^1.0.1": + "integrity" "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + "resolved" "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + "version" "1.0.1" + +"vary@~1.1.2": + "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" + "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + "version" "1.1.2" + +"vfile-location@^3.0.0", "vfile-location@^3.2.0": + "integrity" "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" + "resolved" "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" + "version" "3.2.0" + +"vfile-message@^2.0.0": + "integrity" "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==" + "resolved" "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + "version" "2.0.4" dependencies: "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" + "unist-util-stringify-position" "^2.0.0" -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== +"vfile@^4.0.0": + "integrity" "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==" + "resolved" "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + "version" "4.2.1" dependencies: "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - -wait-on@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e" - integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw== - dependencies: - axios "^0.25.0" - joi "^17.6.0" - lodash "^4.17.21" - minimist "^1.2.5" - rxjs "^7.5.4" - -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@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" - integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== - -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webpack-bundle-analyzer@^4.5.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz#d00bbf3f17500c10985084f22f1a2bf45cb2f09d" - integrity sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w== + "is-buffer" "^2.0.0" + "unist-util-stringify-position" "^2.0.0" + "vfile-message" "^2.0.0" + +"wait-on@^6.0.1": + "integrity" "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==" + "resolved" "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "axios" "^0.25.0" + "joi" "^17.6.0" + "lodash" "^4.17.21" + "minimist" "^1.2.5" + "rxjs" "^7.5.4" + +"watchpack@^2.4.0": + "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + "version" "2.4.0" + dependencies: + "glob-to-regexp" "^0.4.1" + "graceful-fs" "^4.1.2" + +"wbuf@^1.1.0", "wbuf@^1.7.3": + "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" + "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + "version" "1.7.3" + dependencies: + "minimalistic-assert" "^1.0.0" + +"web-namespaces@^1.0.0": + "integrity" "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" + "resolved" "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" + "version" "1.1.4" + +"web-streams-polyfill@^3.0.3": + "integrity" "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" + "resolved" "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" + "version" "3.2.1" + +"webidl-conversions@^3.0.0": + "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + "version" "3.0.1" + +"webpack-bundle-analyzer@^4.5.0": + "integrity" "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==" + "resolved" "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz" + "version" "4.9.1" dependencies: "@discoveryjs/json-ext" "0.5.7" - acorn "^8.0.4" - acorn-walk "^8.0.0" - commander "^7.2.0" - escape-string-regexp "^4.0.0" - gzip-size "^6.0.0" - is-plain-object "^5.0.0" - lodash.debounce "^4.0.8" - lodash.escape "^4.0.1" - lodash.flatten "^4.4.0" - lodash.invokemap "^4.6.0" - lodash.pullall "^4.2.0" - lodash.uniqby "^4.7.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.9.3: - version "4.15.1" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" - integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + "acorn" "^8.0.4" + "acorn-walk" "^8.0.0" + "commander" "^7.2.0" + "escape-string-regexp" "^4.0.0" + "gzip-size" "^6.0.0" + "is-plain-object" "^5.0.0" + "lodash.debounce" "^4.0.8" + "lodash.escape" "^4.0.1" + "lodash.flatten" "^4.4.0" + "lodash.invokemap" "^4.6.0" + "lodash.pullall" "^4.2.0" + "lodash.uniqby" "^4.7.0" + "opener" "^1.5.2" + "picocolors" "^1.0.0" + "sirv" "^2.0.3" + "ws" "^7.3.1" + +"webpack-dev-middleware@^5.3.1": + "integrity" "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==" + "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + "version" "5.3.3" + 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.9.3": + "integrity" "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==" + "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" + "version" "4.15.1" dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -8950,247 +9079,242 @@ webpack-dev-server@^4.9.3: "@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.8.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.2, 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.73.0: - version "5.89.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" - integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== + "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.8.0": + "integrity" "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==" + "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" + "version" "5.10.0" + dependencies: + "clone-deep" "^4.0.1" + "flat" "^5.0.2" + "wildcard" "^2.0.0" + +"webpack-sources@^3.2.2", "webpack-sources@^3.2.3": + "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + "version" "3.2.3" + +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.73.0", "webpack@>= 4", "webpack@>=2", "webpack@>=4.41.1 || 5.x", "webpack@3 || 4 || 5": + "integrity" "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" + "version" "5.89.0" 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== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.11, which-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" - integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.4" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -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@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.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@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.0.1: - 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.0: - 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.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -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" - -xtend@^4.0.0, xtend@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -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.10.0, yaml@^1.10.2, 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== - -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== + "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": + "integrity" "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==" + "resolved" "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" + "version" "5.0.2" + dependencies: + "chalk" "^4.1.0" + "consola" "^2.15.3" + "pretty-time" "^1.1.0" + "std-env" "^3.0.1" + +"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": + "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" + "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + "version" "0.7.4" + dependencies: + "http-parser-js" ">=0.5.1" + "safe-buffer" ">=5.1.0" + "websocket-extensions" ">=0.1.1" + +"websocket-extensions@>=0.1.1": + "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + "version" "0.1.4" + +"whatwg-url@^5.0.0": + "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "tr46" "~0.0.3" + "webidl-conversions" "^3.0.0" + +"which-boxed-primitive@^1.0.2": + "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-bigint" "^1.0.1" + "is-boolean-object" "^1.1.0" + "is-number-object" "^1.0.4" + "is-string" "^1.0.5" + "is-symbol" "^1.0.3" + +"which-typed-array@^1.1.11", "which-typed-array@^1.1.13": + "integrity" "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==" + "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" + "version" "1.1.13" + dependencies: + "available-typed-arrays" "^1.0.5" + "call-bind" "^1.0.4" + "for-each" "^0.3.3" + "gopd" "^1.0.1" + "has-tostringtag" "^1.0.0" + +"which@^1.3.1": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"widest-line@^3.1.0": + "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" + "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "string-width" "^4.0.0" + +"widest-line@^4.0.1": + "integrity" "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==" + "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "string-width" "^5.0.1" + +"wildcard@^2.0.0": + "integrity" "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + "version" "2.0.1" + +"wrap-ansi@^7.0.0": + "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + "version" "7.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrap-ansi@^8.0.1": + "integrity" "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "ansi-styles" "^6.1.0" + "string-width" "^5.0.1" + "strip-ansi" "^7.0.1" + +"wrappy@1": + "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + 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", "ws@7.4.6": + "integrity" "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" + "version" "7.4.6" + +"ws@^8.13.0": + "integrity" "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==" + "resolved" "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz" + "version" "8.14.2" + +"xdg-basedir@^4.0.0": + "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + "version" "4.0.0" + +"xml-js@^1.6.11": + "integrity" "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==" + "resolved" "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + "version" "1.6.11" + dependencies: + "sax" "^1.2.4" + +"xtend@^4.0.0", "xtend@^4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yaml@^1.10.0", "yaml@^1.10.2", "yaml@^1.7.2": + "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + "version" "1.10.2" + +"yocto-queue@^0.1.0": + "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" + "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + "version" "0.1.0" + +"zwitch@^1.0.0": + "integrity" "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" + "resolved" "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" + "version" "1.0.5" From d31aa1da1b1e171937cdbde9ff59cf2b6fb19b92 Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 28 Nov 2023 18:18:18 +0300 Subject: [PATCH 071/627] modify the ordering in CLI docs --- yarn.lock | 14541 ++++++++++++++++++++++++++-------------------------- 1 file changed, 7195 insertions(+), 7346 deletions(-) diff --git a/yarn.lock b/yarn.lock index d4f3e517..d1876339 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,64 +3,64 @@ "@algolia/autocomplete-core@1.9.3": - "integrity" "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" - "version" "1.9.3" + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" + 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": - "integrity" "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" - "version" "1.9.3" + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" + integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== dependencies: "@algolia/autocomplete-shared" "1.9.3" "@algolia/autocomplete-preset-algolia@1.9.3": - "integrity" "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" - "version" "1.9.3" + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== dependencies: "@algolia/autocomplete-shared" "1.9.3" "@algolia/autocomplete-shared@1.9.3": - "integrity" "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" - "version" "1.9.3" + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== "@algolia/cache-browser-local-storage@4.20.0": - "integrity" "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==" - "resolved" "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz" + integrity sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ== dependencies: "@algolia/cache-common" "4.20.0" "@algolia/cache-common@4.20.0": - "integrity" "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" - "resolved" "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz" + integrity sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ== "@algolia/cache-in-memory@4.20.0": - "integrity" "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==" - "resolved" "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz" + integrity sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg== dependencies: "@algolia/cache-common" "4.20.0" "@algolia/client-account@4.20.0": - "integrity" "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==" - "resolved" "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz" + 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": - "integrity" "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==" - "resolved" "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz" + integrity sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug== dependencies: "@algolia/client-common" "4.20.0" "@algolia/client-search" "4.20.0" @@ -68,101 +68,123 @@ "@algolia/transporter" "4.20.0" "@algolia/client-common@4.20.0": - "integrity" "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==" - "resolved" "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz" + integrity sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ== dependencies: "@algolia/requester-common" "4.20.0" "@algolia/transporter" "4.20.0" "@algolia/client-personalization@4.20.0": - "integrity" "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==" - "resolved" "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz" + 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.9.1 < 6", "@algolia/client-search@4.20.0": - "integrity" "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==" - "resolved" "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz" - "version" "4.20.0" +"@algolia/client-search@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz" + 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": - "integrity" "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" - "resolved" "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" - "version" "4.0.1" + version "4.0.1" + resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== "@algolia/logger-common@4.20.0": - "integrity" "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" - "resolved" "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz" + integrity sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ== "@algolia/logger-console@4.20.0": - "integrity" "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==" - "resolved" "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz" + integrity sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA== dependencies: "@algolia/logger-common" "4.20.0" "@algolia/requester-browser-xhr@4.20.0": - "integrity" "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==" - "resolved" "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz" + integrity sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw== dependencies: "@algolia/requester-common" "4.20.0" "@algolia/requester-common@4.20.0": - "integrity" "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" - "resolved" "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz" + integrity sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng== "@algolia/requester-node-http@4.20.0": - "integrity" "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==" - "resolved" "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz" + integrity sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng== dependencies: "@algolia/requester-common" "4.20.0" "@algolia/transporter@4.20.0": - "integrity" "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==" - "resolved" "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz" - "version" "4.20.0" + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz" + 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": - "integrity" "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==" - "resolved" "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - "version" "2.2.1" + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + 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.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.4", "@babel/code-frame@^7.8.3": - "integrity" "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz" + integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== dependencies: "@babel/highlight" "^7.23.4" - "chalk" "^2.4.2" + chalk "^2.4.2" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": - "integrity" "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.18.6", "@babel/core@^7.19.6", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": - "integrity" "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz" - "version" "7.23.3" +"@babel/core@7.12.9": + version "7.12.9" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.12.3", "@babel/core@^7.18.6", "@babel/core@^7.19.6": + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz" + integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.22.13" @@ -174,73 +196,51 @@ "@babel/template" "^7.22.15" "@babel/traverse" "^7.23.3" "@babel/types" "^7.23.3" - "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.12.9": - "integrity" "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" - "version" "7.12.9" - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.7" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.9" - "@babel/types" "^7.12.7" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.1" - "json5" "^2.1.2" - "lodash" "^4.17.19" - "resolve" "^1.3.2" - "semver" "^5.4.1" - "source-map" "^0.5.0" + 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.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.23.3", "@babel/generator@^7.23.4": - "integrity" "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz" + 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" + jsesc "^2.5.1" "@babel/helper-annotate-as-pure@^7.22.5": - "integrity" "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: "@babel/types" "^7.22.5" "@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": - "integrity" "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: "@babel/types" "^7.22.15" "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6": - "integrity" "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" + 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" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": - "integrity" "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-environment-visitor" "^7.22.5" @@ -250,66 +250,66 @@ "@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" + semver "^6.3.1" "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": - "integrity" "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" - "regexpu-core" "^5.3.1" - "semver" "^6.3.1" + regexpu-core "^5.3.1" + semver "^6.3.1" "@babel/helper-define-polyfill-provider@^0.4.3": - "integrity" "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz" - "version" "0.4.3" + version "0.4.3" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz" + 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" + 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": - "integrity" "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" - "resolved" "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" - "version" "7.22.20" + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== "@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - "integrity" "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: "@babel/template" "^7.22.15" "@babel/types" "^7.23.0" "@babel/helper-hoist-variables@^7.22.5": - "integrity" "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: "@babel/types" "^7.22.5" "@babel/helper-member-expression-to-functions@^7.22.15": - "integrity" "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: "@babel/types" "^7.23.0" "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": - "integrity" "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: "@babel/types" "^7.22.15" "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": - "integrity" "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" - "version" "7.23.3" + version "7.23.3" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -318,297 +318,297 @@ "@babel/helper-validator-identifier" "^7.22.20" "@babel/helper-optimise-call-expression@^7.22.5": - "integrity" "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + 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": - "integrity" "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" - "version" "7.22.5" - "@babel/helper-plugin-utils@7.10.4": - "integrity" "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + +"@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.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== "@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": - "integrity" "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" - "version" "7.22.20" + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + 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.5", "@babel/helper-replace-supers@^7.22.9": - "integrity" "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" - "version" "7.22.20" + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" + 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-simple-access@^7.22.5": - "integrity" "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== dependencies: "@babel/types" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - "integrity" "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== dependencies: "@babel/types" "^7.22.5" "@babel/helper-split-export-declaration@^7.22.6": - "integrity" "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" - "version" "7.22.6" + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== dependencies: "@babel/types" "^7.22.5" "@babel/helper-string-parser@^7.23.4": - "integrity" "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== "@babel/helper-validator-identifier@^7.22.20": - "integrity" "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - "version" "7.22.20" + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== "@babel/helper-validator-option@^7.22.15": - "integrity" "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== "@babel/helper-wrap-function@^7.22.20": - "integrity" "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" - "version" "7.22.20" + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" + 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.12.5", "@babel/helpers@^7.23.2": - "integrity" "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== dependencies: "@babel/template" "^7.22.15" "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" "@babel/highlight@^7.23.4": - "integrity" "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== dependencies: "@babel/helper-validator-identifier" "^7.22.20" - "chalk" "^2.4.2" - "js-tokens" "^4.0.0" + chalk "^2.4.2" + js-tokens "^4.0.0" "@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.23.4": - "integrity" "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz" + integrity sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": - "integrity" "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz" + integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": - "integrity" "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz" + integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-optional-chaining" "^7.22.15" "@babel/plugin-proposal-object-rest-spread@7.12.1": - "integrity" "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" - "version" "7.12.1" + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": - "integrity" "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" - "version" "7.21.0-placeholder-for-preset-env.2" + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-import-assertions@^7.22.5": - "integrity" "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-attributes@^7.22.5": - "integrity" "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" + integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-meta@^7.10.4": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.22.5": - "integrity" "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" - "version" "7.22.5" - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx@7.12.1": - "integrity" "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" - "version" "7.12.1" + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3", "@babel/plugin-syntax-object-rest-spread@7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.22.5": - "integrity" "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": - "integrity" "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" - "version" "7.18.6" + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + 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.22.5": - "integrity" "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-async-generator-functions@^7.23.2": - "integrity" "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz" + integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" @@ -616,49 +616,49 @@ "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-transform-async-to-generator@^7.22.5": - "integrity" "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== dependencies: "@babel/helper-module-imports" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-remap-async-to-generator" "^7.22.5" "@babel/plugin-transform-block-scoped-functions@^7.22.5": - "integrity" "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoping@^7.23.0": - "integrity" "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz" + integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-class-properties@^7.22.5": - "integrity" "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" + integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-class-static-block@^7.22.11": - "integrity" "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz" + integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.11" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-transform-classes@^7.22.15": - "integrity" "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz" + integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-compilation-targets" "^7.22.15" @@ -668,129 +668,129 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-replace-supers" "^7.22.9" "@babel/helper-split-export-declaration" "^7.22.6" - "globals" "^11.1.0" + globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.22.5": - "integrity" "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/template" "^7.22.5" "@babel/plugin-transform-destructuring@^7.23.0": - "integrity" "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz" + integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-dotall-regex@^7.22.5": - "integrity" "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" + integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-duplicate-keys@^7.22.5": - "integrity" "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" + integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-dynamic-import@^7.22.11": - "integrity" "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz" + integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-transform-exponentiation-operator@^7.22.5": - "integrity" "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" + integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-export-namespace-from@^7.22.11": - "integrity" "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz" + integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-transform-for-of@^7.22.15": - "integrity" "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz" + integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-function-name@^7.22.5": - "integrity" "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== dependencies: "@babel/helper-compilation-targets" "^7.22.5" "@babel/helper-function-name" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-json-strings@^7.22.11": - "integrity" "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz" + integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-transform-literals@^7.22.5": - "integrity" "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-logical-assignment-operators@^7.22.11": - "integrity" "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz" + integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-transform-member-expression-literals@^7.22.5": - "integrity" "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-modules-amd@^7.23.0": - "integrity" "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz" + integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== dependencies: "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-modules-commonjs@^7.23.0": - "integrity" "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz" + integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== dependencies: "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" "@babel/plugin-transform-modules-systemjs@^7.23.0": - "integrity" "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz" + integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== dependencies: "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-module-transforms" "^7.23.0" @@ -798,48 +798,48 @@ "@babel/helper-validator-identifier" "^7.22.20" "@babel/plugin-transform-modules-umd@^7.22.5": - "integrity" "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" + integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== dependencies: "@babel/helper-module-transforms" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - "integrity" "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + 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.22.5": - "integrity" "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" + integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": - "integrity" "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz" + integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-transform-numeric-separator@^7.22.11": - "integrity" "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz" + integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-transform-object-rest-spread@^7.22.15": - "integrity" "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz" + integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== dependencies: "@babel/compat-data" "^7.22.9" "@babel/helper-compilation-targets" "^7.22.15" @@ -848,49 +848,49 @@ "@babel/plugin-transform-parameters" "^7.22.15" "@babel/plugin-transform-object-super@^7.22.5": - "integrity" "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-replace-supers" "^7.22.5" "@babel/plugin-transform-optional-catch-binding@^7.22.11": - "integrity" "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz" + integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": - "integrity" "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz" - "version" "7.23.0" + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz" + integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== 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-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.22.15": - "integrity" "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz" + integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-private-methods@^7.22.5": - "integrity" "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz" + integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-private-property-in-object@^7.22.11": - "integrity" "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz" - "version" "7.22.11" + version "7.22.11" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz" + integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-create-class-features-plugin" "^7.22.11" @@ -898,37 +898,37 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-transform-property-literals@^7.22.5": - "integrity" "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.18.12": - "integrity" "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz" + integrity sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.22.5": - "integrity" "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz" + integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx-development@^7.22.5": - "integrity" "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" + 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": - "integrity" "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz" + integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-module-imports" "^7.22.15" @@ -937,80 +937,80 @@ "@babel/types" "^7.22.15" "@babel/plugin-transform-react-pure-annotations@^7.22.5": - "integrity" "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz" + integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-regenerator@^7.22.10": - "integrity" "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz" - "version" "7.22.10" + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz" + integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" - "regenerator-transform" "^0.15.2" + regenerator-transform "^0.15.2" "@babel/plugin-transform-reserved-words@^7.22.5": - "integrity" "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" + integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.18.6": - "integrity" "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz" + integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== 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-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.22.5": - "integrity" "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-spread@^7.22.5": - "integrity" "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" "@babel/plugin-transform-sticky-regex@^7.22.5": - "integrity" "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-template-literals@^7.22.5": - "integrity" "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typeof-symbol@^7.22.5": - "integrity" "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" + integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typescript@^7.22.15": - "integrity" "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz" + integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" "@babel/helper-create-class-features-plugin" "^7.22.15" @@ -1018,40 +1018,40 @@ "@babel/plugin-syntax-typescript" "^7.22.5" "@babel/plugin-transform-unicode-escapes@^7.22.10": - "integrity" "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz" - "version" "7.22.10" + version "7.22.10" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz" + integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-property-regex@^7.22.5": - "integrity" "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" + integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-regex@^7.22.5": - "integrity" "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-sets-regex@^7.22.5": - "integrity" "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" - "version" "7.22.5" + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.18.6", "@babel/preset-env@^7.19.4": - "integrity" "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz" + integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== dependencies: "@babel/compat-data" "^7.23.2" "@babel/helper-compilation-targets" "^7.22.15" @@ -1128,25 +1128,25 @@ "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" "@babel/preset-modules" "0.1.6-no-external-plugins" "@babel/types" "^7.23.0" - "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-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": - "integrity" "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" - "version" "0.1.6-no-external-plugins" + version "0.1.6-no-external-plugins" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + 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" + esutils "^2.0.2" "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.18.6": - "integrity" "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==" - "resolved" "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz" + integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -1156,9 +1156,9 @@ "@babel/plugin-transform-react-pure-annotations" "^7.22.5" "@babel/preset-typescript@^7.18.6": - "integrity" "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==" - "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz" + integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -1167,38 +1167,38 @@ "@babel/plugin-transform-typescript" "^7.22.15" "@babel/regjsgen@^0.8.0": - "integrity" "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - "resolved" "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" - "version" "0.8.0" + version "0.8.0" + resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime-corejs3@^7.18.6": - "integrity" "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==" - "resolved" "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz" + integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== dependencies: - "core-js-pure" "^3.30.2" - "regenerator-runtime" "^0.14.0" + 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.18.6", "@babel/runtime@^7.20.13", "@babel/runtime@^7.8.4": - "integrity" "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" - "version" "7.23.2" + version "7.23.2" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== dependencies: - "regenerator-runtime" "^0.14.0" + regenerator-runtime "^0.14.0" "@babel/template@^7.12.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": - "integrity" "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" - "version" "7.22.15" + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: "@babel/code-frame" "^7.22.13" "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" "@babel/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3": - "integrity" "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz" + integrity sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg== dependencies: "@babel/code-frame" "^7.23.4" "@babel/generator" "^7.23.4" @@ -1208,47 +1208,47 @@ "@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" + debug "^4.1.0" + globals "^11.1.0" "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.20.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.3", "@babel/types@^7.23.4", "@babel/types@^7.4.4": - "integrity" "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz" - "version" "7.23.4" + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz" + 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" + to-fast-properties "^2.0.0" "@colors/colors@1.5.0": - "integrity" "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" - "resolved" "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" - "version" "1.5.0" + version "1.5.0" + resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== "@discoveryjs/json-ext@0.5.7": - "integrity" "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" - "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" - "version" "0.5.7" + version "0.5.7" + resolved "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== "@docsearch/css@3.5.2": - "integrity" "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" - "resolved" "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" - "version" "3.5.2" + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== "@docsearch/react@^3.1.1": - "integrity" "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==" - "resolved" "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" - "version" "3.5.2" + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" + 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" + algoliasearch "^4.19.1" "@docusaurus/core@2.1.0": - "integrity" "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==" - "resolved" "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" + integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1269,63 +1269,63 @@ "@docusaurus/utils-validation" "2.1.0" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" - "autoprefixer" "^10.4.7" - "babel-loader" "^8.2.5" - "babel-plugin-dynamic-import-node" "^2.3.3" - "boxen" "^6.2.1" - "chalk" "^4.1.2" - "chokidar" "^3.5.3" - "clean-css" "^5.3.0" - "cli-table3" "^0.6.2" - "combine-promises" "^1.1.0" - "commander" "^5.1.0" - "copy-webpack-plugin" "^11.0.0" - "core-js" "^3.23.3" - "css-loader" "^6.7.1" - "css-minimizer-webpack-plugin" "^4.0.0" - "cssnano" "^5.1.12" - "del" "^6.1.1" - "detect-port" "^1.3.0" - "escape-html" "^1.0.3" - "eta" "^1.12.3" - "file-loader" "^6.2.0" - "fs-extra" "^10.1.0" - "html-minifier-terser" "^6.1.0" - "html-tags" "^3.2.0" - "html-webpack-plugin" "^5.5.0" - "import-fresh" "^3.3.0" - "leven" "^3.1.0" - "lodash" "^4.17.21" - "mini-css-extract-plugin" "^2.6.1" - "postcss" "^8.4.14" - "postcss-loader" "^7.0.0" - "prompts" "^2.4.2" - "react-dev-utils" "^12.0.1" - "react-helmet-async" "^1.3.0" - "react-loadable" "npm:@docusaurus/react-loadable@5.5.2" - "react-loadable-ssr-addon-v5-slorber" "^1.0.1" - "react-router" "^5.3.3" - "react-router-config" "^5.1.1" - "react-router-dom" "^5.3.3" - "rtl-detect" "^1.0.4" - "semver" "^7.3.7" - "serve-handler" "^6.1.3" - "shelljs" "^0.8.5" - "terser-webpack-plugin" "^5.3.3" - "tslib" "^2.4.0" - "update-notifier" "^5.1.0" - "url-loader" "^4.1.1" - "wait-on" "^6.0.1" - "webpack" "^5.73.0" - "webpack-bundle-analyzer" "^4.5.0" - "webpack-dev-server" "^4.9.3" - "webpack-merge" "^5.8.0" - "webpackbar" "^5.0.2" + autoprefixer "^10.4.7" + babel-loader "^8.2.5" + babel-plugin-dynamic-import-node "^2.3.3" + boxen "^6.2.1" + chalk "^4.1.2" + chokidar "^3.5.3" + clean-css "^5.3.0" + cli-table3 "^0.6.2" + combine-promises "^1.1.0" + commander "^5.1.0" + copy-webpack-plugin "^11.0.0" + core-js "^3.23.3" + css-loader "^6.7.1" + css-minimizer-webpack-plugin "^4.0.0" + cssnano "^5.1.12" + del "^6.1.1" + detect-port "^1.3.0" + escape-html "^1.0.3" + eta "^1.12.3" + file-loader "^6.2.0" + fs-extra "^10.1.0" + html-minifier-terser "^6.1.0" + html-tags "^3.2.0" + html-webpack-plugin "^5.5.0" + import-fresh "^3.3.0" + leven "^3.1.0" + lodash "^4.17.21" + mini-css-extract-plugin "^2.6.1" + postcss "^8.4.14" + postcss-loader "^7.0.0" + prompts "^2.4.2" + react-dev-utils "^12.0.1" + react-helmet-async "^1.3.0" + react-loadable "npm:@docusaurus/react-loadable@5.5.2" + react-loadable-ssr-addon-v5-slorber "^1.0.1" + react-router "^5.3.3" + react-router-config "^5.1.1" + react-router-dom "^5.3.3" + rtl-detect "^1.0.4" + semver "^7.3.7" + serve-handler "^6.1.3" + shelljs "^0.8.5" + terser-webpack-plugin "^5.3.3" + tslib "^2.4.0" + update-notifier "^5.1.0" + url-loader "^4.1.1" + wait-on "^6.0.1" + webpack "^5.73.0" + webpack-bundle-analyzer "^4.5.0" + webpack-dev-server "^4.9.3" + webpack-merge "^5.8.0" + webpackbar "^5.0.2" "@docusaurus/core@2.4.3": - "integrity" "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==" - "resolved" "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz" + integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1346,145 +1346,145 @@ "@docusaurus/utils-validation" "2.4.3" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" - "autoprefixer" "^10.4.7" - "babel-loader" "^8.2.5" - "babel-plugin-dynamic-import-node" "^2.3.3" - "boxen" "^6.2.1" - "chalk" "^4.1.2" - "chokidar" "^3.5.3" - "clean-css" "^5.3.0" - "cli-table3" "^0.6.2" - "combine-promises" "^1.1.0" - "commander" "^5.1.0" - "copy-webpack-plugin" "^11.0.0" - "core-js" "^3.23.3" - "css-loader" "^6.7.1" - "css-minimizer-webpack-plugin" "^4.0.0" - "cssnano" "^5.1.12" - "del" "^6.1.1" - "detect-port" "^1.3.0" - "escape-html" "^1.0.3" - "eta" "^2.0.0" - "file-loader" "^6.2.0" - "fs-extra" "^10.1.0" - "html-minifier-terser" "^6.1.0" - "html-tags" "^3.2.0" - "html-webpack-plugin" "^5.5.0" - "import-fresh" "^3.3.0" - "leven" "^3.1.0" - "lodash" "^4.17.21" - "mini-css-extract-plugin" "^2.6.1" - "postcss" "^8.4.14" - "postcss-loader" "^7.0.0" - "prompts" "^2.4.2" - "react-dev-utils" "^12.0.1" - "react-helmet-async" "^1.3.0" - "react-loadable" "npm:@docusaurus/react-loadable@5.5.2" - "react-loadable-ssr-addon-v5-slorber" "^1.0.1" - "react-router" "^5.3.3" - "react-router-config" "^5.1.1" - "react-router-dom" "^5.3.3" - "rtl-detect" "^1.0.4" - "semver" "^7.3.7" - "serve-handler" "^6.1.3" - "shelljs" "^0.8.5" - "terser-webpack-plugin" "^5.3.3" - "tslib" "^2.4.0" - "update-notifier" "^5.1.0" - "url-loader" "^4.1.1" - "wait-on" "^6.0.1" - "webpack" "^5.73.0" - "webpack-bundle-analyzer" "^4.5.0" - "webpack-dev-server" "^4.9.3" - "webpack-merge" "^5.8.0" - "webpackbar" "^5.0.2" + autoprefixer "^10.4.7" + babel-loader "^8.2.5" + babel-plugin-dynamic-import-node "^2.3.3" + boxen "^6.2.1" + chalk "^4.1.2" + chokidar "^3.5.3" + clean-css "^5.3.0" + cli-table3 "^0.6.2" + combine-promises "^1.1.0" + commander "^5.1.0" + copy-webpack-plugin "^11.0.0" + core-js "^3.23.3" + css-loader "^6.7.1" + css-minimizer-webpack-plugin "^4.0.0" + cssnano "^5.1.12" + del "^6.1.1" + detect-port "^1.3.0" + escape-html "^1.0.3" + eta "^2.0.0" + file-loader "^6.2.0" + fs-extra "^10.1.0" + html-minifier-terser "^6.1.0" + html-tags "^3.2.0" + html-webpack-plugin "^5.5.0" + import-fresh "^3.3.0" + leven "^3.1.0" + lodash "^4.17.21" + mini-css-extract-plugin "^2.6.1" + postcss "^8.4.14" + postcss-loader "^7.0.0" + prompts "^2.4.2" + react-dev-utils "^12.0.1" + react-helmet-async "^1.3.0" + react-loadable "npm:@docusaurus/react-loadable@5.5.2" + react-loadable-ssr-addon-v5-slorber "^1.0.1" + react-router "^5.3.3" + react-router-config "^5.1.1" + react-router-dom "^5.3.3" + rtl-detect "^1.0.4" + semver "^7.3.7" + serve-handler "^6.1.3" + shelljs "^0.8.5" + terser-webpack-plugin "^5.3.3" + tslib "^2.4.0" + update-notifier "^5.1.0" + url-loader "^4.1.1" + wait-on "^6.0.1" + webpack "^5.73.0" + webpack-bundle-analyzer "^4.5.0" + webpack-dev-server "^4.9.3" + webpack-merge "^5.8.0" + webpackbar "^5.0.2" "@docusaurus/cssnano-preset@2.1.0": - "integrity" "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" + integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== dependencies: - "cssnano-preset-advanced" "^5.3.8" - "postcss" "^8.4.14" - "postcss-sort-media-queries" "^4.2.1" - "tslib" "^2.4.0" + cssnano-preset-advanced "^5.3.8" + postcss "^8.4.14" + postcss-sort-media-queries "^4.2.1" + tslib "^2.4.0" "@docusaurus/cssnano-preset@2.4.3": - "integrity" "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==" - "resolved" "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz" + integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== dependencies: - "cssnano-preset-advanced" "^5.3.8" - "postcss" "^8.4.14" - "postcss-sort-media-queries" "^4.2.1" - "tslib" "^2.4.0" + cssnano-preset-advanced "^5.3.8" + postcss "^8.4.14" + postcss-sort-media-queries "^4.2.1" + tslib "^2.4.0" "@docusaurus/logger@2.1.0": - "integrity" "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==" - "resolved" "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" + integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== dependencies: - "chalk" "^4.1.2" - "tslib" "^2.4.0" + chalk "^4.1.2" + tslib "^2.4.0" "@docusaurus/logger@2.4.3": - "integrity" "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==" - "resolved" "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz" + integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== dependencies: - "chalk" "^4.1.2" - "tslib" "^2.4.0" + chalk "^4.1.2" + tslib "^2.4.0" "@docusaurus/mdx-loader@2.1.0": - "integrity" "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==" - "resolved" "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" + integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" "@docusaurus/logger" "2.1.0" "@docusaurus/utils" "2.1.0" "@mdx-js/mdx" "^1.6.22" - "escape-html" "^1.0.3" - "file-loader" "^6.2.0" - "fs-extra" "^10.1.0" - "image-size" "^1.0.1" - "mdast-util-to-string" "^2.0.0" - "remark-emoji" "^2.2.0" - "stringify-object" "^3.3.0" - "tslib" "^2.4.0" - "unified" "^9.2.2" - "unist-util-visit" "^2.0.3" - "url-loader" "^4.1.1" - "webpack" "^5.73.0" + escape-html "^1.0.3" + file-loader "^6.2.0" + fs-extra "^10.1.0" + image-size "^1.0.1" + mdast-util-to-string "^2.0.0" + remark-emoji "^2.2.0" + stringify-object "^3.3.0" + tslib "^2.4.0" + unified "^9.2.2" + unist-util-visit "^2.0.3" + url-loader "^4.1.1" + webpack "^5.73.0" "@docusaurus/mdx-loader@2.4.3": - "integrity" "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==" - "resolved" "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz" + integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" "@docusaurus/logger" "2.4.3" "@docusaurus/utils" "2.4.3" "@mdx-js/mdx" "^1.6.22" - "escape-html" "^1.0.3" - "file-loader" "^6.2.0" - "fs-extra" "^10.1.0" - "image-size" "^1.0.1" - "mdast-util-to-string" "^2.0.0" - "remark-emoji" "^2.2.0" - "stringify-object" "^3.3.0" - "tslib" "^2.4.0" - "unified" "^9.2.2" - "unist-util-visit" "^2.0.3" - "url-loader" "^4.1.1" - "webpack" "^5.73.0" + escape-html "^1.0.3" + file-loader "^6.2.0" + fs-extra "^10.1.0" + image-size "^1.0.1" + mdast-util-to-string "^2.0.0" + remark-emoji "^2.2.0" + stringify-object "^3.3.0" + tslib "^2.4.0" + unified "^9.2.2" + unist-util-visit "^2.0.3" + url-loader "^4.1.1" + webpack "^5.73.0" "@docusaurus/module-type-aliases@2.1.0": - "integrity" "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" + integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== dependencies: "@docusaurus/react-loadable" "5.5.2" "@docusaurus/types" "2.1.0" @@ -1492,13 +1492,13 @@ "@types/react" "*" "@types/react-router-config" "*" "@types/react-router-dom" "*" - "react-helmet-async" "*" - "react-loadable" "npm:@docusaurus/react-loadable@5.5.2" + react-helmet-async "*" + react-loadable "npm:@docusaurus/react-loadable@5.5.2" "@docusaurus/plugin-content-blog@2.1.0": - "integrity" "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" + integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/logger" "2.1.0" @@ -1507,20 +1507,20 @@ "@docusaurus/utils" "2.1.0" "@docusaurus/utils-common" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - "cheerio" "^1.0.0-rc.12" - "feed" "^4.2.2" - "fs-extra" "^10.1.0" - "lodash" "^4.17.21" - "reading-time" "^1.5.0" - "tslib" "^2.4.0" - "unist-util-visit" "^2.0.3" - "utility-types" "^3.10.0" - "webpack" "^5.73.0" + cheerio "^1.0.0-rc.12" + feed "^4.2.2" + fs-extra "^10.1.0" + lodash "^4.17.21" + reading-time "^1.5.0" + tslib "^2.4.0" + unist-util-visit "^2.0.3" + utility-types "^3.10.0" + webpack "^5.73.0" "@docusaurus/plugin-content-docs@2.1.0": - "integrity" "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" + integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/logger" "2.1.0" @@ -1530,75 +1530,75 @@ "@docusaurus/utils" "2.1.0" "@docusaurus/utils-validation" "2.1.0" "@types/react-router-config" "^5.0.6" - "combine-promises" "^1.1.0" - "fs-extra" "^10.1.0" - "import-fresh" "^3.3.0" - "js-yaml" "^4.1.0" - "lodash" "^4.17.21" - "tslib" "^2.4.0" - "utility-types" "^3.10.0" - "webpack" "^5.73.0" + combine-promises "^1.1.0" + fs-extra "^10.1.0" + import-fresh "^3.3.0" + js-yaml "^4.1.0" + lodash "^4.17.21" + tslib "^2.4.0" + utility-types "^3.10.0" + webpack "^5.73.0" "@docusaurus/plugin-content-pages@2.1.0": - "integrity" "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" + integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/mdx-loader" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - "fs-extra" "^10.1.0" - "tslib" "^2.4.0" - "webpack" "^5.73.0" + fs-extra "^10.1.0" + tslib "^2.4.0" + webpack "^5.73.0" "@docusaurus/plugin-debug@2.1.0": - "integrity" "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" + integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils" "2.1.0" - "fs-extra" "^10.1.0" - "react-json-view" "^1.21.3" - "tslib" "^2.4.0" - -"@docusaurus/plugin-google-analytics@^2.1.0": - "integrity" "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz" - "version" "2.4.3" - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" - "tslib" "^2.4.0" + fs-extra "^10.1.0" + react-json-view "^1.21.3" + tslib "^2.4.0" "@docusaurus/plugin-google-analytics@2.1.0": - "integrity" "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" + integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - "tslib" "^2.4.0" + tslib "^2.4.0" + +"@docusaurus/plugin-google-analytics@^2.1.0": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz" + integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" + tslib "^2.4.0" "@docusaurus/plugin-google-gtag@2.1.0": - "integrity" "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" + integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/types" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - "tslib" "^2.4.0" + tslib "^2.4.0" "@docusaurus/plugin-sitemap@2.1.0": - "integrity" "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" + integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/logger" "2.1.0" @@ -1606,14 +1606,14 @@ "@docusaurus/utils" "2.1.0" "@docusaurus/utils-common" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - "fs-extra" "^10.1.0" - "sitemap" "^7.1.1" - "tslib" "^2.4.0" + fs-extra "^10.1.0" + sitemap "^7.1.1" + tslib "^2.4.0" "@docusaurus/preset-classic@2.1.0": - "integrity" "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==" - "resolved" "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" + integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/plugin-content-blog" "2.1.0" @@ -1628,18 +1628,18 @@ "@docusaurus/theme-search-algolia" "2.1.0" "@docusaurus/types" "2.1.0" -"@docusaurus/react-loadable@5.5.2": - "integrity" "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" - "version" "5.5.2" +"@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": + version "5.5.2" + resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" + integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== dependencies: "@types/react" "*" - "prop-types" "^15.6.2" + prop-types "^15.6.2" "@docusaurus/theme-classic@2.1.0": - "integrity" "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" + integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== dependencies: "@docusaurus/core" "2.1.0" "@docusaurus/mdx-loader" "2.1.0" @@ -1654,23 +1654,23 @@ "@docusaurus/utils-common" "2.1.0" "@docusaurus/utils-validation" "2.1.0" "@mdx-js/react" "^1.6.22" - "clsx" "^1.2.1" - "copy-text-to-clipboard" "^3.0.1" - "infima" "0.2.0-alpha.42" - "lodash" "^4.17.21" - "nprogress" "^0.2.0" - "postcss" "^8.4.14" - "prism-react-renderer" "^1.3.5" - "prismjs" "^1.28.0" - "react-router-dom" "^5.3.3" - "rtlcss" "^3.5.0" - "tslib" "^2.4.0" - "utility-types" "^3.10.0" + clsx "^1.2.1" + copy-text-to-clipboard "^3.0.1" + infima "0.2.0-alpha.42" + lodash "^4.17.21" + nprogress "^0.2.0" + postcss "^8.4.14" + prism-react-renderer "^1.3.5" + prismjs "^1.28.0" + react-router-dom "^5.3.3" + rtlcss "^3.5.0" + tslib "^2.4.0" + utility-types "^3.10.0" "@docusaurus/theme-common@2.1.0": - "integrity" "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" + integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== dependencies: "@docusaurus/mdx-loader" "2.1.0" "@docusaurus/module-type-aliases" "2.1.0" @@ -1681,16 +1681,16 @@ "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" - "clsx" "^1.2.1" - "parse-numeric-range" "^1.3.0" - "prism-react-renderer" "^1.3.5" - "tslib" "^2.4.0" - "utility-types" "^3.10.0" + clsx "^1.2.1" + parse-numeric-range "^1.3.0" + prism-react-renderer "^1.3.5" + tslib "^2.4.0" + utility-types "^3.10.0" "@docusaurus/theme-search-algolia@2.1.0": - "integrity" "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" + integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== dependencies: "@docsearch/react" "^3.1.1" "@docusaurus/core" "2.1.0" @@ -1700,134 +1700,134 @@ "@docusaurus/theme-translations" "2.1.0" "@docusaurus/utils" "2.1.0" "@docusaurus/utils-validation" "2.1.0" - "algoliasearch" "^4.13.1" - "algoliasearch-helper" "^3.10.0" - "clsx" "^1.2.1" - "eta" "^1.12.3" - "fs-extra" "^10.1.0" - "lodash" "^4.17.21" - "tslib" "^2.4.0" - "utility-types" "^3.10.0" + algoliasearch "^4.13.1" + algoliasearch-helper "^3.10.0" + clsx "^1.2.1" + eta "^1.12.3" + fs-extra "^10.1.0" + lodash "^4.17.21" + tslib "^2.4.0" + utility-types "^3.10.0" "@docusaurus/theme-translations@2.1.0": - "integrity" "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" + integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== dependencies: - "fs-extra" "^10.1.0" - "tslib" "^2.4.0" + fs-extra "^10.1.0" + tslib "^2.4.0" -"@docusaurus/types@*", "@docusaurus/types@2.4.3": - "integrity" "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==" - "resolved" "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz" - "version" "2.4.3" +"@docusaurus/types@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" + integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== dependencies: "@types/history" "^4.7.11" "@types/react" "*" - "commander" "^5.1.0" - "joi" "^17.6.0" - "react-helmet-async" "^1.3.0" - "utility-types" "^3.10.0" - "webpack" "^5.73.0" - "webpack-merge" "^5.8.0" - -"@docusaurus/types@2.1.0": - "integrity" "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" - "version" "2.1.0" + commander "^5.1.0" + joi "^17.6.0" + react-helmet-async "^1.3.0" + utility-types "^3.10.0" + webpack "^5.73.0" + webpack-merge "^5.8.0" + +"@docusaurus/types@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz" + integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== dependencies: "@types/history" "^4.7.11" "@types/react" "*" - "commander" "^5.1.0" - "joi" "^17.6.0" - "react-helmet-async" "^1.3.0" - "utility-types" "^3.10.0" - "webpack" "^5.73.0" - "webpack-merge" "^5.8.0" + commander "^5.1.0" + joi "^17.6.0" + react-helmet-async "^1.3.0" + utility-types "^3.10.0" + webpack "^5.73.0" + webpack-merge "^5.8.0" "@docusaurus/utils-common@2.1.0": - "integrity" "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" + integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== dependencies: - "tslib" "^2.4.0" + tslib "^2.4.0" "@docusaurus/utils-common@2.4.3": - "integrity" "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz" + integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== dependencies: - "tslib" "^2.4.0" + tslib "^2.4.0" "@docusaurus/utils-validation@2.1.0": - "integrity" "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" + integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== dependencies: "@docusaurus/logger" "2.1.0" "@docusaurus/utils" "2.1.0" - "joi" "^17.6.0" - "js-yaml" "^4.1.0" - "tslib" "^2.4.0" + joi "^17.6.0" + js-yaml "^4.1.0" + tslib "^2.4.0" "@docusaurus/utils-validation@2.4.3": - "integrity" "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz" + integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== dependencies: "@docusaurus/logger" "2.4.3" "@docusaurus/utils" "2.4.3" - "joi" "^17.6.0" - "js-yaml" "^4.1.0" - "tslib" "^2.4.0" + joi "^17.6.0" + js-yaml "^4.1.0" + tslib "^2.4.0" "@docusaurus/utils@2.1.0": - "integrity" "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" - "version" "2.1.0" + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" + integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== dependencies: "@docusaurus/logger" "2.1.0" "@svgr/webpack" "^6.2.1" - "file-loader" "^6.2.0" - "fs-extra" "^10.1.0" - "github-slugger" "^1.4.0" - "globby" "^11.1.0" - "gray-matter" "^4.0.3" - "js-yaml" "^4.1.0" - "lodash" "^4.17.21" - "micromatch" "^4.0.5" - "resolve-pathname" "^3.0.0" - "shelljs" "^0.8.5" - "tslib" "^2.4.0" - "url-loader" "^4.1.1" - "webpack" "^5.73.0" + file-loader "^6.2.0" + fs-extra "^10.1.0" + github-slugger "^1.4.0" + globby "^11.1.0" + gray-matter "^4.0.3" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.4.0" + url-loader "^4.1.1" + webpack "^5.73.0" "@docusaurus/utils@2.4.3": - "integrity" "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz" - "version" "2.4.3" + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz" + integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== dependencies: "@docusaurus/logger" "2.4.3" "@svgr/webpack" "^6.2.1" - "escape-string-regexp" "^4.0.0" - "file-loader" "^6.2.0" - "fs-extra" "^10.1.0" - "github-slugger" "^1.4.0" - "globby" "^11.1.0" - "gray-matter" "^4.0.3" - "js-yaml" "^4.1.0" - "lodash" "^4.17.21" - "micromatch" "^4.0.5" - "resolve-pathname" "^3.0.0" - "shelljs" "^0.8.5" - "tslib" "^2.4.0" - "url-loader" "^4.1.1" - "webpack" "^5.73.0" - -"@ethersproject/abi@^5.7.0", "@ethersproject/abi@5.7.0": - "integrity" "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==" - "resolved" "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" - "version" "5.7.0" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + fs-extra "^10.1.0" + github-slugger "^1.4.0" + globby "^11.1.0" + gray-matter "^4.0.3" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.4.0" + url-loader "^4.1.1" + webpack "^5.73.0" + +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" + integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== dependencies: "@ethersproject/address" "^5.7.0" "@ethersproject/bignumber" "^5.7.0" @@ -1839,10 +1839,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/abstract-provider@^5.7.0", "@ethersproject/abstract-provider@5.7.0": - "integrity" "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==" - "resolved" "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" + integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -1852,10 +1852,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" -"@ethersproject/abstract-signer@^5.7.0", "@ethersproject/abstract-signer@5.7.0": - "integrity" "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" + integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/bignumber" "^5.7.0" @@ -1863,10 +1863,10 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@^5.7.0", "@ethersproject/address@5.7.0": - "integrity" "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==" - "resolved" "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" + integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -1874,48 +1874,48 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/rlp" "^5.7.0" -"@ethersproject/base64@^5.7.0", "@ethersproject/base64@5.7.0": - "integrity" "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" + integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" -"@ethersproject/basex@^5.7.0", "@ethersproject/basex@5.7.0": - "integrity" "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==" - "resolved" "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" + integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/bignumber@^5.7.0", "@ethersproject/bignumber@5.7.0": - "integrity" "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==" - "resolved" "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" + integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" - "bn.js" "^5.2.1" + bn.js "^5.2.1" -"@ethersproject/bytes@^5.7.0", "@ethersproject/bytes@5.7.0": - "integrity" "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==" - "resolved" "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" + integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/constants@^5.7.0", "@ethersproject/constants@5.7.0": - "integrity" "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==" - "resolved" "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" + integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/contracts@5.7.0": - "integrity" "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==" - "resolved" "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" - "version" "5.7.0" + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" + integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== dependencies: "@ethersproject/abi" "^5.7.0" "@ethersproject/abstract-provider" "^5.7.0" @@ -1928,10 +1928,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/transactions" "^5.7.0" -"@ethersproject/hash@^5.7.0", "@ethersproject/hash@5.7.0": - "integrity" "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==" - "resolved" "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" + integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== dependencies: "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/address" "^5.7.0" @@ -1943,10 +1943,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/hdnode@^5.7.0", "@ethersproject/hdnode@5.7.0": - "integrity" "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==" - "resolved" "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" + integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== dependencies: "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/basex" "^5.7.0" @@ -1961,10 +1961,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/json-wallets@^5.7.0", "@ethersproject/json-wallets@5.7.0": - "integrity" "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==" - "resolved" "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" + integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== dependencies: "@ethersproject/abstract-signer" "^5.7.0" "@ethersproject/address" "^5.7.0" @@ -1977,48 +1977,48 @@ "@ethersproject/random" "^5.7.0" "@ethersproject/strings" "^5.7.0" "@ethersproject/transactions" "^5.7.0" - "aes-js" "3.0.0" - "scrypt-js" "3.0.1" + aes-js "3.0.0" + scrypt-js "3.0.1" -"@ethersproject/keccak256@^5.7.0", "@ethersproject/keccak256@5.7.0": - "integrity" "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==" - "resolved" "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" + integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== dependencies: "@ethersproject/bytes" "^5.7.0" - "js-sha3" "0.8.0" + js-sha3 "0.8.0" -"@ethersproject/logger@^5.7.0", "@ethersproject/logger@5.7.0": - "integrity" "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - "resolved" "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" + integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== -"@ethersproject/networks@^5.7.0", "@ethersproject/networks@5.7.1": - "integrity" "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" - "version" "5.7.1" +"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": + version "5.7.1" + resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" + integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" -"@ethersproject/pbkdf2@^5.7.0", "@ethersproject/pbkdf2@5.7.0": - "integrity" "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==" - "resolved" "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" + integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/sha2" "^5.7.0" -"@ethersproject/properties@^5.7.0", "@ethersproject/properties@5.7.0": - "integrity" "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==" - "resolved" "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" + integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== dependencies: "@ethersproject/logger" "^5.7.0" "@ethersproject/providers@5.7.2": - "integrity" "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==" - "resolved" "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" - "version" "5.7.2" + version "5.7.2" + resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" + integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -2038,50 +2038,50 @@ "@ethersproject/strings" "^5.7.0" "@ethersproject/transactions" "^5.7.0" "@ethersproject/web" "^5.7.0" - "bech32" "1.1.4" - "ws" "7.4.6" + bech32 "1.1.4" + ws "7.4.6" -"@ethersproject/random@^5.7.0", "@ethersproject/random@5.7.0": - "integrity" "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" + integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/rlp@^5.7.0", "@ethersproject/rlp@5.7.0": - "integrity" "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==" - "resolved" "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" + integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/sha2@^5.7.0", "@ethersproject/sha2@5.7.0": - "integrity" "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==" - "resolved" "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" + integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" - "hash.js" "1.1.7" + hash.js "1.1.7" -"@ethersproject/signing-key@^5.7.0", "@ethersproject/signing-key@5.7.0": - "integrity" "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==" - "resolved" "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" + integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" - "bn.js" "^5.2.1" - "elliptic" "6.5.4" - "hash.js" "1.1.7" + bn.js "^5.2.1" + elliptic "6.5.4" + hash.js "1.1.7" "@ethersproject/solidity@5.7.0": - "integrity" "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==" - "resolved" "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" - "version" "5.7.0" + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" + integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -2090,19 +2090,19 @@ "@ethersproject/sha2" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/strings@^5.7.0", "@ethersproject/strings@5.7.0": - "integrity" "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==" - "resolved" "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" + integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" -"@ethersproject/transactions@^5.7.0", "@ethersproject/transactions@5.7.0": - "integrity" "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==" - "resolved" "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" + integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== dependencies: "@ethersproject/address" "^5.7.0" "@ethersproject/bignumber" "^5.7.0" @@ -2115,18 +2115,18 @@ "@ethersproject/signing-key" "^5.7.0" "@ethersproject/units@5.7.0": - "integrity" "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==" - "resolved" "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" - "version" "5.7.0" + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" + integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/constants" "^5.7.0" "@ethersproject/logger" "^5.7.0" "@ethersproject/wallet@5.7.0": - "integrity" "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==" - "resolved" "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" - "version" "5.7.0" + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" + integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== dependencies: "@ethersproject/abstract-provider" "^5.7.0" "@ethersproject/abstract-signer" "^5.7.0" @@ -2144,10 +2144,10 @@ "@ethersproject/transactions" "^5.7.0" "@ethersproject/wordlists" "^5.7.0" -"@ethersproject/web@^5.7.0", "@ethersproject/web@5.7.1": - "integrity" "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==" - "resolved" "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" - "version" "5.7.1" +"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": + version "5.7.1" + resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" + integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== dependencies: "@ethersproject/base64" "^5.7.0" "@ethersproject/bytes" "^5.7.0" @@ -2155,10 +2155,10 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@ethersproject/wordlists@^5.7.0", "@ethersproject/wordlists@5.7.0": - "integrity" "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==" - "resolved" "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" - "version" "5.7.0" +"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": + version "5.7.0" + resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" + integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/hash" "^5.7.0" @@ -2167,326 +2167,326 @@ "@ethersproject/strings" "^5.7.0" "@hapi/hoek@^9.0.0": - "integrity" "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - "resolved" "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" - "version" "9.3.0" + version "9.3.0" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== "@hapi/topo@^5.0.0": - "integrity" "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==" - "resolved" "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - "version" "5.1.0" + version "5.1.0" + resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== dependencies: "@hapi/hoek" "^9.0.0" "@jest/schemas@^29.6.3": - "integrity" "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" - "resolved" "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" - "version" "29.6.3" + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== dependencies: "@sinclair/typebox" "^0.27.8" "@jest/types@^29.6.3": - "integrity" "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" - "version" "29.6.3" + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + 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" + chalk "^4.0.0" "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - "integrity" "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - "version" "0.3.3" + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + 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/resolve-uri@^3.1.0": - "integrity" "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - "resolved" "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - "version" "3.1.1" + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== "@jridgewell/set-array@^1.0.1": - "integrity" "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - "resolved" "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.3": - "integrity" "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==" - "resolved" "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - "version" "0.3.5" + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" + 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": - "integrity" "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - "resolved" "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - "version" "1.4.15" + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - "integrity" "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==" - "resolved" "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" - "version" "0.3.20" + version "0.3.20" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== dependencies: "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" "@leichtgewicht/ip-codec@^2.0.1": - "integrity" "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - "resolved" "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" - "version" "2.0.4" + version "2.0.4" + resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== "@lit-protocol/auth-helpers@3.0.24": - "integrity" "sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg==" - "resolved" "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz" - "version" "3.0.24" + version "3.0.24" + resolved "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz" + integrity sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg== dependencies: - "siwe" "^2.0.5" - "siwe-recap" "0.0.2-alpha.0" - "tslib" "^2.3.0" + siwe "^2.0.5" + siwe-recap "0.0.2-alpha.0" + tslib "^2.3.0" "@lit-protocol/constants@^3.0.24": - "integrity" "sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw==" - "resolved" "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz" - "version" "3.0.24" + version "3.0.24" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" "@lit-protocol/types" "3.0.24" - "ethers" "^5.7.1" - "jszip" "^3.10.1" - "siwe" "^2.0.5" - "siwe-recap" "0.0.2-alpha.0" - "tslib" "^2.3.0" + ethers "^5.7.1" + jszip "^3.10.1" + siwe "^2.0.5" + siwe-recap "0.0.2-alpha.0" + tslib "^2.3.0" "@lit-protocol/types@3.0.24": - "integrity" "sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw==" - "resolved" "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz" - "version" "3.0.24" + version "3.0.24" + resolved "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz" + integrity sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" - "ethers" "^5.7.1" - "jszip" "^3.10.1" - "siwe" "^2.0.5" - "siwe-recap" "0.0.2-alpha.0" - "tslib" "^2.3.0" + ethers "^5.7.1" + jszip "^3.10.1" + siwe "^2.0.5" + siwe-recap "0.0.2-alpha.0" + tslib "^2.3.0" "@mdx-js/mdx@^1.6.22": - "integrity" "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==" - "resolved" "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" - "version" "1.6.22" + version "1.6.22" + resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" + integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== dependencies: "@babel/core" "7.12.9" "@babel/plugin-syntax-jsx" "7.12.1" "@babel/plugin-syntax-object-rest-spread" "7.8.3" "@mdx-js/util" "1.6.22" - "babel-plugin-apply-mdx-type-prop" "1.6.22" - "babel-plugin-extract-import-names" "1.6.22" - "camelcase-css" "2.0.1" - "detab" "2.0.4" - "hast-util-raw" "6.0.1" - "lodash.uniq" "4.5.0" - "mdast-util-to-hast" "10.0.1" - "remark-footnotes" "2.0.0" - "remark-mdx" "1.6.22" - "remark-parse" "8.0.3" - "remark-squeeze-paragraphs" "4.0.0" - "style-to-object" "0.3.0" - "unified" "9.2.0" - "unist-builder" "2.0.3" - "unist-util-visit" "2.0.3" + babel-plugin-apply-mdx-type-prop "1.6.22" + babel-plugin-extract-import-names "1.6.22" + camelcase-css "2.0.1" + detab "2.0.4" + hast-util-raw "6.0.1" + lodash.uniq "4.5.0" + mdast-util-to-hast "10.0.1" + remark-footnotes "2.0.0" + remark-mdx "1.6.22" + remark-parse "8.0.3" + remark-squeeze-paragraphs "4.0.0" + style-to-object "0.3.0" + unified "9.2.0" + unist-builder "2.0.3" + unist-util-visit "2.0.3" "@mdx-js/react@^1.6.21", "@mdx-js/react@^1.6.22": - "integrity" "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" - "resolved" "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" - "version" "1.6.22" + version "1.6.22" + resolved "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" + integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== "@mdx-js/util@1.6.22": - "integrity" "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" - "resolved" "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" - "version" "1.6.22" + version "1.6.22" + resolved "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" + integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== "@noble/hashes@^1.1.2": - "integrity" "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" - "resolved" "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" - "version" "1.3.2" + version "1.3.2" + resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@polka/url@^1.0.0-next.20": - "integrity" "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" - "resolved" "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz" - "version" "1.0.0-next.23" + version "1.0.0-next.23" + resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz" + integrity sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg== "@sideway/address@^4.1.3": - "integrity" "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==" - "resolved" "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" - "version" "4.1.4" + version "4.1.4" + resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== dependencies: "@hapi/hoek" "^9.0.0" "@sideway/formula@^3.0.1": - "integrity" "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - "resolved" "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" - "version" "3.0.1" + version "3.0.1" + resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== "@sideway/pinpoint@^2.0.0": - "integrity" "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - "resolved" "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" - "version" "2.0.0" + version "2.0.0" + resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sinclair/typebox@^0.27.8": - "integrity" "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - "resolved" "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - "version" "0.27.8" + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/is@^0.14.0": - "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" - "version" "0.14.0" + version "0.14.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@slorber/static-site-generator-webpack-plugin@^4.0.7": - "integrity" "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==" - "resolved" "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz" - "version" "4.0.7" + version "4.0.7" + resolved "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz" + integrity sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA== dependencies: - "eval" "^0.1.8" - "p-map" "^4.0.0" - "webpack-sources" "^3.2.2" + eval "^0.1.8" + p-map "^4.0.0" + webpack-sources "^3.2.2" "@spruceid/siwe-parser@*": - "integrity" "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==" - "resolved" "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz" - "version" "2.0.2" + version "2.0.2" + resolved "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz" + integrity sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA== dependencies: "@noble/hashes" "^1.1.2" - "apg-js" "^4.1.1" - "uri-js" "^4.4.1" - "valid-url" "^1.0.9" + apg-js "^4.1.1" + uri-js "^4.4.1" + valid-url "^1.0.9" "@stablelib/binary@^1.0.1": - "integrity" "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==" - "resolved" "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== dependencies: "@stablelib/int" "^1.0.1" "@stablelib/int@^1.0.1": - "integrity" "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - "resolved" "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== "@stablelib/random@^1.0.1": - "integrity" "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==" - "resolved" "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz" - "version" "1.0.2" + version "1.0.2" + resolved "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== dependencies: "@stablelib/binary" "^1.0.1" "@stablelib/wipe" "^1.0.1" "@stablelib/wipe@^1.0.1": - "integrity" "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - "resolved" "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - "integrity" "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== "@svgr/babel-plugin-add-jsx-attribute@^6.5.1": - "integrity" "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" + integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== "@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - "integrity" "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== "@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - "integrity" "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" - "version" "5.0.1" + version "5.0.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - "integrity" "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" - "version" "5.0.1" + version "5.0.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== "@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": - "integrity" "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - "integrity" "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== "@svgr/babel-plugin-svg-dynamic-title@^6.5.1": - "integrity" "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - "integrity" "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== "@svgr/babel-plugin-svg-em-dimensions@^6.5.1": - "integrity" "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - "integrity" "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== "@svgr/babel-plugin-transform-react-native-svg@^6.5.1": - "integrity" "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== "@svgr/babel-plugin-transform-svg-component@^5.5.0": - "integrity" "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== "@svgr/babel-plugin-transform-svg-component@^6.5.1": - "integrity" "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== "@svgr/babel-preset@^5.5.0": - "integrity" "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==" - "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" @@ -2498,9 +2498,9 @@ "@svgr/babel-plugin-transform-svg-component" "^5.5.0" "@svgr/babel-preset@^6.5.1": - "integrity" "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==" - "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" "@svgr/babel-plugin-remove-jsx-attribute" "*" @@ -2511,83 +2511,83 @@ "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" "@svgr/babel-plugin-transform-svg-component" "^6.5.1" -"@svgr/core@*", "@svgr/core@^6.0.0", "@svgr/core@^6.5.1": - "integrity" "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==" - "resolved" "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" - "version" "6.5.1" +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + +"@svgr/core@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== dependencies: "@babel/core" "^7.19.6" "@svgr/babel-preset" "^6.5.1" "@svgr/plugin-jsx" "^6.5.1" - "camelcase" "^6.2.0" - "cosmiconfig" "^7.0.1" - -"@svgr/core@^5.5.0": - "integrity" "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==" - "resolved" "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - "camelcase" "^6.2.0" - "cosmiconfig" "^7.0.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" "@svgr/hast-util-to-babel-ast@^5.5.0": - "integrity" "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==" - "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== dependencies: "@babel/types" "^7.12.6" "@svgr/hast-util-to-babel-ast@^6.5.1": - "integrity" "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==" - "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: "@babel/types" "^7.20.0" - "entities" "^4.4.0" + entities "^4.4.0" "@svgr/plugin-jsx@^5.5.0": - "integrity" "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== dependencies: "@babel/core" "^7.12.3" "@svgr/babel-preset" "^5.5.0" "@svgr/hast-util-to-babel-ast" "^5.5.0" - "svg-parser" "^2.0.2" + svg-parser "^2.0.2" "@svgr/plugin-jsx@^6.5.1": - "integrity" "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== dependencies: "@babel/core" "^7.19.6" "@svgr/babel-preset" "^6.5.1" "@svgr/hast-util-to-babel-ast" "^6.5.1" - "svg-parser" "^2.0.4" + svg-parser "^2.0.4" "@svgr/plugin-svgo@^5.5.0": - "integrity" "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== dependencies: - "cosmiconfig" "^7.0.0" - "deepmerge" "^4.2.2" - "svgo" "^1.2.2" + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" "@svgr/plugin-svgo@^6.5.1": - "integrity" "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: - "cosmiconfig" "^7.0.1" - "deepmerge" "^4.2.2" - "svgo" "^2.8.0" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + svgo "^2.8.0" "@svgr/webpack@^5.5.0": - "integrity" "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==" - "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== dependencies: "@babel/core" "^7.12.3" "@babel/plugin-transform-react-constant-elements" "^7.12.1" @@ -2596,12 +2596,12 @@ "@svgr/core" "^5.5.0" "@svgr/plugin-jsx" "^5.5.0" "@svgr/plugin-svgo" "^5.5.0" - "loader-utils" "^2.0.0" + loader-utils "^2.0.0" "@svgr/webpack@^6.2.1": - "integrity" "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==" - "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" - "version" "6.5.1" + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" + integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== dependencies: "@babel/core" "^7.19.6" "@babel/plugin-transform-react-constant-elements" "^7.18.12" @@ -2613,72 +2613,72 @@ "@svgr/plugin-svgo" "^6.5.1" "@szmarczak/http-timer@^1.1.2": - "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" - "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: - "defer-to-connect" "^1.0.1" + defer-to-connect "^1.0.1" "@trysound/sax@0.2.0": - "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - "version" "0.2.0" + version "0.2.0" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/body-parser@*": - "integrity" "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==" - "resolved" "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz" - "version" "1.19.4" + version "1.19.4" + resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz" + integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== dependencies: "@types/connect" "*" "@types/node" "*" "@types/bonjour@^3.5.9": - "integrity" "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==" - "resolved" "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz" - "version" "3.5.12" + version "3.5.12" + resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz" + integrity sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": - "integrity" "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==" - "resolved" "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz" - "version" "1.5.2" + version "1.5.2" + resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz" + integrity sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q== dependencies: "@types/express-serve-static-core" "*" "@types/node" "*" "@types/connect@*": - "integrity" "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==" - "resolved" "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz" - "version" "3.4.37" + version "3.4.37" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz" + integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": - "integrity" "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz" - "version" "3.7.6" + version "3.7.6" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz" + integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - "integrity" "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz" - "version" "8.44.6" + version "8.44.6" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz" + integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^1.0.0": - "integrity" "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz" - "version" "1.0.3" + version "1.0.3" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz" + integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - "integrity" "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==" - "resolved" "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz" - "version" "4.17.39" + version "4.17.39" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz" + integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== dependencies: "@types/node" "*" "@types/qs" "*" @@ -2686,9 +2686,9 @@ "@types/send" "*" "@types/express@*", "@types/express@^4.17.13": - "integrity" "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==" - "resolved" "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz" - "version" "4.17.20" + version "4.17.20" + resolved "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz" + integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -2696,267 +2696,267 @@ "@types/serve-static" "*" "@types/hast@^2.0.0": - "integrity" "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==" - "resolved" "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz" - "version" "2.3.7" + version "2.3.7" + resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz" + integrity sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw== dependencies: "@types/unist" "^2" "@types/history@^4.7.11": - "integrity" "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" - "resolved" "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" - "version" "4.7.11" + version "4.7.11" + resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" + integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== "@types/html-minifier-terser@^6.0.0": - "integrity" "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - "version" "6.1.0" + version "6.1.0" + resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-errors@*": - "integrity" "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" - "resolved" "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz" - "version" "2.0.3" + version "2.0.3" + resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz" + integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== "@types/http-proxy@^1.17.8": - "integrity" "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==" - "resolved" "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz" - "version" "1.17.13" + version "1.17.13" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz" + integrity sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - "integrity" "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" - "version" "2.0.5" + version "2.0.5" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" + integrity sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ== "@types/istanbul-lib-report@*": - "integrity" "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz" - "version" "3.0.2" + version "3.0.2" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz" + integrity sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": - "integrity" "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz" - "version" "3.0.3" + version "3.0.3" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz" + integrity sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg== 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": - "integrity" "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" - "version" "7.0.14" + version "7.0.14" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" + integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== "@types/mdast@^3.0.0": - "integrity" "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==" - "resolved" "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz" - "version" "3.0.14" + version "3.0.14" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz" + integrity sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw== dependencies: "@types/unist" "^2" "@types/mime@*", "@types/mime@^1": - "integrity" "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" - "resolved" "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz" - "version" "1.3.4" + version "1.3.4" + resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz" + integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== "@types/node-forge@^1.3.0": - "integrity" "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==" - "resolved" "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz" - "version" "1.3.8" + version "1.3.8" + resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz" + integrity sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg== dependencies: "@types/node" "*" "@types/node@*": - "integrity" "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz" - "version" "20.8.9" + version "20.8.9" + resolved "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz" + integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== dependencies: - "undici-types" "~5.26.4" + undici-types "~5.26.4" "@types/node@^17.0.5": - "integrity" "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" - "version" "17.0.45" + version "17.0.45" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/parse-json@^4.0.0": - "integrity" "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz" - "version" "4.0.1" + version "4.0.1" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz" + integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== "@types/parse5@^5.0.0": - "integrity" "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - "resolved" "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" - "version" "5.0.3" + version "5.0.3" + resolved "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== "@types/prop-types@*": - "integrity" "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" - "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" - "version" "15.7.9" + version "15.7.9" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" + integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== "@types/q@^1.5.1": - "integrity" "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" - "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz" - "version" "1.5.7" + version "1.5.7" + resolved "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz" + integrity sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA== "@types/qs@*": - "integrity" "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" - "resolved" "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz" - "version" "6.9.9" + version "6.9.9" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz" + integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== "@types/range-parser@*": - "integrity" "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" - "resolved" "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz" - "version" "1.2.6" + version "1.2.6" + resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz" + integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== "@types/react-router-config@*", "@types/react-router-config@^5.0.6": - "integrity" "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==" - "resolved" "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz" - "version" "5.0.9" + version "5.0.9" + resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz" + integrity sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg== dependencies: "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router" "^5.1.0" "@types/react-router-dom@*": - "integrity" "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==" - "resolved" "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" - "version" "5.3.3" + version "5.3.3" + resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== dependencies: "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router" "*" "@types/react-router@*", "@types/react-router@^5.1.0": - "integrity" "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==" - "resolved" "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" - "version" "5.1.20" + version "5.1.20" + resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== dependencies: "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0": - "integrity" "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==" - "resolved" "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" - "version" "18.2.33" +"@types/react@*": + version "18.2.33" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" + integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" - "csstype" "^3.0.2" + csstype "^3.0.2" "@types/retry@0.12.0": - "integrity" "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - "resolved" "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" + version "0.12.0" + resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== "@types/sax@^1.2.1": - "integrity" "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==" - "resolved" "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz" - "version" "1.2.6" + version "1.2.6" + resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz" + integrity sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ== dependencies: "@types/node" "*" "@types/scheduler@*": - "integrity" "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" - "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz" - "version" "0.16.5" + version "0.16.5" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz" + integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== "@types/send@*": - "integrity" "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==" - "resolved" "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz" - "version" "0.17.3" + version "0.17.3" + resolved "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz" + integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-index@^1.9.1": - "integrity" "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==" - "resolved" "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz" - "version" "1.9.3" + version "1.9.3" + resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz" + integrity sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - "integrity" "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==" - "resolved" "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz" - "version" "1.15.4" + version "1.15.4" + resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz" + integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== dependencies: "@types/http-errors" "*" "@types/mime" "*" "@types/node" "*" "@types/sockjs@^0.3.33": - "integrity" "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==" - "resolved" "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz" - "version" "0.3.35" + version "0.3.35" + resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz" + integrity sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw== dependencies: "@types/node" "*" "@types/unist@^2", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - "integrity" "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" - "resolved" "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz" - "version" "2.0.9" + version "2.0.9" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz" + integrity sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ== "@types/ws@^8.5.5": - "integrity" "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==" - "resolved" "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz" - "version" "8.5.8" + version "8.5.8" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz" + integrity sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg== dependencies: "@types/node" "*" "@types/yargs-parser@*": - "integrity" "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz" - "version" "21.0.2" + version "21.0.2" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz" + integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== "@types/yargs@^17.0.8": - "integrity" "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz" - "version" "17.0.29" + version "17.0.29" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz" + integrity sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA== dependencies: "@types/yargs-parser" "*" -"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": - "integrity" "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - "version" "1.11.6" +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + 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": - "integrity" "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== "@webassemblyjs/helper-api-error@1.11.6": - "integrity" "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== "@webassemblyjs/helper-buffer@1.11.6": - "integrity" "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== "@webassemblyjs/helper-numbers@1.11.6": - "integrity" "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + 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": - "integrity" "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== "@webassemblyjs/helper-wasm-section@1.11.6": - "integrity" "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -2964,28 +2964,28 @@ "@webassemblyjs/wasm-gen" "1.11.6" "@webassemblyjs/ieee754@1.11.6": - "integrity" "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.6": - "integrity" "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.6": - "integrity" "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== "@webassemblyjs/wasm-edit@^1.11.5": - "integrity" "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-buffer" "1.11.6" @@ -2997,9 +2997,9 @@ "@webassemblyjs/wast-printer" "1.11.6" "@webassemblyjs/wasm-gen@1.11.6": - "integrity" "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-wasm-bytecode" "1.11.6" @@ -3008,19 +3008,19 @@ "@webassemblyjs/utf8" "1.11.6" "@webassemblyjs/wasm-opt@1.11.6": - "integrity" "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + 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.5", "@webassemblyjs/wasm-parser@1.11.6": - "integrity" "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - "version" "1.11.6" +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== dependencies: "@webassemblyjs/ast" "1.11.6" "@webassemblyjs/helper-api-error" "1.11.6" @@ -3030,124 +3030,114 @@ "@webassemblyjs/utf8" "1.11.6" "@webassemblyjs/wast-printer@1.11.6": - "integrity" "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - "version" "1.11.6" + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== dependencies: "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.8": - "integrity" "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==" - "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" - "version" "1.3.8" - dependencies: - "mime-types" "~2.1.34" - "negotiator" "0.6.3" - -"acorn-import-assertions@^1.9.0": - "integrity" "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==" - "resolved" "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - "version" "1.9.0" - -"acorn-walk@^8.0.0": - "integrity" "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" - "version" "8.3.0" - -"acorn@^8", "acorn@^8.0.4", "acorn@^8.7.1", "acorn@^8.8.2": - "integrity" "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" - "version" "8.11.2" - -"address@^1.0.1", "address@^1.1.2": - "integrity" "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - "resolved" "https://registry.npmjs.org/address/-/address-1.2.2.tgz" - "version" "1.2.2" - -"aes-js@3.0.0": - "integrity" "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - "resolved" "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" - "version" "3.0.0" - -"aggregate-error@^3.0.0": - "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" - "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "clean-stack" "^2.0.0" - "indent-string" "^4.0.0" - -"ajv-formats@^2.1.1": - "integrity" "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==" - "resolved" "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ajv" "^8.0.0" - -"ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv-keywords@^5.1.0": - "integrity" "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "fast-deep-equal" "^3.1.3" - -"ajv@^6.12.2", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - 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": - "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - "version" "8.12.0" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"ajv@^8.8.2", "ajv@^8.9.0": - "integrity" "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - "version" "8.12.0" - 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.10.0": - "integrity" "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==" - "resolved" "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz" - "version" "3.15.0" + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + 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.npmjs.org/accepts/-/accepts-1.3.8.tgz" + 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.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-walk@^8.0.0: + version "8.3.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" + integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== + +acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: + version "8.11.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +address@^1.0.1, address@^1.1.2: + version "1.2.2" + resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + 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.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + 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.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + 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.npmjs.org/ajv/-/ajv-8.12.0.tgz" + 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.10.0: + version "3.15.0" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz" + integrity sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA== dependencies: "@algolia/events" "^4.0.1" -"algoliasearch@^4.13.1", "algoliasearch@^4.19.1", "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": - "integrity" "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==" - "resolved" "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz" - "version" "4.20.0" +algoliasearch@^4.13.1, algoliasearch@^4.19.1: + version "4.20.0" + resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz" + integrity sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g== dependencies: "@algolia/cache-browser-local-storage" "4.20.0" "@algolia/cache-common" "4.20.0" @@ -3164,1533 +3154,1502 @@ "@algolia/requester-node-http" "4.20.0" "@algolia/transporter" "4.20.0" -"ansi-align@^3.0.0", "ansi-align@^3.0.1": - "integrity" "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==" - "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "string-width" "^4.1.0" - -"ansi-html-community@^0.0.8": - "integrity" "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - "resolved" "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" - "version" "0.0.8" - -"ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-regex@^6.0.1": - "integrity" "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" - "version" "6.0.1" - -"ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^6.1.0": - "integrity" "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" - "version" "6.2.1" - -"anymatch@~3.1.2": - "integrity" "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"apg-js@^4.1.1": - "integrity" "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" - "resolved" "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz" - "version" "4.2.1" - -"arg@^5.0.0": - "integrity" "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" - "version" "5.0.2" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"array-buffer-byte-length@^1.0.0": - "integrity" "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==" - "resolved" "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "is-array-buffer" "^3.0.1" - -"array-flatten@^2.1.2": - "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - "version" "2.1.2" - -"array-flatten@1.1.1": - "integrity" "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - "version" "1.1.1" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array.prototype.reduce@^1.0.6": - "integrity" "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==" - "resolved" "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - "es-array-method-boxes-properly" "^1.0.0" - "is-string" "^1.0.7" - -"arraybuffer.prototype.slice@^1.0.2": - "integrity" "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==" - "resolved" "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "array-buffer-byte-length" "^1.0.0" - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - "get-intrinsic" "^1.2.1" - "is-array-buffer" "^3.0.2" - "is-shared-array-buffer" "^1.0.2" - -"asap@~2.0.3": - "integrity" "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - "version" "2.0.6" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"autoprefixer@^10.4.12", "autoprefixer@^10.4.7": - "integrity" "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==" - "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz" - "version" "10.4.16" - 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" - -"available-typed-arrays@^1.0.5": - "integrity" "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" - "version" "1.0.5" - -"axios@^0.25.0": - "integrity" "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" - "version" "0.25.0" - dependencies: - "follow-redirects" "^1.14.7" - -"babel-loader@^8.2.5": - "integrity" "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" - "version" "8.3.0" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^2.0.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-plugin-apply-mdx-type-prop@1.6.22": - "integrity" "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" - "version" "1.6.22" +ansi-align@^3.0.0, ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + 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.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +apg-js@^4.1.1: + version "4.2.1" + resolved "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz" + integrity sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA== + +arg@^5.0.0: + version "5.0.2" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array.prototype.reduce@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz" + integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-array-method-boxes-properly "^1.0.0" + is-string "^1.0.7" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.4.12, autoprefixer@^10.4.7: + version "10.4.16" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz" + 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" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axios@^0.25.0: + version "0.25.0" + resolved "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" + integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== + dependencies: + follow-redirects "^1.14.7" + +babel-loader@^8.2.5: + version "8.3.0" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-apply-mdx-type-prop@1.6.22: + version "1.6.22" + resolved "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" + integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" "@mdx-js/util" "1.6.22" -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: - "object.assign" "^4.1.0" + object.assign "^4.1.0" -"babel-plugin-extract-import-names@1.6.22": - "integrity" "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" - "version" "1.6.22" +babel-plugin-extract-import-names@1.6.22: + version "1.6.22" + resolved "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" + integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" -"babel-plugin-polyfill-corejs2@^0.4.6": - "integrity" "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz" - "version" "0.4.6" +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== dependencies: "@babel/compat-data" "^7.22.6" "@babel/helper-define-polyfill-provider" "^0.4.3" - "semver" "^6.3.1" + semver "^6.3.1" -"babel-plugin-polyfill-corejs3@^0.8.5": - "integrity" "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz" - "version" "0.8.6" +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.6" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz" + integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ== dependencies: "@babel/helper-define-polyfill-provider" "^0.4.3" - "core-js-compat" "^3.33.1" + core-js-compat "^3.33.1" -"babel-plugin-polyfill-regenerator@^0.5.3": - "integrity" "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz" - "version" "0.5.3" +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== dependencies: "@babel/helper-define-polyfill-provider" "^0.4.3" -"bail@^1.0.0": - "integrity" "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - "resolved" "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" - "version" "1.0.5" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base16@^1.0.0": - "integrity" "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - "resolved" "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" - "version" "1.0.0" - -"batch@0.6.1": - "integrity" "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - "version" "0.6.1" - -"bech32@1.1.4": - "integrity" "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - "resolved" "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" - "version" "1.1.4" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.2.1": - "integrity" "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" - "version" "5.2.1" - -"body-parser@1.20.1": - "integrity" "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==" - "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" - "version" "1.20.1" - 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": - "integrity" "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==" - "resolved" "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" - "version" "1.1.1" - 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", "boolbase@~1.0.0": - "integrity" "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - "version" "1.0.0" - -"boxen@^5.0.0": - "integrity" "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==" - "resolved" "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "ansi-align" "^3.0.0" - "camelcase" "^6.2.0" - "chalk" "^4.1.0" - "cli-boxes" "^2.2.1" - "string-width" "^4.2.2" - "type-fest" "^0.20.2" - "widest-line" "^3.1.0" - "wrap-ansi" "^7.0.0" - -"boxen@^6.2.1": - "integrity" "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==" - "resolved" "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" - "version" "6.2.1" - 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" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@^3.0.2", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"brorand@^1.1.0": - "integrity" "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browserslist@^4.0.0", "browserslist@^4.14.5", "browserslist@^4.18.1", "browserslist@^4.21.10", "browserslist@^4.21.4", "browserslist@^4.21.9", "browserslist@^4.22.1", "browserslist@>= 4.21.0": - "integrity" "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" - "version" "4.22.1" - dependencies: - "caniuse-lite" "^1.0.30001541" - "electron-to-chromium" "^1.4.535" - "node-releases" "^2.0.13" - "update-browserslist-db" "^1.0.13" - -"buffer-from@^1.0.0": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"bytes@3.0.0": - "integrity" "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - "version" "3.0.0" - -"bytes@3.1.2": - "integrity" "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" - "version" "3.1.2" - -"cacheable-request@^6.0.0": - "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^3.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^4.1.0" - "responselike" "^1.0.2" - -"call-bind@^1.0.0", "call-bind@^1.0.2", "call-bind@^1.0.4", "call-bind@^1.0.5": - "integrity" "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "function-bind" "^1.1.2" - "get-intrinsic" "^1.2.1" - "set-function-length" "^1.1.1" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camel-case@^4.1.2": - "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" - "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "pascal-case" "^3.1.2" - "tslib" "^2.0.3" - -"camelcase-css@2.0.1": - "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - "version" "2.0.1" - -"camelcase@^6.2.0": - "integrity" "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" - "version" "6.3.0" - -"caniuse-api@^3.0.0": - "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" - "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - "version" "3.0.0" - 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": - "integrity" "sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz" - "version" "1.0.30001554" - -"canonicalize@^2.0.0": - "integrity" "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" - "resolved" "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz" - "version" "2.0.0" - -"ccount@^1.0.0": - "integrity" "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" - "resolved" "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" - "version" "1.1.0" - -"chalk@^2.4.1", "chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.0.0": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^4.1.0": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^4.1.2": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"character-entities-legacy@^1.0.0": - "integrity" "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - "resolved" "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" - "version" "1.1.4" - -"character-entities@^1.0.0": - "integrity" "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - "resolved" "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" - "version" "1.2.4" - -"character-reference-invalid@^1.0.0": - "integrity" "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - "resolved" "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" - "version" "1.1.4" - -"cheerio-select@^2.1.0": - "integrity" "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==" - "resolved" "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "boolbase" "^1.0.0" - "css-select" "^5.1.0" - "css-what" "^6.1.0" - "domelementtype" "^2.3.0" - "domhandler" "^5.0.3" - "domutils" "^3.0.1" - -"cheerio@^1.0.0-rc.12": - "integrity" "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==" - "resolved" "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" - "version" "1.0.0-rc.12" - 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": - "integrity" "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" - "version" "3.5.3" - 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" +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base16@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +bech32@1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" + integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + 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.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" + 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, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +boxen@^5.0.0: + version "5.1.2" + resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" + integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.2" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +boxen@^6.2.1: + version "6.2.1" + resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" + 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" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + 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.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.22.1: + version "4.22.1" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" + 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" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" + 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.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-css@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + 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.30001554" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz" + integrity sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ== + +canonicalize@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz" + integrity sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w== + +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + +chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + 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.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + 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.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + 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.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + 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": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"ci-info@^2.0.0": - "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - "version" "2.0.0" - -"ci-info@^3.2.0": - "integrity" "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" - "version" "3.9.0" - -"clean-css@^5.2.2", "clean-css@^5.3.0": - "integrity" "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==" - "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" - "version" "5.3.2" - dependencies: - "source-map" "~0.6.0" - -"clean-stack@^2.0.0": - "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - "version" "2.2.0" - -"cli-boxes@^2.2.1": - "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" - "version" "2.2.1" - -"cli-boxes@^3.0.0": - "integrity" "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" - "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" - "version" "3.0.0" - -"cli-table3@^0.6.2": - "integrity" "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==" - "resolved" "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" - "version" "0.6.3" - dependencies: - "string-width" "^4.2.0" + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + +clean-css@^5.2.2, clean-css@^5.3.0: + version "5.3.2" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + +cli-table3@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + dependencies: + string-width "^4.2.0" optionalDependencies: "@colors/colors" "1.5.0" -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" -"clone-response@^1.0.2": - "integrity" "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==" - "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" - "version" "1.0.3" +clone-response@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== dependencies: - "mimic-response" "^1.0.0" + mimic-response "^1.0.0" -"clsx@^1.1.1", "clsx@^1.2.1": - "integrity" "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" - "version" "1.2.1" +clsx@^1.1.1, clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== -"coa@^2.0.2": - "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" - "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" - "version" "2.0.2" +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== dependencies: "@types/q" "^1.5.1" - "chalk" "^2.4.1" - "q" "^1.1.2" - -"collapse-white-space@^1.0.2": - "integrity" "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" - "resolved" "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" - "version" "1.0.6" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colord@^2.9.1": - "integrity" "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - "resolved" "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" - "version" "2.9.3" - -"colorette@^2.0.10": - "integrity" "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" - "version" "2.0.20" - -"combine-promises@^1.1.0": - "integrity" "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==" - "resolved" "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" - "version" "1.2.0" - -"comma-separated-tokens@^1.0.0": - "integrity" "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" - "resolved" "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" - "version" "1.0.8" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^5.1.0": - "integrity" "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - "resolved" "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" - "version" "5.1.0" - -"commander@^7.2.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commander@^8.3.0": - "integrity" "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - "resolved" "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" - "version" "8.3.0" - -"commondir@^1.0.1": - "integrity" "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"compressible@~2.0.16": - "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" - "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - "version" "2.0.18" - dependencies: - "mime-db" ">= 1.43.0 < 2" - -"compression@^1.7.4": - "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" - "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - "version" "1.7.4" - 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": - "integrity" "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"configstore@^5.0.1": - "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" - "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "dot-prop" "^5.2.0" - "graceful-fs" "^4.1.2" - "make-dir" "^3.0.0" - "unique-string" "^2.0.0" - "write-file-atomic" "^3.0.0" - "xdg-basedir" "^4.0.0" - -"connect-history-api-fallback@^2.0.0": - "integrity" "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" - "version" "2.0.0" - -"consola@^2.15.3": - "integrity" "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - "resolved" "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - "version" "2.15.3" - -"content-disposition@0.5.2": - "integrity" "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" - "version" "0.5.2" - -"content-disposition@0.5.4": - "integrity" "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" - "version" "0.5.4" - dependencies: - "safe-buffer" "5.2.1" - -"content-type@~1.0.4": - "integrity" "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" - "version" "1.0.5" - -"convert-source-map@^1.7.0": - "integrity" "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" - "version" "1.9.0" - -"convert-source-map@^2.0.0": - "integrity" "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" - "version" "2.0.0" - -"cookie-signature@1.0.6": - "integrity" "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - "version" "1.0.6" - -"cookie@0.5.0": - "integrity" "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" - "version" "0.5.0" - -"copy-text-to-clipboard@^3.0.1": - "integrity" "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==" - "resolved" "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" - "version" "3.2.0" - -"copy-webpack-plugin@^11.0.0": - "integrity" "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==" - "resolved" "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" - "version" "11.0.0" - 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": - "integrity" "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz" - "version" "3.33.1" - dependencies: - "browserslist" "^4.22.1" - -"core-js-pure@^3.30.2": - "integrity" "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==" - "resolved" "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz" - "version" "3.33.1" - -"core-js@^3.23.3": - "integrity" "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==" - "resolved" "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz" - "version" "3.33.1" - -"core-util-is@~1.0.0": - "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - "version" "1.0.3" - -"cosmiconfig@^6.0.0": - "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - "version" "6.0.0" + chalk "^2.4.1" + q "^1.1.2" + +collapse-white-space@^1.0.2: + version "1.0.6" + resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + 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.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + 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.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +combine-promises@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" + integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== + +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + 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.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consola@^2.15.3: + version "2.15.3" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + integrity sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA== + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-text-to-clipboard@^3.0.1: + version "3.2.0" + resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" + integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== + +copy-webpack-plugin@^11.0.0: + version "11.0.0" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + 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.1" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz" + integrity sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ== + dependencies: + browserslist "^4.22.1" + +core-js-pure@^3.30.2: + version "3.33.1" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz" + integrity sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ== + +core-js@^3.23.3: + version "3.33.1" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz" + integrity sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + 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" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" -"cosmiconfig@^7.0.0", "cosmiconfig@^7.0.1": - "integrity" "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" - "version" "7.1.0" +cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" - "import-fresh" "^3.2.1" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.10.0" - -"cosmiconfig@^8.2.0": - "integrity" "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" - "version" "8.3.6" - dependencies: - "import-fresh" "^3.3.0" - "js-yaml" "^4.1.0" - "parse-json" "^5.2.0" - "path-type" "^4.0.0" - -"cross-fetch@^3.1.5": - "integrity" "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" - "version" "3.1.8" - dependencies: - "node-fetch" "^2.6.12" - -"cross-spawn@^7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypto-random-string@^2.0.0": - "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - "version" "2.0.0" - -"css-declaration-sorter@^6.3.1": - "integrity" "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==" - "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz" - "version" "6.4.1" - -"css-loader@^6.7.1": - "integrity" "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==" - "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz" - "version" "6.8.1" - 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@^4.0.0": - "integrity" "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==" - "resolved" "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz" - "version" "4.2.2" - dependencies: - "cssnano" "^5.1.8" - "jest-worker" "^29.1.2" - "postcss" "^8.4.17" - "schema-utils" "^4.0.0" - "serialize-javascript" "^6.0.0" - "source-map" "^0.6.1" - -"css-select-base-adapter@^0.1.1": - "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" - "version" "0.1.1" - -"css-select@^2.0.0": - "integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^3.2.1" - "domutils" "^1.7.0" - "nth-check" "^1.0.2" - -"css-select@^4.1.3": - "integrity" "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" - "version" "4.3.0" - 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": - "integrity" "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" - "version" "5.1.0" - 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@^1.1.2": - "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "mdn-data" "2.0.14" - "source-map" "^0.6.1" - -"css-tree@^1.1.3": - "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "mdn-data" "2.0.14" - "source-map" "^0.6.1" - -"css-tree@1.0.0-alpha.37": - "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - "version" "1.0.0-alpha.37" - dependencies: - "mdn-data" "2.0.4" - "source-map" "^0.6.1" - -"css-what@^3.2.1": - "integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" - "version" "3.4.2" - -"css-what@^6.0.1", "css-what@^6.1.0": - "integrity" "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" - "version" "6.1.0" - -"cssesc@^3.0.0": - "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - "version" "3.0.0" - -"cssnano-preset-advanced@^5.3.8": - "integrity" "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==" - "resolved" "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz" - "version" "5.3.10" - dependencies: - "autoprefixer" "^10.4.12" - "cssnano-preset-default" "^5.2.14" - "postcss-discard-unused" "^5.1.0" - "postcss-merge-idents" "^5.1.1" - "postcss-reduce-idents" "^5.2.0" - "postcss-zindex" "^5.1.0" - -"cssnano-preset-default@^5.2.14": - "integrity" "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==" - "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" - "version" "5.2.14" - dependencies: - "css-declaration-sorter" "^6.3.1" - "cssnano-utils" "^3.1.0" - "postcss-calc" "^8.2.3" - "postcss-colormin" "^5.3.1" - "postcss-convert-values" "^5.1.3" - "postcss-discard-comments" "^5.1.2" - "postcss-discard-duplicates" "^5.1.0" - "postcss-discard-empty" "^5.1.1" - "postcss-discard-overridden" "^5.1.0" - "postcss-merge-longhand" "^5.1.7" - "postcss-merge-rules" "^5.1.4" - "postcss-minify-font-values" "^5.1.0" - "postcss-minify-gradients" "^5.1.1" - "postcss-minify-params" "^5.1.4" - "postcss-minify-selectors" "^5.2.1" - "postcss-normalize-charset" "^5.1.0" - "postcss-normalize-display-values" "^5.1.0" - "postcss-normalize-positions" "^5.1.1" - "postcss-normalize-repeat-style" "^5.1.1" - "postcss-normalize-string" "^5.1.0" - "postcss-normalize-timing-functions" "^5.1.0" - "postcss-normalize-unicode" "^5.1.1" - "postcss-normalize-url" "^5.1.0" - "postcss-normalize-whitespace" "^5.1.1" - "postcss-ordered-values" "^5.1.3" - "postcss-reduce-initial" "^5.1.2" - "postcss-reduce-transforms" "^5.1.0" - "postcss-svgo" "^5.1.0" - "postcss-unique-selectors" "^5.1.1" - -"cssnano-utils@^3.1.0": - "integrity" "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" - "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" - "version" "3.1.0" - -"cssnano@^5.1.12", "cssnano@^5.1.8": - "integrity" "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==" - "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" - "version" "5.1.15" - dependencies: - "cssnano-preset-default" "^5.2.14" - "lilconfig" "^2.0.3" - "yaml" "^1.10.2" - -"csso@^4.0.2", "csso@^4.2.0": - "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" - "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "css-tree" "^1.1.2" - -"csstype@^3.0.2": - "integrity" "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" - "version" "3.1.2" - -"data-uri-to-buffer@^4.0.0": - "integrity" "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" - "resolved" "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz" - "version" "4.0.1" - -"debug@^2.6.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^4.1.0", "debug@^4.1.1", "debug@4": - "integrity" "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "ms" "2.1.2" - -"debug@2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"decompress-response@^3.3.0": - "integrity" "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "mimic-response" "^1.0.0" - -"deep-extend@^0.6.0": - "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - "version" "0.6.0" - -"deepmerge@^4.2.2": - "integrity" "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" - "version" "4.3.1" - -"default-gateway@^6.0.3": - "integrity" "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==" - "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" - "version" "6.0.3" - dependencies: - "execa" "^5.0.0" - -"defer-to-connect@^1.0.1": - "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" - "version" "1.1.3" - -"define-data-property@^1.0.1", "define-data-property@^1.1.1": - "integrity" "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==" - "resolved" "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "get-intrinsic" "^1.2.1" - "gopd" "^1.0.1" - "has-property-descriptors" "^1.0.0" - -"define-lazy-prop@^2.0.0": - "integrity" "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - "resolved" "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" - "version" "2.0.0" - -"define-properties@^1.1.3", "define-properties@^1.1.4", "define-properties@^1.2.0": - "integrity" "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "define-data-property" "^1.0.1" - "has-property-descriptors" "^1.0.0" - "object-keys" "^1.1.1" - -"del@^6.1.1": - "integrity" "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==" - "resolved" "https://registry.npmjs.org/del/-/del-6.1.1.tgz" - "version" "6.1.1" - 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@~1.1.2": - "integrity" "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"depd@2.0.0": - "integrity" "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - "resolved" "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - "version" "2.0.0" - -"destroy@1.2.0": - "integrity" "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" - "version" "1.2.0" - -"detab@2.0.4": - "integrity" "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==" - "resolved" "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "repeat-string" "^1.5.4" - -"detect-node@^2.0.4": - "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - "version" "2.1.0" - -"detect-port-alt@^1.1.6": - "integrity" "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==" - "resolved" "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" - "version" "1.1.6" - dependencies: - "address" "^1.0.1" - "debug" "^2.6.0" - -"detect-port@^1.3.0": - "integrity" "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==" - "resolved" "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "address" "^1.0.1" - "debug" "4" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"dns-equal@^1.0.0": - "integrity" "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - "version" "1.0.0" - -"dns-packet@^5.2.2": - "integrity" "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==" - "resolved" "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" - "version" "5.6.1" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cosmiconfig@^8.2.0: + version "8.3.6" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + 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-fetch@^3.1.5: + version "3.1.8" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + dependencies: + node-fetch "^2.6.12" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-declaration-sorter@^6.3.1: + version "6.4.1" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz" + integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== + +css-loader@^6.7.1: + version "6.8.1" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz" + 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@^4.0.0: + version "4.2.2" + resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz" + integrity sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA== + dependencies: + cssnano "^5.1.8" + jest-worker "^29.1.2" + postcss "^8.4.17" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + 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.npmjs.org/css-select/-/css-select-5.1.0.tgz" + 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@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^6.0.1, css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-advanced@^5.3.8: + version "5.3.10" + resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz" + integrity sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ== + dependencies: + autoprefixer "^10.4.12" + cssnano-preset-default "^5.2.14" + postcss-discard-unused "^5.1.0" + postcss-merge-idents "^5.1.1" + postcss-reduce-idents "^5.2.0" + postcss-zindex "^5.1.0" + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.2" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.1.12, cssnano@^5.1.8: + version "5.1.15" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.0.2, csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + +debug@2.6.9, debug@^2.6.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@4, debug@^4.1.0, debug@^4.1.1: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" + 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.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + 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.npmjs.org/del/-/del-6.1.1.tgz" + 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.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detab@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" + integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== + dependencies: + repeat-string "^1.5.4" + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port-alt@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +detect-port@^1.3.0: + version "1.5.1" + resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" + integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + dependencies: + address "^1.0.1" + debug "4" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== dependencies: "@leichtgewicht/ip-codec" "^2.0.1" -"dom-converter@^0.2.0": - "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" - "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - "version" "0.2.0" +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: - "utila" "~0.4" - -"dom-serializer@^1.0.1": - "integrity" "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" - "version" "1.4.1" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.2.0" - "entities" "^2.0.0" - -"dom-serializer@^2.0.0": - "integrity" "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "domelementtype" "^2.3.0" - "domhandler" "^5.0.2" - "entities" "^4.2.0" - -"dom-serializer@0": - "integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - "version" "0.2.2" - dependencies: - "domelementtype" "^2.0.1" - "entities" "^2.0.0" - -"domelementtype@^2.0.1", "domelementtype@^2.2.0", "domelementtype@^2.3.0": - "integrity" "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" - "version" "2.3.0" - -"domelementtype@1": - "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - "version" "1.3.1" - -"domhandler@^4.0.0", "domhandler@^4.2.0", "domhandler@^4.3.1": - "integrity" "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" - "version" "4.3.1" - dependencies: - "domelementtype" "^2.2.0" - -"domhandler@^5.0.2", "domhandler@^5.0.3": - "integrity" "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "domelementtype" "^2.3.0" - -"domutils@^1.7.0": - "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "dom-serializer" "0" - "domelementtype" "1" - -"domutils@^2.5.2", "domutils@^2.8.0": - "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "dom-serializer" "^1.0.1" - "domelementtype" "^2.2.0" - "domhandler" "^4.2.0" - -"domutils@^3.0.1": - "integrity" "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "dom-serializer" "^2.0.0" - "domelementtype" "^2.3.0" - "domhandler" "^5.0.3" - -"dot-case@^3.0.4": - "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" - "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"dot-prop@^5.2.0": - "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "is-obj" "^2.0.0" - -"dotenv@^16.0.3": - "integrity" "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==" - "resolved" "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz" - "version" "16.3.1" - -"duplexer@^0.1.2": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"duplexer3@^0.1.4": - "integrity" "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" - "version" "0.1.5" - -"eastasianwidth@^0.2.0": - "integrity" "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - "resolved" "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" - "version" "0.2.0" - -"ee-first@1.1.1": - "integrity" "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - "version" "1.1.1" - -"electron-to-chromium@^1.4.535": - "integrity" "sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz" - "version" "1.4.568" - -"elliptic@6.5.4": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emoji-regex@^9.2.2": - "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - "version" "9.2.2" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"emoticon@^3.2.0": - "integrity" "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" - "resolved" "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" - "version" "3.2.0" - -"encodeurl@~1.0.2": - "integrity" "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - "version" "1.0.2" - -"end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^5.15.0": - "integrity" "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" - "version" "5.15.0" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"entities@^2.0.0": - "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - "version" "2.2.0" - -"entities@^4.2.0", "entities@^4.4.0": - "integrity" "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" - "resolved" "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" - "version" "4.5.0" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-abstract@^1.17.2", "es-abstract@^1.22.1": - "integrity" "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" - "version" "1.22.3" - dependencies: - "array-buffer-byte-length" "^1.0.0" - "arraybuffer.prototype.slice" "^1.0.2" - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.5" - "es-set-tostringtag" "^2.0.1" - "es-to-primitive" "^1.2.1" - "function.prototype.name" "^1.1.6" - "get-intrinsic" "^1.2.2" - "get-symbol-description" "^1.0.0" - "globalthis" "^1.0.3" - "gopd" "^1.0.1" - "has-property-descriptors" "^1.0.0" - "has-proto" "^1.0.1" - "has-symbols" "^1.0.3" - "hasown" "^2.0.0" - "internal-slot" "^1.0.5" - "is-array-buffer" "^3.0.2" - "is-callable" "^1.2.7" - "is-negative-zero" "^2.0.2" - "is-regex" "^1.1.4" - "is-shared-array-buffer" "^1.0.2" - "is-string" "^1.0.7" - "is-typed-array" "^1.1.12" - "is-weakref" "^1.0.2" - "object-inspect" "^1.13.1" - "object-keys" "^1.1.1" - "object.assign" "^4.1.4" - "regexp.prototype.flags" "^1.5.1" - "safe-array-concat" "^1.0.1" - "safe-regex-test" "^1.0.0" - "string.prototype.trim" "^1.2.8" - "string.prototype.trimend" "^1.0.7" - "string.prototype.trimstart" "^1.0.7" - "typed-array-buffer" "^1.0.0" - "typed-array-byte-length" "^1.0.0" - "typed-array-byte-offset" "^1.0.0" - "typed-array-length" "^1.0.4" - "unbox-primitive" "^1.0.2" - "which-typed-array" "^1.1.13" - -"es-array-method-boxes-properly@^1.0.0": - "integrity" "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - "resolved" "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" - "version" "1.0.0" - -"es-module-lexer@^1.2.1": - "integrity" "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz" - "version" "1.3.1" - -"es-set-tostringtag@^2.0.1": - "integrity" "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==" - "resolved" "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "get-intrinsic" "^1.2.2" - "has-tostringtag" "^1.0.0" - "hasown" "^2.0.0" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-goat@^2.0.0": - "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" - "version" "2.1.1" - -"escape-html@^1.0.3", "escape-html@~1.0.3": - "integrity" "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - "version" "1.0.3" - -"escape-string-regexp@^1.0.5": - "integrity" "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"esprima@^4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.2.0": - "integrity" "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - "version" "5.3.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"eta@^1.12.3": - "integrity" "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==" - "resolved" "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz" - "version" "1.14.2" - -"eta@^2.0.0": - "integrity" "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==" - "resolved" "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" - "version" "2.2.0" - -"etag@~1.8.1": - "integrity" "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - "version" "1.8.1" - -"ethers@^5.5.1", "ethers@^5.6.8 || ^6.0.8", "ethers@^5.7.1": - "integrity" "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==" - "resolved" "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" - "version" "5.7.2" + utila "~0.4" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + 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.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + 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.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + 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.npmjs.org/domutils/-/domutils-3.1.0.tgz" + 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.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" + +dotenv@^16.0.3: + version "16.3.1" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz" + integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.535: + version "1.4.568" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz" + integrity sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg== + +elliptic@6.5.4: + version "6.5.4" + resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emoticon@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" + integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" + 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.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.2, es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + +es-module-lexer@^1.2.1: + version "1.3.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz" + integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + 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.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eta@^1.12.3: + version "1.14.2" + resolved "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz" + integrity sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ== + +eta@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" + integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +ethers@^5.7.1: + version "5.7.2" + resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" + integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== dependencies: "@ethersproject/abi" "5.7.0" "@ethersproject/abstract-provider" "5.7.0" @@ -4723,1307 +4682,1307 @@ "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -"eval@^0.1.8": - "integrity" "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==" - "resolved" "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" - "version" "0.1.8" +eval@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" + integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== dependencies: "@types/node" "*" - "require-like" ">= 0.1.1" - -"eventemitter3@^4.0.0": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - 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": - "integrity" "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==" - "resolved" "https://registry.npmjs.org/express/-/express-4.18.2.tgz" - "version" "4.18.2" - 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": - "integrity" "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend@^3.0.0": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^3.2.11", "fast-glob@^3.2.9", "fast-glob@^3.3.0": - "integrity" "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" - "version" "3.3.1" + require-like ">= 0.1.1" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + 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.npmjs.org/express/-/express-4.18.2.tgz" + 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.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + 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.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== 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": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-url-parser@1.1.3": - "integrity" "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==" - "resolved" "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "punycode" "^1.3.2" - -"fastq@^1.6.0": - "integrity" "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "reusify" "^1.0.4" - -"faye-websocket@^0.11.3": - "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" - "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - "version" "0.11.4" - dependencies: - "websocket-driver" ">=0.5.1" - -"fbemitter@^3.0.0": - "integrity" "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==" - "resolved" "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "fbjs" "^3.0.0" - -"fbjs-css-vars@^1.0.0": - "integrity" "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - "resolved" "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" - "version" "1.0.2" - -"fbjs@^3.0.0", "fbjs@^3.0.1": - "integrity" "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==" - "resolved" "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz" - "version" "3.0.5" - dependencies: - "cross-fetch" "^3.1.5" - "fbjs-css-vars" "^1.0.0" - "loose-envify" "^1.0.0" - "object-assign" "^4.1.0" - "promise" "^7.1.1" - "setimmediate" "^1.0.5" - "ua-parser-js" "^1.0.35" - -"feed@^4.2.2": - "integrity" "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==" - "resolved" "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" - "version" "4.2.2" - dependencies: - "xml-js" "^1.6.11" - -"fetch-blob@^3.1.2", "fetch-blob@^3.1.4": - "integrity" "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==" - "resolved" "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "node-domexception" "^1.0.0" - "web-streams-polyfill" "^3.0.3" - -"file-loader@*", "file-loader@^6.2.0": - "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" - "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"filesize@^8.0.6": - "integrity" "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - "resolved" "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" - "version" "8.0.7" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"finalhandler@1.2.0": - "integrity" "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "debug" "2.6.9" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "on-finished" "2.4.1" - "parseurl" "~1.3.3" - "statuses" "2.0.1" - "unpipe" "~1.0.0" - -"find-cache-dir@^3.3.1": - "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-up@^3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "locate-path" "^3.0.0" - -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"flat@^5.0.2": - "integrity" "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - "resolved" "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" - "version" "5.0.2" - -"flux@^4.0.1": - "integrity" "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==" - "resolved" "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "fbemitter" "^3.0.0" - "fbjs" "^3.0.1" - -"follow-redirects@^1.0.0", "follow-redirects@^1.14.7": - "integrity" "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz" - "version" "1.15.3" - -"for-each@^0.3.3": - "integrity" "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==" - "resolved" "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" - "version" "0.3.3" - dependencies: - "is-callable" "^1.1.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.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-url-parser@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== + dependencies: + punycode "^1.3.2" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fbemitter@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== + dependencies: + fbjs "^3.0.0" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0, fbjs@^3.0.1: + version "3.0.5" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz" + integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== + dependencies: + cross-fetch "^3.1.5" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^1.0.35" + +feed@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== + dependencies: + xml-js "^1.6.11" + +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + 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.npmjs.org/filesize/-/filesize-8.0.7.tgz" + integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + 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@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flux@^4.0.1: + version "4.0.4" + resolved "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz" + integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== + dependencies: + fbemitter "^3.0.0" + fbjs "^3.0.1" + +follow-redirects@^1.0.0, follow-redirects@^1.14.7: + version "1.15.3" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" -"fork-ts-checker-webpack-plugin@^6.5.0": - "integrity" "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==" - "resolved" "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" - "version" "6.5.3" +fork-ts-checker-webpack-plugin@^6.5.0: + version "6.5.3" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" + 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" - -"formdata-polyfill@^4.0.10": - "integrity" "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==" - "resolved" "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" - "version" "4.0.10" - dependencies: - "fetch-blob" "^3.1.2" - -"forwarded@0.2.0": - "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - "version" "0.2.0" - -"fraction.js@^4.3.6": - "integrity" "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" - "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" - "version" "4.3.7" - -"fresh@0.5.2": - "integrity" "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - "version" "0.5.2" - -"fs-extra@^10.1.0": - "integrity" "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" - "version" "10.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@^9.0.0": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - 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": - "integrity" "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" - "resolved" "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" - "version" "1.0.5" - -"fs.realpath@^1.0.0": - "integrity" "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@~2.3.2": - "integrity" "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" - "version" "2.3.3" - -"function-bind@^1.1.2": - "integrity" "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - "version" "1.1.2" - -"function.prototype.name@^1.1.6": - "integrity" "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==" - "resolved" "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" - "version" "1.1.6" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - "functions-have-names" "^1.2.3" - -"functions-have-names@^1.2.3": - "integrity" "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - "resolved" "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" - "version" "1.2.3" - -"gensync@^1.0.0-beta.1", "gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1", "get-intrinsic@^1.1.3", "get-intrinsic@^1.2.0", "get-intrinsic@^1.2.1", "get-intrinsic@^1.2.2": - "integrity" "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" - "version" "1.2.2" - 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": - "integrity" "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - "resolved" "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" - "version" "3.0.2" - -"get-stream@^4.1.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^5.1.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"get-symbol-description@^1.0.0": - "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" - "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" - -"github-slugger@^1.4.0": - "integrity" "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" - "resolved" "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" - "version" "1.5.0" - -"glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-parent@^6.0.1": - "integrity" "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "is-glob" "^4.0.3" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.0.0", "glob@^7.1.3", "glob@^7.1.6": - "integrity" "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - "version" "7.2.3" - 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": - "integrity" "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==" - "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ini" "2.0.0" - -"global-modules@^2.0.0": - "integrity" "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==" - "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "global-prefix" "^3.0.0" - -"global-prefix@^3.0.0": - "integrity" "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==" - "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ini" "^1.3.5" - "kind-of" "^6.0.2" - "which" "^1.3.1" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globalthis@^1.0.3": - "integrity" "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==" - "resolved" "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "define-properties" "^1.1.3" - -"globby@^11.0.1", "globby@^11.0.4", "globby@^11.1.0": - "integrity" "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - "version" "11.1.0" - 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": - "integrity" "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==" - "resolved" "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" - "version" "13.2.2" - 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": - "integrity" "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==" - "resolved" "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "get-intrinsic" "^1.1.3" - -"got@^9.6.0": - "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" - "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" - "version" "9.6.0" + 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" + +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.3.6: + version "4.3.7" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^10.1.0: + version "10.1.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + 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.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + 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.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" + 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.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +github-slugger@^1.4.0: + version "1.5.0" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" + integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + 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.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + 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.npmjs.org/glob/-/glob-7.2.3.tgz" + 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.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + 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.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + 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.npmjs.org/globby/-/globby-13.2.2.tgz" + 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.npmjs.org/gopd/-/gopd-1.0.1.tgz" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" "@szmarczak/http-timer" "^1.1.2" - "cacheable-request" "^6.0.0" - "decompress-response" "^3.3.0" - "duplexer3" "^0.1.4" - "get-stream" "^4.1.0" - "lowercase-keys" "^1.0.1" - "mimic-response" "^1.0.1" - "p-cancelable" "^1.0.0" - "to-readable-stream" "^1.0.0" - "url-parse-lax" "^3.0.0" - -"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": - "integrity" "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - "version" "4.2.11" - -"gray-matter@^4.0.3": - "integrity" "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==" - "resolved" "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" - "version" "4.0.3" - 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": - "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "duplexer" "^0.1.2" - -"handle-thing@^2.0.0": - "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - "version" "2.0.1" - -"has-bigints@^1.0.1", "has-bigints@^1.0.2": - "integrity" "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" - "version" "1.0.2" - -"has-flag@^3.0.0": - "integrity" "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-property-descriptors@^1.0.0": - "integrity" "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==" - "resolved" "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "get-intrinsic" "^1.2.2" - -"has-proto@^1.0.1": - "integrity" "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - "resolved" "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" - "version" "1.0.1" - -"has-symbols@^1.0.1", "has-symbols@^1.0.2", "has-symbols@^1.0.3": - "integrity" "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" - "version" "1.0.3" - -"has-tostringtag@^1.0.0": - "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" - "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-symbols" "^1.0.2" - -"has-yarn@^2.1.0": - "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" - "version" "2.1.0" - -"hash.js@^1.0.0", "hash.js@^1.0.3", "hash.js@1.1.7": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"hasown@^2.0.0": - "integrity" "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==" - "resolved" "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "function-bind" "^1.1.2" - -"hast-to-hyperscript@^9.0.0": - "integrity" "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==" - "resolved" "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" - "version" "9.0.1" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +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.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +gray-matter@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + 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.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +hast-to-hyperscript@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" + integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== dependencies: "@types/unist" "^2.0.3" - "comma-separated-tokens" "^1.0.0" - "property-information" "^5.3.0" - "space-separated-tokens" "^1.0.0" - "style-to-object" "^0.3.0" - "unist-util-is" "^4.0.0" - "web-namespaces" "^1.0.0" - -"hast-util-from-parse5@^6.0.0": - "integrity" "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==" - "resolved" "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" - "version" "6.0.1" + comma-separated-tokens "^1.0.0" + property-information "^5.3.0" + space-separated-tokens "^1.0.0" + style-to-object "^0.3.0" + unist-util-is "^4.0.0" + web-namespaces "^1.0.0" + +hast-util-from-parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" + integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== dependencies: "@types/parse5" "^5.0.0" - "hastscript" "^6.0.0" - "property-information" "^5.0.0" - "vfile" "^4.0.0" - "vfile-location" "^3.2.0" - "web-namespaces" "^1.0.0" - -"hast-util-parse-selector@^2.0.0": - "integrity" "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" - "resolved" "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" - "version" "2.2.5" - -"hast-util-raw@6.0.1": - "integrity" "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==" - "resolved" "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" - "version" "6.0.1" + hastscript "^6.0.0" + property-information "^5.0.0" + vfile "^4.0.0" + vfile-location "^3.2.0" + web-namespaces "^1.0.0" + +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + +hast-util-raw@6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" + integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== dependencies: "@types/hast" "^2.0.0" - "hast-util-from-parse5" "^6.0.0" - "hast-util-to-parse5" "^6.0.0" - "html-void-elements" "^1.0.0" - "parse5" "^6.0.0" - "unist-util-position" "^3.0.0" - "vfile" "^4.0.0" - "web-namespaces" "^1.0.0" - "xtend" "^4.0.0" - "zwitch" "^1.0.0" - -"hast-util-to-parse5@^6.0.0": - "integrity" "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==" - "resolved" "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "hast-to-hyperscript" "^9.0.0" - "property-information" "^5.0.0" - "web-namespaces" "^1.0.0" - "xtend" "^4.0.0" - "zwitch" "^1.0.0" - -"hastscript@^6.0.0": - "integrity" "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==" - "resolved" "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" - "version" "6.0.0" + hast-util-from-parse5 "^6.0.0" + hast-util-to-parse5 "^6.0.0" + html-void-elements "^1.0.0" + parse5 "^6.0.0" + unist-util-position "^3.0.0" + vfile "^4.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hast-util-to-parse5@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" + integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== + dependencies: + hast-to-hyperscript "^9.0.0" + property-information "^5.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hastscript@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== dependencies: "@types/hast" "^2.0.0" - "comma-separated-tokens" "^1.0.0" - "hast-util-parse-selector" "^2.0.0" - "property-information" "^5.0.0" - "space-separated-tokens" "^1.0.0" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" -"he@^1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -"history@^4.9.0": - "integrity" "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==" - "resolved" "https://registry.npmjs.org/history/-/history-4.10.1.tgz" - "version" "4.10.1" +history@^4.9.0: + version "4.10.1" + resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" + 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" - -"hmac-drbg@^1.0.1": - "integrity" "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"hoist-non-react-statics@^3.1.0": - "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" - "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "react-is" "^16.7.0" - -"hpack.js@^2.1.6": - "integrity" "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==" - "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - "version" "2.1.6" - dependencies: - "inherits" "^2.0.1" - "obuf" "^1.0.0" - "readable-stream" "^2.0.1" - "wbuf" "^1.1.0" - -"html-entities@^2.3.2": - "integrity" "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - "resolved" "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" - "version" "2.4.0" - -"html-minifier-terser@^6.0.2", "html-minifier-terser@^6.1.0": - "integrity" "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==" - "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" - "version" "6.1.0" - 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-tags@^3.2.0": - "integrity" "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==" - "resolved" "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" - "version" "3.3.1" - -"html-void-elements@^1.0.0": - "integrity" "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" - "resolved" "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" - "version" "1.0.5" - -"html-webpack-plugin@^5.5.0": - "integrity" "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==" - "resolved" "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz" - "version" "5.5.3" + 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" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoist-non-react-statics@^3.1.0: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + 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.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + 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-tags@^3.2.0: + version "3.3.1" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-void-elements@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" + integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== + +html-webpack-plugin@^5.5.0: + version "5.5.3" + resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz" + 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": - "integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==" - "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.0.0" - "domutils" "^2.5.2" - "entities" "^2.0.0" - -"htmlparser2@^8.0.1": - "integrity" "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==" - "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" - "version" "8.0.2" - dependencies: - "domelementtype" "^2.3.0" - "domhandler" "^5.0.3" - "domutils" "^3.0.1" - "entities" "^4.4.0" - -"http-cache-semantics@^4.0.0": - "integrity" "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - "version" "4.1.1" - -"http-deceiver@^1.2.7": - "integrity" "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - "version" "1.2.7" - -"http-errors@~1.6.2": - "integrity" "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - "version" "1.6.3" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.3" - "setprototypeof" "1.1.0" - "statuses" ">= 1.4.0 < 2" - -"http-errors@2.0.0": - "integrity" "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "depd" "2.0.0" - "inherits" "2.0.4" - "setprototypeof" "1.2.0" - "statuses" "2.0.1" - "toidentifier" "1.0.1" - -"http-parser-js@>=0.5.1": - "integrity" "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" - "version" "0.5.8" - -"http-proxy-middleware@^2.0.3": - "integrity" "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==" - "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" - "version" "2.0.6" + 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.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + 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.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" + 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.0.0: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + 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.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + 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.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + 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": - "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" - "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - "version" "1.18.1" - dependencies: - "eventemitter3" "^4.0.0" - "follow-redirects" "^1.0.0" - "requires-port" "^1.0.0" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"husky@^7.0.4": - "integrity" "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==" - "resolved" "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" - "version" "7.0.4" - -"iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"icss-utils@^5.0.0", "icss-utils@^5.1.0": - "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - "version" "5.1.0" - -"ignore@^5.2.0", "ignore@^5.2.4": - "integrity" "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - "version" "5.2.4" - -"image-size@^1.0.1": - "integrity" "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==" - "resolved" "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "queue" "6.0.2" - -"immediate@~3.0.5": - "integrity" "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - "resolved" "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" - "version" "3.0.6" - -"immer@^9.0.7": - "integrity" "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - "resolved" "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" - "version" "9.0.21" - -"import-fresh@^3.1.0", "import-fresh@^3.2.1", "import-fresh@^3.3.0": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-lazy@^2.1.0": - "integrity" "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" - "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - "version" "2.1.0" - -"imurmurhash@^0.1.4": - "integrity" "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"indent-string@^4.0.0": - "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - "version" "4.0.0" - -"infima@0.2.0-alpha.42": - "integrity" "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==" - "resolved" "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" - "version" "0.2.0-alpha.42" - -"inflight@^1.0.4": - "integrity" "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.0", "inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2", "inherits@2.0.4": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"inherits@2.0.3": - "integrity" "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" - -"ini@^1.3.5", "ini@~1.3.0": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"ini@2.0.0": - "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - "version" "2.0.0" - -"inline-style-parser@0.1.1": - "integrity" "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - "resolved" "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" - "version" "0.1.1" - -"internal-slot@^1.0.5": - "integrity" "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==" - "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "get-intrinsic" "^1.2.2" - "hasown" "^2.0.0" - "side-channel" "^1.0.4" - -"interpret@^1.0.0": - "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - "version" "1.4.0" - -"invariant@^2.2.4": - "integrity" "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==" - "resolved" "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - "version" "2.2.4" - dependencies: - "loose-envify" "^1.0.0" - -"ipaddr.js@^2.0.1": - "integrity" "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" - "version" "2.1.0" - -"ipaddr.js@1.9.1": - "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - "version" "1.9.1" - -"is-alphabetical@^1.0.0", "is-alphabetical@1.0.4": - "integrity" "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - "resolved" "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" - "version" "1.0.4" - -"is-alphanumerical@^1.0.0": - "integrity" "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==" - "resolved" "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "is-alphabetical" "^1.0.0" - "is-decimal" "^1.0.0" - -"is-array-buffer@^3.0.1", "is-array-buffer@^3.0.2": - "integrity" "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==" - "resolved" "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.2.0" - "is-typed-array" "^1.1.10" - -"is-arrayish@^0.2.1": - "integrity" "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-bigint@^1.0.1": - "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-bigints" "^1.0.1" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-boolean-object@^1.1.0": - "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-buffer@^2.0.0": - "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" - "version" "2.0.5" - -"is-callable@^1.1.3", "is-callable@^1.1.4", "is-callable@^1.2.7": - "integrity" "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" - "version" "1.2.7" - -"is-ci@^2.0.0": - "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ci-info" "^2.0.0" - -"is-core-module@^2.13.0": - "integrity" "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - "version" "2.13.1" - dependencies: - "hasown" "^2.0.0" - -"is-date-object@^1.0.1": - "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-decimal@^1.0.0": - "integrity" "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - "resolved" "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" - "version" "1.0.4" - -"is-docker@^2.0.0", "is-docker@^2.1.1": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" - -"is-extendable@^0.1.0": - "integrity" "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" - -"is-extglob@^2.1.1": - "integrity" "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-glob@^4.0.1", "is-glob@^4.0.3", "is-glob@~4.0.1": - "integrity" "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "is-extglob" "^2.1.1" - -"is-hexadecimal@^1.0.0": - "integrity" "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - "resolved" "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" - "version" "1.0.4" - -"is-installed-globally@^0.4.0": - "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" - "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "global-dirs" "^3.0.0" - "is-path-inside" "^3.0.2" - -"is-negative-zero@^2.0.2": - "integrity" "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" - "version" "2.0.2" - -"is-npm@^5.0.0": - "integrity" "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" - "version" "5.0.0" - -"is-number-object@^1.0.4": - "integrity" "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-obj@^1.0.1": - "integrity" "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - "version" "1.0.1" - -"is-obj@^2.0.0": - "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - "version" "2.0.0" - -"is-path-cwd@^2.2.0": - "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" - "version" "2.2.0" - -"is-path-inside@^3.0.2": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^2.0.0": - "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - "version" "2.1.0" - -"is-plain-obj@^3.0.0": - "integrity" "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" - "version" "3.0.0" - -"is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-plain-object@^5.0.0": - "integrity" "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - "version" "5.0.0" - -"is-regex@^1.1.4": - "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-regexp@^1.0.0": - "integrity" "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - "resolved" "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - "version" "1.0.0" - -"is-root@^2.1.0": - "integrity" "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - "resolved" "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" - "version" "2.1.0" - -"is-shared-array-buffer@^1.0.2": - "integrity" "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==" - "resolved" "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-string@^1.0.5", "is-string@^1.0.7": - "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-typed-array@^1.1.10", "is-typed-array@^1.1.12", "is-typed-array@^1.1.9": - "integrity" "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==" - "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" - "version" "1.1.12" - dependencies: - "which-typed-array" "^1.1.11" - -"is-typedarray@^1.0.0": - "integrity" "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-weakref@^1.0.2": - "integrity" "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==" - "resolved" "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - -"is-whitespace-character@^1.0.0": - "integrity" "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - "resolved" "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" - "version" "1.0.4" - -"is-word-character@^1.0.0": - "integrity" "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - "resolved" "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" - "version" "1.0.4" - -"is-wsl@^2.2.0": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"is-yarn-global@^0.3.0": - "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" - "version" "0.3.0" - -"isarray@^2.0.5": - "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" - "version" "2.0.5" - -"isarray@~1.0.0": - "integrity" "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isarray@0.0.1": - "integrity" "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - "version" "0.0.1" - -"isexe@^2.0.0": - "integrity" "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" + 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.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +husky@^7.0.4: + version "7.0.4" + resolved "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + 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.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +image-size@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" + integrity sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg== + dependencies: + queue "6.0.2" + +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + +immer@^9.0.7: + version "9.0.21" + resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" + integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== + +import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infima@0.2.0-alpha.42: + version "0.2.0-alpha.42" + resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" + integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inline-style-parser@0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== + +internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + dependencies: + get-intrinsic "^1.2.2" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-alphabetical@1.0.4, is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== + +is-root@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-whitespace-character@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== + +is-word-character@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -"isobject@^3.0.1": - "integrity" "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"jest-util@^29.7.0": - "integrity" "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" - "version" "29.7.0" +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + 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" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" -"jest-worker@^27.4.5": - "integrity" "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - "version" "27.5.1" +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" -"jest-worker@^29.1.2": - "integrity" "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" - "version" "29.7.0" +jest-worker@^29.1.2: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" - "jest-util" "^29.7.0" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" -"jiti@^1.18.2": - "integrity" "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==" - "resolved" "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz" - "version" "1.20.0" +jiti@^1.18.2: + version "1.20.0" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz" + integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== -"joi@^17.6.0": - "integrity" "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==" - "resolved" "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz" - "version" "17.11.0" +joi@^17.6.0: + version "17.11.0" + resolved "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz" + integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" @@ -6031,3046 +5990,2936 @@ "@sideway/formula" "^3.0.1" "@sideway/pinpoint" "^2.0.0" -"js-sha3@0.8.0": - "integrity" "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - "resolved" "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" - "version" "0.8.0" - -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^4.1.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-buffer@3.0.0": - "integrity" "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - "version" "3.0.0" - -"json-parse-even-better-errors@^2.3.0", "json-parse-even-better-errors@^2.3.1": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema-traverse@^1.0.0": - "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - "version" "1.0.0" - -"json5@^2.1.2", "json5@^2.2.3": - "integrity" "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - "version" "2.2.3" - -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "universalify" "^2.0.0" +js-sha3@0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + 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.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" optionalDependencies: - "graceful-fs" "^4.1.6" - -"jszip@^3.10.1": - "integrity" "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==" - "resolved" "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" - "version" "3.10.1" + graceful-fs "^4.1.6" + +jszip@^3.10.1: + version "3.10.1" + resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== dependencies: - "lie" "~3.3.0" - "pako" "~1.0.2" - "readable-stream" "~2.3.6" - "setimmediate" "^1.0.5" - -"keyv@^3.0.0": - "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" - "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "json-buffer" "3.0.0" - -"kind-of@^6.0.0", "kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"latest-version@^5.1.0": - "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" - "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "package-json" "^6.3.0" - -"launch-editor@^2.6.0": - "integrity" "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==" - "resolved" "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" - "version" "2.6.1" - dependencies: - "picocolors" "^1.0.0" - "shell-quote" "^1.8.1" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"lie@~3.3.0": - "integrity" "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==" - "resolved" "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "immediate" "~3.0.5" - -"lilconfig@^2.0.3": - "integrity" "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - "version" "2.1.0" - -"lines-and-columns@^1.1.6": - "integrity" "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" - "version" "1.2.4" - -"loader-runner@^4.2.0": - "integrity" "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - "version" "4.3.0" - -"loader-utils@^2.0.0": - "integrity" "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"loader-utils@^3.2.0": - "integrity" "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" - "version" "3.2.1" - -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash.curry@^4.0.1": - "integrity" "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - "resolved" "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" - "version" "4.1.1" - -"lodash.debounce@^4.0.8": - "integrity" "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.escape@^4.0.1": - "integrity" "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" - "resolved" "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz" - "version" "4.0.1" - -"lodash.flatten@^4.4.0": - "integrity" "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" - "version" "4.4.0" - -"lodash.flow@^3.3.0": - "integrity" "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" - "resolved" "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" - "version" "3.5.0" - -"lodash.invokemap@^4.6.0": - "integrity" "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" - "resolved" "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz" - "version" "4.6.0" - -"lodash.memoize@^4.1.2": - "integrity" "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.pullall@^4.2.0": - "integrity" "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" - "resolved" "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz" - "version" "4.2.0" - -"lodash.uniq@^4.5.0", "lodash.uniq@4.5.0": - "integrity" "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - "version" "4.5.0" - -"lodash.uniqby@^4.7.0": - "integrity" "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" - "resolved" "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" - "version" "4.7.0" - -"lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"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": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" - -"lower-case@^2.0.2": - "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" - "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "tslib" "^2.0.3" - -"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": - "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - "version" "1.0.1" - -"lowercase-keys@^2.0.0": - "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - "version" "2.0.0" - -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "yallist" "^3.0.2" + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + dependencies: + json-buffer "3.0.0" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +latest-version@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" + 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.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + +lilconfig@^2.0.3: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + 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.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" + integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.curry@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.escape@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz" + integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== + +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== + +lodash.flow@^3.3.0: + version "3.5.0" + resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== + +lodash.invokemap@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz" + integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.pullall@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz" + integrity sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg== + +lodash.uniq@4.5.0, lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash.uniqby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" + integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== + +lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +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.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + 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.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: - "yallist" "^4.0.0" - -"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" + yallist "^4.0.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: - "semver" "^6.0.0" - -"markdown-escapes@^1.0.0": - "integrity" "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" - "resolved" "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" - "version" "1.0.4" - -"mdast-squeeze-paragraphs@^4.0.0": - "integrity" "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==" - "resolved" "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" - "version" "4.0.0" + semver "^6.0.0" + +markdown-escapes@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== + +mdast-squeeze-paragraphs@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" + integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== dependencies: - "unist-util-remove" "^2.0.0" - -"mdast-util-definitions@^4.0.0": - "integrity" "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==" - "resolved" "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "unist-util-visit" "^2.0.0" + unist-util-remove "^2.0.0" + +mdast-util-definitions@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" + integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== + dependencies: + unist-util-visit "^2.0.0" -"mdast-util-to-hast@10.0.1": - "integrity" "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==" - "resolved" "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" - "version" "10.0.1" +mdast-util-to-hast@10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" + integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" - "mdast-util-definitions" "^4.0.0" - "mdurl" "^1.0.0" - "unist-builder" "^2.0.0" - "unist-util-generated" "^1.0.0" - "unist-util-position" "^3.0.0" - "unist-util-visit" "^2.0.0" - -"mdast-util-to-string@^2.0.0": - "integrity" "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" - "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" - "version" "2.0.0" - -"mdn-data@2.0.14": - "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - "version" "2.0.14" - -"mdn-data@2.0.4": - "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" - "version" "2.0.4" - -"mdurl@^1.0.0": - "integrity" "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - "version" "1.0.1" - -"media-typer@0.3.0": - "integrity" "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - "version" "0.3.0" - -"memfs@^3.1.2", "memfs@^3.4.3": - "integrity" "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==" - "resolved" "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "fs-monkey" "^1.0.4" - -"merge-descriptors@1.0.1": - "integrity" "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - "version" "1.0.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.3.0", "merge2@^1.4.1": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"methods@~1.1.2": - "integrity" "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - "version" "1.1.2" - -"micromatch@^4.0.2", "micromatch@^4.0.4", "micromatch@^4.0.5": - "integrity" "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "braces" "^3.0.2" - "picomatch" "^2.3.1" - -"mime-db@>= 1.43.0 < 2": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-db@~1.33.0": - "integrity" "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" - "version" "1.33.0" - -"mime-db@1.52.0": - "integrity" "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - "version" "1.52.0" - -"mime-types@^2.1.27": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime-types@^2.1.31": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime-types@~2.1.17", "mime-types@2.1.18": - "integrity" "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" - "version" "2.1.18" - dependencies: - "mime-db" "~1.33.0" - -"mime-types@~2.1.24": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime-types@~2.1.34": - "integrity" "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - "version" "2.1.35" - dependencies: - "mime-db" "1.52.0" - -"mime@1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mimic-response@^1.0.0", "mimic-response@^1.0.1": - "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - "version" "1.0.1" - -"mini-css-extract-plugin@^2.6.1": - "integrity" "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==" - "resolved" "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz" - "version" "2.7.6" - dependencies: - "schema-utils" "^4.0.0" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.4", "minimatch@^3.0.5", "minimatch@^3.1.1", "minimatch@3.1.2": - "integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.0", "minimist@^1.2.5", "minimist@^1.2.6": - "integrity" "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - "version" "1.2.8" - -"mkdirp@~0.5.1": - "integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" - "version" "0.5.6" - dependencies: - "minimist" "^1.2.6" - -"mrmime@^1.0.0": - "integrity" "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" - "resolved" "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" - "version" "1.0.1" - -"ms@2.0.0": - "integrity" "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.1.3": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" - -"multicast-dns@^7.2.5": - "integrity" "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==" - "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" - "version" "7.2.5" - dependencies: - "dns-packet" "^5.2.2" - "thunky" "^1.0.2" - -"multiformats@^11.0.2": - "integrity" "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==" - "resolved" "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz" - "version" "11.0.2" - -"nanoid@^3.3.6": - "integrity" "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" - "version" "3.3.6" - -"negotiator@0.6.3": - "integrity" "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - "version" "0.6.3" - -"neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"no-case@^3.0.4": - "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" - "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lower-case" "^2.0.2" - "tslib" "^2.0.3" - -"node-domexception@^1.0.0": - "integrity" "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - "resolved" "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" - "version" "1.0.0" - -"node-emoji@^1.10.0": - "integrity" "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==" - "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" - "version" "1.11.0" - dependencies: - "lodash" "^4.17.21" - -"node-fetch@^2.6.12": - "integrity" "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" - "version" "2.7.0" - dependencies: - "whatwg-url" "^5.0.0" - -"node-fetch@^3.3.1": - "integrity" "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "data-uri-to-buffer" "^4.0.0" - "fetch-blob" "^3.1.4" - "formdata-polyfill" "^4.0.10" - -"node-forge@^1": - "integrity" "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" - "version" "1.3.1" - -"node-releases@^2.0.13": - "integrity" "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" - "version" "2.0.13" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-range@^0.1.2": - "integrity" "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - "version" "0.1.2" - -"normalize-url@^4.1.0": - "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" - "version" "4.5.1" - -"normalize-url@^6.0.1": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"nprogress@^0.2.0": - "integrity" "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" - "version" "0.2.0" - -"nth-check@^1.0.2": - "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "boolbase" "~1.0.0" - -"nth-check@^2.0.1": - "integrity" "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "boolbase" "^1.0.0" - -"object-assign@^4.1.0", "object-assign@^4.1.1": - "integrity" "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-inspect@^1.13.1", "object-inspect@^1.9.0": - "integrity" "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" - "version" "1.13.1" - -"object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object.assign@^4.1.0", "object.assign@^4.1.4": - "integrity" "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" - "version" "4.1.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.4" - "has-symbols" "^1.0.3" - "object-keys" "^1.1.1" - -"object.getownpropertydescriptors@^2.1.0": - "integrity" "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==" - "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz" - "version" "2.1.7" - dependencies: - "array.prototype.reduce" "^1.0.6" - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - "safe-array-concat" "^1.0.0" - -"object.values@^1.1.0": - "integrity" "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==" - "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - -"obuf@^1.0.0", "obuf@^1.1.2": - "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - "version" "1.1.2" - -"on-finished@2.4.1": - "integrity" "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "ee-first" "1.1.1" - -"on-headers@~1.0.2": - "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - "version" "1.0.2" - -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" + mdast-util-definitions "^4.0.0" + mdurl "^1.0.0" + unist-builder "^2.0.0" + unist-util-generated "^1.0.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" + integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdurl@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.1.2, memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + 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.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-db@~1.33.0: + version "1.33.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== + +mime-types@2.1.18, mime-types@~2.1.17: + version "2.1.18" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + 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.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mini-css-extract-plugin@^2.6.1: + version "2.7.6" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz" + integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +multiformats@^11.0.2: + version "11.0.2" + resolved "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz" + integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + +node-emoji@^1.10.0: + version "1.11.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== + dependencies: + lodash "^4.17.21" + +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^3.3.1: + version "3.3.2" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + 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" + +object.getownpropertydescriptors@^2.1.0: + version "2.1.7" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz" + integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== + dependencies: + array.prototype.reduce "^1.0.6" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + safe-array-concat "^1.0.0" + +object.values@^1.1.0: + version "1.1.7" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + 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.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" -"onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: - "mimic-fn" "^2.1.0" + mimic-fn "^2.1.0" -"open@^8.0.9", "open@^8.4.0": - "integrity" "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - "resolved" "https://registry.npmjs.org/open/-/open-8.4.2.tgz" - "version" "8.4.2" +open@^8.0.9, open@^8.4.0: + version "8.4.2" + resolved "https://registry.npmjs.org/open/-/open-8.4.2.tgz" + 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" + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" -"opener@^1.5.2": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -"p-cancelable@^1.0.0": - "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" - "version" "1.1.0" - -"p-limit@^2.0.0", "p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: - "p-try" "^2.0.0" - -"p-limit@^3.0.2": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "yocto-queue" "^0.1.0" + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: - "p-limit" "^2.0.0" + p-limit "^2.0.0" -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: - "p-limit" "^2.2.0" + p-limit "^2.2.0" -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - "p-limit" "^3.0.2" + p-limit "^3.0.2" -"p-map@^4.0.0": - "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - "version" "4.0.0" +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: - "aggregate-error" "^3.0.0" + aggregate-error "^3.0.0" -"p-retry@^4.5.0": - "integrity" "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==" - "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" - "version" "4.6.2" +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" - "retry" "^0.13.1" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"package-json@^6.3.0": - "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" - "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" - "version" "6.5.0" - dependencies: - "got" "^9.6.0" - "registry-auth-token" "^4.0.0" - "registry-url" "^5.0.0" - "semver" "^6.2.0" - -"pako@~1.0.2": - "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" - "version" "1.0.11" - -"param-case@^3.0.4": - "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" - "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "dot-case" "^3.0.4" - "tslib" "^2.0.3" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"parse-entities@^2.0.0": - "integrity" "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==" - "resolved" "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "character-entities" "^1.0.0" - "character-entities-legacy" "^1.0.0" - "character-reference-invalid" "^1.0.0" - "is-alphanumerical" "^1.0.0" - "is-decimal" "^1.0.0" - "is-hexadecimal" "^1.0.0" - -"parse-json@^5.0.0", "parse-json@^5.2.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + dependencies: + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" + +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + 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.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + 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": - "integrity" "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - "resolved" "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" - "version" "1.3.0" - -"parse5-htmlparser2-tree-adapter@^7.0.0": - "integrity" "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==" - "resolved" "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "domhandler" "^5.0.2" - "parse5" "^7.0.0" - -"parse5@^6.0.0": - "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - "version" "6.0.1" - -"parse5@^7.0.0": - "integrity" "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" - "version" "7.1.2" - dependencies: - "entities" "^4.4.0" - -"parseurl@~1.3.2", "parseurl@~1.3.3": - "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - "version" "1.3.3" - -"pascal-case@^3.1.2": - "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" - "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"path-exists@^3.0.0": - "integrity" "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-is-inside@1.0.2": - "integrity" "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - "version" "1.0.2" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.7": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-to-regexp@^1.7.0": - "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "isarray" "0.0.1" - -"path-to-regexp@0.1.7": - "integrity" "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - "version" "0.1.7" - -"path-to-regexp@2.2.1": - "integrity" "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" - "version" "2.2.1" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"picocolors@^1.0.0": - "integrity" "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - "resolved" "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - "version" "1.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.3", "picomatch@^2.3.1": - "integrity" "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - "version" "2.3.1" - -"pkg-dir@^4.1.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"pkg-up@^3.1.0": - "integrity" "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==" - "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "find-up" "^3.0.0" - -"postcss-calc@^8.2.3": - "integrity" "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==" - "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" - "version" "8.2.4" - dependencies: - "postcss-selector-parser" "^6.0.9" - "postcss-value-parser" "^4.2.0" - -"postcss-colormin@^5.3.1": - "integrity" "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==" - "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" - "version" "5.3.1" - dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - "colord" "^2.9.1" - "postcss-value-parser" "^4.2.0" - -"postcss-convert-values@^5.1.3": - "integrity" "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==" - "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" - "version" "5.1.3" - dependencies: - "browserslist" "^4.21.4" - "postcss-value-parser" "^4.2.0" - -"postcss-discard-comments@^5.1.2": - "integrity" "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" - "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" - "version" "5.1.2" - -"postcss-discard-duplicates@^5.1.0": - "integrity" "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" - "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" - "version" "5.1.0" - -"postcss-discard-empty@^5.1.1": - "integrity" "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" - "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" - "version" "5.1.1" - -"postcss-discard-overridden@^5.1.0": - "integrity" "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" - "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" - "version" "5.1.0" - -"postcss-discard-unused@^5.1.0": - "integrity" "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==" - "resolved" "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "postcss-selector-parser" "^6.0.5" - -"postcss-loader@^7.0.0": - "integrity" "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==" - "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz" - "version" "7.3.3" - dependencies: - "cosmiconfig" "^8.2.0" - "jiti" "^1.18.2" - "semver" "^7.3.8" - -"postcss-merge-idents@^5.1.1": - "integrity" "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==" - "resolved" "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" - -"postcss-merge-longhand@^5.1.7": - "integrity" "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==" - "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" - "version" "5.1.7" - dependencies: - "postcss-value-parser" "^4.2.0" - "stylehacks" "^5.1.1" - -"postcss-merge-rules@^5.1.4": - "integrity" "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==" - "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" - "version" "5.1.4" - dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" - "cssnano-utils" "^3.1.0" - "postcss-selector-parser" "^6.0.5" + 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.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== + +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + 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.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + 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.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-to-regexp@2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + 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.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-discard-unused@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz" + integrity sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-loader@^7.0.0: + version "7.3.3" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz" + integrity sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA== + dependencies: + cosmiconfig "^8.2.0" + jiti "^1.18.2" + semver "^7.3.8" + +postcss-merge-idents@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz" + integrity sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" -"postcss-minify-font-values@^5.1.0": - "integrity" "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==" - "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" - "version" "5.1.0" +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: - "postcss-value-parser" "^4.2.0" - -"postcss-minify-gradients@^5.1.1": - "integrity" "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==" - "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "colord" "^2.9.1" - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -"postcss-minify-params@^5.1.4": - "integrity" "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==" - "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" - "version" "5.1.4" - dependencies: - "browserslist" "^4.21.4" - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -"postcss-minify-selectors@^5.2.1": - "integrity" "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==" - "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" - "version" "5.2.1" +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== dependencies: - "postcss-selector-parser" "^6.0.5" + postcss-selector-parser "^6.0.5" -"postcss-modules-extract-imports@^3.0.0": - "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - "version" "3.0.0" +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -"postcss-modules-local-by-default@^4.0.3": - "integrity" "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==" - "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz" - "version" "4.0.3" +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== dependencies: - "icss-utils" "^5.0.0" - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.1.0" + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" -"postcss-modules-scope@^3.0.0": - "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" - "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - "version" "3.0.0" +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - "postcss-selector-parser" "^6.0.4" + postcss-selector-parser "^6.0.4" -"postcss-modules-values@^4.0.0": - "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - "version" "4.0.0" +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - "icss-utils" "^5.0.0" + icss-utils "^5.0.0" -"postcss-normalize-charset@^5.1.0": - "integrity" "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== -"postcss-normalize-display-values@^5.1.0": - "integrity" "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-positions@^5.1.1": - "integrity" "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-repeat-style@^5.1.1": - "integrity" "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==" - "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-string@^5.1.0": - "integrity" "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==" - "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-timing-functions@^5.1.0": - "integrity" "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-normalize-unicode@^5.1.1": - "integrity" "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== dependencies: - "browserslist" "^4.21.4" - "postcss-value-parser" "^4.2.0" + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" -"postcss-normalize-url@^5.1.0": - "integrity" "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==" - "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" - "version" "5.1.0" +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: - "normalize-url" "^6.0.1" - "postcss-value-parser" "^4.2.0" + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" -"postcss-normalize-whitespace@^5.1.1": - "integrity" "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" - "version" "5.1.1" +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-ordered-values@^5.1.3": - "integrity" "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==" - "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" - "version" "5.1.3" +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: - "cssnano-utils" "^3.1.0" - "postcss-value-parser" "^4.2.0" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -"postcss-reduce-idents@^5.2.0": - "integrity" "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==" - "resolved" "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz" - "version" "5.2.0" +postcss-reduce-idents@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz" + integrity sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-reduce-initial@^5.1.2": - "integrity" "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==" - "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" - "version" "5.1.2" +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== dependencies: - "browserslist" "^4.21.4" - "caniuse-api" "^3.0.0" + browserslist "^4.21.4" + caniuse-api "^3.0.0" -"postcss-reduce-transforms@^5.1.0": - "integrity" "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==" - "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" - "version" "5.1.0" +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: - "postcss-value-parser" "^4.2.0" + postcss-value-parser "^4.2.0" -"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5", "postcss-selector-parser@^6.0.9": - "integrity" "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==" - "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" - "version" "6.0.13" +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.13" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== dependencies: - "cssesc" "^3.0.0" - "util-deprecate" "^1.0.2" + cssesc "^3.0.0" + util-deprecate "^1.0.2" -"postcss-sort-media-queries@^4.2.1": - "integrity" "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==" - "resolved" "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz" - "version" "4.4.1" +postcss-sort-media-queries@^4.2.1: + version "4.4.1" + resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz" + integrity sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw== dependencies: - "sort-css-media-queries" "2.1.0" + sort-css-media-queries "2.1.0" -"postcss-svgo@^5.1.0": - "integrity" "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==" - "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" - "version" "5.1.0" +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: - "postcss-value-parser" "^4.2.0" - "svgo" "^2.7.0" + postcss-value-parser "^4.2.0" + svgo "^2.7.0" -"postcss-unique-selectors@^5.1.1": - "integrity" "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==" - "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" - "version" "5.1.1" +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: - "postcss-selector-parser" "^6.0.5" + postcss-selector-parser "^6.0.5" -"postcss-value-parser@^4.1.0", "postcss-value-parser@^4.2.0": - "integrity" "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" - "version" "4.2.0" +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -"postcss-zindex@^5.1.0": - "integrity" "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==" - "resolved" "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" - "version" "5.1.0" +postcss-zindex@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" + integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -"postcss@^7.0.0 || ^8.0.1", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.3.11", "postcss@^8.4.14", "postcss@^8.4.16", "postcss@^8.4.17", "postcss@^8.4.21": - "integrity" "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" - "version" "8.4.31" +postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.21: + version "8.4.31" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: - "nanoid" "^3.3.6" - "picocolors" "^1.0.0" - "source-map-js" "^1.0.2" - -"prepend-http@^2.0.0": - "integrity" "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - "version" "2.0.0" - -"pretty-error@^4.0.0": - "integrity" "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==" - "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "lodash" "^4.17.20" - "renderkid" "^3.0.0" - -"pretty-time@^1.1.0": - "integrity" "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" - "resolved" "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" - "version" "1.1.0" - -"prism-react-renderer@^1.2.1", "prism-react-renderer@^1.3.5": - "integrity" "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==" - "resolved" "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" - "version" "1.3.5" - -"prismjs@^1.28.0": - "integrity" "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" - "resolved" "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" - "version" "1.29.0" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + 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.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +prism-react-renderer@^1.2.1, prism-react-renderer@^1.3.5: + version "1.3.5" + resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" + integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== + +prismjs@^1.28.0: + version "1.29.0" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -"promise@^7.1.1": - "integrity" "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" - "resolved" "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" - "version" "7.3.1" - dependencies: - "asap" "~2.0.3" - -"prompts@^2.4.2": - "integrity" "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"prop-types@^15.6.2", "prop-types@^15.7.2": - "integrity" "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" - "version" "15.8.1" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.13.1" - -"property-information@^5.0.0", "property-information@^5.3.0": - "integrity" "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==" - "resolved" "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" - "version" "5.6.0" - dependencies: - "xtend" "^4.0.0" - -"proxy-addr@~2.0.7": - "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" - "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "forwarded" "0.2.0" - "ipaddr.js" "1.9.1" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"punycode@^1.3.2": - "integrity" "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^2.1.0": - "integrity" "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - "version" "2.3.0" - -"pupa@^2.1.1": - "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==" - "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "escape-goat" "^2.0.0" - -"pure-color@^1.2.0": - "integrity" "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" - "resolved" "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" - "version" "1.3.0" - -"q@^1.1.2": - "integrity" "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - "version" "1.5.1" - -"qs@6.11.0": - "integrity" "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" - "version" "6.11.0" - dependencies: - "side-channel" "^1.0.4" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"queue@6.0.2": - "integrity" "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==" - "resolved" "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "inherits" "~2.0.3" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"range-parser@^1.2.1": - "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - "version" "1.2.1" - -"range-parser@~1.2.1": - "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - "version" "1.2.1" - -"range-parser@1.2.0": - "integrity" "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - "version" "1.2.0" - -"raw-body@2.5.1": - "integrity" "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" - "version" "2.5.1" - dependencies: - "bytes" "3.1.2" - "http-errors" "2.0.0" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"rc@^1.2.8", "rc@1.2.8": - "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" - "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "deep-extend" "^0.6.0" - "ini" "~1.3.0" - "minimist" "^1.2.0" - "strip-json-comments" "~2.0.1" - -"react-base16-styling@^0.6.0": - "integrity" "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==" - "resolved" "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "base16" "^1.0.0" - "lodash.curry" "^4.0.1" - "lodash.flow" "^3.3.0" - "pure-color" "^1.2.0" - -"react-dev-utils@^12.0.1": - "integrity" "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==" - "resolved" "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" - "version" "12.0.1" +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +prompts@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.6.2, prop-types@^15.7.2: + version "15.8.1" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^5.0.0, property-information@^5.3.0: + version "5.6.0" + resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +pupa@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +pure-color@^1.2.0: + version "1.3.0" + resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +queue@6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz" + integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== + dependencies: + inherits "~2.0.3" + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + 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, rc@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + 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-base16-styling@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== + dependencies: + base16 "^1.0.0" + lodash.curry "^4.0.1" + lodash.flow "^3.3.0" + pure-color "^1.2.0" + +react-dev-utils@^12.0.1: + version "12.0.1" + resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + 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@*", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8.4 || ^17.0.0", "react-dom@^17.0.0 || ^16.3.0 || ^15.5.4", "react-dom@^17.0.1", "react-dom@>= 16.8.0 < 19.0.0": - "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" - "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - "scheduler" "^0.20.2" - -"react-error-overlay@^6.0.11": - "integrity" "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - "resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" - "version" "6.0.11" - -"react-fast-compare@^3.2.0": - "integrity" "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" - "resolved" "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" - "version" "3.2.2" - -"react-helmet-async@*", "react-helmet-async@^1.3.0": - "integrity" "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==" - "resolved" "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" - "version" "1.3.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@^17.0.1: + version "17.0.2" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-error-overlay@^6.0.11: + version "6.0.11" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + +react-fast-compare@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== + +react-helmet-async@*, react-helmet-async@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" + 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": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"react-json-view@^1.21.3": - "integrity" "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==" - "resolved" "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" - "version" "1.21.3" - dependencies: - "flux" "^4.0.1" - "react-base16-styling" "^0.6.0" - "react-lifecycles-compat" "^3.0.4" - "react-textarea-autosize" "^8.3.2" - -"react-lifecycles-compat@^3.0.4": - "integrity" "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - "resolved" "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" - "version" "3.0.4" - -"react-loadable-ssr-addon-v5-slorber@^1.0.1": - "integrity" "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==" - "resolved" "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" - "version" "1.0.1" + 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.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-json-view@^1.21.3: + version "1.21.3" + resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== + dependencies: + flux "^4.0.1" + react-base16-styling "^0.6.0" + react-lifecycles-compat "^3.0.4" + react-textarea-autosize "^8.3.2" + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-loadable-ssr-addon-v5-slorber@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== dependencies: "@babel/runtime" "^7.10.3" -"react-loadable@*", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": - "integrity" "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" - "version" "5.5.2" - dependencies: - "@types/react" "*" - "prop-types" "^15.6.2" - -"react-router-config@^5.1.1": - "integrity" "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==" - "resolved" "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" - "version" "5.1.1" +react-router-config@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== dependencies: "@babel/runtime" "^7.1.2" -"react-router-dom@^5.3.3": - "integrity" "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==" - "resolved" "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" - "version" "5.3.4" +react-router-dom@^5.3.3: + version "5.3.4" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" + 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.3", "react-router@>=5", "react-router@5.3.4": - "integrity" "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==" - "resolved" "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" - "version" "5.3.4" + 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.3: + version "5.3.4" + resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" + 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-textarea-autosize@^8.3.2": - "integrity" "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==" - "resolved" "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz" - "version" "8.5.3" + 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-textarea-autosize@^8.3.2: + version "8.5.3" + resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz" + integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== dependencies: "@babel/runtime" "^7.20.13" - "use-composed-ref" "^1.3.0" - "use-latest" "^1.2.1" - -"react@*", "react@^15.0.2 || ^16.0.0 || ^17.0.0", "react@^16.13.1 || ^17.0.0", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.4 || ^17.0.0", "react@^17.0.0 || ^16.3.0 || ^15.5.4", "react@^17.0.1", "react@>= 16.8.0 < 19.0.0", "react@>=0.14.9", "react@>=15", "react@17.0.2": - "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" - "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - -"readable-stream@^2.0.1", "readable-stream@~2.3.6": - "integrity" "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - "version" "2.3.8" - 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": - "integrity" "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - "version" "3.6.2" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"reading-time@^1.5.0": - "integrity" "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" - "resolved" "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" - "version" "1.5.0" - -"rechoir@^0.6.2": - "integrity" "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "resolve" "^1.1.6" - -"recursive-readdir@^2.2.2": - "integrity" "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==" - "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" - "version" "2.2.3" - dependencies: - "minimatch" "^3.0.5" - -"regenerate-unicode-properties@^10.1.0": - "integrity" "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" - "version" "10.1.1" - dependencies: - "regenerate" "^1.4.2" - -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.14.0": - "integrity" "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" - "version" "0.14.0" - -"regenerator-transform@^0.15.2": - "integrity" "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" - "version" "0.15.2" + use-composed-ref "^1.3.0" + use-latest "^1.2.1" + +react@^17.0.1: + version "17.0.2" + resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +readable-stream@^2.0.1, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + 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.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + 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.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reading-time@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" -"regexp.prototype.flags@^1.5.1": - "integrity" "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==" - "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" - "version" "1.5.1" +regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "set-function-name" "^2.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" -"regexpu-core@^5.3.1": - "integrity" "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" - "version" "5.3.2" +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + 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" + 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@^4.0.0": - "integrity" "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==" - "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz" - "version" "4.2.2" +registry-auth-token@^4.0.0: + version "4.2.2" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz" + integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== dependencies: - "rc" "1.2.8" + rc "1.2.8" -"registry-url@^5.0.0": - "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" - "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" - "version" "5.1.0" +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: - "rc" "^1.2.8" + rc "^1.2.8" -"regjsparser@^0.9.1": - "integrity" "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" - "version" "0.9.1" +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: - "jsesc" "~0.5.0" + jsesc "~0.5.0" -"relateurl@^0.2.7": - "integrity" "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - "version" "0.2.7" +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== -"remark-emoji@^2.2.0": - "integrity" "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==" - "resolved" "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" - "version" "2.2.0" +remark-emoji@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" + integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== dependencies: - "emoticon" "^3.2.0" - "node-emoji" "^1.10.0" - "unist-util-visit" "^2.0.3" + emoticon "^3.2.0" + node-emoji "^1.10.0" + unist-util-visit "^2.0.3" -"remark-footnotes@2.0.0": - "integrity" "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" - "resolved" "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" - "version" "2.0.0" +remark-footnotes@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" + integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== -"remark-mdx@1.6.22": - "integrity" "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==" - "resolved" "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" - "version" "1.6.22" +remark-mdx@1.6.22: + version "1.6.22" + resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" + integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== dependencies: "@babel/core" "7.12.9" "@babel/helper-plugin-utils" "7.10.4" "@babel/plugin-proposal-object-rest-spread" "7.12.1" "@babel/plugin-syntax-jsx" "7.12.1" "@mdx-js/util" "1.6.22" - "is-alphabetical" "1.0.4" - "remark-parse" "8.0.3" - "unified" "9.2.0" - -"remark-parse@8.0.3": - "integrity" "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==" - "resolved" "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" - "version" "8.0.3" - dependencies: - "ccount" "^1.0.0" - "collapse-white-space" "^1.0.2" - "is-alphabetical" "^1.0.0" - "is-decimal" "^1.0.0" - "is-whitespace-character" "^1.0.0" - "is-word-character" "^1.0.0" - "markdown-escapes" "^1.0.0" - "parse-entities" "^2.0.0" - "repeat-string" "^1.5.4" - "state-toggle" "^1.0.0" - "trim" "0.0.1" - "trim-trailing-lines" "^1.0.0" - "unherit" "^1.0.4" - "unist-util-remove-position" "^2.0.0" - "vfile-location" "^3.0.0" - "xtend" "^4.0.1" - -"remark-squeeze-paragraphs@4.0.0": - "integrity" "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==" - "resolved" "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "mdast-squeeze-paragraphs" "^4.0.0" - -"renderkid@^3.0.0": - "integrity" "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==" - "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "css-select" "^4.1.3" - "dom-converter" "^0.2.0" - "htmlparser2" "^6.1.0" - "lodash" "^4.17.21" - "strip-ansi" "^6.0.1" - -"repeat-string@^1.5.4": - "integrity" "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - "version" "1.6.1" - -"require-from-string@^2.0.2": - "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - "version" "2.0.2" + is-alphabetical "1.0.4" + remark-parse "8.0.3" + unified "9.2.0" + +remark-parse@8.0.3: + version "8.0.3" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" + integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== + dependencies: + ccount "^1.0.0" + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^2.0.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^2.0.0" + vfile-location "^3.0.0" + xtend "^4.0.1" + +remark-squeeze-paragraphs@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" + integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== + dependencies: + mdast-squeeze-paragraphs "^4.0.0" + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + 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" + +repeat-string@^1.5.4: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== "require-like@>= 0.1.1": - "integrity" "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" - "resolved" "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" - "version" "0.1.2" - -"requires-port@^1.0.0": - "integrity" "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-pathname@^3.0.0": - "integrity" "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - "resolved" "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" - "version" "3.0.0" - -"resolve@^1.1.6", "resolve@^1.14.2", "resolve@^1.3.2": - "integrity" "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - "version" "1.22.8" - dependencies: - "is-core-module" "^2.13.0" - "path-parse" "^1.0.7" - "supports-preserve-symlinks-flag" "^1.0.0" - -"responselike@^1.0.2": - "integrity" "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==" - "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "lowercase-keys" "^1.0.0" - -"retry@^0.13.1": - "integrity" "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" - "version" "0.13.1" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"rtl-detect@^1.0.4": - "integrity" "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" - "resolved" "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" - "version" "1.1.2" - -"rtlcss@^3.5.0": - "integrity" "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==" - "resolved" "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" - "version" "3.5.0" - dependencies: - "find-up" "^5.0.0" - "picocolors" "^1.0.0" - "postcss" "^8.3.11" - "strip-json-comments" "^3.1.1" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"rxjs@^7.5.4": - "integrity" "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" - "version" "7.8.1" - dependencies: - "tslib" "^2.1.0" - -"safe-array-concat@^1.0.0", "safe-array-concat@^1.0.1": - "integrity" "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==" - "resolved" "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.2.1" - "has-symbols" "^1.0.3" - "isarray" "^2.0.5" - -"safe-buffer@^5.1.0", "safe-buffer@>=5.1.0", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@5.2.1": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-regex-test@^1.0.0": - "integrity" "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==" - "resolved" "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.3" - "is-regex" "^1.1.4" + version "0.1.2" + resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" + integrity sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve@^1.1.6, resolve@^1.14.2, resolve@^1.3.2: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + 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@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rtl-detect@^1.0.4: + version "1.1.2" + resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" + integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== + +rtlcss@^3.5.0: + version "3.5.0" + resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" + integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== + dependencies: + find-up "^5.0.0" + picocolors "^1.0.0" + postcss "^8.3.11" + strip-json-comments "^3.1.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^7.5.4: + version "7.8.1" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + +safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" "safer-buffer@>= 2.1.2 < 3": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"sax@^1.2.4": - "integrity" "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" - "version" "1.3.0" +sax@^1.2.4: + version "1.3.0" + resolved "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== -"sax@~1.2.4": - "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - "version" "1.2.4" +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -"scheduler@^0.20.2": - "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" - "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" - "version" "0.20.2" +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" + loose-envify "^1.1.0" + object-assign "^4.1.1" -"schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== dependencies: - "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" - -"schema-utils@^3.0.0": - "integrity" "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" -"schema-utils@^3.1.1": - "integrity" "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - "version" "3.3.0" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: - "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" -"schema-utils@^3.2.0": - "integrity" "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - "version" "3.3.0" +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" + ajv "^6.12.5" + ajv-keywords "^3.5.2" -"schema-utils@^4.0.0": - "integrity" "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" - "version" "4.2.0" +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" + 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" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" -"schema-utils@2.7.0": - "integrity" "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - "version" "2.7.0" - dependencies: - "@types/json-schema" "^7.0.4" - "ajv" "^6.12.2" - "ajv-keywords" "^3.4.1" +scrypt-js@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== -"scrypt-js@3.0.1": - "integrity" "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - "resolved" "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" - "version" "3.0.1" - -"search-insights@>= 1 < 3": - "integrity" "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==" - "resolved" "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz" - "version" "2.11.0" - -"section-matter@^1.0.0": - "integrity" "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==" - "resolved" "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" - "version" "1.0.0" +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: - "extend-shallow" "^2.0.1" - "kind-of" "^6.0.0" + extend-shallow "^2.0.1" + kind-of "^6.0.0" -"select-hose@^2.0.0": - "integrity" "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - "version" "2.0.0" +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== -"selfsigned@^2.1.1": - "integrity" "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==" - "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" - "version" "2.4.1" +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: "@types/node-forge" "^1.3.0" - "node-forge" "^1" - -"semver-diff@^3.1.1": - "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" - "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "semver" "^6.3.0" - -"semver@^5.4.1": - "integrity" "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - "version" "5.7.2" - -"semver@^6.0.0", "semver@^6.2.0", "semver@^6.3.0", "semver@^6.3.1": - "integrity" "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - "version" "6.3.1" - -"semver@^7.3.2": - "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - "version" "7.5.4" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.3.4": - "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - "version" "7.5.4" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.3.7": - "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - "version" "7.5.4" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.3.8": - "integrity" "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - "version" "7.5.4" - dependencies: - "lru-cache" "^6.0.0" - -"send@0.18.0": - "integrity" "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==" - "resolved" "https://registry.npmjs.org/send/-/send-0.18.0.tgz" - "version" "0.18.0" - dependencies: - "debug" "2.6.9" - "depd" "2.0.0" - "destroy" "1.2.0" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "fresh" "0.5.2" - "http-errors" "2.0.0" - "mime" "1.6.0" - "ms" "2.1.3" - "on-finished" "2.4.1" - "range-parser" "~1.2.1" - "statuses" "2.0.1" - -"serialize-javascript@^6.0.0", "serialize-javascript@^6.0.1": - "integrity" "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "randombytes" "^2.1.0" - -"serve-handler@^6.1.3": - "integrity" "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==" - "resolved" "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" - "version" "6.1.5" - dependencies: - "bytes" "3.0.0" - "content-disposition" "0.5.2" - "fast-url-parser" "1.1.3" - "mime-types" "2.1.18" - "minimatch" "3.1.2" - "path-is-inside" "1.0.2" - "path-to-regexp" "2.2.1" - "range-parser" "1.2.0" - -"serve-index@^1.9.1": - "integrity" "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==" - "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - "version" "1.9.1" - 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": - "integrity" "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==" - "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" - "version" "1.15.0" - dependencies: - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "parseurl" "~1.3.3" - "send" "0.18.0" - -"set-function-length@^1.1.1": - "integrity" "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==" - "resolved" "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "define-data-property" "^1.1.1" - "get-intrinsic" "^1.2.1" - "gopd" "^1.0.1" - "has-property-descriptors" "^1.0.0" - -"set-function-name@^2.0.0": - "integrity" "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==" - "resolved" "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "define-data-property" "^1.0.1" - "functions-have-names" "^1.2.3" - "has-property-descriptors" "^1.0.0" - -"setimmediate@^1.0.5": - "integrity" "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - "version" "1.0.5" - -"setprototypeof@1.1.0": - "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - "version" "1.1.0" - -"setprototypeof@1.2.0": - "integrity" "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - "version" "1.2.0" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shallowequal@^1.1.0": - "integrity" "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - "resolved" "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" - "version" "1.1.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shell-quote@^1.7.3", "shell-quote@^1.8.1": - "integrity" "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" - "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" - "version" "1.8.1" - -"shelljs@^0.8.5": - "integrity" "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==" - "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" - "version" "0.8.5" - dependencies: - "glob" "^7.0.0" - "interpret" "^1.0.0" - "rechoir" "^0.6.2" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - 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": - "integrity" "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - "version" "3.0.7" - -"sirv@^2.0.3": - "integrity" "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==" - "resolved" "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz" - "version" "2.0.3" + node-forge "^1" + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +semver@^5.4.1: + version "5.7.2" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.4, semver@^7.3.7, semver@^7.3.8: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + 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.npmjs.org/send/-/send-0.18.0.tgz" + 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.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + +serve-handler@^6.1.3: + version "6.1.5" + resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" + 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.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + 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.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + 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.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" + 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" + +set-function-name@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shallowequal@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3, shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + 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.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + 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.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz" + integrity sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA== dependencies: "@polka/url" "^1.0.0-next.20" - "mrmime" "^1.0.0" - "totalist" "^3.0.0" + mrmime "^1.0.0" + totalist "^3.0.0" -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -"sitemap@^7.1.1": - "integrity" "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==" - "resolved" "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" - "version" "7.1.1" +sitemap@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" - "arg" "^5.0.0" - "sax" "^1.2.4" + arg "^5.0.0" + sax "^1.2.4" -"siwe-recap@0.0.2-alpha.0": - "integrity" "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==" - "resolved" "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz" - "version" "0.0.2-alpha.0" +siwe-recap@0.0.2-alpha.0: + version "0.0.2-alpha.0" + resolved "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz" + integrity sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA== dependencies: - "canonicalize" "^2.0.0" - "multiformats" "^11.0.2" - "siwe" "^2.1.4" + canonicalize "^2.0.0" + multiformats "^11.0.2" + siwe "^2.1.4" -"siwe@^2.0.5", "siwe@^2.1.4": - "integrity" "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==" - "resolved" "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz" - "version" "2.1.4" +siwe@^2.0.5, siwe@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz" + integrity sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg== dependencies: "@spruceid/siwe-parser" "*" "@stablelib/random" "^1.0.1" - "uri-js" "^4.4.1" - "valid-url" "^1.0.9" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"slash@^4.0.0": - "integrity" "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - "resolved" "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" - "version" "4.0.0" - -"sockjs@^0.3.24": - "integrity" "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==" - "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" - "version" "0.3.24" - dependencies: - "faye-websocket" "^0.11.3" - "uuid" "^8.3.2" - "websocket-driver" "^0.7.4" - -"sort-css-media-queries@2.1.0": - "integrity" "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==" - "resolved" "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz" - "version" "2.1.0" - -"source-map-js@^1.0.2": - "integrity" "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - "version" "1.0.2" - -"source-map-support@~0.5.20": - "integrity" "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - "version" "0.5.21" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map@^0.5.0": - "integrity" "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.0": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"space-separated-tokens@^1.0.0": - "integrity" "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - "resolved" "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" - "version" "1.1.5" - -"spdy-transport@^3.0.0": - "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" - "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - "version" "3.0.0" - 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": - "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" - "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - "version" "4.0.2" - 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": - "integrity" "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"stable@^0.1.8": - "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - "version" "0.1.8" - -"state-toggle@^1.0.0": - "integrity" "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - "resolved" "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" - "version" "1.0.3" + uri-js "^4.4.1" + valid-url "^1.0.9" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + 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.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz" + integrity sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.5.0: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +space-separated-tokens@^1.0.0: + version "1.1.5" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + 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.npmjs.org/spdy/-/spdy-4.0.2.tgz" + 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.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +state-toggle@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== "statuses@>= 1.4.0 < 2": - "integrity" "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"statuses@2.0.1": - "integrity" "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - "version" "2.0.1" - -"std-env@^3.0.1": - "integrity" "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" - "resolved" "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" - "version" "3.4.3" - -"string_decoder@^1.1.1", "string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.2": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string-width@^4.2.0": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string-width@^5.0.1": - "integrity" "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "eastasianwidth" "^0.2.0" - "emoji-regex" "^9.2.2" - "strip-ansi" "^7.0.1" - -"string.prototype.trim@^1.2.8": - "integrity" "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==" - "resolved" "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - -"string.prototype.trimend@^1.0.7": - "integrity" "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - -"string.prototype.trimstart@^1.0.7": - "integrity" "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.2.0" - "es-abstract" "^1.22.1" - -"stringify-object@^3.3.0": - "integrity" "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" - "resolved" "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "get-own-enumerable-property-symbols" "^3.0.0" - "is-obj" "^1.0.1" - "is-regexp" "^1.0.0" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-ansi@^7.0.1": - "integrity" "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" - "version" "7.1.0" - dependencies: - "ansi-regex" "^6.0.1" - -"strip-bom-string@^1.0.0": - "integrity" "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" - "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" - "version" "1.0.0" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-json-comments@^3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"strip-json-comments@~2.0.1": - "integrity" "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - "version" "2.0.1" - -"style-to-object@^0.3.0", "style-to-object@0.3.0": - "integrity" "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==" - "resolved" "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "inline-style-parser" "0.1.1" - -"stylehacks@^5.1.1": - "integrity" "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==" - "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "browserslist" "^4.21.4" - "postcss-selector-parser" "^6.0.4" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"supports-preserve-symlinks-flag@^1.0.0": - "integrity" "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - "resolved" "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - "version" "1.0.0" - -"svg-parser@^2.0.2", "svg-parser@^2.0.4": - "integrity" "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - "resolved" "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - "version" "2.0.4" - -"svgo@^1.2.2": - "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "chalk" "^2.4.1" - "coa" "^2.0.2" - "css-select" "^2.0.0" - "css-select-base-adapter" "^0.1.1" - "css-tree" "1.0.0-alpha.37" - "csso" "^4.0.2" - "js-yaml" "^3.13.1" - "mkdirp" "~0.5.1" - "object.values" "^1.1.0" - "sax" "~1.2.4" - "stable" "^0.1.8" - "unquote" "~1.1.1" - "util.promisify" "~1.0.0" - -"svgo@^2.7.0": - "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "@trysound/sax" "0.2.0" - "commander" "^7.2.0" - "css-select" "^4.1.3" - "css-tree" "^1.1.3" - "csso" "^4.2.0" - "picocolors" "^1.0.0" - "stable" "^0.1.8" - -"svgo@^2.8.0": - "integrity" "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" - "version" "2.8.0" + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +std-env@^3.0.1: + version "3.4.3" + resolved "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" + integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + 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: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@^1.1.1, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + 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.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + integrity sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +style-to-object@0.3.0, style-to-object@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" + integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== + dependencies: + inline-style-parser "0.1.1" + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-parser@^2.0.2, svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +svgo@^2.7.0, svgo@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" - "commander" "^7.2.0" - "css-select" "^4.1.3" - "css-tree" "^1.1.3" - "csso" "^4.2.0" - "picocolors" "^1.0.0" - "stable" "^0.1.8" - -"tapable@^1.0.0": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"tapable@^2.0.0", "tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - "version" "2.2.1" - -"terser-webpack-plugin@^5.3.3", "terser-webpack-plugin@^5.3.7": - "integrity" "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" - "version" "5.3.9" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" + 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" + 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.16.8": - "integrity" "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz" - "version" "5.22.0" +terser@^5.10.0, terser@^5.16.8: + version "5.22.0" + resolved "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz" + integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== 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": - "integrity" "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"thunky@^1.0.2": - "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - "version" "1.1.0" - -"tiny-invariant@^1.0.2": - "integrity" "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - "resolved" "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" - "version" "1.3.1" - -"tiny-warning@^1.0.0": - "integrity" "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - "resolved" "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" - "version" "1.0.3" - -"to-fast-properties@^2.0.0": - "integrity" "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-readable-stream@^1.0.0": - "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" - "version" "1.0.0" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"toidentifier@1.0.1": - "integrity" "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - "version" "1.0.1" - -"totalist@^3.0.0": - "integrity" "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==" - "resolved" "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" - "version" "3.0.1" - -"tr46@~0.0.3": - "integrity" "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - "version" "0.0.3" - -"trim-trailing-lines@^1.0.0": - "integrity" "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - "resolved" "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" - "version" "1.1.4" - -"trim@0.0.1": - "integrity" "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" - "resolved" "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" - "version" "0.0.1" - -"trough@^1.0.0": - "integrity" "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - "resolved" "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" - "version" "1.0.5" - -"tslib@^2.0.3", "tslib@^2.1.0", "tslib@^2.3.0", "tslib@^2.4.0": - "integrity" "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - "version" "2.6.2" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^2.5.0": - "integrity" "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" - "version" "2.19.0" - -"type-is@~1.6.18": - "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" - "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - "version" "1.6.18" - dependencies: - "media-typer" "0.3.0" - "mime-types" "~2.1.24" - -"typed-array-buffer@^1.0.0": - "integrity" "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==" - "resolved" "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.2.1" - "is-typed-array" "^1.1.10" - -"typed-array-byte-length@^1.0.0": - "integrity" "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==" - "resolved" "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "has-proto" "^1.0.1" - "is-typed-array" "^1.1.10" - -"typed-array-byte-offset@^1.0.0": - "integrity" "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==" - "resolved" "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "has-proto" "^1.0.1" - "is-typed-array" "^1.1.10" - -"typed-array-length@^1.0.4": - "integrity" "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==" - "resolved" "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "for-each" "^0.3.3" - "is-typed-array" "^1.1.9" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typescript@>= 2.7", "typescript@>=4.9.5": - "integrity" "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz" - "version" "5.3.2" - -"ua-parser-js@^1.0.35": - "integrity" "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" - "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz" - "version" "1.0.37" - -"unbox-primitive@^1.0.2": - "integrity" "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "call-bind" "^1.0.2" - "has-bigints" "^1.0.2" - "has-symbols" "^1.0.3" - "which-boxed-primitive" "^1.0.2" - -"undici-types@~5.26.4": - "integrity" "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - "resolved" "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - "version" "5.26.5" - -"unherit@^1.0.4": - "integrity" "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==" - "resolved" "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "inherits" "^2.0.0" - "xtend" "^4.0.0" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.1.0": - "integrity" "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" - "version" "2.1.0" - -"unified@^9.2.2": - "integrity" "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==" - "resolved" "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" - "version" "9.2.2" - dependencies: - "bail" "^1.0.0" - "extend" "^3.0.0" - "is-buffer" "^2.0.0" - "is-plain-obj" "^2.0.0" - "trough" "^1.0.0" - "vfile" "^4.0.0" - -"unified@9.2.0": - "integrity" "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==" - "resolved" "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" - "version" "9.2.0" - dependencies: - "bail" "^1.0.0" - "extend" "^3.0.0" - "is-buffer" "^2.0.0" - "is-plain-obj" "^2.0.0" - "trough" "^1.0.0" - "vfile" "^4.0.0" - -"unique-string@^2.0.0": - "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" - "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "crypto-random-string" "^2.0.0" - -"unist-builder@^2.0.0", "unist-builder@2.0.3": - "integrity" "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" - "resolved" "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" - "version" "2.0.3" - -"unist-util-generated@^1.0.0": - "integrity" "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" - "resolved" "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" - "version" "1.1.6" - -"unist-util-is@^4.0.0": - "integrity" "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" - "resolved" "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" - "version" "4.1.0" - -"unist-util-position@^3.0.0": - "integrity" "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" - "resolved" "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" - "version" "3.1.0" - -"unist-util-remove-position@^2.0.0": - "integrity" "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==" - "resolved" "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "unist-util-visit" "^2.0.0" - -"unist-util-remove@^2.0.0": - "integrity" "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==" - "resolved" "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "unist-util-is" "^4.0.0" - -"unist-util-stringify-position@^2.0.0": - "integrity" "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==" - "resolved" "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" - "version" "2.0.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.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +tiny-invariant@^1.0.2: + version "1.3.1" + resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-warning@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz" + integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +trim-trailing-lines@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" + integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^2.5.0: + version "2.19.0" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +ua-parser-js@^1.0.35: + version "1.0.37" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz" + integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unherit@^1.0.4: + version "1.1.3" + resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== + dependencies: + inherits "^2.0.0" + xtend "^4.0.0" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + 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.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unified@9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +unified@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" + integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +unist-builder@2.0.3, unist-builder@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" + integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== + +unist-util-generated@^1.0.0: + version "1.1.6" + resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== + +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + +unist-util-position@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" + integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== + +unist-util-remove-position@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" + integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== + dependencies: + unist-util-visit "^2.0.0" + +unist-util-remove@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" + integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== + dependencies: + unist-util-is "^4.0.0" + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== dependencies: "@types/unist" "^2.0.2" -"unist-util-visit-parents@^3.0.0": - "integrity" "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==" - "resolved" "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" - "version" "3.1.1" +unist-util-visit-parents@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" - "unist-util-is" "^4.0.0" + unist-util-is "^4.0.0" -"unist-util-visit@^2.0.0", "unist-util-visit@^2.0.3", "unist-util-visit@2.0.3": - "integrity" "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==" - "resolved" "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" - "version" "2.0.3" +unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" - "unist-util-is" "^4.0.0" - "unist-util-visit-parents" "^3.0.0" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unpipe@~1.0.0", "unpipe@1.0.0": - "integrity" "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - "version" "1.0.0" - -"unquote@~1.1.1": - "integrity" "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" - "version" "1.1.1" - -"update-browserslist-db@^1.0.13": - "integrity" "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==" - "resolved" "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - "version" "1.0.13" - dependencies: - "escalade" "^3.1.1" - "picocolors" "^1.0.0" - -"update-notifier@^5.1.0": - "integrity" "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==" - "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "boxen" "^5.0.0" - "chalk" "^4.1.0" - "configstore" "^5.0.1" - "has-yarn" "^2.1.0" - "import-lazy" "^2.1.0" - "is-ci" "^2.0.0" - "is-installed-globally" "^0.4.0" - "is-npm" "^5.0.0" - "is-yarn-global" "^0.3.0" - "latest-version" "^5.1.0" - "pupa" "^2.1.1" - "semver" "^7.3.4" - "semver-diff" "^3.1.1" - "xdg-basedir" "^4.0.0" - -"uri-js@^4.2.2", "uri-js@^4.4.1": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"url-loader@^4.1.1": - "integrity" "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==" - "resolved" "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "loader-utils" "^2.0.0" - "mime-types" "^2.1.27" - "schema-utils" "^3.0.0" - -"url-parse-lax@^3.0.0": - "integrity" "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==" - "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "prepend-http" "^2.0.0" - -"use-composed-ref@^1.3.0": - "integrity" "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==" - "resolved" "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" - "version" "1.3.0" - -"use-isomorphic-layout-effect@^1.1.1": - "integrity" "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==" - "resolved" "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" - "version" "1.1.2" - -"use-latest@^1.2.1": - "integrity" "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==" - "resolved" "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "use-isomorphic-layout-effect" "^1.1.1" - -"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": - "integrity" "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util.promisify@~1.0.0": - "integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==" - "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "define-properties" "^1.1.3" - "es-abstract" "^1.17.2" - "has-symbols" "^1.0.1" - "object.getownpropertydescriptors" "^2.1.0" - -"utila@~0.4": - "integrity" "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - "version" "0.4.0" - -"utility-types@^3.10.0": - "integrity" "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - "resolved" "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" - "version" "3.10.0" - -"utils-merge@1.0.1": - "integrity" "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - "version" "1.0.1" - -"uuid@^8.3.2": - "integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - "version" "8.3.2" - -"valid-url@^1.0.9": - "integrity" "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" - "resolved" "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" - "version" "1.0.9" - -"value-equal@^1.0.1": - "integrity" "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - "resolved" "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" - "version" "1.0.1" - -"vary@~1.1.2": - "integrity" "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - "version" "1.1.2" - -"vfile-location@^3.0.0", "vfile-location@^3.2.0": - "integrity" "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - "resolved" "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" - "version" "3.2.0" - -"vfile-message@^2.0.0": - "integrity" "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==" - "resolved" "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" - "version" "2.0.4" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== + dependencies: + boxen "^5.0.0" + chalk "^4.1.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +uri-js@^4.2.2, uri-js@^4.4.1: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +use-composed-ref@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" + integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== + +use-isomorphic-layout-effect@^1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" + integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== + +use-latest@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" + integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== + dependencies: + use-isomorphic-layout-effect "^1.1.1" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utility-types@^3.10.0: + version "3.10.0" + resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" + integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +valid-url@^1.0.9: + version "1.0.9" + resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" + integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vfile-location@^3.0.0, vfile-location@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== dependencies: "@types/unist" "^2.0.0" - "unist-util-stringify-position" "^2.0.0" + unist-util-stringify-position "^2.0.0" -"vfile@^4.0.0": - "integrity" "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==" - "resolved" "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" - "version" "4.2.1" +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" - "is-buffer" "^2.0.0" - "unist-util-stringify-position" "^2.0.0" - "vfile-message" "^2.0.0" - -"wait-on@^6.0.1": - "integrity" "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==" - "resolved" "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "axios" "^0.25.0" - "joi" "^17.6.0" - "lodash" "^4.17.21" - "minimist" "^1.2.5" - "rxjs" "^7.5.4" - -"watchpack@^2.4.0": - "integrity" "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" - -"wbuf@^1.1.0", "wbuf@^1.7.3": - "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" - "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - "version" "1.7.3" - dependencies: - "minimalistic-assert" "^1.0.0" - -"web-namespaces@^1.0.0": - "integrity" "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" - "resolved" "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" - "version" "1.1.4" - -"web-streams-polyfill@^3.0.3": - "integrity" "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - "resolved" "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" - "version" "3.2.1" - -"webidl-conversions@^3.0.0": - "integrity" "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - "version" "3.0.1" - -"webpack-bundle-analyzer@^4.5.0": - "integrity" "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==" - "resolved" "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz" - "version" "4.9.1" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + +wait-on@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz" + integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw== + dependencies: + axios "^0.25.0" + joi "^17.6.0" + lodash "^4.17.21" + minimist "^1.2.5" + rxjs "^7.5.4" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + 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.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +web-namespaces@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" + integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== + +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webpack-bundle-analyzer@^4.5.0: + version "4.9.1" + resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz" + integrity sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w== dependencies: "@discoveryjs/json-ext" "0.5.7" - "acorn" "^8.0.4" - "acorn-walk" "^8.0.0" - "commander" "^7.2.0" - "escape-string-regexp" "^4.0.0" - "gzip-size" "^6.0.0" - "is-plain-object" "^5.0.0" - "lodash.debounce" "^4.0.8" - "lodash.escape" "^4.0.1" - "lodash.flatten" "^4.4.0" - "lodash.invokemap" "^4.6.0" - "lodash.pullall" "^4.2.0" - "lodash.uniqby" "^4.7.0" - "opener" "^1.5.2" - "picocolors" "^1.0.0" - "sirv" "^2.0.3" - "ws" "^7.3.1" - -"webpack-dev-middleware@^5.3.1": - "integrity" "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==" - "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" - "version" "5.3.3" - 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.9.3": - "integrity" "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==" - "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" - "version" "4.15.1" + acorn "^8.0.4" + acorn-walk "^8.0.0" + commander "^7.2.0" + escape-string-regexp "^4.0.0" + gzip-size "^6.0.0" + is-plain-object "^5.0.0" + lodash.debounce "^4.0.8" + lodash.escape "^4.0.1" + lodash.flatten "^4.4.0" + lodash.invokemap "^4.6.0" + lodash.pullall "^4.2.0" + lodash.uniqby "^4.7.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.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + 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.9.3: + version "4.15.1" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== dependencies: "@types/bonjour" "^3.5.9" "@types/connect-history-api-fallback" "^1.3.5" @@ -9079,242 +8928,242 @@ "@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.8.0": - "integrity" "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==" - "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" - "version" "5.10.0" - dependencies: - "clone-deep" "^4.0.1" - "flat" "^5.0.2" - "wildcard" "^2.0.0" - -"webpack-sources@^3.2.2", "webpack-sources@^3.2.3": - "integrity" "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - "version" "3.2.3" - -"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.73.0", "webpack@>= 4", "webpack@>=2", "webpack@>=4.41.1 || 5.x", "webpack@3 || 4 || 5": - "integrity" "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" - "version" "5.89.0" + 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.8.0: + version "5.10.0" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" + 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.2, webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.73.0: + version "5.89.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" + 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": - "integrity" "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==" - "resolved" "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "chalk" "^4.1.0" - "consola" "^2.15.3" - "pretty-time" "^1.1.0" - "std-env" "^3.0.1" - -"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": - "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" - "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - "version" "0.7.4" - dependencies: - "http-parser-js" ">=0.5.1" - "safe-buffer" ">=5.1.0" - "websocket-extensions" ">=0.1.1" - -"websocket-extensions@>=0.1.1": - "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - "version" "0.1.4" - -"whatwg-url@^5.0.0": - "integrity" "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "tr46" "~0.0.3" - "webidl-conversions" "^3.0.0" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-bigint" "^1.0.1" - "is-boolean-object" "^1.1.0" - "is-number-object" "^1.0.4" - "is-string" "^1.0.5" - "is-symbol" "^1.0.3" - -"which-typed-array@^1.1.11", "which-typed-array@^1.1.13": - "integrity" "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==" - "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" - "version" "1.1.13" - dependencies: - "available-typed-arrays" "^1.0.5" - "call-bind" "^1.0.4" - "for-each" "^0.3.3" - "gopd" "^1.0.1" - "has-tostringtag" "^1.0.0" - -"which@^1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"widest-line@^3.1.0": - "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" - "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "string-width" "^4.0.0" - -"widest-line@^4.0.1": - "integrity" "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==" - "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "string-width" "^5.0.1" - -"wildcard@^2.0.0": - "integrity" "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" - "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" - "version" "2.0.1" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrap-ansi@^8.0.1": - "integrity" "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "ansi-styles" "^6.1.0" - "string-width" "^5.0.1" - "strip-ansi" "^7.0.1" - -"wrappy@1": - "integrity" "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^3.0.0": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - 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", "ws@7.4.6": - "integrity" "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" - "version" "7.4.6" - -"ws@^8.13.0": - "integrity" "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==" - "resolved" "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz" - "version" "8.14.2" - -"xdg-basedir@^4.0.0": - "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" - "version" "4.0.0" - -"xml-js@^1.6.11": - "integrity" "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==" - "resolved" "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" - "version" "1.6.11" - dependencies: - "sax" "^1.2.4" - -"xtend@^4.0.0", "xtend@^4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.0", "yaml@^1.10.2", "yaml@^1.7.2": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" - -"zwitch@^1.0.0": - "integrity" "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" - "resolved" "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" - "version" "1.0.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.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" + 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.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + 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.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.11, which-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.0.1: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + 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.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + 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.4.6, ws@^7.3.1: + version "7.4.6" + resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" + integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== + +ws@^8.13.0: + version "8.14.2" + resolved "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +xtend@^4.0.0, xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From 0adf4e898fd1b90b66fa58d84e2d5350378e058a Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 28 Nov 2023 18:27:59 +0300 Subject: [PATCH 072/627] add: 'getlit setup' to CLI docs --- docs/tools/getlit-cli.md | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 9e9b2130..c7758f3b 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -63,12 +63,6 @@ Initialized Lit project directory looks like: └── utils.mjs ``` -This code basically does: -- define a new type called `SignData` that is an array of numbers, -- define `helloWorld` SignData and assign hash of "HelloWorld" plaintext, -- sign the helloWorld array with the user's public key and request a signature share from the Lit Node, -- finally, print the signature share output. - In order to proceed, `src/foo.action.ts` needs to be modified as ‘NA_E’ to ‘NAME’: ```javascript @@ -84,7 +78,7 @@ const foo = () => { }; ``` -Before moving forward, let's see what we have in `src/main.action.ts`: +Let's see what we have in our main Lit Action, `src/main.action.ts`: ```javascript /** @@ -113,3 +107,25 @@ const helloWorld: SignData = [ })(); ``` +This Lit Action basically does: +- define a new type called `SignData` that is an array of numbers, +- define `helloWorld` SignData and assign hash of "HelloWorld" plaintext, +- sign the helloWorld array with the user's public key and request a signature share from the Lit Node, +- finally, print the signature share output. + +Before moving forward, we need to mint a PKP (Programmable Key Pair). + +:::note +You should mint some test LIT tokens from the [Faucet](https://faucet.litprotocol.com/) to be able to mint the PKP! +::: + +``` +getlit setup +``` + +- This command redirects to the browser, +- Click on "Mint PKP!" button, +- Confirm the transaction, +- Select the PKP appeared on the page. + +It will directly redirect to the terminal back. \ No newline at end of file From 0a478be614e85d40990f7bc7f451e97c9d33726e Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 28 Nov 2023 18:33:15 +0300 Subject: [PATCH 073/627] add: 'getlit build' to CLI docs --- docs/tools/getlit-cli.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index c7758f3b..8d68e295 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -128,4 +128,12 @@ getlit setup - Confirm the transaction, - Select the PKP appeared on the page. -It will directly redirect to the terminal back. \ No newline at end of file +It will directly redirect to the terminal back. Your authSig and pkpPublicKey will be automatically saved to the config file: `getlit.json`. + +To build the Lit Action: + +``` +getlit build +``` + +This command builds the code and now tests can be run. \ No newline at end of file From bb485ffa1e5fb8544e5a660257f6edf3b421a6db Mon Sep 17 00:00:00 2001 From: Furkan Date: Wed, 29 Nov 2023 00:01:30 +0300 Subject: [PATCH 074/627] add: user guide for pkpPublicKey in CLI docs --- docs/tools/getlit-cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 8d68e295..7cc68d4b 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -99,7 +99,7 @@ const helloWorld: SignData = [ // the signature share will be automatically returned in the HTTP response from the node const sigShare = await LitActions.signEcdsa({ toSign: new Uint8Array(helloWorld), - publicKey, // <-- You should pass this in jsParam + , // <-- You should pass this in jsParam sigName, }); From 3aa2a66794b918aa60aad97600901c5150bc8969 Mon Sep 17 00:00:00 2001 From: Furkan Date: Wed, 29 Nov 2023 16:39:12 +0300 Subject: [PATCH 075/627] remove: duplicated instructions in CLI docs --- docs/tools/getlit-cli.md | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 7cc68d4b..fd6f2a13 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -15,7 +15,7 @@ The GetLit CLI is a command-line tool designed to help developers manage their L ### Installation -``` +```bash npm install -g getlit // or @@ -39,7 +39,7 @@ To use the GetLit CLI, navigate to a directory or your existing project, and the ### Basic Application -``` +```bash getlit action ``` @@ -107,33 +107,8 @@ const helloWorld: SignData = [ })(); ``` -This Lit Action basically does: -- define a new type called `SignData` that is an array of numbers, -- define `helloWorld` SignData and assign hash of "HelloWorld" plaintext, -- sign the helloWorld array with the user's public key and request a signature share from the Lit Node, -- finally, print the signature share output. - -Before moving forward, we need to mint a PKP (Programmable Key Pair). +You can start building your own Lit Action by modifying `src/main.action.ts`, and `test/main.t.action.mjs` accordingly. :::note -You should mint some test LIT tokens from the [Faucet](https://faucet.litprotocol.com/) to be able to mint the PKP! -::: - -``` -getlit setup -``` - -- This command redirects to the browser, -- Click on "Mint PKP!" button, -- Confirm the transaction, -- Select the PKP appeared on the page. - -It will directly redirect to the terminal back. Your authSig and pkpPublicKey will be automatically saved to the config file: `getlit.json`. - -To build the Lit Action: - -``` -getlit build -``` - -This command builds the code and now tests can be run. \ No newline at end of file +Don't forget to [mint your PKP](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start/) before running the build and test commands. +::: \ No newline at end of file From 3b0bfd5363c2b92e4aac9bd33c5c0524f38f4153 Mon Sep 17 00:00:00 2001 From: Furkan Date: Wed, 29 Nov 2023 20:38:48 +0300 Subject: [PATCH 076/627] remove: duplicated code snippet from CLI docs --- docs/tools/getlit-cli.md | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index fd6f2a13..b346e322 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -78,35 +78,6 @@ const foo = () => { }; ``` -Let's see what we have in our main Lit Action, `src/main.action.ts`: - -```javascript -/** - * NAME: hello - */ - -// This will exceed the default file size limit -// import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; - -type SignData = number[]; - -const helloWorld: SignData = [ - 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, -]; - -(async () => { - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the HTTP response from the node - const sigShare = await LitActions.signEcdsa({ - toSign: new Uint8Array(helloWorld), - , // <-- You should pass this in jsParam - sigName, - }); - - console.log('sigShare', sigShare); -})(); -``` - You can start building your own Lit Action by modifying `src/main.action.ts`, and `test/main.t.action.mjs` accordingly. :::note From 579075c25eafdd9b83ba40ad634233809199b628 Mon Sep 17 00:00:00 2001 From: Anthony Albertorio Date: Thu, 30 Nov 2023 11:57:53 -0500 Subject: [PATCH 077/627] Update Docs for V3 * add redirect to v3 * add link to v2 docs the column on left of v3 docs * add note on encryption v3 o use stable encryption use v2 and the Jalapeno network for production. --- docs/sdk/access-control/encryption.md | 32 ++- docs/sdk/installation.md | 4 +- docs/version2/prior-version.md | 10 + docusaurus.config.js | 25 +- sidebars.js | 228 +++++++++--------- .../generatingSessionKey.md | 5 +- .../LitActions/additionalExamples/usingEIP.md | 4 +- .../version-2.0/LitActions/helloWorld.md | 8 +- .../workingWithActions/conditionalSigning.md | 6 +- .../workingWithActions/logAndReturn.md | 4 +- .../workingWithActions/permissions.md | 7 +- .../workingWithActions/signingTx.md | 7 +- .../workingWithActions/usingFetch.md | 13 +- .../SDKExamples/OnchainMetadata/setup.md | 13 +- .../sdk/explanation/authentication/authSig.md | 34 +-- .../sessionSigs/getSessionSigs.md | 15 +- .../sdk/explanation/installation.md | 8 +- .../version-2.0/sdk/explanation/migration.md | 22 +- versions.json | 4 +- 19 files changed, 242 insertions(+), 207 deletions(-) create mode 100644 docs/version2/prior-version.md diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 495f247b..cbcdb344 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -1,8 +1,19 @@ # Encryption -The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. +The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. + +:::note +Lit is still in developer preview with the mainnet launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. + +Do not use this for production at this moment - if you want to use stable encryption use v2 and the Jalapeno network. + +For practical purposes, run `npm install @lit-protocol/lit-node-client@jalapeno` + +[Learn more](https://developer.litprotocol.com/v3/network/state-of-network) about what data will persist during the developer preview. +::: ### How Does ID Encrypt Work + This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). @@ -40,7 +51,7 @@ At the top of your file, create your Lit Node client like so: ```js const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'cayenne', + litNetwork: "cayenne", }); const chain = "ethereum"; ``` @@ -65,9 +76,10 @@ export default new Lit() Get more info on functions in the [API docs](https://js-sdk.litprotocol.com/index.html). Steps to Encrypt + 1. Obtain an `authSig` and create an access control condition. 2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. -3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. You'll need to pass in these +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. You'll need to pass in these #### Access Control & AuthSig @@ -110,10 +122,10 @@ const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( { accessControlConditions, authSig, - chain: 'ethereum', - dataToEncrypt: 'this is a secret message', + chain: "ethereum", + dataToEncrypt: "this is a secret message", }, - litNodeClient, + litNodeClient ); ``` @@ -161,12 +173,12 @@ There is just one step: Obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain we are using in this example is `ethereum`. ```js -const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }); +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); ``` #### Obtaining the Decrypted Data -In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, `authSig`. +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, `authSig`. :::note If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. @@ -179,9 +191,9 @@ const decryptedString = await LitJsSdk.decryptToString( ciphertext, dataToEncryptHash, authSig, - chain: 'ethereum', + chain: "ethereum", }, - litNodeClient, + litNodeClient ); ``` diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 6f17ae73..4d0d10d8 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -23,7 +23,7 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client@cayenne +yarn add @lit-protocol/lit-node-client ``` Use the **Lit JS SDK V3**: @@ -39,7 +39,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs@cayenne +yarn add @lit-protocol/lit-node-client-nodejs ``` Use the **Lit JS SDK V3**: diff --git a/docs/version2/prior-version.md b/docs/version2/prior-version.md new file mode 100644 index 00000000..7b87e98f --- /dev/null +++ b/docs/version2/prior-version.md @@ -0,0 +1,10 @@ +--- +sidebar_position: 1 +--- + +# View V2 Documentation + +For the SDK version `2.0` documentation, please visit: +https://developer.litprotocol.com/v2/ + +A description of `js-sdk` difference can be found here: https://developer.litprotocol.com/v2/resources/networkMatrix diff --git a/docusaurus.config.js b/docusaurus.config.js index 4c4d6554..5f1d11a8 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -7,7 +7,8 @@ const darkCodeTheme = require("prism-react-renderer/themes/dracula"); /** @type {import('@docusaurus/types').Config} */ const config = { title: "Lit Protocol", - tagline: "Blockchain based access control and programmatic signing for the web", + tagline: + "Blockchain based access control and programmatic signing for the web", url: "https://developer.litprotocol.com", baseUrl: "/", onBrokenLinks: "warn", @@ -15,7 +16,6 @@ const config = { favicon: "img/favicon.png", organizationName: "lit-protocol", // Usually your GitHub org/user name. projectName: "@lit-protocol/js-sdk", // Usually your repo name. - presets: [ [ "@docusaurus/preset-classic", @@ -23,7 +23,7 @@ const config = { ({ docs: { breadcrumbs: false, - lastVersion: "2.0", + // lastVersion: "2.0", sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. editUrl: "https://github.com/LIT-Protocol/docs/tree/main", @@ -78,20 +78,21 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ - announcementBar: { - id: "SDK V3 Beta", - content: - "Lit JS SDK V3 is now available in beta. Check out
v3.x.x of the docs to learn more.", - backgroundColor: '#ff844e', - textColor: '#fffff', - isCloseable: false, - }, + // re-purpose for next version + // announcementBar: { + // id: "SDK V3 Beta", + // content: + // "Lit JS SDK V3 is now available in beta. Check out v3.x.x of the docs to learn more.", + // backgroundColor: "#ff844e", + // textColor: "#fffff", + // isCloseable: true, + // }, navbar: { title: "Lit Protocol", logo: { alt: "Lit Protocol", src: "img/logo.svg", - href: 'https://developer.litprotocol.com/v2/', + href: "https://developer.litprotocol.com/v3/", }, items: [ { diff --git a/sidebars.js b/sidebars.js index c694a069..eb99bcf2 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,16 +41,19 @@ const sidebars = { // ], docs: [ + { + type: "category", + label: "Version 2.0", + collapsible: false, + className: "category-not-collapsible", + items: ["version2/prior-version"], + }, { type: "category", label: "Getting Started", collapsible: false, className: "category-not-collapsible", - items: [ - "intro/overview", - "intro/what-is-lit-protocol", - "intro/usecases" - ], + items: ["intro/overview", "intro/what-is-lit-protocol", "intro/usecases"], }, { type: "category", @@ -61,13 +64,18 @@ const sidebars = { "concepts/access-control-concept", "concepts/aa-x-lit", "concepts/programmable-signing-concept", - "concepts/pkps-as-wallet"], + "concepts/pkps-as-wallet", + ], }, { type: "category", label: "Migration to V3", collapsible: true, - items: ["migration/overview", "network/feature-matrix", "migration/changes"], + items: [ + "migration/overview", + "network/feature-matrix", + "migration/changes", + ], }, { type: "category", @@ -76,137 +84,135 @@ const sidebars = { className: "category-not-collapsible", items: [ "sdk/installation", + { + type: "category", + label: "Authentication", + link: { + type: "doc", + id: "sdk/authentication/overview", + }, + collapsed: true, + items: [ + "sdk/authentication/auth-sig", { type: "category", - label: "Authentication", + label: "Session Signatures", link: { type: "doc", - id: "sdk/authentication/overview", + id: "sdk/authentication/session-sigs/intro", }, collapsed: true, items: [ - "sdk/authentication/auth-sig", + "sdk/authentication/session-sigs/resources-and-abilities", + "sdk/authentication/session-sigs/capability-objects", + "sdk/authentication/session-sigs/get-session-sigs", + "sdk/authentication/session-sigs/usage", { type: "category", - label: "Session Signatures", + label: "Walletless Signatures", link: { type: "doc", - id: "sdk/authentication/session-sigs/intro", + id: "sdk/authentication/session-sigs/auth-methods/overview", }, collapsed: true, items: [ - "sdk/authentication/session-sigs/resources-and-abilities", - "sdk/authentication/session-sigs/capability-objects", - "sdk/authentication/session-sigs/get-session-sigs", - "sdk/authentication/session-sigs/usage", - { - type: "category", - label: "Walletless Signatures", - link: { - type: "doc", - id: "sdk/authentication/session-sigs/auth-methods/overview", - }, - collapsed: true, - items: [ - "sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods", - "sdk/authentication/session-sigs/auth-methods/social-login", - "sdk/authentication/session-sigs/auth-methods/web-authn", - "sdk/authentication/session-sigs/auth-methods/email-sms", - ], - }, + "sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods", + "sdk/authentication/session-sigs/auth-methods/social-login", + "sdk/authentication/session-sigs/auth-methods/web-authn", + "sdk/authentication/session-sigs/auth-methods/email-sms", ], }, - "sdk/authentication/security", ], }, + "sdk/authentication/security", + ], + }, + { + type: "category", + label: "Access Control", + link: { + type: "doc", + id: "sdk/access-control/intro", + }, + collapsible: true, + items: [ + "sdk/access-control/encryption", + "sdk/access-control/jwt-auth", { type: "category", - label: "Access Control", - link: { - type: "doc", - id: "sdk/access-control/intro", - }, - collapsible: true, + label: "Types of Conditions", + collapsed: true, items: [ - "sdk/access-control/encryption", - "sdk/access-control/jwt-auth", - { - type: "category", - label: "Types of Conditions", - collapsed: true, - items: [ - "sdk/access-control/condition-types/unified-access-control-conditions", - "sdk/access-control/condition-types/boolean-logic", - "sdk/access-control/condition-types/lit-action-conditions", - ], - }, - { - type: "category", - label: "EVM", - collapsed: true, - items: [ - "sdk/access-control/evm/basic-examples", - "sdk/access-control/evm/custom-contract-calls", - "sdk/access-control/evm/poap", - "sdk/access-control/evm/timelock", - "sdk/access-control/evm/siwe", - ], - }, - { - type: "category", - label: "Other Chains", - collapsed: true, - items: [ - "sdk/access-control/other-chains/sol-rpc-conditions", - "sdk/access-control/other-chains/cosmos-conditions", - ], - }, + "sdk/access-control/condition-types/unified-access-control-conditions", + "sdk/access-control/condition-types/boolean-logic", + "sdk/access-control/condition-types/lit-action-conditions", ], }, { type: "category", - label: "Programmable Wallets", - link: { - type: "doc", - id: "sdk/wallets/intro", - }, - collapsible: true, + label: "EVM", + collapsed: true, items: [ - "sdk/wallets/auth-methods", - "sdk/wallets/minting", - "sdk/wallets/walletconnect", - { - type: "category", - label: "Claimable Keys (HD Keys)", - link: { - type: "doc", - id: "sdk/wallets/claimable-keys/intro", - }, - collapsible: true, - items: [ - "sdk/wallets/claimable-keys/usage", - ], - }, + "sdk/access-control/evm/basic-examples", + "sdk/access-control/evm/custom-contract-calls", + "sdk/access-control/evm/poap", + "sdk/access-control/evm/timelock", + "sdk/access-control/evm/siwe", ], }, { type: "category", - label: "Serverless Signing", + label: "Other Chains", + collapsed: true, + items: [ + "sdk/access-control/other-chains/sol-rpc-conditions", + "sdk/access-control/other-chains/cosmos-conditions", + ], + }, + ], + }, + { + type: "category", + label: "Programmable Wallets", + link: { + type: "doc", + id: "sdk/wallets/intro", + }, + collapsible: true, + items: [ + "sdk/wallets/auth-methods", + "sdk/wallets/minting", + "sdk/wallets/walletconnect", + { + type: "category", + label: "Claimable Keys (HD Keys)", link: { type: "doc", - id: "sdk/serverless-signing/overview", + id: "sdk/wallets/claimable-keys/intro", }, collapsible: true, - items: [ - "sdk/serverless-signing/quick-start", - "sdk/serverless-signing/conditional-signing", - "sdk/serverless-signing/fetch", - "sdk/serverless-signing/processing-validation", - "sdk/serverless-signing/key-claiming", - "sdk/serverless-signing/eip191", - ], + items: ["sdk/wallets/claimable-keys/usage"], }, - "sdk/tests", + ], + }, + { + type: "category", + label: "Serverless Signing", + link: { + type: "doc", + id: "sdk/serverless-signing/overview", + }, + collapsible: true, + items: [ + "sdk/serverless-signing/quick-start", + "sdk/serverless-signing/conditional-signing", + "sdk/serverless-signing/fetch", + "sdk/serverless-signing/processing-validation", + "sdk/serverless-signing/key-claiming", + "sdk/serverless-signing/eip191", + ], + }, + "sdk/tests", ], }, { @@ -214,10 +220,10 @@ const sidebars = { label: "Tools", collapsed: true, items: [ - "tools/access-control", - "tools/getlit-cli", - "tools/event-listener", - "tools/pkpexplorer", + "tools/access-control", + "tools/getlit-cli", + "tools/event-listener", + "tools/pkpexplorer", ], }, @@ -255,7 +261,11 @@ const sidebars = { label: "Network", collapsible: false, className: "category-not-collapsible", - items: ["network/state-of-network", "network/feature-matrix", "network/rollup"], + items: [ + "network/state-of-network", + "network/feature-matrix", + "network/rollup", + ], }, { type: "category", @@ -275,7 +285,7 @@ const sidebars = { collapsible: false, className: "category-not-collapsible", items: ["support/faq", "support/bug-bounty"], - } + }, ], }; diff --git a/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md b/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md index 947bbe27..159107a9 100644 --- a/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md +++ b/versioned_docs/version-2.0/LitActions/additionalExamples/generatingSessionKey.md @@ -6,10 +6,10 @@ sidebar_position: 1 This [example](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/sessionKeys.js) demonstrates how to generate a signed [session key](../../SDK/Explanation/authentication/sessionSigs/intro) using Lit Actions. -``` js +```js // this example will generate and sign a session key and use it for a request -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; import { Wallet } from "@ethersproject/wallet"; import { computeAddress } from "@ethersproject/transactions"; import { SiweMessage } from "siwe"; @@ -89,5 +89,4 @@ const runLitAction = async () => { }; runLitAction(); - ``` diff --git a/versioned_docs/version-2.0/LitActions/additionalExamples/usingEIP.md b/versioned_docs/version-2.0/LitActions/additionalExamples/usingEIP.md index 393378d8..394d6a5c 100644 --- a/versioned_docs/version-2.0/LitActions/additionalExamples/usingEIP.md +++ b/versioned_docs/version-2.0/LitActions/additionalExamples/usingEIP.md @@ -12,7 +12,7 @@ You can also use EIP191 `eth_personal_sign` to sign a message, instead of a tran This can be done with `LitActions.ethPersonalSignMessageEcdsa({ message, publicKey , sigName });` when signing. It will prepend "\\x19Ethereum Signed Message:\\n" to the message and then hash and sign it according to https://eips.ethereum.org/EIPS/eip-191 ```js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; import fs from "fs"; import { serialize, recoverAddress } from "@ethersproject/transactions"; import { @@ -102,4 +102,4 @@ const go = async () => { }; go(); -``` \ No newline at end of file +``` diff --git a/versioned_docs/version-2.0/LitActions/helloWorld.md b/versioned_docs/version-2.0/LitActions/helloWorld.md index 6d5f0732..c9f9dc57 100644 --- a/versioned_docs/version-2.0/LitActions/helloWorld.md +++ b/versioned_docs/version-2.0/LitActions/helloWorld.md @@ -91,7 +91,7 @@ values={[ ```js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; // this code will be run on the node const litActionCode = ` @@ -135,7 +135,7 @@ runLitAction(); ```js -import * as LitJsSdk from '@lit-protocol/lit-node-client-nodejs'; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; // this code will be run on the node const litActionCode = ` @@ -160,7 +160,9 @@ const authSig = { }; const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: "serrano" }); + const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + litNetwork: "serrano", + }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ code: litActionCode, diff --git a/versioned_docs/version-2.0/LitActions/workingWithActions/conditionalSigning.md b/versioned_docs/version-2.0/LitActions/workingWithActions/conditionalSigning.md index 3da37b8a..0584636c 100644 --- a/versioned_docs/version-2.0/LitActions/workingWithActions/conditionalSigning.md +++ b/versioned_docs/version-2.0/LitActions/workingWithActions/conditionalSigning.md @@ -7,12 +7,12 @@ import TabItem from '@theme/TabItem'; # Conditional Signing -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. ```js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; // this code will be run on the node const litActionCode = ` @@ -96,4 +96,4 @@ The app will display the returned JSON if Ether balance >= Min balance entered A Here is the complete [**React** project](https://replit.com/@lit/Lit-Actions-Conditional-Signing#lit-actions_sign_api_response/src/App.js). - \ No newline at end of file + diff --git a/versioned_docs/version-2.0/LitActions/workingWithActions/logAndReturn.md b/versioned_docs/version-2.0/LitActions/workingWithActions/logAndReturn.md index ad0d3b6c..5503a078 100644 --- a/versioned_docs/version-2.0/LitActions/workingWithActions/logAndReturn.md +++ b/versioned_docs/version-2.0/LitActions/workingWithActions/logAndReturn.md @@ -7,7 +7,7 @@ import TabItem from '@theme/TabItem'; # Logging and Returning Responses -The examples below will explore working with logs and composable Lit Actions. +The examples below will explore working with logs and composable Lit Actions. ## Logging inside a Lit Action @@ -42,7 +42,7 @@ Below is an action that takes a function name to run, and runs a "child" Lit Act All child Lit Actions run inside a new JS runtime / sandbox so none of the parent variables, functions, or state are available to the child action. ```js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; // this code will be run on the node const litActionCode = ` diff --git a/versioned_docs/version-2.0/LitActions/workingWithActions/permissions.md b/versioned_docs/version-2.0/LitActions/workingWithActions/permissions.md index a9350717..46c2eb5c 100644 --- a/versioned_docs/version-2.0/LitActions/workingWithActions/permissions.md +++ b/versioned_docs/version-2.0/LitActions/workingWithActions/permissions.md @@ -6,8 +6,8 @@ sidebar_position: 3 Verifying [PKP permissions](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/pkpPermissions.js) using a Lit Action. -``` js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; // this code will be run on the node const litActionCode = ` @@ -87,5 +87,4 @@ const runLitAction = async () => { }; runLitAction(); - -``` \ No newline at end of file +``` diff --git a/versioned_docs/version-2.0/LitActions/workingWithActions/signingTx.md b/versioned_docs/version-2.0/LitActions/workingWithActions/signingTx.md index 455abb71..5a81f604 100644 --- a/versioned_docs/version-2.0/LitActions/workingWithActions/signingTx.md +++ b/versioned_docs/version-2.0/LitActions/workingWithActions/signingTx.md @@ -6,8 +6,8 @@ sidebar_position: 2 This example shows how to generate a [signed Ethereum transaction](https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/signTxn.js) with PKPs and Lit Actions. -``` js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; import fs from "fs"; import { serialize, recoverAddress } from "@ethersproject/transactions"; import { @@ -85,5 +85,4 @@ const go = async () => { }; go(); - -``` \ No newline at end of file +``` diff --git a/versioned_docs/version-2.0/LitActions/workingWithActions/usingFetch.md b/versioned_docs/version-2.0/LitActions/workingWithActions/usingFetch.md index 5f67d1f2..a3acc607 100644 --- a/versioned_docs/version-2.0/LitActions/workingWithActions/usingFetch.md +++ b/versioned_docs/version-2.0/LitActions/workingWithActions/usingFetch.md @@ -7,14 +7,14 @@ import TabItem from '@theme/TabItem'; # Using Fetch -Unlike traditional smart contract ecosystems, Lit Actions can natively talk to the external world. This is useful for things like fetching data from the web, or sending API requests to other services. +Unlike traditional smart contract ecosystems, Lit Actions can natively talk to the external world. This is useful for things like fetching data from the web, or sending API requests to other services. -The Lit Action below will get the current temperature from the [National Weather Service](https://www.weather.gov/) API, and ONLY sign a txn if the temperature is forecast to be **above 60 degrees F**. Since you can put this HTTP request and logic that uses the response directly in your Lit Action, you don't have to worry about using a 3rd party oracle to pull data in. +The Lit Action below will get the current temperature from the [National Weather Service](https://www.weather.gov/) API, and ONLY sign a txn if the temperature is forecast to be **above 60 degrees F**. Since you can put this HTTP request and logic that uses the response directly in your Lit Action, you don't have to worry about using a 3rd party oracle to pull data in. The HTTP request will be sent out by all the Lit Nodes in parallel, and consensus is based on at least 2/3 of the nodes getting the same response. If less than 2/3 nodes get the same response, then the user can not collect the signature shares above the threshold and therefore cannot produce the final signature. Note that your HTTP request will be sent N times where N is the number of nodes in the Lit Network, because it's sent from every Lit Node in parallel. You should be careful about how many requests you're making and note that this may trigger rate limiting issues on some servers. N is currently 10 on the Serrano testnet. ```js -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; // this code will be run on the node const litActionCode = ` @@ -74,13 +74,12 @@ runLitAction(); ## Using fetch() to write data -You can also use fetch() inside a Lit Action to write data, but you **must be careful** (because the HTTP request will be run N times where N is the number of Lit Nodes). On Serrano, N is 10, so any fetch() request will be sent to the server 10 times. - -**This is safe**, however, if the place you're writing the data to is *idempotent*. Idempotent means that applying the same operation over and over will not change the result. So for example, a SQL Insert is not idempotent, becuase if you run it 10 times, it will create 10 rows. On the other hand, a SQL Update is idempotent, because if you run it 10 times, it will only update the row once. So if you're using fetch() to write data, make sure the server you're writing to is idempotent. +You can also use fetch() inside a Lit Action to write data, but you **must be careful** (because the HTTP request will be run N times where N is the number of Lit Nodes). On Serrano, N is 10, so any fetch() request will be sent to the server 10 times. +**This is safe**, however, if the place you're writing the data to is _idempotent_. Idempotent means that applying the same operation over and over will not change the result. So for example, a SQL Insert is not idempotent, becuase if you run it 10 times, it will create 10 rows. On the other hand, a SQL Update is idempotent, because if you run it 10 times, it will only update the row once. So if you're using fetch() to write data, make sure the server you're writing to is idempotent. ## Example Project Below is an example Replit project that demonstrates how to get a signed API response using Lit Actions: - \ No newline at end of file + diff --git a/versioned_docs/version-2.0/ToolsAndExamples/SDKExamples/OnchainMetadata/setup.md b/versioned_docs/version-2.0/ToolsAndExamples/SDKExamples/OnchainMetadata/setup.md index 2845323b..2f3f52ef 100644 --- a/versioned_docs/version-2.0/ToolsAndExamples/SDKExamples/OnchainMetadata/setup.md +++ b/versioned_docs/version-2.0/ToolsAndExamples/SDKExamples/OnchainMetadata/setup.md @@ -7,21 +7,25 @@ sidebar_position: 2 ## Smart Contract 1. Install hardhat: + ```js yarn add hardhat ``` 2. Init hardhat to create the boilerplate for a **Basic project (with Javascript)**: + ```js npx hardhat init ``` 3. Install Openzepplin: + ```js yarn add @openzeppelin/contracts ``` 4. Test deploy the sample smart contract on 2 separate terminals: + ```js npx hardhat node npx hardhat run scripts/deploy.js --network localhost @@ -33,15 +37,16 @@ Now that we have our hardhat working & the sample smart contract is deployed cor You can use the Lit JS SDK V2 to encrypt and store any static content. This could be a file, a string, or anything that won't change (we're going to encrypt an input string). You have to store the content and metadata yourself (we're storing that on a blockchain network), but Lit will store who is allowed to decrypt it and enforce this (aka key management). - 1. Install Lit JS SDK V2: + ```js -yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/lit-node-client@serrano ``` 2. Create a Lit class which will have all the encryption & decryption functions we require: + ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; const client = new LitJsSdk.LitNodeClient(); @@ -60,4 +65,4 @@ class Lit { `client.connect()` will return a promise that resolves when you are connected to the Lit Network. You may also listen for the `lit-ready` event. In this code example, the `litNodeClient` is set as a global variable for use throughout the web app. -::: \ No newline at end of file +::: diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md b/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md index 646ef2c5..7dd9099a 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/authSig.md @@ -12,10 +12,10 @@ You can use any signature compliant with EIP-4361, also known as Sign in with Et ```json { - "sig": "0x18720b54cf0d29d618a90793d5e76f4838f04b559b02f1f01568d8e81c26ae9536e11bb90ad311b79a5bc56149b14103038e5e03fee83931a146d93d150eb0f61c", - "derivedVia": "web3.eth.personal.sign", - "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a\n\nThis is a test statement. You can put anything you want here.\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: gzdlw7mR57zMcGFzz\nIssued At: 2022-04-15T22:58:44.754Z", - "address": "0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a" + "sig": "0x18720b54cf0d29d618a90793d5e76f4838f04b559b02f1f01568d8e81c26ae9536e11bb90ad311b79a5bc56149b14103038e5e03fee83931a146d93d150eb0f61c", + "derivedVia": "web3.eth.personal.sign", + "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a\n\nThis is a test statement. You can put anything you want here.\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: gzdlw7mR57zMcGFzz\nIssued At: 2022-04-15T22:58:44.754Z", + "address": "0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a" } ``` @@ -35,7 +35,7 @@ You can refer to the `AuthSig` type definition in the [Lit JS SDK V2](https://js The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. ```js -import { checkAndSignAuthMessage } from '@lit-protocol/lit-node-client'; +import { checkAndSignAuthMessage } from "@lit-protocol/lit-node-client@serrano"; const authSig = await checkAndSignAuthMessage({ chain: "ethereum", @@ -53,7 +53,7 @@ The function also stores the `AuthSig` in local storage, removing the need for t If you prefer to implement your own wallet selection interface, you can call the `signAndSaveAuthMessage()` function, which offers more customization. To use this function, pass in an instance of an [ethers.js `Web3Provider` object](https://docs.ethers.org/v5/api/providers/other/#Web3Provider), the wallet address, the chain ID, and the signature expiration time. ```js -import { ethConnect } from '@lit-protocol/auth-browser'; +import { ethConnect } from "@lit-protocol/auth-browser"; const authSig = await ethConnect.signAndSaveAuthMessage({ web3: web3Provider, @@ -71,7 +71,7 @@ Be sure to import `cosmosConnect` and `solConnect` for Cosmos and Solana respect In general, smart contracts can't produce an `AuthSig` since they don't possess a private key. However, you can generate an `AuthSig` for smart contracts using [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271), a standard for verifying signatures when the account is a smart contract. -Following the same data structure as above, you can format your smart contract `AuthSig` like so: +Following the same data structure as above, you can format your smart contract `AuthSig` like so: - `sig` is the actual hex-encoded signature - `derivedVia` must be "EIP1271" to inform the nodes that this `AuthSig` is for smart contracts @@ -95,9 +95,9 @@ If you want to clear the `AuthSig` stored in local storage, you can call the [`d If you want to obtain an `AuthSig` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `AuthSig` object. ```js -const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); +const LitJsSdk = require("@lit-protocol/lit-node-client-nodejs"); const { ethers } = require("ethers"); -const siwe = require('siwe'); +const siwe = require("siwe"); async function main() { // Initialize LitNodeClient @@ -105,30 +105,30 @@ async function main() { await litNodeClient.connect(); // Initialize the signer - const wallet = new ethers.Wallet(''); + const wallet = new ethers.Wallet(""); const address = ethers.utils.getAddress(await wallet.getAddress()); // Craft the SIWE message - const domain = 'localhost'; - const origin = 'https://localhost/login'; + const domain = "localhost"; + const origin = "https://localhost/login"; const statement = - 'This is a test statement. You can put anything you want here.'; + "This is a test statement. You can put anything you want here."; const siweMessage = new siwe.SiweMessage({ domain, address: address, statement, uri: origin, - version: '1', - chainId: '1', + version: "1", + chainId: "1", }); const messageToSign = siweMessage.prepareMessage(); - + // Sign the message and format the authSig const signature = await wallet.signMessage(messageToSign); const authSig = { sig: signature, - derivedVia: 'web3.eth.personal.sign', + derivedVia: "web3.eth.personal.sign", signedMessage: messageToSign, address: address, }; diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md index 53e8be9c..413559e8 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/getSessionSigs.md @@ -7,8 +7,11 @@ sidebar_position: 2 You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. ```javascript -import { LitNodeClient } from '@lit-protocol/lit-node-client'; -import { LitAccessControlConditionResource, LitAbility } from '@lit-protocol/auth-helpers'; +import { LitNodeClient } from "@lit-protocol/lit-node-client@serrano"; +import { + LitAccessControlConditionResource, + LitAbility, +} from "@lit-protocol/auth-helpers"; // Create a new ethers.js Wallet instance const wallet = new Wallet(process.env.YOUR_PRIVATE_KEY); @@ -61,8 +64,8 @@ const sessionSigs = await litNodeClient.getSessionSigs({ resourceAbilityRequests: [ { resource: litResource, - ability: LitAbility.AccessControlDescription - } + ability: LitAbility.AccessControlDescription, + }, ], authNeededCallback, }); @@ -74,10 +77,10 @@ In the example above, we construct a SIWE message manually, but you can use the ## Resources You Can Request -You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../capability-objects) about how to create custom session capability objects. ## Clearing Local Storage -If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). \ No newline at end of file +If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). diff --git a/versioned_docs/version-2.0/sdk/explanation/installation.md b/versioned_docs/version-2.0/sdk/explanation/installation.md index 7dcc6de8..5fb64ebd 100644 --- a/versioned_docs/version-2.0/sdk/explanation/installation.md +++ b/versioned_docs/version-2.0/sdk/explanation/installation.md @@ -24,16 +24,16 @@ values={[ ]}> -Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: +Install the `@lit-protocol/lit-node-client@serrano` package using your favorite package manager, which can be used in both browser and Node environments. We are using `yarn` however, `npm` works as well: ```sh -yarn add @lit-protocol/lit-node-client +yarn install @lit-protocol/lit-node-client@serrano ``` Use the **Lit JS SDK V2**: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client@serrano"; ``` @@ -41,7 +41,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; ```js - + ``` If you decide to import the SDK with the script tag, we provide a web-ready package with the dependencies you need. You can use the SDK functions via `LitJsSdk_litNodeClient`, for example `LitJsSdk_litNodeClient.encryptString()` diff --git a/versioned_docs/version-2.0/sdk/explanation/migration.md b/versioned_docs/version-2.0/sdk/explanation/migration.md index 4ea5d0fb..e99fb23c 100644 --- a/versioned_docs/version-2.0/sdk/explanation/migration.md +++ b/versioned_docs/version-2.0/sdk/explanation/migration.md @@ -22,7 +22,7 @@ Get started with **Lit JS SDK V2** by installing the package best suited for you Browser & Node environments: ```bash -npm install @lit-protocol/lit-node-client +npm install @lit-protocol/lit-node-client@serrano ``` Node environment: @@ -34,7 +34,7 @@ npm install @lit-protocol/lit-node-client-nodejs If you already have `lit-js-sdk` in your app, all you need to do is remove the old package and then update any import statement to reference the new SDK like so: ```bash -import * as LitJsSdk from '@lit-protocol/lit-node-client'; +import * as LitJsSdk from '@lit-protocol/lit-node-client@serrano'; ``` If you are using TypeScript, be sure to install the `@lit-protocol/types` package. Check out the list of available packages [here](https://github.com/LIT-Protocol/js-sdk/tree/master#packages). @@ -92,23 +92,21 @@ The following types are now declared in `@lit-protocol/types`: **signAndSaveAuthMessage** -| Version | Code | -| ------ | --------- | -| V1 |
import * as LitJsSdk from "lit-js-sdk";
const authSig = await LitJsSdk.signAndSaveAuthMessage({..});
| -| V2 |
import { ethConnect } from "@lit-protocol/auth-browser";,
const authSig = await ethConnect.signAndSaveAuthMessage({..});
| +| Version | Code | +| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | +| V1 |
import \* as LitJsSdk from "lit-js-sdk";
const authSig = await LitJsSdk.signAndSaveAuthMessage({..});
| +| V2 |
import { ethConnect } from "@lit-protocol/auth-browser";,
const authSig = await ethConnect.signAndSaveAuthMessage({..});
| :::note For V2: You can also import `cosmosConnect` and `solConnect` for Cosmos and Solana respectively. ::: - **disconnectWeb3** -| Version | Code | -| ------ | --------- | -| V1 |
import * as LitJsSdk from "lit-js-sdk";
LitJsSdk.disconnectWeb3();
| -| V2 |
import { ethConnect } from "@lit-protocol/auth-browser";,
ethConnect.disconnectWeb3();
| - +| Version | Code | +| ------- | --------------------------------------------------------------------------------------------------------------- | +| V1 |
import \* as LitJsSdk from "lit-js-sdk";
LitJsSdk.disconnectWeb3();
| +| V2 |
import { ethConnect } from "@lit-protocol/auth-browser";,
ethConnect.disconnectWeb3();
| **executeJs** diff --git a/versions.json b/versions.json index 59f17b2b..8858c6ab 100644 --- a/versions.json +++ b/versions.json @@ -1,3 +1 @@ -[ - "2.0" -] +["2.0"] From d063ee5c19008503d74644c15132249e924a0462 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:43:56 -0800 Subject: [PATCH 078/627] changes - updated networks page - updated what is lit and overview copy - updated use cases page - updated grants page to link eco ideas - added openfort integration - added m/g/b to serverless signing overview - reduced concepts page to 3 and refreshed language --- Ecosystem/lit-grants.md | 11 ++- docs/concepts/aa-x-lit.md | 70 ---------------- docs/concepts/pkps-as-wallet.md | 14 ++-- docs/concepts/programmable-signing-concept.md | 19 ++--- docs/integrations/aa/openfort.md | 70 ++++++++++++++++ docs/intro/overview.mdx | 4 +- docs/intro/usecases.md | 82 +++---------------- docs/intro/what-is-lit-protocol.md | 22 ++--- docs/network/networks/mainnet.md | 33 ++++++++ docs/network/networks/testnet.md | 14 ++++ docs/network/rollup.mdx | 12 +-- docs/sdk/serverless-signing/overview.md | 4 +- sidebars.js | 32 +++++--- 13 files changed, 190 insertions(+), 197 deletions(-) delete mode 100644 docs/concepts/aa-x-lit.md create mode 100644 docs/integrations/aa/openfort.md create mode 100644 docs/network/networks/mainnet.md create mode 100644 docs/network/networks/testnet.md diff --git a/Ecosystem/lit-grants.md b/Ecosystem/lit-grants.md index 4a53f75c..cce8d037 100644 --- a/Ecosystem/lit-grants.md +++ b/Ecosystem/lit-grants.md @@ -2,15 +2,14 @@ sidebar_position: 1 --- -# Grants +# Grants and Ecosystem Ideas + +## Grant Program The Lit grant program is looking to fund projects that improve developer experience and community development in the web3 ecosystem. We want to support those who are building the infrastructure and applications that will make it easier for people to use and develop Lit-enabled applications. ### Grant Criteria 1. Must be open source. -2. Must utilize [programmatic signing](https://developer.litprotocol.com/v3/sdk/wallets/intro). - -Get inspired by taking a look at our [Request for Ecosystem Proposals](https://litprotocol.notion.site/Lit-Request-for-Ecosystem-Proposals-ae3f31e7f32c413cbe0b36c2fe53378d) and [Request for Startups](https://spark.litprotocol.com/request-for-startups/). ## [Small Grants](https://github.com/LIT-Protocol/LitGrants/tree/main/small-grants) Capped at $2,500 USD, small grants are aimed at projects that are limited in scope, in early stages or have a short timeline. These grants are for smaller teams (individual developers, non-profits, and/or researchers). @@ -23,3 +22,7 @@ We're looking for projects that will significantly increase Lit Protocol's adopt Project grants are targeted toward projects with multiple phases, longer timelines, complex needs and greater financial or operational overhead. At this current time, we are capping the open grants at $10K USDC. [Apply here through our grants GitHub page.](https://github.com/LIT-Protocol/LitGrants) + +## Ecosystem Ideas + +Get inspired by taking a look at our [Ecosystem Ideas page](https://github.com/LIT-Protocol/Ecosystem-Ideas/issues) and [Request for Startups](https://spark.litprotocol.com/request-for-startups/). diff --git a/docs/concepts/aa-x-lit.md b/docs/concepts/aa-x-lit.md deleted file mode 100644 index 3e682253..00000000 --- a/docs/concepts/aa-x-lit.md +++ /dev/null @@ -1,70 +0,0 @@ -# Account Abstraction x Lit MPC - -Lit leverages [multi-party computation (MPC)](https://www.wikiwand.com/en/Secure_multi-party_computation?ref=spark.litprotocol.com) to provide a distributed key management system that enables secure reading and writing of data between blockchains and off-chain platforms. With the added benefits of encryption, access control, and programmatic signing, Lit enhances the capabilities of what’s possible with account abstraction. - -Section Overview - -- Use cases of account abstraction with Lit -- An intro to account abstraction and multiparty computation (MPC) -- How to use Lit Actions & Programmable Key Pairs (PKPs) to work with AA - -## How to use Lit with Account Abstraction (AA) - -1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. -2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. -3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. -4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. -5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. - -### The technology that makes Lit x AA possible - -In order to utilize account abstraction systems with Lit, there are two main concepts to understand: Programmable Key Pair (a public private key pair stored across the Lit nodes) and Lit Actions, JavaScript functions that specify the conditionals of signing. - -Lit Actions are JavaScript functions that can communicate data across blockchains, interoperate between previously disconnected ecosystems, and use off-chain data sources in their computation by making arbitrary [HTTP requests](../sdk/wallets/intro.md). - -Lit Actions are used in conjunction with Programmable Key Pairs (PKPs) to give signing capabilities. Each PKP is generated collectively by the Lit network in a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation?ref=spark.litprotocol.com) (DKG) whereby each node only holds a **share** of the underlying private key (a key-share) and the complete private key **never exists in its entirety**. - -To create this distributed key pair, you must mint it in the form of an ERC-721 NFT. The NFT stands as the “symbol” or method for controlling the distributed key custodied by the Lit network. This means that only the **wallet address or smart contract holding the PKP NFT** can authorize how it is used for signing. - -PKP signatures are the validation result of Lit Actions code when using a signature to *prove* that a particular interaction took place. Lit Actions can validate the information from external sources, such as from a Weather API, or data that is stateless such as checking if a number is prime. - -Ideal cases for PKPs and Lit Actions - -- Generating proofs are ideal for usage with AA wallets, essentially this is programmable transaction validation through Lit’s network with a signer -- Looking up permitted actions, addresses, and [auth methods](../sdk/authentication/overview.md) associated with a PKP -- Checking access control conditions with [conditional signing](../sdk/serverless-signing/conditional-signing.md) - - -## A Brief Account Abstraction (AA) Intro - -Account abstraction references [EIP-4337](https://eip4337.com/en/latest/index.html?ref=spark.litprotocol.com). AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific [entry point](https://ethereum-magicians.org/t/erc-4337-account-abstraction-via-entry-point-contract-specification/7160/1?ref=spark.litprotocol.com). With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. - -EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. - -How AA enhances user experience: - -- Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. -- Social Recovery - In [What is a Social Recovery Wallet](https://hackernoon.com/what-is-a-social-recovery-wallet?ref=spark.litprotocol.com) by Vitalik Buterin, he writes a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. - -## Multi party computation (MPC) - -MPC enables multiple parties – each holding private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). - -An MPC wallet is a wallet whose public private key is divided and shared among multiple parties, in Lit’s case the key is stored across the Lit nodes and only authorized parties can recombine the key shares to generate a signing key. - -![MPC diagram](../../static/img/mpc.png) - -Two strengths of Lit powered MPC wallets - -- allows for authorization processes to occur outside of the blockchain, the underlying key generation and signing rely on cryptography off-chain -- can work with various blockchain networks that utilize elliptic curve signatures, including but not limited to Bitcoin. Expanding compatibility to additional blockchains lies in the capability to produce signatures the networks can decipher - -## Continue learning -Read more: https://spark.litprotocol.com/account-abstraction-and-mpc/ - -Ready to check out some code? - -[Check out this guide on how to integrate Pimlico with Lit OTP Authentication](https://docs.pimlico.io/how-to/integrations/lit-protocol) -Pimlico is an infrastructure platform for building the next generation of Smart Wallets. If you are developing an ERC-4337 Smart Wallet, they provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build and iterate on wallets. - -This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. \ No newline at end of file diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 97680785..c8b16e60 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -2,12 +2,12 @@ sidebar_position: 3 --- -# MPC Wallets +# Programmable Wallets :::note **STATE OF THE NETWORK** -Lit MPC wallets are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. +Lit PKPs are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. ::: ## Overview @@ -16,13 +16,13 @@ Applied generally, [multi-party computation (MPC)](https://en.wikipedia.org/wiki ## MPC Wallets with Lit -Lit can be used by web3 developers to easily deploy white-labeled MPC wallets. These non-custodial wallets can be used to deliver a more flexible and seamless onboarding experience to users of the decentralized web. +Lit can be used by web3 developers to easily deploy white-labeled and programmable MPC wallets. These non-custodial wallets can be used to simplify user onboarding while simulataneously making it more secure. -Each key generated by the Lit Network is distributed as shares among each participating node. This means that keys created by Lit never exist in their entirety and no one party can deny service. In order to use these keys (such as when signing a transaction), more than a threshold of key shares must be collected and aggregated. +Each key generated by the Lit Network is distributed as shares among each participating node. This means that keys created by Lit never exist in their entirety and no one party ever has the power to deny service. In order to use these keys (such as when signing a transaction), more than a threshold of key shares must be collected and aggregated. This two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. -With Lit, the *entire key lives in the network* and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. Authentication refers to the credential(s) that get assigned to these keys and have the power to control them (credentials are assigned and verified by the Lit nodes). This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/authentication/session-sigs/auth-methods/overview) are supported by Lit: +With Lit, the *entire key lives in the network* and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. This authentication logic determines what individuals or credentials have the ability to control these keys and use them. This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/authentication/session-sigs/auth-methods/overview) are supported by Lit at the time of wallet creation: - [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/authentication/session-sigs/auth-methods/web-authn) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) @@ -34,9 +34,9 @@ What’s the end goal? Providing a seamless onboarding experience for the next o ## Getting Started and Further Reading -Some links to further reading and resources to help you get started building with MPC wallets on the Lit network today: +Some links to further reading and resources to help you get started building with programmable MPC wallets on the Lit network today: - Getting started with the [Lit SDK](../sdk/installation) - Working with [Programmable Wallets](../sdk/wallets/intro) -- [Minting a Lit key](../sdk/wallets/minting) +- [Creating a wallet](../sdk/wallets/minting) - Overview of supported [authentication methods](../sdk/authentication/session-sigs/auth-methods/overview) diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index 8636e589..00d2670e 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -2,31 +2,27 @@ sidebar_position: 2 --- -# Programmable Signing +# Serverless Signing ## Overview -Lit’s distributed key management network can be used to produce programmable signatures and transaction automations. Functionally, this feature gives developers the capacity to build distributed serverless functions and applications that have the ability to sign data with their own private key. The signing keys generated by Lit are: +The Lit Network can be used for programmable signing and condition-based transaction automation. Functionally, this feature gives developers the ability to use distributed serverless functions to build apps that can sign data with their own private key. These keys are: 1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): Lit keys can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. 2. Programmable: Lit keys can be programmed to sign based on pre-defined conditions, referred to as [conditional signatures](../sdk/serverless-signing/conditional-signing.md) in the docs. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods), or generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. 3. Fault-tolerant: Each key is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key pair where no one node ever holds the key in its entirety. -To get started building with these tools right away, check out the Lit [SDK install guide](../sdk/installation). Otherwise, keep reading to get a better understanding of how digital signatures work, why the technology is important, and potential ways this tooling can be implemented in the real world! +To get started building with these tools right away, check out the Lit [SDK install guide](../sdk/serverless-signing/overview.md). Otherwise, keep reading to get a better understanding of how digital signatures work, why the technology is important, and potential ways this tooling can be implemented in the real world! ## Introduction to Digital Signatures -Based upon [public key infrastructure](https://en.wikipedia.org/wiki/Public_key_infrastructure) (PKI), digital signatures provide a tamper-resistant means of verifying the authenticity and integrity of data on the Web. Data “signed” by an individual private key can be mathematically verified against the associated public key. It is this nature of mathematical verifiability that makes digital signatures so powerful. You can trust, with high confidence, that a particular signature is in fact authentic and hasn’t been forged or tampered with. +Made possible by [public key cryptography](https://en.wikipedia.org/wiki/Public_key_infrastructure), digital signatures provide a tamper-resistant means of verifying the authenticity and integrity of data on the Web. Data “signed” by an individual private key can be mathematically verified against the associated public key. It is this nature of mathematical verifiability that makes digital signatures so powerful. You can trust, with high confidence, that a particular signature is in fact authentic and hasn’t been forged or tampered with. -Digital signatures involve the following steps: - -1. The sender creates a digital signature by hashing a message and encrypting the hash using their private key. -2. The recipient receives the message and signature. -3. The recipient verifies the signature by decrypting the hash using the sender's public key and comparing it to the hash of the original message. If the hashes are equivalent, the signature is authentic. +Digital signatures are a core component of the account and transaction logic used by blockchains and other distributed systems. Every time you send some tokens on Ethereum or post a message on Orbis, a message is created and signed by your private key (AKA your wallet). ## Programmable Signatures with Lit -The Lit network can be harnessed to program programmatic digital signatures. Some potential use cases for this functionality include: +Use serverless signing for: 1. **Event listening and condition-based transaction execution**: Automate your interactions with blockchain ecosystems using condition-based execution, enabling use cases such as on-chain limit orders or recurring payments that don’t require manual input (i.e. signing off on the transaction) from the end user. 2. **Native cross-chain messaging and swaps**: Seamlessly transfer assets and data across blockchain networks without relying on a trusted intermediary or centralized asset bridge. @@ -38,8 +34,9 @@ The Lit network can be harnessed to program programmatic digital signatures. Som ## Getting Started and Further Reading -Some links to further reading and resources to help you get started building on the Lit network today: +Some links to help you get started building with serverless signing: +- Overview of [serverless signing](../sdk/serverless-signing/overview.md) - Getting started with the [Lit SDK](../sdk/installation) - The [Lit Learning Lab](/learningLab/intro-to-lit/prog-signing) - [Projects building with Lit](https://github.com/LIT-Protocol/awesome/tree/main#projects-and-integrations) diff --git a/docs/integrations/aa/openfort.md b/docs/integrations/aa/openfort.md new file mode 100644 index 00000000..57e7fa6b --- /dev/null +++ b/docs/integrations/aa/openfort.md @@ -0,0 +1,70 @@ +# Openfort + +# Programmable MPC Wallets with Lit and Openfort + +This is an example web app that shows how you can use Lit as a programmable MPC signer on an Openfort smart acoount, using social accounts, one-time passwords, and passkeys for authentication. + +- [Live demo](https://sample-lit-protocol-nextjs.vercel.app) + +## How to run locally + +1. Clone and configure the sample + +```bash +git clone https://github.com/openfort-xyz/samples/ + +cd lit-protocol + +npm install +``` + +Copy the .env.local.example file into a file named .env.local in the folder of the server you want to use. For example: + +``` +cp .env.local.example .env.local +``` + +You will need an Openfort account in order to run the demo. Once you set up your account, go to the Openfort [developer dashboard](https://dashboard.openfort.xyz/apikeys) to find your API keys. + +```bash .env.local +NEXT_PUBLIC_OPENFORT_PUBLIC_KEY="" +NEXTAUTH_OPENFORT_SECRET_KEY="" +``` + +1.1. Add your social onboarding: + +we're using [Stytch](https://stytch.com) project's `project_id` and `public_token` to `.env.local`: + +If you're not using Stytch, feel free to comment out the Stytch provider `StytchProvider` and Stytch component `StytchOTP`. + +```bash .env.local +NEXT_PUBLIC_STYTCH_PROJECT_ID="" +NEXT_PUBLIC_STYTCH_PUBLIC_TOKEN="" +``` + +2. Create a Policy and Contract + +You can create Policies and add Contracts in the Dashboard or with the API. This sample requires a Policy and a Contract to run. Once you've created them, head to the folder `api` inside `pages` and edit the contract and policy constants in `collect-assets.ts`. + + +`contract` is the ID of a [Contract](https://www.openfort.xyz/docs/reference/api/create-contract-object) for your contract. A contract has a chainId. +If you need a test contract address, use 0x38090d1636069c0ff1Af6bc1737Fb996B7f63AC0 (NFT contract deployed in 80001 Polygon Mumbai). + +`policy` is the ID of a [Policy](https://www.openfort.xyz/docs/reference/api/create-a-policy-object) for your contract. A policy has a contract and chainId. For this demo to work, the policy must have both the contract and the register sessions as rules. + + +3. Start your development server: + +```bash +npm run dev +``` + +Visit [http://localhost:3000](http://localhost:3000) to start playing with the app. + +## Get support + +If you have questions, comments, or need help with code, contact the Openfort team via: +- [Discord](https://discord.com/invite/t7x7hwkJF4) +- On X [@openfortxyz](https://twitter.com/openfortxyz) + +You can find Lit on [X](https://twitter.com/LitProtocol), [Discord](https://discord.gg/hhqksjTJn3), and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) \ No newline at end of file diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 8191e16a..d77f315e 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -10,9 +10,7 @@ import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; # Overview -Lit Protocol lets developers and their users create and manage decentralized keys for condition-based encryption and programmatic signing for digital assets. The Lit network can be used in place of centralized key custodians and other key management solutions. - -Get started today! +Lit Protocol provides encryption, signing, and wallet infrastructure as-a-service to developers building in web3. Spanning across a decentralized set of nodes, the Lit Network provides a fault-tolerant and programmable alternative to centralized key management systems and custodians. :::note diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index ac6672eb..98b7750e 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -5,99 +5,43 @@ sidebar_position: 4 # Use Cases -When run by a distributed set of node operators, the Lit Protocol software provides generalizable, fault-tolerant key management for encryption, signing, and programmable wallets. Users of Lit can leverage advanced features that serve to enhance the security and functionality of web3 applications, namely: +Developers can use the Lit Network to build applications that leverage decentralized and programmable keys at their core. Possible use cases include: ### Decentralized Access Control -Lit’s threshold encryption network can be used to introduce private and permissioned data to a host of application categories, specifically by offering a solution to the “public-by-default” nature of blockchains and public storage networks. The Lit software can be applied generally, agnostic to the storage provider and desired use case. Lit provides the capacity for assigning arbitrary logic ([access control conditions](../sdk/access-control/evm/basic-examples)) for condition-based access control and encryption. Some possible use cases for this functionality include: +The Lit Network can be used to introduce private and permissioned data to the open web through [threshold encryption](../resources/how-it-works.md), addressing the “public-by-default” nature of blockchains and public storage networks like IPFS. -1. Encrypted wallet-based messaging: Secure wallet-to-wallet communication without relying on a centralized key custodian. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#privacy-and-encryption). +Encrypting your data with Lit is simple and a completely [client-side operation](../sdk/access-control/encryption.md). In order to decrypt, users have to meet the ([access control conditions](../sdk/access-control/evm/basic-examples)) you set. Some possible use cases for decentralized access control include: -2. User-owned social and identity graphs (“self-sovereign data”): Empower users with full control over how their personal data is managed on the Web, shifting power away from centralized corporations to individuals. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#social). +1. Encrypted wallet-based messaging: Secure wallet-to-wallet communication. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md). -3. Credential-gated spaces: Use token and credential ownership as “keys” to accessing exclusive spaces, content, and experiences, introducing additional utility to digital assets. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#metaverse). +2. User-owned social and identity graphs (“self-sovereign data”): Empower users with full control over how their data is managed on the Web. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md). + +3. Credential-gated spaces: Use token and credential ownership as “keys” to accessing exclusive spaces, content, and experiences. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md). 4. Mempool encryption: This technique can be used to conceal transaction data from Searchers and Block Builders and mitigate the negative externalities of MEV. 5. Private NFTs: Release NFTs with private embedded content that can only be accessed by the NFT owner themselves. -6. Open data marketplaces: Open data marketplaces facilitate the exchange of data between individuals and organizations, allowing users to buy, sell, or share information in a secure and transparent manner. These systems promote data-driven innovation by making diverse datasets accessible to researchers, developers, and businesses, while also providing data creators with the opportunity to monetize their own content. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#data-and-identity-marketplaces). +6. Open data marketplaces: Open data marketplaces facilitate the exchange of data between individuals and organizations, allowing users to buy, sell, or share information in a permissioned yet transparent manner. These systems promote data-driven innovation by making diverse datasets accessible to researchers, developers, and businesses, while also providing data creators with full control over how their data is used and managed. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md). ### Programmable Signing and Wallets -Interrelated but distinct from Lit’s decentralized access control product is the ability to create programmable [MPC wallets](../concepts/pkps-as-wallet.md) and complex signing automations. Some potential use cases include: +Interrelated but distinct from Lit’s decentralized encryption capabilities is the ability to generate programmable keys for non-custodial [user onboarding](../sdk/wallets/intro.md) and [serverless signing](../sdk/serverless-signing/overview.md). Some potential use cases include: -1. Event listening and condition-based transaction execution: Automate your interactions with blockchain ecosystems using condition-based execution, enabling use cases such as on-chain limit orders or recurring payments that don’t require manual input (i.e. signing off on the transaction) from the end user. [Example](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). +1. Event listening and condition-based transaction execution: Automate transactions with condition-based execution, enabling use cases such as on-chain limit orders, recurring payments, and more. [Example](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). -2. Native cross-chain messaging and swaps: Seamlessly transfer assets and data across blockchain networks without relying on a trusted intermediary or centralized asset bridge. [Example](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/). +2. Native cross-chain messaging and swaps: Transfer assets and data across blockchain networks without relying on a trusted intermediary or centralized asset bridge. [Example](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/). -3. Seed-phraseless wallet onboarding using web2 authentication and sign-on flows (such as SMS, Discord oAuth, Passkey): Create easier onboarding experiences for non-crypto native users using familiar sign-on methods and abstract away seed phrases and complex private key management, while also providing the full web3 capabilities of an EOA. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#wallets-and-account-abstraction-aa). +3. Seed-phraseless user onboarding and web2 authentication flows (such as SMS, Discord oAuth, Passkeys): Create easier onboarding experiences for non-crypto native users using familiar sign-on methods and session keys, while providing the full web3 capabilities of an EOA. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md?ref=spark.litprotocol.com#wallets-and-account-abstraction-aa). -4. Automated verifiable credential issuance: Verifiable credentials are digital certifications attesting to particular user attributes or qualifications. Using condition-based signing, automate the issuance of these credentials and eliminate the possibility of fraud or human error. [Example](https://spark.litprotocol.com/krebitxlitactions/). +4. Automated verifiable credential issuance: Automate credential issuance with prgrammable signing. [Example](https://spark.litprotocol.com/krebitxlitactions/). 5. Enterprise signed data applications: There are numerous use cases for cryptographically-verifiable “signed data” in institutional and enterprise environments, such as using digital signatures to authenticate and track goods in physical supply chains. Generating signed proofs over arbitrary Web data: Using digital signatures to verify the provenance and integrity of data sourced from various locations on the open web. [Example](https://spark.litprotocol.com/authenticity-matters/). -6. Trustless vault applications: Each key generated by Lit is represented by an ERC-721 token on the blockchain. This means that any assets sent to the Lit key can be traded or sold in a single transaction by selling the NFT that controls the underlying key pair. This facilitates potential trustless “vault” applications where an array of assets may be managed together according to the rules associated with the PKP itself. - 7. Backup, recovery, and progressive self custody for account abstraction (AA): Use Lit to configure robust backup and recovery solutions for AA wallets (such as multi-factor authentication or social recovery methods), helping users avoid the loss of access to their assets due to lost or compromised keys. [Get started](https://spark.litprotocol.com/mass-adoption-of-digital-ownership-and-progressive-self-custody/). -### DeFi Automation - -Use PKPs and Actions to automate your interactions across decentralized finance. - -- Condition-based transactions (ex. on-chain limit orders). -- Recurring payments. -- Automated vault applications for seamlessly trading asset bundles. - -Example Projects: - -- [Sling Protocol](https://github.com/Sling-Protocol/pkp-dex-sdk): An SDK for automating transactions on popular DEXs. Currently supports Uniswap V3 and 1inch. -- [Cask](https://www.cask.fi/): Automated, recurring payments. - -### Infrastructure - -Build powerful infrastructure that harnesses the power of Lit! - -- Cross-chain bridges. -- Oracles for off-chain data. -- Event listening and condition-based execution. -- Privacy-preserving transactions. -- Decentralized key custodians. - -Example Projects: - -- [Yacht Labs](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/): Cross-chain atomic swaps with PKPs and Lit Actions -- [Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main): SDK for building privacy-preserving interactions on-chain -- [MagicWallet](https://github.com/DustilDawn/Magic): One account, multiple seedless wallets -- More coming soon… 👀 —> [build with us](https://litgateway.com/discord)! - -### Web3 Social - -Social applications that empower users with privacy and true data ownership. - -- Credentialing systems for privacy-preserving web3 login. -- User owned social graphs. -- Account abstraction with support for web2 auth methods (i.e. Apple Passkey). -- Decentralized chat bots. -- Verifiable, on-chain reputation building. - -Example Projects: - -- [Ceramic Integration](https://github.com/LIT-Protocol/lit-action-ceramic-signing-demo): Write and permission access to your own private Ceramic data store. -- [Krebit](https://spark.litprotocol.com/krebitxlitactions/): Automated Verifiable Credential issuance. -- [Wallet Abstraction demo](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/): Using Google oAuth to create a Lit MPC wallet. - -### Gaming - -Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-gaming/). - -- Signing and wallet abstraction for blockchain-based games. -- NPCs! -- Condition-based reward systems and achievements. -- Private data for multiplayer games. - - ## Additional Resources You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 73c41cd1..8887bc56 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -5,27 +5,21 @@ sidebar_position: 2 # What is Lit Protocol -Lit Protocol is a system for creating decentralized key management networks, powered by threshold cryptography and secure encrypted virtualization. The Lit network provides a generalizable key management layer for encryption, compute, and programmable signing. +Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). -Developers can build on the Lit network with a comprehensive toolkit for managing digital assets and sovereign identities on the open web. +Lit can primarily be used for [data encryption](../sdk/access-control/intro.md), building [embedded wallets](../sdk/wallets/intro.md), and [programmable digital signatures](../sdk/serverless-signing/overview.md). -## Core Functionality - -Lit Protocol provides developers with two core services: - -1. **Encryption and Access Control** : Lit enables the client-side encryption and decryption of data by utilizing on or off-chain conditions, without relying on a centralized key custodian. Get started with [encryption and access control](../sdk/access-control/intro.md). - -2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are multiparty computation wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [programmatic signing](../sdk/wallets/intro.md). +Get started with the [Lit SDK](../sdk/installation.md). ## Use Cases Lit Protocol can be utilized for various web3 applications, including: -- **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), [recurring payments](https://www.notion.so/OSS-tooling-infrastructure-for-recurring-payments-54b01631e4b14a1cb16b20d14641fe2f), liquid staking solutions, and more. -- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for off-chain data, [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [AA wallet signers](https://spark.litprotocol.com/account-abstraction-and-mpc/). -- **Sovereign Data**: [Verifiable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. +- **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), infrastructure for recurring payments, liquid staking solutions, and more. +- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for off-chain data, [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [signers for smart accounts](https://spark.litprotocol.com/account-abstraction-and-mpc/). +- **Sovereign Data**: [Programmable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. - **Web3 Social**: [Private data in social apps](https://docs.lens.xyz/docs/gated), [token-gated video streaming](https://github.com/suhailkakar/livepeer-token-gated-vod), decentralized chatbots, and on-chain reputation building. -- **Gaming**: [Wallet abstraction](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). +- **Gaming**: [Seamless onboarding](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). - **Token Gating for Web2 Apps**: Token-based access control for [Shopify](https://apps.shopify.com/lit-token-access), [Zoom](https://litgateway.com/apps/zoom), [Google Drive](https://litgateway.com/apps/google-drive), and [WordPress](https://litgateway.com/apps/wordpress). Explore more [use cases](usecases.md) and [projects building](../ecosystem/projects) with Lit. @@ -41,7 +35,7 @@ Get started on your developer journey by diving right into the code: ## Join the Community -Join our developer community on [Discord](https://litgateway.com/discord) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at our [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). +Join our developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at our [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). Check out our [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md new file mode 100644 index 00000000..8e6c44e9 --- /dev/null +++ b/docs/network/networks/mainnet.md @@ -0,0 +1,33 @@ +# Mainnet + +## Overview + +:::note +**STATE OF THE NETWORK** + +Lit V0, the mainnet beta (AKA 'Habanero'), is set to launch on Friday, December 1st. Habanero will be the latest version of the Lit Network that will support [ID encrypt](../../sdk/access-control/encryption.md), [programmable wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). + +The initial DKG will be conducted with subsequent DKGs to follow until the network is stable. This means that the initial keys that are generated on Habanero **MAY BE DELETED**. As such, please do not use Habanero to store real assets until stability has been confirmed. Please monitor this page for changes or join the [Lit Builders Circle](https://t.me/+aa73FAF9Vp82ZjJh) for status updates. +::: + +Main networks should be used by applications that are currently live in production, designed to store live assets. Mainnet keys are persistent and will not be deleted. + +You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. + + +| Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | +| ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | +| Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | None | n/a | +| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | + +## Token Usage +If you'd like to use Habanero, you'll need some 'testLIT' tokens to pay for network fees and [gas](../rollup.mdx). Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). (NOTE: you can use Habanero without test tokens, but your usage will be rate limited to 5 requests per day). + +## Migration +In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the V3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the V2 SDK, you'll need to update your app to use V3. + +Upgrading to V3 can be done by following the [migration guide](../../migration/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. + +If your app currently has users in production (on the V1 or V2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to V3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: +- If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. +- If you’re building with PKPs (AKA programmable wallets): Re-mint PKPs on Habanero with the same auth methods. Docs will be provided soon. \ No newline at end of file diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md new file mode 100644 index 00000000..8745c9a6 --- /dev/null +++ b/docs/network/networks/testnet.md @@ -0,0 +1,14 @@ +# Testnet + +Test networks are designed for early-stage application development, for development and testing pre-production. Storing assets with real world value on these networks is highly discouraged and keys may be deleted. All test networks may be deprecated in the future. + +When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLIT'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). + +You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. + + +| Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | +| ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | +| Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | ~ July 2024 | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | +| Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | +| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index a9c84be6..95a10e4d 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -8,13 +8,13 @@ Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the perfor ## About Chronicle -Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Chronicle aims to provide a more streamlined and efficient environment for developers and users alike. Note that PKPs minted on Chronicle can still sign transactions on any chain, including any EVM or Cosmos Chains. +Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Notee that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. -## `LIT` Test Token +## `testLIT` Test Token -The `LIT` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. +The `testLIT` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `LIT` test token, please use the faucet at https://faucet.litprotocol.com/. The `LIT` test token will be sent to your wallet address, allowing you to perform test transactions on the rollup. +To obtain the `testLIT` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLIT` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. @@ -28,10 +28,10 @@ To connect to Chronicle, you can click or manually add the n | Name | Chronicle - Lit Protocol Testnet | | RPC URL | https://chain-rpc.litprotocol.com/http | | Block Explorer URL | https://chain.litprotocol.com/ | -| Currency Symbol | LIT | +| Currency Symbol | testLIT | | Currency Decimals | 18 | -**Note** You must have `Lit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. +**Note** You must have the `testLit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. ## Block Explorer diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 5770f18b..900d2c46 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -12,6 +12,8 @@ For an in-depth review of the functionality provided by the Lit Actions SDK, tak 2. Tool: [GetLit CLI](https://developer.litprotocol.com/v3/tools/getlit-cli) 3. Example: [Fetching Off-Chain Data in a Lit Action](../serverless-signing/fetch.md) 4. Example: [Conditional Signing with Lit Actions](../serverless-signing/conditional-signing.md) +3. Example: [Using Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376): Use the Mint/Grant/Burn function in the Lit `contracts-sdk` to atomically assign a Lit Action(s) to a PKP. The PKP will only return a signed response if the function you've declared in your Lit Action returns 'true'. Learn more about minting PKPs [here](../wallets/minting.md). + ### Overview @@ -44,4 +46,4 @@ A trivial example would be a Lit Action and associated PKP that checks if a numb ### Examples 1. [Executing a trade on Uniswap](https://github.com/LIT-Protocol/lit-apps/blob/master/packages/lit-actions/src/to-be-converted/wip-swap.action.mjs?ref=spark.litprotocol.com) -2. [Fetching off-chain price data](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/#how-it-works) +2. [Fetching off-chain price data](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/#how-it-works) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index eb99bcf2..65a473e4 100644 --- a/sidebars.js +++ b/sidebars.js @@ -62,11 +62,29 @@ const sidebars = { className: "category-not-collapsible", items: [ "concepts/access-control-concept", - "concepts/aa-x-lit", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet", ], }, + { + type: "category", + label: "Network", + collapsible: false, + className: "category-not-collapsible", + items: [ + { + type: "category", + label: "Lit Networks", + collapsed: true, + items: [ + "network/networks/testnet", + "network/networks/mainnet", + ] + }, + "network/feature-matrix", + "network/rollup", + ], + }, { type: "category", label: "Migration to V3", @@ -243,6 +261,7 @@ const sidebars = { items: [ "integrations/aa/alchemy-account-kit", "integrations/aa/pimlico", + "integrations/aa/openfort", ], }, { @@ -256,17 +275,6 @@ const sidebars = { }, ], }, - { - type: "category", - label: "Network", - collapsible: false, - className: "category-not-collapsible", - items: [ - "network/state-of-network", - "network/feature-matrix", - "network/rollup", - ], - }, { type: "category", label: "Resources", From e5dea91c0601fa4a83e0801367c213cc9cd57bbb Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:50:20 -0800 Subject: [PATCH 079/627] Update openfort.md --- docs/integrations/aa/openfort.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/integrations/aa/openfort.md b/docs/integrations/aa/openfort.md index 57e7fa6b..132266af 100644 --- a/docs/integrations/aa/openfort.md +++ b/docs/integrations/aa/openfort.md @@ -1,6 +1,7 @@ + # Openfort -# Programmable MPC Wallets with Lit and Openfort +## Programmable MPC Wallets with Lit and Openfort This is an example web app that shows how you can use Lit as a programmable MPC signer on an Openfort smart acoount, using social accounts, one-time passwords, and passkeys for authentication. From 70d7eb6c4bf8c24bd73201d8892b4370d327c276 Mon Sep 17 00:00:00 2001 From: Furkan Date: Fri, 1 Dec 2023 14:07:54 +0300 Subject: [PATCH 080/627] remove: package-lock.json --- package-lock.json | 28553 -------------------------------------------- 1 file changed, 28553 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 42a9ba8b..00000000 --- a/package-lock.json +++ /dev/null @@ -1,28553 +0,0 @@ -{ - "name": "lit-docs", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "lit-docs", - "version": "0.0.0", - "dependencies": { - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-google-analytics": "^2.1.0", - "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.0.24", - "@mdx-js/react": "^1.6.21", - "@svgr/webpack": "^5.5.0", - "clsx": "^1.1.1", - "file-loader": "^6.2.0", - "node-fetch": "^3.3.1", - "prism-react-renderer": "^1.2.1", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "url-loader": "^4.1.1" - }, - "devDependencies": { - "dotenv": "^16.0.3", - "husky": "^7.0.4" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", - "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", - "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", - "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", - "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", - "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", - "dependencies": { - "@algolia/cache-common": "4.20.0" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", - "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", - "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", - "dependencies": { - "@algolia/cache-common": "4.20.0" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", - "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", - "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", - "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" - } - }, - "node_modules/@algolia/client-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", - "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", - "dependencies": { - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", - "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" - } - }, - "node_modules/@algolia/client-search": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", - "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", - "dependencies": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "node_modules/@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" - }, - "node_modules/@algolia/logger-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", - "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" - }, - "node_modules/@algolia/logger-console": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", - "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", - "dependencies": { - "@algolia/logger-common": "4.20.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", - "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", - "dependencies": { - "@algolia/requester-common": "4.20.0" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", - "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" - }, - "node_modules/@algolia/requester-node-http": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", - "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", - "dependencies": { - "@algolia/requester-common": "4.20.0" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", - "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" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", - "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", - "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.3", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "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" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", - "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", - "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", - "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", - "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", - "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", - "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", - "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", - "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", - "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", - "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", - "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@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.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", - "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", - "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", - "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", - "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.22.5", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", - "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", - "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", - "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.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", - "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", - "dependencies": { - "@babel/compat-data": "^7.23.2", - "@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.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", - "@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.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@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.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.23.2", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.23.0", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.23.0", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-modules-systemjs": "^7.23.0", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.23.0", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", - "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", - "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-typescript": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", - "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", - "dependencies": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", - "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" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", - "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" - }, - "node_modules/@docsearch/react": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", - "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" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@docusaurus/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", - "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", - "dependencies": { - "@babel/core": "^7.18.6", - "@babel/generator": "^7.18.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@babel/runtime": "^7.18.6", - "@babel/runtime-corejs3": "^7.18.6", - "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.2.1", - "autoprefixer": "^10.4.7", - "babel-loader": "^8.2.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.0", - "cli-table3": "^0.6.2", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.23.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "del": "^6.1.1", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^1.12.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^6.1.0", - "html-tags": "^3.2.0", - "html-webpack-plugin": "^5.5.0", - "import-fresh": "^3.3.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.6.1", - "postcss": "^8.4.14", - "postcss-loader": "^7.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.3", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.3", - "rtl-detect": "^1.0.4", - "semver": "^7.3.7", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.3", - "tslib": "^2.4.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^6.0.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-dev-server": "^4.9.3", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.2" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "dependencies": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@docusaurus/core/node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@docusaurus/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@docusaurus/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@docusaurus/core/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@docusaurus/core/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@docusaurus/core/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@docusaurus/core/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@docusaurus/core/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@docusaurus/core/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@docusaurus/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/core/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/core/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/@docusaurus/core/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/core/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@docusaurus/core/node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@docusaurus/core/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", - "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", - "dependencies": { - "cssnano-preset-advanced": "^5.3.8", - "postcss": "^8.4.14", - "postcss-sort-media-queries": "^4.2.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/logger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", - "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/logger/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@docusaurus/logger/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@docusaurus/logger/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@docusaurus/logger/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@docusaurus/logger/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/logger/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", - "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", - "dependencies": { - "@babel/parser": "^7.18.8", - "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@mdx-js/mdx": "^1.6.22", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "image-size": "^1.0.1", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.2.0", - "stringify-object": "^3.3.0", - "tslib": "^2.4.0", - "unified": "^9.2.2", - "unist-util-visit": "^2.0.3", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/module-type-aliases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", - "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", - "dependencies": { - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" - } - }, - "node_modules/@docusaurus/module-type-aliases/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", - "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "cheerio": "^1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "tslib": "^2.4.0", - "unist-util-visit": "^2.0.3", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", - "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@types/react-router-config": "^5.0.6", - "combine-promises": "^1.1.0", - "fs-extra": "^10.1.0", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", - "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "tslib": "^2.4.0", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", - "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "fs-extra": "^10.1.0", - "react-json-view": "^1.21.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz", - "integrity": "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==", - "dependencies": { - "@docusaurus/core": "2.4.3", - "@docusaurus/types": "2.4.3", - "@docusaurus/utils-validation": "2.4.3", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz", - "integrity": "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==", - "dependencies": { - "@babel/core": "^7.18.6", - "@babel/generator": "^7.18.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@babel/runtime": "^7.18.6", - "@babel/runtime-corejs3": "^7.18.6", - "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.4.3", - "@docusaurus/logger": "2.4.3", - "@docusaurus/mdx-loader": "2.4.3", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.4.3", - "@docusaurus/utils-common": "2.4.3", - "@docusaurus/utils-validation": "2.4.3", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.2.1", - "autoprefixer": "^10.4.7", - "babel-loader": "^8.2.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.0", - "cli-table3": "^0.6.2", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.23.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "del": "^6.1.1", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^2.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^6.1.0", - "html-tags": "^3.2.0", - "html-webpack-plugin": "^5.5.0", - "import-fresh": "^3.3.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.6.1", - "postcss": "^8.4.14", - "postcss-loader": "^7.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.3", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.3", - "rtl-detect": "^1.0.4", - "semver": "^7.3.7", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.3", - "tslib": "^2.4.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^6.0.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-dev-server": "^4.9.3", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.2" - }, - "bin": { - "docusaurus": "bin/docusaurus.mjs" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core/node_modules/@docusaurus/utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", - "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", - "dependencies": { - "@docusaurus/logger": "2.4.3", - "@svgr/webpack": "^6.2.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core/node_modules/@docusaurus/utils-common": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz", - "integrity": "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/cssnano-preset": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz", - "integrity": "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==", - "dependencies": { - "cssnano-preset-advanced": "^5.3.8", - "postcss": "^8.4.14", - "postcss-sort-media-queries": "^4.2.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/logger": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz", - "integrity": "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==", - "dependencies": { - "chalk": "^4.1.2", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz", - "integrity": "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==", - "dependencies": { - "@babel/parser": "^7.18.8", - "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.4.3", - "@docusaurus/utils": "2.4.3", - "@mdx-js/mdx": "^1.6.22", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "image-size": "^1.0.1", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.2.0", - "stringify-object": "^3.3.0", - "tslib": "^2.4.0", - "unified": "^9.2.2", - "unist-util-visit": "^2.0.3", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader/node_modules/@docusaurus/utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", - "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", - "dependencies": { - "@docusaurus/logger": "2.4.3", - "@svgr/webpack": "^6.2.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz", - "integrity": "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==", - "dependencies": { - "@docusaurus/logger": "2.4.3", - "@docusaurus/utils": "2.4.3", - "joi": "^17.6.0", - "js-yaml": "^4.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation/node_modules/@docusaurus/utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", - "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", - "dependencies": { - "@docusaurus/logger": "2.4.3", - "@svgr/webpack": "^6.2.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "dependencies": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@docusaurus/plugin-google-analytics/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", - "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", - "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "sitemap": "^7.1.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", - "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/plugin-debug": "2.1.0", - "@docusaurus/plugin-google-analytics": "2.1.0", - "@docusaurus/plugin-google-gtag": "2.1.0", - "@docusaurus/plugin-sitemap": "2.1.0", - "@docusaurus/theme-classic": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-search-algolia": "2.1.0", - "@docusaurus/types": "2.1.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", - "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/react-loadable": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "dependencies": { - "@types/react": "*", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/@docusaurus/theme-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", - "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", - "dependencies": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@mdx-js/react": "^1.6.22", - "clsx": "^1.2.1", - "copy-text-to-clipboard": "^3.0.1", - "infima": "0.2.0-alpha.42", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.14", - "prism-react-renderer": "^1.3.5", - "prismjs": "^1.28.0", - "react-router-dom": "^5.3.3", - "rtlcss": "^3.5.0", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", - "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", - "dependencies": { - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^1.2.1", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^1.3.5", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", - "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", - "dependencies": { - "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "algoliasearch": "^4.13.1", - "algoliasearch-helper": "^3.10.0", - "clsx": "^1.2.1", - "eta": "^1.12.3", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-translations": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", - "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", - "dependencies": { - "fs-extra": "^10.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/types": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz", - "integrity": "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", - "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", - "dependencies": { - "@docusaurus/logger": "2.1.0", - "@svgr/webpack": "^6.2.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", - "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", - "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", - "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", - "dependencies": { - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "joi": "^17.6.0", - "js-yaml": "^4.1.0", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=16.14" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "dependencies": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "dependencies": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "^6.0.0" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "dependencies": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" - } - }, - "node_modules/@docusaurus/utils/node_modules/@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "dependencies": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@docusaurus/utils/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@docusaurus/utils/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@docusaurus/utils/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@docusaurus/utils/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/@docusaurus/utils/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@docusaurus/utils/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/@docusaurus/utils/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/@docusaurus/utils/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/@docusaurus/utils/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "node_modules/@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "node_modules/@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "node_modules/@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "node_modules/@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "node_modules/@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "node_modules/@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "node_modules/@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "node_modules/@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "node_modules/@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ] - }, - "node_modules/@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "node_modules/@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "node_modules/@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "node_modules/@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "node_modules/@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "node_modules/@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "node_modules/@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "node_modules/@lit-protocol/auth-helpers": { - "version": "3.0.24", - "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz", - "integrity": "sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg==", - "dependencies": { - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/constants": { - "version": "3.0.24", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz", - "integrity": "sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw==", - "dependencies": { - "@lit-protocol/auth-helpers": "3.0.24", - "@lit-protocol/types": "3.0.24", - "ethers": "^5.7.1", - "jszip": "^3.10.1", - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@lit-protocol/types": { - "version": "3.0.24", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz", - "integrity": "sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw==", - "dependencies": { - "@lit-protocol/auth-helpers": "3.0.24", - "ethers": "^5.7.1", - "jszip": "^3.10.1", - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "node_modules/@mdx-js/mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", - "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "dependencies": { - "@babel/core": "7.12.9", - "@babel/plugin-syntax-jsx": "7.12.1", - "@babel/plugin-syntax-object-rest-spread": "7.8.3", - "@mdx-js/util": "1.6.22", - "babel-plugin-apply-mdx-type-prop": "1.6.22", - "babel-plugin-extract-import-names": "1.6.22", - "camelcase-css": "2.0.1", - "detab": "2.0.4", - "hast-util-raw": "6.0.1", - "lodash.uniq": "4.5.0", - "mdast-util-to-hast": "10.0.1", - "remark-footnotes": "2.0.0", - "remark-mdx": "1.6.22", - "remark-parse": "8.0.3", - "remark-squeeze-paragraphs": "4.0.0", - "style-to-object": "0.3.0", - "unified": "9.2.0", - "unist-builder": "2.0.3", - "unist-util-visit": "2.0.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@mdx-js/mdx/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/@mdx-js/mdx/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@mdx-js/mdx/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@mdx-js/mdx/node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/react": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0" - } - }, - "node_modules/@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.23", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", - "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" - }, - "node_modules/@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - }, - "node_modules/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@slorber/static-site-generator-webpack-plugin": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", - "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", - "dependencies": { - "eval": "^0.1.8", - "p-map": "^4.0.0", - "webpack-sources": "^3.2.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@spruceid/siwe-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz", - "integrity": "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==", - "dependencies": { - "@noble/hashes": "^1.1.2", - "apg-js": "^4.1.1", - "uri-js": "^4.4.1", - "valid-url": "^1.0.9" - } - }, - "node_modules/@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "dependencies": { - "@stablelib/int": "^1.0.1" - } - }, - "node_modules/@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "node_modules/@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "dependencies": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "node_modules/@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", - "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", - "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" - }, - "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/hast": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz", - "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" - }, - "node_modules/@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" - }, - "node_modules/@types/http-proxy": { - "version": "1.17.13", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", - "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", - "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", - "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" - }, - "node_modules/@types/mdast": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", - "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" - }, - "node_modules/@types/node": { - "version": "20.8.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", - "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", - "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/parse-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", - "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" - }, - "node_modules/@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" - }, - "node_modules/@types/q": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz", - "integrity": "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" - }, - "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" - }, - "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" - }, - "node_modules/@types/react": { - "version": "18.2.33", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", - "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "node_modules/@types/react-router-config": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", - "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } - }, - "node_modules/@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "dependencies": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "node_modules/@types/sax": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz", - "integrity": "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", - "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" - }, - "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", - "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.35", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", - "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" - }, - "node_modules/@types/ws": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", - "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yargs": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", - "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", - "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "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" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "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" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "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" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "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" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "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" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/accepts/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/algoliasearch": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", - "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" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", - "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", - "dependencies": { - "@algolia/events": "^4.0.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 6" - } - }, - "node_modules/ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/apg-js": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz", - "integrity": "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.reduce": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", - "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "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" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", - "dependencies": { - "follow-redirects": "^1.14.7" - } - }, - "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "dependencies": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@babel/core": "^7.11.6" - } - }, - "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "dependencies": { - "@babel/helper-plugin-utils": "7.10.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "node_modules/bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "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" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "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" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "node_modules/boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "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" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/boxen/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/boxen/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/boxen/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "node_modules/browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "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" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001554", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz", - "integrity": "sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/canonicalize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", - "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" - }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "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" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-table3/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/cli-table3/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compressible/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "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" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/copy-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "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" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/copy-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/copy-webpack-plugin/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/core-js": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", - "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", - "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", - "dependencies": { - "browserslist": "^4.22.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-pure": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz", - "integrity": "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, - "node_modules/cross-fetch/node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", - "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", - "dependencies": { - "cssnano": "^5.1.8", - "jest-worker": "^29.1.2", - "postcss": "^8.4.17", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "@swc/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "lightningcss": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "dependencies": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-advanced": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", - "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", - "dependencies": { - "autoprefixer": "^10.4.12", - "cssnano-preset-default": "^5.2.14", - "postcss-discard-unused": "^5.1.0", - "postcss-merge-idents": "^5.1.1", - "postcss-reduce-idents": "^5.2.0", - "postcss-zindex": "^5.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "dependencies": { - "repeat-string": "^1.5.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "dependencies": { - "address": "^1.0.1", - "debug": "4" - }, - "bin": { - "detect": "bin/detect-port.js", - "detect-port": "bin/detect-port.js" - } - }, - "node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port-alt/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port-alt/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dot-prop/node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.568", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz", - "integrity": "sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==" - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dependencies": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", - "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "node_modules/es-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", - "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz", - "integrity": "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "funding": [ - { - "type": "individual", - "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" - }, - { - "type": "individual", - "url": "https://www.buymeacoffee.com/ricmoo" - } - ], - "dependencies": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "node_modules/eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "dependencies": { - "@types/node": "*", - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "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" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "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" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "node_modules/express/node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "node_modules/express/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "dependencies": { - "fbjs": "^3.0.0" - } - }, - "node_modules/fbjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "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" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", - "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", - "dependencies": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.1" - }, - "peerDependencies": { - "react": "^15.0.2 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "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" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "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" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "node_modules/global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "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" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gray-matter/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/gray-matter/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "dependencies": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "dependencies": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "dependencies": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "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" - } - }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "node_modules/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "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" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "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" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "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" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "node_modules/http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "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" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true, - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "node_modules/immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.42", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", - "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==", - "engines": { - "node": ">=12" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "node_modules/internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "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" - } - }, - "node_modules/js-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "dependencies": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "engines": { - "node": ">=6" - } - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "node_modules/lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "node_modules/lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" - }, - "node_modules/lodash.invokemap": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", - "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "node_modules/lodash.pullall": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", - "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "node_modules/lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "dependencies": { - "unist-util-remove": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", - "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", - "deprecated": "this will be v4", - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", - "dependencies": { - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "node_modules/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "engines": { - "node": ">=10.5.0" - } - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" - } - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "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" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", - "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", - "dependencies": { - "array.prototype.reduce": "^1.0.6", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "safe-array-concat": "^1.0.0" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "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" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-unused": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", - "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", - "dependencies": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-loader/node_modules/cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "dependencies": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/postcss-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/postcss-merge-idents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", - "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-idents": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", - "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sort-media-queries": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", - "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", - "dependencies": { - "sort-css-media-queries": "2.1.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.4.16" - } - }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/postcss-svgo/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/postcss-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/postcss-svgo/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/postcss-svgo/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/postcss-svgo/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/postcss-svgo/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/postcss-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/postcss-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "node_modules/postcss-zindex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", - "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", - "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", - "peerDependencies": { - "react": ">=0.14.9" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dependencies": { - "inherits": "~2.0.3" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "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" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", - "dependencies": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, - "node_modules/react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "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" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/react-dev-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/react-dev-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" - }, - "node_modules/react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "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" - }, - "peerDependencies": { - "react": "^16.6.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-json-view": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", - "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", - "dependencies": { - "flux": "^4.0.1", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^8.3.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^16.3.0 || ^15.5.4", - "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" - } - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-loadable": { - "name": "@docusaurus/react-loadable", - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "dependencies": { - "@types/react": "*", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "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" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "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" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-textarea-autosize": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", - "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", - "dependencies": { - "@babel/runtime": "^7.20.13", - "use-composed-ref": "^1.3.0", - "use-latest": "^1.2.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "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" - } - }, - "node_modules/readable-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "dependencies": { - "rc": "1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-emoji": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", - "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", - "dependencies": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.3" - } - }, - "node_modules/remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "dependencies": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/remark-mdx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/remark-mdx/node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "node_modules/remark-mdx/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/remark-mdx/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/remark-mdx/node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", - "dependencies": { - "mdast-squeeze-paragraphs": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "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" - } - }, - "node_modules/renderkid/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "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" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/renderkid/node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", - "engines": { - "node": "*" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rtl-detect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" - }, - "node_modules/rtlcss": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", - "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", - "dependencies": { - "find-up": "^5.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.3.11", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - } - }, - "node_modules/rtlcss/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "node_modules/search-insights": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", - "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", - "peer": true - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/send/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "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" - } - }, - "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "node_modules/serve-index/node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "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" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/sirv": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", - "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", - "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" - }, - "node_modules/siwe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz", - "integrity": "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==", - "dependencies": { - "@spruceid/siwe-parser": "*", - "@stablelib/random": "^1.0.1", - "uri-js": "^4.4.1", - "valid-url": "^1.0.9" - }, - "peerDependencies": { - "ethers": "^5.6.8 || ^6.0.8" - } - }, - "node_modules/siwe-recap": { - "version": "0.0.2-alpha.0", - "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", - "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", - "dependencies": { - "canonicalize": "^2.0.0", - "multiformats": "^11.0.2", - "siwe": "^2.1.4" - }, - "peerDependencies": { - "ethers": "^5.5.1" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sort-css-media-queries": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", - "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", - "engines": { - "node": ">= 6.3.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "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" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "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" - } - }, - "node_modules/spdy-transport/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" - }, - "node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/svgo/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/svgo/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/svgo/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/svgo/node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "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" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", - "deprecated": "Use String.prototype.trim() instead" - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/type-is/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", - "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", - "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/update-notifier/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/update-notifier/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/update-notifier/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/update-notifier/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/update-notifier/node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/update-notifier/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/update-notifier/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/uri-js/node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-loader/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "dependencies": { - "use-isomorphic-layout-effect": "^1.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", - "dependencies": { - "axios": "^0.25.0", - "joi": "^17.6.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "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" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz", - "integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==", - "dependencies": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "is-plain-object": "^5.0.0", - "lodash.debounce": "^4.0.8", - "lodash.escape": "^4.0.1", - "lodash.flatten": "^4.4.0", - "lodash.invokemap": "^4.6.0", - "lodash.pullall": "^4.2.0", - "lodash.uniqby": "^4.7.0", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-middleware/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack-dev-middleware/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "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" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "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" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack-dev-server/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "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" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.3", - "pretty-time": "^1.1.0", - "std-env": "^3.0.1" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "node_modules/webpackbar/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/webpackbar/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/webpackbar/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/webpackbar/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/webpackbar/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/webpackbar/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "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" - } - }, - "node_modules/ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, - "dependencies": { - "@algolia/autocomplete-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", - "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "requires": { - "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", - "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "requires": { - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "@algolia/autocomplete-preset-algolia": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", - "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "requires": { - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "@algolia/autocomplete-shared": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", - "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "requires": {} - }, - "@algolia/cache-browser-local-storage": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", - "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", - "requires": { - "@algolia/cache-common": "4.20.0" - } - }, - "@algolia/cache-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", - "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" - }, - "@algolia/cache-in-memory": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", - "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", - "requires": { - "@algolia/cache-common": "4.20.0" - } - }, - "@algolia/client-account": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", - "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", - "requires": { - "@algolia/client-common": "4.20.0", - "@algolia/client-search": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "@algolia/client-analytics": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", - "integrity": "sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug==", - "requires": { - "@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": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", - "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", - "requires": { - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "@algolia/client-personalization": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", - "integrity": "sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ==", - "requires": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "@algolia/client-search": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", - "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", - "requires": { - "@algolia/client-common": "4.20.0", - "@algolia/requester-common": "4.20.0", - "@algolia/transporter": "4.20.0" - } - }, - "@algolia/events": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" - }, - "@algolia/logger-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", - "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" - }, - "@algolia/logger-console": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", - "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", - "requires": { - "@algolia/logger-common": "4.20.0" - } - }, - "@algolia/requester-browser-xhr": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", - "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", - "requires": { - "@algolia/requester-common": "4.20.0" - } - }, - "@algolia/requester-common": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", - "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" - }, - "@algolia/requester-node-http": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", - "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", - "requires": { - "@algolia/requester-common": "4.20.0" - } - }, - "@algolia/transporter": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", - "integrity": "sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg==", - "requires": { - "@algolia/cache-common": "4.20.0", - "@algolia/logger-common": "4.20.0", - "@algolia/requester-common": "4.20.0" - } - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz", - "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==", - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", - "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==" - }, - "@babel/core": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", - "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.3", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.2", - "@babel/parser": "^7.23.3", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.3", - "@babel/types": "^7.23.3", - "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": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz", - "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==", - "requires": { - "@babel/types": "^7.23.4", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", - "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", - "requires": { - "@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-create-class-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", - "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", - "requires": { - "@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-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", - "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", - "requires": { - "@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": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "requires": { - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "requires": { - "@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-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "requires": { - "@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": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "requires": { - "@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-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==" - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" - }, - "@babel/helper-validator-option": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", - "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" - }, - "@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - } - }, - "@babel/helpers": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", - "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" - } - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz", - "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==" - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", - "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", - "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "requires": {} - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", - "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", - "requires": { - "@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-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", - "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", - "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", - "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", - "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", - "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", - "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", - "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", - "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", - "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", - "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", - "requires": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", - "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", - "requires": { - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", - "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", - "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", - "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", - "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", - "requires": { - "@babel/compat-data": "^7.22.9", - "@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.22.15" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", - "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", - "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", - "requires": { - "@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-parameters": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", - "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", - "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-constant-elements": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", - "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", - "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", - "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", - "requires": { - "@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.22.5", - "@babel/types": "^7.22.15" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", - "requires": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", - "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", - "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", - "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", - "requires": { - "@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": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", - "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", - "requires": { - "@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.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", - "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", - "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", - "requires": { - "@babel/compat-data": "^7.23.2", - "@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.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", - "@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.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@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.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.23.2", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.23.0", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.23.0", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.23.0", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-modules-systemjs": "^7.23.0", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.23.0", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.23.0", - "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": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", - "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - } - }, - "@babel/preset-typescript": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", - "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.23.0", - "@babel/plugin-transform-typescript": "^7.22.15" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, - "@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/runtime-corejs3": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", - "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", - "requires": { - "core-js-pure": "^3.30.2", - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz", - "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==", - "requires": { - "@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/types": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz", - "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==", - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "optional": true - }, - "@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==" - }, - "@docsearch/css": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", - "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" - }, - "@docsearch/react": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", - "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", - "requires": { - "@algolia/autocomplete-core": "1.9.3", - "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.5.2", - "algoliasearch": "^4.19.1" - } - }, - "@docusaurus/core": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", - "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", - "requires": { - "@babel/core": "^7.18.6", - "@babel/generator": "^7.18.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@babel/runtime": "^7.18.6", - "@babel/runtime-corejs3": "^7.18.6", - "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.2.1", - "autoprefixer": "^10.4.7", - "babel-loader": "^8.2.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.0", - "cli-table3": "^0.6.2", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.23.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "del": "^6.1.1", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^1.12.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^6.1.0", - "html-tags": "^3.2.0", - "html-webpack-plugin": "^5.5.0", - "import-fresh": "^3.3.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.6.1", - "postcss": "^8.4.14", - "postcss-loader": "^7.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.3", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.3", - "rtl-detect": "^1.0.4", - "semver": "^7.3.7", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.3", - "tslib": "^2.4.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^6.0.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-dev-server": "^4.9.3", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.2" - }, - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "requires": {} - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "requires": {} - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "requires": {} - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "requires": {} - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "requires": {} - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "requires": {} - }, - "@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - } - }, - "@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "requires": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - } - }, - "@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - } - }, - "@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "requires": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@docusaurus/cssnano-preset": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", - "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", - "requires": { - "cssnano-preset-advanced": "^5.3.8", - "postcss": "^8.4.14", - "postcss-sort-media-queries": "^4.2.1", - "tslib": "^2.4.0" - } - }, - "@docusaurus/logger": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", - "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", - "requires": { - "chalk": "^4.1.2", - "tslib": "^2.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@docusaurus/mdx-loader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", - "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", - "requires": { - "@babel/parser": "^7.18.8", - "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@mdx-js/mdx": "^1.6.22", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "image-size": "^1.0.1", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.2.0", - "stringify-object": "^3.3.0", - "tslib": "^2.4.0", - "unified": "^9.2.2", - "unist-util-visit": "^2.0.3", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - } - }, - "@docusaurus/module-type-aliases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", - "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", - "requires": { - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/types": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "@types/react-router-dom": "*", - "react-helmet-async": "*", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/plugin-content-blog": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", - "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "cheerio": "^1.0.0-rc.12", - "feed": "^4.2.2", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "reading-time": "^1.5.0", - "tslib": "^2.4.0", - "unist-util-visit": "^2.0.3", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/plugin-content-docs": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", - "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@types/react-router-config": "^5.0.6", - "combine-promises": "^1.1.0", - "fs-extra": "^10.1.0", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/plugin-content-pages": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", - "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "tslib": "^2.4.0", - "webpack": "^5.73.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/plugin-debug": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", - "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "fs-extra": "^10.1.0", - "react-json-view": "^1.21.3", - "tslib": "^2.4.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/plugin-google-analytics": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz", - "integrity": "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==", - "requires": { - "@docusaurus/core": "2.4.3", - "@docusaurus/types": "2.4.3", - "@docusaurus/utils-validation": "2.4.3", - "tslib": "^2.4.0" - }, - "dependencies": { - "@docusaurus/core": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz", - "integrity": "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==", - "requires": { - "@babel/core": "^7.18.6", - "@babel/generator": "^7.18.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.18.6", - "@babel/preset-env": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@babel/runtime": "^7.18.6", - "@babel/runtime-corejs3": "^7.18.6", - "@babel/traverse": "^7.18.8", - "@docusaurus/cssnano-preset": "2.4.3", - "@docusaurus/logger": "2.4.3", - "@docusaurus/mdx-loader": "2.4.3", - "@docusaurus/react-loadable": "5.5.2", - "@docusaurus/utils": "2.4.3", - "@docusaurus/utils-common": "2.4.3", - "@docusaurus/utils-validation": "2.4.3", - "@slorber/static-site-generator-webpack-plugin": "^4.0.7", - "@svgr/webpack": "^6.2.1", - "autoprefixer": "^10.4.7", - "babel-loader": "^8.2.5", - "babel-plugin-dynamic-import-node": "^2.3.3", - "boxen": "^6.2.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "clean-css": "^5.3.0", - "cli-table3": "^0.6.2", - "combine-promises": "^1.1.0", - "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", - "core-js": "^3.23.3", - "css-loader": "^6.7.1", - "css-minimizer-webpack-plugin": "^4.0.0", - "cssnano": "^5.1.12", - "del": "^6.1.1", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^2.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "html-minifier-terser": "^6.1.0", - "html-tags": "^3.2.0", - "html-webpack-plugin": "^5.5.0", - "import-fresh": "^3.3.0", - "leven": "^3.1.0", - "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.6.1", - "postcss": "^8.4.14", - "postcss-loader": "^7.0.0", - "prompts": "^2.4.2", - "react-dev-utils": "^12.0.1", - "react-helmet-async": "^1.3.0", - "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.3.3", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.3.3", - "rtl-detect": "^1.0.4", - "semver": "^7.3.7", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.3", - "tslib": "^2.4.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^6.0.1", - "webpack": "^5.73.0", - "webpack-bundle-analyzer": "^4.5.0", - "webpack-dev-server": "^4.9.3", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.2" - }, - "dependencies": { - "@docusaurus/utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", - "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", - "requires": { - "@docusaurus/logger": "2.4.3", - "@svgr/webpack": "^6.2.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - } - }, - "@docusaurus/utils-common": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz", - "integrity": "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==", - "requires": { - "tslib": "^2.4.0" - } - } - } - }, - "@docusaurus/cssnano-preset": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz", - "integrity": "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==", - "requires": { - "cssnano-preset-advanced": "^5.3.8", - "postcss": "^8.4.14", - "postcss-sort-media-queries": "^4.2.1", - "tslib": "^2.4.0" - } - }, - "@docusaurus/logger": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz", - "integrity": "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==", - "requires": { - "chalk": "^4.1.2", - "tslib": "^2.4.0" - } - }, - "@docusaurus/mdx-loader": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz", - "integrity": "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==", - "requires": { - "@babel/parser": "^7.18.8", - "@babel/traverse": "^7.18.8", - "@docusaurus/logger": "2.4.3", - "@docusaurus/utils": "2.4.3", - "@mdx-js/mdx": "^1.6.22", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "image-size": "^1.0.1", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.2.0", - "stringify-object": "^3.3.0", - "tslib": "^2.4.0", - "unified": "^9.2.2", - "unist-util-visit": "^2.0.3", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "dependencies": { - "@docusaurus/utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", - "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", - "requires": { - "@docusaurus/logger": "2.4.3", - "@svgr/webpack": "^6.2.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - } - } - } - }, - "@docusaurus/utils-validation": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz", - "integrity": "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==", - "requires": { - "@docusaurus/logger": "2.4.3", - "@docusaurus/utils": "2.4.3", - "joi": "^17.6.0", - "js-yaml": "^4.1.0", - "tslib": "^2.4.0" - }, - "dependencies": { - "@docusaurus/utils": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", - "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", - "requires": { - "@docusaurus/logger": "2.4.3", - "@svgr/webpack": "^6.2.1", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - } - } - } - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "requires": {} - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "requires": {} - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "requires": {} - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "requires": {} - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "requires": {} - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "requires": {} - }, - "@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - } - }, - "@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "requires": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - } - }, - "@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - } - }, - "@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "requires": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "eta": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", - "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - } - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "@docusaurus/plugin-google-gtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", - "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/plugin-sitemap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", - "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "fs-extra": "^10.1.0", - "sitemap": "^7.1.1", - "tslib": "^2.4.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/preset-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", - "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/plugin-debug": "2.1.0", - "@docusaurus/plugin-google-analytics": "2.1.0", - "@docusaurus/plugin-google-gtag": "2.1.0", - "@docusaurus/plugin-sitemap": "2.1.0", - "@docusaurus/theme-classic": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-search-algolia": "2.1.0", - "@docusaurus/types": "2.1.0" - }, - "dependencies": { - "@docusaurus/plugin-google-analytics": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", - "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "tslib": "^2.4.0" - } - }, - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/react-loadable": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "requires": { - "@types/react": "*", - "prop-types": "^15.6.2" - } - }, - "@docusaurus/theme-classic": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", - "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", - "requires": { - "@docusaurus/core": "2.1.0", - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/types": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-common": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "@mdx-js/react": "^1.6.22", - "clsx": "^1.2.1", - "copy-text-to-clipboard": "^3.0.1", - "infima": "0.2.0-alpha.42", - "lodash": "^4.17.21", - "nprogress": "^0.2.0", - "postcss": "^8.4.14", - "prism-react-renderer": "^1.3.5", - "prismjs": "^1.28.0", - "react-router-dom": "^5.3.3", - "rtlcss": "^3.5.0", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - }, - "dependencies": { - "@docusaurus/types": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", - "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - } - } - }, - "@docusaurus/theme-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", - "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", - "requires": { - "@docusaurus/mdx-loader": "2.1.0", - "@docusaurus/module-type-aliases": "2.1.0", - "@docusaurus/plugin-content-blog": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/plugin-content-pages": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router-config": "*", - "clsx": "^1.2.1", - "parse-numeric-range": "^1.3.0", - "prism-react-renderer": "^1.3.5", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - } - }, - "@docusaurus/theme-search-algolia": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", - "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", - "requires": { - "@docsearch/react": "^3.1.1", - "@docusaurus/core": "2.1.0", - "@docusaurus/logger": "2.1.0", - "@docusaurus/plugin-content-docs": "2.1.0", - "@docusaurus/theme-common": "2.1.0", - "@docusaurus/theme-translations": "2.1.0", - "@docusaurus/utils": "2.1.0", - "@docusaurus/utils-validation": "2.1.0", - "algoliasearch": "^4.13.1", - "algoliasearch-helper": "^3.10.0", - "clsx": "^1.2.1", - "eta": "^1.12.3", - "fs-extra": "^10.1.0", - "lodash": "^4.17.21", - "tslib": "^2.4.0", - "utility-types": "^3.10.0" - } - }, - "@docusaurus/theme-translations": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", - "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", - "requires": { - "fs-extra": "^10.1.0", - "tslib": "^2.4.0" - } - }, - "@docusaurus/types": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz", - "integrity": "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "commander": "^5.1.0", - "joi": "^17.6.0", - "react-helmet-async": "^1.3.0", - "utility-types": "^3.10.0", - "webpack": "^5.73.0", - "webpack-merge": "^5.8.0" - } - }, - "@docusaurus/utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", - "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", - "requires": { - "@docusaurus/logger": "2.1.0", - "@svgr/webpack": "^6.2.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.1.0", - "github-slugger": "^1.4.0", - "globby": "^11.1.0", - "gray-matter": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "micromatch": "^4.0.5", - "resolve-pathname": "^3.0.0", - "shelljs": "^0.8.5", - "tslib": "^2.4.0", - "url-loader": "^4.1.1", - "webpack": "^5.73.0" - }, - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", - "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", - "requires": {} - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", - "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", - "requires": {} - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", - "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", - "requires": {} - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", - "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", - "requires": {} - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", - "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", - "requires": {} - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", - "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", - "requires": {} - }, - "@svgr/babel-preset": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", - "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", - "@svgr/babel-plugin-remove-jsx-attribute": "*", - "@svgr/babel-plugin-remove-jsx-empty-expression": "*", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", - "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", - "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", - "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", - "@svgr/babel-plugin-transform-svg-component": "^6.5.1" - } - }, - "@svgr/core": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", - "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.1" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", - "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", - "requires": { - "@babel/types": "^7.20.0", - "entities": "^4.4.0" - } - }, - "@svgr/plugin-jsx": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", - "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", - "requires": { - "@babel/core": "^7.19.6", - "@svgr/babel-preset": "^6.5.1", - "@svgr/hast-util-to-babel-ast": "^6.5.1", - "svg-parser": "^2.0.4" - } - }, - "@svgr/plugin-svgo": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", - "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", - "requires": { - "cosmiconfig": "^7.0.1", - "deepmerge": "^4.2.2", - "svgo": "^2.8.0" - } - }, - "@svgr/webpack": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", - "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", - "requires": { - "@babel/core": "^7.19.6", - "@babel/plugin-transform-react-constant-elements": "^7.18.12", - "@babel/preset-env": "^7.19.4", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.18.6", - "@svgr/core": "^6.5.1", - "@svgr/plugin-jsx": "^6.5.1", - "@svgr/plugin-svgo": "^6.5.1" - } - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - } - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "@docusaurus/utils-common": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", - "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", - "requires": { - "tslib": "^2.4.0" - } - }, - "@docusaurus/utils-validation": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", - "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", - "requires": { - "@docusaurus/logger": "2.1.0", - "@docusaurus/utils": "2.1.0", - "joi": "^17.6.0", - "js-yaml": "^4.1.0", - "tslib": "^2.4.0" - } - }, - "@ethersproject/abi": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", - "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/abstract-provider": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", - "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0" - } - }, - "@ethersproject/abstract-signer": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", - "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/address": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", - "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/rlp": "^5.7.0" - } - }, - "@ethersproject/base64": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", - "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0" - } - }, - "@ethersproject/basex": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", - "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/properties": "^5.7.0" - } - }, - "@ethersproject/bignumber": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", - "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "bn.js": "^5.2.1" - } - }, - "@ethersproject/bytes": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", - "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/constants": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", - "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0" - } - }, - "@ethersproject/contracts": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", - "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", - "requires": { - "@ethersproject/abi": "^5.7.0", - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/transactions": "^5.7.0" - } - }, - "@ethersproject/hash": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", - "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/hdnode": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", - "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/json-wallets": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", - "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", - "requires": { - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/pbkdf2": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "aes-js": "3.0.0", - "scrypt-js": "3.0.1" - } - }, - "@ethersproject/keccak256": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", - "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "js-sha3": "0.8.0" - } - }, - "@ethersproject/logger": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", - "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==" - }, - "@ethersproject/networks": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", - "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/pbkdf2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", - "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/sha2": "^5.7.0" - } - }, - "@ethersproject/properties": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", - "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", - "requires": { - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/providers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", - "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/base64": "^5.7.0", - "@ethersproject/basex": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/networks": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/web": "^5.7.0", - "bech32": "1.1.4", - "ws": "7.4.6" - } - }, - "@ethersproject/random": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", - "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/rlp": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", - "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/sha2": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", - "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "hash.js": "1.1.7" - } - }, - "@ethersproject/signing-key": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", - "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "bn.js": "^5.2.1", - "elliptic": "6.5.4", - "hash.js": "1.1.7" - } - }, - "@ethersproject/solidity": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", - "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/sha2": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/strings": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", - "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/transactions": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", - "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", - "requires": { - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/rlp": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0" - } - }, - "@ethersproject/units": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", - "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", - "requires": { - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/constants": "^5.7.0", - "@ethersproject/logger": "^5.7.0" - } - }, - "@ethersproject/wallet": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", - "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", - "requires": { - "@ethersproject/abstract-provider": "^5.7.0", - "@ethersproject/abstract-signer": "^5.7.0", - "@ethersproject/address": "^5.7.0", - "@ethersproject/bignumber": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/hdnode": "^5.7.0", - "@ethersproject/json-wallets": "^5.7.0", - "@ethersproject/keccak256": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/random": "^5.7.0", - "@ethersproject/signing-key": "^5.7.0", - "@ethersproject/transactions": "^5.7.0", - "@ethersproject/wordlists": "^5.7.0" - } - }, - "@ethersproject/web": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", - "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", - "requires": { - "@ethersproject/base64": "^5.7.0", - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@ethersproject/wordlists": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", - "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", - "requires": { - "@ethersproject/bytes": "^5.7.0", - "@ethersproject/hash": "^5.7.0", - "@ethersproject/logger": "^5.7.0", - "@ethersproject/properties": "^5.7.0", - "@ethersproject/strings": "^5.7.0" - } - }, - "@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "requires": { - "@sinclair/typebox": "^0.27.8" - } - }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "@lit-protocol/auth-helpers": { - "version": "3.0.24", - "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz", - "integrity": "sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg==", - "requires": { - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/constants": { - "version": "3.0.24", - "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz", - "integrity": "sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw==", - "requires": { - "@lit-protocol/auth-helpers": "3.0.24", - "@lit-protocol/types": "3.0.24", - "ethers": "^5.7.1", - "jszip": "^3.10.1", - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "@lit-protocol/types": { - "version": "3.0.24", - "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz", - "integrity": "sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw==", - "requires": { - "@lit-protocol/auth-helpers": "3.0.24", - "ethers": "^5.7.1", - "jszip": "^3.10.1", - "siwe": "^2.0.5", - "siwe-recap": "0.0.2-alpha.0", - "tslib": "^2.3.0" - } - }, - "@mdx-js/mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", - "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "requires": { - "@babel/core": "7.12.9", - "@babel/plugin-syntax-jsx": "7.12.1", - "@babel/plugin-syntax-object-rest-spread": "7.8.3", - "@mdx-js/util": "1.6.22", - "babel-plugin-apply-mdx-type-prop": "1.6.22", - "babel-plugin-extract-import-names": "1.6.22", - "camelcase-css": "2.0.1", - "detab": "2.0.4", - "hast-util-raw": "6.0.1", - "lodash.uniq": "4.5.0", - "mdast-util-to-hast": "10.0.1", - "remark-footnotes": "2.0.0", - "remark-mdx": "1.6.22", - "remark-parse": "8.0.3", - "remark-squeeze-paragraphs": "4.0.0", - "style-to-object": "0.3.0", - "unified": "9.2.0", - "unist-builder": "2.0.3", - "unist-util-visit": "2.0.3" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - } - } - }, - "@mdx-js/react": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "requires": {} - }, - "@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" - }, - "@noble/hashes": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", - "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@polka/url": { - "version": "1.0.0-next.23", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", - "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" - }, - "@sideway/address": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", - "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", - "requires": { - "@hapi/hoek": "^9.0.0" - } - }, - "@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" - }, - "@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - }, - "@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - }, - "@slorber/static-site-generator-webpack-plugin": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", - "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", - "requires": { - "eval": "^0.1.8", - "p-map": "^4.0.0", - "webpack-sources": "^3.2.2" - } - }, - "@spruceid/siwe-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz", - "integrity": "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==", - "requires": { - "@noble/hashes": "^1.1.2", - "apg-js": "^4.1.1", - "uri-js": "^4.4.1", - "valid-url": "^1.0.9" - } - }, - "@stablelib/binary": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", - "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", - "requires": { - "@stablelib/int": "^1.0.1" - } - }, - "@stablelib/int": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", - "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" - }, - "@stablelib/random": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", - "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", - "requires": { - "@stablelib/binary": "^1.0.1", - "@stablelib/wipe": "^1.0.1" - } - }, - "@stablelib/wipe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", - "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" - }, - "@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - }, - "@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - }, - "@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - }, - "@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - }, - "@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - }, - "@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - }, - "@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - }, - "@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - }, - "@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "requires": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - } - }, - "@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "requires": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - } - }, - "@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "requires": { - "@babel/types": "^7.12.6" - } - }, - "@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "requires": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - } - }, - "@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "requires": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - } - }, - "@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "requires": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - } - }, - "@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "requires": { - "defer-to-connect": "^1.0.1" - } - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - }, - "@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", - "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", - "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "8.44.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", - "integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==", - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.6", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz", - "integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==", - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz", - "integrity": "sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==" - }, - "@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/hast": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz", - "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", - "requires": { - "@types/unist": "^2" - } - }, - "@types/history": { - "version": "4.7.11", - "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" - }, - "@types/html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" - }, - "@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" - }, - "@types/http-proxy": { - "version": "1.17.13", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", - "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" - }, - "@types/istanbul-lib-report": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", - "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", - "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" - }, - "@types/mdast": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", - "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", - "requires": { - "@types/unist": "^2" - } - }, - "@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" - }, - "@types/node": { - "version": "20.8.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", - "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/node-forge": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", - "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", - "requires": { - "@types/node": "*" - } - }, - "@types/parse-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", - "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" - }, - "@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - }, - "@types/prop-types": { - "version": "15.7.9", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", - "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" - }, - "@types/q": { - "version": "1.5.7", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz", - "integrity": "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" - }, - "@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" - }, - "@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" - }, - "@types/react": { - "version": "18.2.33", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", - "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-router": { - "version": "5.1.20", - "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", - "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*" - } - }, - "@types/react-router-config": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", - "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "^5.1.0" - } - }, - "@types/react-router-dom": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", - "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", - "requires": { - "@types/history": "^4.7.11", - "@types/react": "*", - "@types/react-router": "*" - } - }, - "@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" - }, - "@types/sax": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz", - "integrity": "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==", - "requires": { - "@types/node": "*" - } - }, - "@types/scheduler": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", - "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" - }, - "@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", - "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", - "requires": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "@types/sockjs": { - "version": "0.3.35", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", - "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", - "requires": { - "@types/node": "*" - } - }, - "@types/unist": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", - "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" - }, - "@types/ws": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", - "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", - "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.2", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", - "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "requires": { - "@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": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "requires": { - "@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": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "requires": { - "@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": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "requires": { - "@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": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "requires": { - "@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": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "dependencies": { - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - } - } - }, - "acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" - }, - "acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "requires": {} - }, - "acorn-walk": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", - "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==" - }, - "address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==" - }, - "aes-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", - "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "requires": { - "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-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "requires": { - "ajv": "^8.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} - }, - "algoliasearch": { - "version": "4.20.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", - "integrity": "sha512-y+UHEjnOItoNy0bYO+WWmLWBlPwDjKHW6mNHrPi0NkuhpQOOEbrkwQH/wgKFDLh7qlKjzoKeiRtlpewDPDG23g==", - "requires": { - "@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" - } - }, - "algoliasearch-helper": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", - "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", - "requires": { - "@algolia/events": "^4.0.1" - } - }, - "ansi-align": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", - "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", - "requires": { - "string-width": "^4.1.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==" - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "apg-js": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz", - "integrity": "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - }, - "array.prototype.reduce": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", - "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.7" - } - }, - "arraybuffer.prototype.slice": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", - "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - }, - "autoprefixer": { - "version": "10.4.16", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", - "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", - "requires": { - "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" - } - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" - }, - "axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", - "requires": { - "follow-redirects": "^1.14.7" - } - }, - "babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "requires": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - } - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "requires": { - "@babel/helper-plugin-utils": "7.10.4" - }, - "dependencies": { - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - } - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", - "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", - "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", - "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.3" - } - }, - "bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" - }, - "bech32": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", - "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" - }, - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "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" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", - "requires": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - }, - "boxen": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", - "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", - "requires": { - "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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - }, - "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", - "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" - }, - "cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "requires": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "dependencies": { - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "requires": { - "pump": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - }, - "normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" - } - } - }, - "call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "requires": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - }, - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001554", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz", - "integrity": "sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==" - }, - "canonicalize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", - "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" - }, - "ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - }, - "character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - }, - "character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - }, - "cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "requires": { - "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" - } - }, - "cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "requires": { - "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" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - }, - "ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" - }, - "clean-css": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", - "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", - "requires": { - "source-map": "~0.6.0" - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==" - }, - "cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", - "requires": { - "@colors/colors": "1.5.0", - "string-width": "^4.2.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - } - } - }, - "clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "combine-promises": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", - "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==" - }, - "comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" - }, - "commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "requires": { - "mime-db": ">= 1.43.0 < 2" - }, - "dependencies": { - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - } - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "requires": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - } - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" - }, - "consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==" - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" - }, - "cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "copy-text-to-clipboard": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", - "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==" - }, - "copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "requires": { - "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" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "requires": { - "is-glob": "^4.0.3" - } - }, - "globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==" - } - } - }, - "core-js": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", - "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==" - }, - "core-js-compat": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", - "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", - "requires": { - "browserslist": "^4.22.1" - } - }, - "core-js-pure": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz", - "integrity": "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==" - }, - "core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", - "requires": { - "node-fetch": "^2.6.12" - }, - "dependencies": { - "node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "requires": { - "whatwg-url": "^5.0.0" - } - } - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - }, - "css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "requires": {} - }, - "css-loader": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", - "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", - "requires": { - "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" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "css-minimizer-webpack-plugin": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", - "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", - "requires": { - "cssnano": "^5.1.8", - "jest-worker": "^29.1.2", - "postcss": "^8.4.17", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - }, - "cssnano": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", - "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", - "requires": { - "cssnano-preset-default": "^5.2.14", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-advanced": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", - "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", - "requires": { - "autoprefixer": "^10.4.12", - "cssnano-preset-default": "^5.2.14", - "postcss-discard-unused": "^5.1.0", - "postcss-merge-idents": "^5.1.1", - "postcss-reduce-idents": "^5.2.0", - "postcss-zindex": "^5.1.0" - } - }, - "cssnano-preset-default": { - "version": "5.2.14", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", - "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.1", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.4", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.2", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - } - } - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "data-uri-to-buffer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", - "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", - "requires": { - "mimic-response": "^1.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" - }, - "default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "requires": { - "execa": "^5.0.0" - } - }, - "defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - }, - "define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "requires": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", - "requires": { - "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": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "requires": { - "repeat-string": "^1.5.4" - } - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - }, - "detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", - "requires": { - "address": "^1.0.1", - "debug": "4" - } - }, - "detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" - }, - "dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==" - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "requires": { - "is-obj": "^2.0.0" - }, - "dependencies": { - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - } - } - }, - "dotenv": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", - "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "duplexer3": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", - "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" - }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "1.4.568", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz", - "integrity": "sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg==" - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - } - } - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - }, - "emoticon": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", - "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==" - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", - "requires": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.2", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.5", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.2", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.12", - "is-weakref": "^1.0.2", - "object-inspect": "^1.13.1", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.1", - "safe-array-concat": "^1.0.1", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.13" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", - "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" - }, - "es-set-tostringtag": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", - "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", - "requires": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - }, - "escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - }, - "eta": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz", - "integrity": "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "ethers": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", - "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", - "requires": { - "@ethersproject/abi": "5.7.0", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/abstract-signer": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/base64": "5.7.0", - "@ethersproject/basex": "5.7.0", - "@ethersproject/bignumber": "5.7.0", - "@ethersproject/bytes": "5.7.0", - "@ethersproject/constants": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/hash": "5.7.0", - "@ethersproject/hdnode": "5.7.0", - "@ethersproject/json-wallets": "5.7.0", - "@ethersproject/keccak256": "5.7.0", - "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.1", - "@ethersproject/pbkdf2": "5.7.0", - "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.2", - "@ethersproject/random": "5.7.0", - "@ethersproject/rlp": "5.7.0", - "@ethersproject/sha2": "5.7.0", - "@ethersproject/signing-key": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@ethersproject/strings": "5.7.0", - "@ethersproject/transactions": "5.7.0", - "@ethersproject/units": "5.7.0", - "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.1", - "@ethersproject/wordlists": "5.7.0" - } - }, - "eval": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", - "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", - "requires": { - "@types/node": "*", - "require-like": ">= 0.1.1" - } - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "requires": { - "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" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - } - } - }, - "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", - "requires": { - "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" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "requires": { - "@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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "requires": { - "punycode": "^1.3.2" - } - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "requires": { - "fbjs": "^3.0.0" - } - }, - "fbjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", - "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", - "requires": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^1.0.35" - } - }, - "fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "requires": { - "xml-js": "^1.6.11" - } - }, - "fetch-blob": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", - "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", - "requires": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "filesize": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", - "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==" - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, - "flux": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", - "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", - "requires": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.1" - } - }, - "follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "requires": { - "is-callable": "^1.1.3" - } - }, - "fork-ts-checker-webpack-plugin": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", - "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "requires": { - "@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" - } - }, - "fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "formdata-polyfill": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", - "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", - "requires": { - "fetch-blob": "^3.1.2" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==" - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - }, - "get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "requires": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "requires": { - "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" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - }, - "global-dirs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", - "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", - "requires": { - "ini": "2.0.0" - }, - "dependencies": { - "ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - } - } - }, - "global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "requires": { - "global-prefix": "^3.0.0" - } - }, - "global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "requires": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "dependencies": { - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "requires": { - "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" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "requires": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - } - } - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "requires": { - "duplexer": "^0.1.2" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "requires": { - "get-intrinsic": "^1.2.2" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "requires": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" - } - }, - "hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "requires": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" - } - }, - "hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" - }, - "hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "requires": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - } - } - }, - "hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "requires": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - } - }, - "hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "requires": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@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" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "requires": { - "react-is": "^16.7.0" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==" - }, - "html-minifier-terser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", - "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", - "requires": { - "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" - }, - "dependencies": { - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" - } - } - }, - "html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==" - }, - "html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" - }, - "html-webpack-plugin": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", - "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", - "requires": { - "@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": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "requires": { - "@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" - }, - "dependencies": { - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==" - } - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - }, - "husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" - }, - "image-size": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", - "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", - "requires": { - "queue": "6.0.2" - } - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" - }, - "immer": { - "version": "9.0.21", - "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", - "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "infima": { - "version": "0.2.0-alpha.42", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", - "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - }, - "internal-slot": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", - "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", - "requires": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==" - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": { - "ci-info": "^2.0.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - } - } - }, - "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "requires": { - "hasown": "^2.0.0" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - }, - "is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "requires": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - } - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" - }, - "is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==" - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==" - }, - "is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - }, - "is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - }, - "jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "requires": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jiti": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", - "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==" - }, - "joi": { - "version": "17.11.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", - "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", - "requires": { - "@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-sha3": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "requires": { - "argparse": "^2.0.1" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jszip": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", - "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "setimmediate": "^1.0.5" - } - }, - "keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "requires": { - "json-buffer": "3.0.0" - } - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - }, - "latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "requires": { - "package-json": "^6.3.0" - } - }, - "launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", - "requires": { - "immediate": "~3.0.5" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==" - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" - }, - "loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==" - }, - "loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - }, - "lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" - }, - "lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" - }, - "lodash.invokemap": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", - "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - }, - "lodash.pullall": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", - "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - }, - "lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "requires": { - "tslib": "^2.0.3" - } - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - } - }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" - }, - "mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "requires": { - "unist-util-remove": "^2.0.0" - } - }, - "mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - } - }, - "mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", - "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", - "requires": { - "fs-monkey": "^1.0.4" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.33.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", - "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - }, - "mime-types": { - "version": "2.1.18", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", - "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", - "requires": { - "mime-db": "~1.33.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - }, - "mini-css-extract-plugin": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", - "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", - "requires": { - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "requires": { - "minimist": "^1.2.6" - } - }, - "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "multiformats": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", - "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==" - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-domexception": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==" - }, - "node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "requires": { - "lodash": "^4.17.21" - } - }, - "node-fetch": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", - "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", - "requires": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" - } - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" - }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==" - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "requires": { - "path-key": "^3.0.0" - } - }, - "nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" - }, - "nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", - "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", - "requires": { - "array.prototype.reduce": "^1.0.6", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "safe-array-concat": "^1.0.0" - } - }, - "object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - }, - "p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "requires": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "requires": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - } - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@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": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "requires": { - "entities": "^4.4.0" - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "requires": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "requires": { - "find-up": "^4.0.0" - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - } - } - }, - "postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", - "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} - }, - "postcss-discard-unused": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", - "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-loader": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", - "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", - "requires": { - "cosmiconfig": "^8.2.0", - "jiti": "^1.18.2", - "semver": "^7.3.8" - }, - "dependencies": { - "cosmiconfig": { - "version": "8.3.6", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", - "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", - "requires": { - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0", - "path-type": "^4.0.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "postcss-merge-idents": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", - "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", - "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-idents": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", - "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", - "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-sort-media-queries": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", - "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", - "requires": { - "sort-css-media-queries": "2.1.0" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - } - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" - }, - "postcss-zindex": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", - "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", - "requires": {} - }, - "prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==" - }, - "pretty-error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", - "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", - "requires": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" - } - }, - "pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" - }, - "prism-react-renderer": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", - "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", - "requires": {} - }, - "prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "requires": { - "xtend": "^4.0.0" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "dependencies": { - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, - "pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "requires": { - "escape-goat": "^2.0.0" - } - }, - "pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==" - }, - "qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "requires": { - "side-channel": "^1.0.4" - } - }, - "queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "requires": { - "inherits": "~2.0.3" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - } - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - } - } - }, - "react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", - "requires": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, - "react-dev-utils": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", - "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", - "requires": { - "@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" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==" - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - } - }, - "react-error-overlay": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", - "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" - }, - "react-fast-compare": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", - "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" - }, - "react-helmet-async": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", - "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", - "requires": { - "@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": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-json-view": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", - "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", - "requires": { - "flux": "^4.0.1", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^8.3.2" - } - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-loadable": { - "version": "npm:@docusaurus/react-loadable@5.5.2", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", - "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", - "requires": { - "@types/react": "*", - "prop-types": "^15.6.2" - } - }, - "react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "requires": { - "@babel/runtime": "^7.10.3" - } - }, - "react-router": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", - "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", - "requires": { - "@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-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "react-router-dom": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", - "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", - "requires": { - "@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-textarea-autosize": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", - "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", - "requires": { - "@babel/runtime": "^7.20.13", - "use-composed-ref": "^1.3.0", - "use-latest": "^1.2.1" - } - }, - "readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "requires": { - "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" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - } - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "requires": { - "resolve": "^1.1.6" - } - }, - "recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "requires": { - "minimatch": "^3.0.5" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - }, - "regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexp.prototype.flags": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", - "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "requires": { - "@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": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", - "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", - "requires": { - "rc": "1.2.8" - } - }, - "registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "requires": { - "rc": "^1.2.8" - } - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" - }, - "remark-emoji": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", - "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", - "requires": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.3" - } - }, - "remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" - }, - "remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "requires": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - }, - "unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - } - } - }, - "remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "requires": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - } - }, - "remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", - "requires": { - "mdast-squeeze-paragraphs": "^4.0.0" - } - }, - "renderkid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", - "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - } - } - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - }, - "require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" - }, - "resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", - "requires": { - "lowercase-keys": "^1.0.0" - } - }, - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==" - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "rtl-detect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", - "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" - }, - "rtlcss": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", - "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", - "requires": { - "find-up": "^5.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.3.11", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - } - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-array-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", - "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" - }, - "scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "scrypt-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", - "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" - }, - "search-insights": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.11.0.tgz", - "integrity": "sha512-Uin2J8Bpm3xaZi9Y8QibSys6uJOFZ+REMrf42v20AA3FUDUrshKkMEP6liJbMAHCm71wO6ls4mwAf7a3gFVxLw==", - "peer": true - }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" - }, - "selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "requires": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - }, - "semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "requires": { - "semver": "^6.3.0" - } - }, - "send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - } - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", - "requires": { - "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" - }, - "dependencies": { - "path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - } - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "requires": { - "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" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==" - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==" - } - } - }, - "serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - } - }, - "set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - } - }, - "set-function-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", - "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", - "requires": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "requires": { - "kind-of": "^6.0.2" - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - }, - "shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sirv": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", - "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", - "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^3.0.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "requires": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "dependencies": { - "@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" - } - } - }, - "siwe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz", - "integrity": "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==", - "requires": { - "@spruceid/siwe-parser": "*", - "@stablelib/random": "^1.0.1", - "uri-js": "^4.4.1", - "valid-url": "^1.0.9" - } - }, - "siwe-recap": { - "version": "0.0.2-alpha.0", - "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", - "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", - "requires": { - "canonicalize": "^2.0.0", - "multiformats": "^11.0.2", - "siwe": "^2.1.4" - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "sort-css-media-queries": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", - "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "requires": { - "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" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - }, - "state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "std-env": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", - "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==" - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - }, - "style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "requires": { - "inline-style-parser": "0.1.1" - } - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - }, - "svg-parser": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - } - } - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" - }, - "terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "requires": { - "@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" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - }, - "to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==" - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==" - }, - "trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - }, - "trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - }, - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "type-fest": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", - "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "dependencies": { - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - } - } - }, - "typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - } - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", - "peer": true - }, - "ua-parser-js": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", - "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==" - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "requires": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==" - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==" - }, - "unified": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", - "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" - }, - "unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" - }, - "unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" - }, - "unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" - }, - "unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "requires": { - "unist-util-visit": "^2.0.0" - } - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "requires": { - "@types/unist": "^2.0.2" - } - }, - "unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - } - }, - "unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "requires": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "boxen": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", - "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", - "requires": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.2", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - }, - "widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "requires": { - "string-width": "^4.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "requires": { - "punycode": "^2.1.0" - }, - "dependencies": { - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" - } - } - }, - "url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "requires": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", - "requires": { - "prepend-http": "^2.0.0" - } - }, - "use-composed-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", - "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", - "requires": {} - }, - "use-isomorphic-layout-effect": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", - "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", - "requires": {} - }, - "use-latest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", - "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", - "requires": { - "use-isomorphic-layout-effect": "^1.1.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" - }, - "utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - }, - "valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - }, - "vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "wait-on": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", - "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", - "requires": { - "axios": "^0.25.0", - "joi": "^17.6.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^7.5.4" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" - }, - "web-streams-polyfill": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", - "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", - "requires": { - "@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" - }, - "dependencies": { - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz", - "integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==", - "requires": { - "@discoveryjs/json-ext": "0.5.7", - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "commander": "^7.2.0", - "escape-string-regexp": "^4.0.0", - "gzip-size": "^6.0.0", - "is-plain-object": "^5.0.0", - "lodash.debounce": "^4.0.8", - "lodash.escape": "^4.0.1", - "lodash.flatten": "^4.4.0", - "lodash.invokemap": "^4.6.0", - "lodash.pullall": "^4.2.0", - "lodash.uniqby": "^4.7.0", - "opener": "^1.5.2", - "picocolors": "^1.0.0", - "sirv": "^2.0.3", - "ws": "^7.3.1" - }, - "dependencies": { - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - } - } - }, - "webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "requires": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - } - } - }, - "webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "requires": { - "@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" - }, - "dependencies": { - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "requires": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - } - }, - "ws": { - "version": "8.14.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", - "requires": {} - } - } - }, - "webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "requires": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" - }, - "webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", - "requires": { - "chalk": "^4.1.0", - "consola": "^2.15.3", - "pretty-time": "^1.1.0", - "std-env": "^3.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", - "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.4", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "widest-line": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", - "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", - "requires": { - "string-width": "^5.0.1" - } - }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" - }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" - }, - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "requires": { - "ansi-regex": "^6.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "ws": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "requires": {} - }, - "xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - }, - "xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "requires": { - "sax": "^1.2.4" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - }, - "zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" - } - } -} From cd205a59eeb05818a29d129ed59f57ce6ba2349d Mon Sep 17 00:00:00 2001 From: Furkan Date: Fri, 1 Dec 2023 14:23:47 +0300 Subject: [PATCH 081/627] add: 'getlit test' to CLI docs --- docs/tools/getlit-cli.md | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index b346e322..6f97f34a 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -37,7 +37,7 @@ To use the GetLit CLI, navigate to a directory or your existing project, and the | `docs` \| `doc` | `getlit docs` | 📖 Open the Lit Protocol documentation | | `help` \| `show` | `getlit help` | 🆘 Show the help menu | -### Basic Application +### `getlit action` ```bash getlit action @@ -82,4 +82,37 @@ You can start building your own Lit Action by modifying `src/main.action.ts`, an :::note Don't forget to [mint your PKP](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start/) before running the build and test commands. -::: \ No newline at end of file +::: + +### `getlit build` + +### `getlit new` + +This command is used to create a new Lit Action in an existing project. + +```bash +getlit new newAction +``` + +A new Lit Action called `newAction` and the test are automatically created in the project directory: + +``` +├── README.md +├── getlit.json +├── globa.d.ts +├── package-lock.json +├── package.json +├── src +│   ├── README.md +│   ├── foo.action.ts +│   ├── main.action.ts +│ └── newAction.action.ts +├── test +│   ├── README.md +│   ├── foo.t.action.mjs +│   ├── main.t.action.mjs +│ └── newAction.t.action.mjs +├── tsconfig.json +└── utils.mjs +``` + From bf03fb4064ebfd5ab588575eb516c2355bd624cd Mon Sep 17 00:00:00 2001 From: Furkan Date: Fri, 1 Dec 2023 14:40:09 +0300 Subject: [PATCH 082/627] add: 'getlit new & setup & build & & watch' to CLI docs --- docs/tools/getlit-cli.md | 47 +++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 6f97f34a..a19bfa61 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -11,9 +11,7 @@ The GetLit CLI is a command-line tool designed to help developers manage their L - GitHub repo: https://github.com/LIT-Protocol/getlit - npm: https://www.npmjs.com/getlit -## Getting Started - -### Installation +## Installation ```bash npm install -g getlit @@ -22,7 +20,7 @@ npm install -g getlit yarn add global getlit ``` -### Usage +## Usage To use the GetLit CLI, navigate to a directory or your existing project, and then simply run the desired command followed by any required or optional arguments. The CLI will execute the associated function and display the output accordingly. @@ -39,6 +37,8 @@ To use the GetLit CLI, navigate to a directory or your existing project, and the ### `getlit action` +This command is used to initialize a new Lit project. + ```bash getlit action ``` @@ -80,12 +80,6 @@ const foo = () => { You can start building your own Lit Action by modifying `src/main.action.ts`, and `test/main.t.action.mjs` accordingly. -:::note -Don't forget to [mint your PKP](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start/) before running the build and test commands. -::: - -### `getlit build` - ### `getlit new` This command is used to create a new Lit Action in an existing project. @@ -116,3 +110,36 @@ A new Lit Action called `newAction` and the test are automatically created in th └── utils.mjs ``` +### `getlit setup` + +Recall that in order to build a Lit project, an [AuthSig](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig) and a [PKP](https://developer.litprotocol.com/v3/sdk/wallets/intro) are needed. `setup` command is used to mint the PKP and create the AuthSig. + +```bash +getlit setup +``` + +### `getlit build` + +When the Lit Action is coded, and the PKP is created, final step is to build the project. + +```bash +getlit build +``` + +### `getlit test` + +You can test your Lit Actions by using the test command with the Lit Action to be tested specified: + +```bash +getlit test foo +``` + +### `getlit watch` + +This command executes the `build` and `test` commands simultaneously: + +```bash +getlit watch +``` + + From 8293db566bcc094a5ea2535f2bfd971e4f8ebeb4 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 1 Dec 2023 10:07:45 -0800 Subject: [PATCH 083/627] Update docs/intro/usecases.md Co-authored-by: Bean --- docs/intro/usecases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 98b7750e..2f49a2b9 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -5,7 +5,7 @@ sidebar_position: 4 # Use Cases -Developers can use the Lit Network to build applications that leverage decentralized and programmable keys at their core. Possible use cases include: +Developers can leverage the Lit Network to build decentralized applications with programmable keys at their core. Possible use cases include: ### Decentralized Access Control From 3c3bb26cf18a703c580c9d47a7ea3b731f48ddf5 Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 10:22:56 -0800 Subject: [PATCH 084/627] feat: styling --- src/components/HomepageComponents.jsx | 16 +- src/css/custom.css | 193 +++++++++++++++++++------ src/theme/Admonition/styles.module.css | 8 +- 3 files changed, 164 insertions(+), 53 deletions(-) diff --git a/src/components/HomepageComponents.jsx b/src/components/HomepageComponents.jsx index 12232e8b..d595223c 100644 --- a/src/components/HomepageComponents.jsx +++ b/src/components/HomepageComponents.jsx @@ -29,12 +29,20 @@ export function HomepageSection({ export function HomepageCard({ id, icon, title, description, to }) { return ( - - {icon &&
{icon}
} -
+ // + // {icon &&
{icon}
} + //
+ //
{title}
+ // {description} + //
+ // +
+ +
+ {icon && {icon}}
{title}
{description}
- +
); } diff --git a/src/css/custom.css b/src/css/custom.css index 288763b7..9525e8a1 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -12,7 +12,14 @@ /** * ---------- Lit Colors ---------- */ - --lit-orange: #ff844f; + /* --lit-orange: rgb(255, 66, 5); + --lit-orange-light: rgb(255, 132, 79); + --lit-orange-dark: rgb(230, 41, 0); + --lit-pink: rgb(170, 17, 85); */ + /* --lit-pink-dark: rgb(117, 10, 65); */ + /* --lit-pink-background: rgb(170, 17, 85, 0.08); + --lit-blue: rgb(5, 41, 158); + --lit-blue-background: rgb(5, 41, 158, 0.08); */ /** * ---------- Base colors ---------- */ @@ -30,6 +37,13 @@ /** * ---------- Accent colors ---------- */ + --ifm-color-primary: #aa1155; + --ifm-color-primary-dark: #990f4d; + --ifm-color-primary-darker: #910e48; + --ifm-color-primary-darkest: #770c3c; + --ifm-color-primary-light: #bb135e; + --ifm-color-primary-lighter: #c41462; + --ifm-color-primary-lightest: #dd166f; /* --ifm-color-warning-contrast-background: #fffce5; --ifm-color-warning-contrast-foreground: #803e13; */ /** @@ -43,6 +57,8 @@ --ifm-scrollbar-track-background-color: var(--ifm-color-gray-100); --ifm-scrollbar-thumb-background-color: var(--ifm-color-gray-200); --ifm-scrollbar-thumb-hover-background-color: var(--ifm-color-gray-300); + --ifm-code-font-size: 0.875rem; + --ifm-hover-overlay: var(--ifm-color-gray-100); /** * ---------- Type system ---------- */ @@ -75,6 +91,8 @@ rgba(255, 255, 255, 0.9) ); --lit-navbar-border-color: var(--ifm-color-gray-50); + /* --ifm-navbar-link-hover-color: var(--lit-pink); */ + /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ /** * ---------- Footer ---------- */ @@ -82,11 +100,15 @@ --lit-footer-border-color: var(--ifm-color-gray-200); --ifm-footer-title-color: var(--ifm-heading-color); --ifm-footer-link-color: var(--ifm-font-color-base); + /* --ifm-footer-link-hover-color: var(--lit-pink); */ --lit-footer-copyright-color: var(--ifm-color-gray-600); /** * ---------- Sidebar ---------- */ --ifm-menu-color: var(--ifm-font-color-base); + /* --ifm-menu-color-active: var(--lit-pink); */ + /* --ifm-menu-color-background-hover: var(--lit-pink-background); + --ifm-menu-color-background-active: var( --lit-pink-background); */ /** * ---------- Table of Contents ---------- */ @@ -98,8 +120,7 @@ /** * ---------- Link ---------- */ - /* --ifm-link-color: var(--ifm-heading-color); */ - /* --ifm-link-decoration: underline; */ + /* --ifm-link-color: var(--lit-pink); */ /** * ---------- Badge ---------- */ @@ -107,18 +128,26 @@ /** * ---------- Alert ---------- */ - /* --ifm-alert-border-radius: 0.5rem; - --ifm-alert-border-left-width: 0; + --ifm-alert-border-radius: 0.5rem; + --ifm-alert-border-left-width: 1px; + --ifm-alert-border-width: 1px; --ifm-alert-padding-vertical: 1.5rem; - --ifm-alert-shadow: none; */ + --ifm-alert-shadow: none; /** * ---------- Pagination ---------- */ --lit-pagination-border-color: var(--ifm-color-gray-200); - /* --ifm-pagination-nav-color-hover: var(--ifm-font-color-base); */ + /* --ifm-pagination-nav-color-hover: var(--lit-pink); */ } html[data-theme='dark'] { + --ifm-color-primary: #ff6837; + --ifm-color-primary-dark: #ff5118; + --ifm-color-primary-darker: #ff4509; + --ifm-color-primary-darkest: #d93500; + --ifm-color-primary-light: #ff7f56; + --ifm-color-primary-lighter: #ff8b66; + --ifm-color-primary-lightest: #ffae94; /** * ---------- Accent colors ---------- */ @@ -167,9 +196,18 @@ html[data-theme='dark'] { /** * ---------- Global ---------- */ +body { + letter-spacing: normal; +} + ::selection { - background-color: rgba(255, 132, 79, 0.1); - color: var(--lit-orange); + background-color: rgba(170, 17, 85, 0.05); + color: rgba(170, 17, 85, 1); +} + +html[data-theme='dark'] ::selection { + background-color: rgba(255, 104, 55, 0.05); + color: rgba(255, 104, 55, 1); } .sr-only { @@ -259,6 +297,10 @@ html[data-theme='dark'] { --ifm-h1-font-size: var(--lit-h1-font-size); } +h1, h2, h3, h4, h5, h6 { + --ifm-code-font-size: 100%; +} + /* * ---------- Navbar ---------- */ @@ -275,6 +317,19 @@ html[data-theme='dark'] { color: var(--ifm-heading-color); } +.navbar__link--active { + font-weight: 600; +} + +.dropdown__link:not(.dropdown__link--active):hover { + color: var(--ifm-heading-color); +} + +.dropdown__link--active { + /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ + font-weight: 600; +} + .header-github-link { transition: opacity 0.2s ease-out; } @@ -330,7 +385,7 @@ html[data-theme='dark'] .header-github-link::before { /* * ---------- Sidebar ---------- */ -/* .category-not-collapsible > .menu__list { +.category-not-collapsible > .menu__list { padding-left: 0rem; } @@ -352,14 +407,32 @@ html[data-theme='dark'] .header-github-link::before { > .menu__list-item-collapsible .menu__link { color: var(--ifm-heading-color); - text-transform: uppercase; - font-size: 0.75rem; - line-height: 1rem; + font-weight: 600; } .menu__link { font-size: 0.875rem; line-height: 1.25rem; + font-weight: 500; + letter-spacing: 0.025em; +} + +.menu__link--active { + font-weight: 600; +} + +.menu__link:not(.menu__link--active):hover, .menu__list-item-collapsible .menu__link:hover { + color: var(--ifm-menu-color-active); +} + +.category-not-collapsible > .menu__list-item-collapsible .menu__link:hover { + color: var(--ifm-heading-color); +} + +.menu__caret::before, .menu__link--sublist-caret:after { + background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem; + height: 1.5rem; + width: 1.5rem } @media only screen and (min-width: 997px) { @@ -368,12 +441,16 @@ html[data-theme='dark'] .header-github-link::before { } } +.menu__link--sublist-caret:hover, .menu__list-item-collapsible--active { + --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,'); +} + .navbar-sidebar__back { font-size: 0.875rem; line-height: 1.25rem; padding-top: 0.75rem; padding-bottom: 0.75rem; -} */ +} /* * ---------- Search bar and modal ---------- @@ -457,50 +534,78 @@ html[data-theme] .DocSearch-Prefill { border: 1px solid var(--ifm-badge-border-color); } -.badge--secondary { +/* .badge--secondary { --ifm-badge-background-color: #ffe8cc; --ifm-badge-border-color: #fd7e14; color: #d9480f; -} +} */ /* * ---------- Link ---------- */ -.markdown a:not(.hash-link) { + +.markdown a:not(.hash-link, .homepage-card__link) { color: var(--ifm-heading-color); font-weight: 500; position: relative; + white-space: nowrap; } -.markdown a:not(.hash-link)::before { - content: ''; + +.markdown a:not(.hash-link, .homepage-card__link)::before, +.markdown a:not(.hash-link, .homepage-card__link)::after { position: absolute; - top: 100%; width: 100%; - left: 0; height: 1px; - background: linear-gradient(to right, #ff844f, #fe6824); - transition: top 0.2s ease-out; + background: currentColor; + top: 100%; + left: 0; + pointer-events: none; } -.markdown a:not(.hash-link):hover { +.markdown a:not(.hash-link, .homepage-card__link)::before { + content: ''; + transform-origin: 0% 50%; + transform: scale3d(1, 1, 1); + transition: transform 0.3s; +} + +.markdown a:not(.hash-link, .homepage-card__link):hover { text-decoration: none; } -.markdown a:not(.hash-link):hover::before { - top: calc(100% + 2px); + +.markdown a:not(.hash-link, .homepage-card__link):hover::before { + transform-origin: 100% 50%; + transform: scale3d(0, 1, 1); +} + +.markdown .alert a { + color: var(--ifm-alert-foreground-color); } /* * ---------- Alerts ---------- */ -.alert--secondary { +/* .alert a { + color: var(--ifm-alert-foreground-color); +} */ + +/* .alert--secondary { --ifm-color-secondary-contrast-background: rgba(255, 244, 230, 1); --ifm-alert-icon-fill: rgba(253, 126, 20, 1); --ifm-color-secondary-contrast-foreground: rgba(31, 0, 1, 1); --ifm-alert-border-color: rgba(253, 126, 20, 1); --ifm-alert-background-color-highlight: rgba(253, 126, 20, 0.15); +} */ + +.alert--secondary { + --ifm-alert-icon-fill: var(--ifm-alert-foreground-color); +} + +html[data-theme='dark'] .alert--secondary { + --ifm-alert-icon-fill: var(--ifm-color-secondary); } .alert--success { @@ -524,7 +629,7 @@ html[data-theme] .DocSearch-Prefill { --ifm-alert-border-left-width: 1px; } */ -html[data-theme='dark'] .alert--secondary { +/* html[data-theme='dark'] .alert--secondary { --ifm-color-secondary-contrast-background: rgba(217, 72, 15, 0.1); --ifm-alert-border-color: rgba(247, 103, 7, 1); --ifm-color-secondary-contrast-foreground: rgba(255, 244, 230, 1); @@ -555,7 +660,7 @@ html[data-theme='dark'] .alert--danger { --ifm-color-danger-contrast-background: rgba(75, 17, 19, 0.2); --ifm-alert-border-color: rgba(225, 50, 56, 1); border-color: rgba(225, 50, 56, 0.4); -} +} */ /* * ---------- Pagination ---------- @@ -582,11 +687,11 @@ html[data-theme='dark'] .alert--danger { } /* .pagination-nav__link { - color: var(--ifm-heading-color); + color: var(--lit-pink); } .pagination-nav__link:hover { - color: var(--ifm-heading-color); + color: var(--lit-pink); } */ /* @@ -604,22 +709,14 @@ html[data-theme='dark'] .alert--danger { } .homepage-card { - --ifm-link-hover-color: inherit; - align-items: flex-start; + position: relative; border: 1px solid var(--lit-pagination-border-color); border-radius: 0.375rem; - color: var(--ifm-font-color-base); - cursor: pointer; - display: flex; - flex-direction: column; - gap: 0.625rem; - padding: 1rem; transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); } .homepage-card:hover { - text-decoration: none; background-color: var(--homepage-card-hover); border-color: var(--ifm-link-hover-color); } @@ -628,8 +725,17 @@ html[data-theme='dark'] .alert--danger { color: var(--ifm-link-hover-color); } +.homepage-card__link { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + content: ' '; +} + .homepage-card__title { - font-weight: 500; + color: var(--ifm-heading-color); margin-bottom: 0.5rem; } @@ -641,8 +747,5 @@ html[data-theme='dark'] .alert--danger { .homepage-card__content { display: flex; flex-direction: column; - transition: - box-shadow 0.15s ease-out, - transform 0.15s ease-out, - opacity 0.15s ease-out; + padding: 1rem 1.125rem; } diff --git a/src/theme/Admonition/styles.module.css b/src/theme/Admonition/styles.module.css index 266ad9b8..e80e4076 100644 --- a/src/theme/Admonition/styles.module.css +++ b/src/theme/Admonition/styles.module.css @@ -1,6 +1,7 @@ .admonition { --ifm-alert-border-radius: 0.5rem; - --ifm-alert-border-left-width: 0; + /* --ifm-alert-border-left-width: 0; */ + --ifm-alert-border-width: 1px; --ifm-alert-padding-vertical: 1.5rem; --ifm-alert-shadow: none; margin-top: 1.5rem; @@ -9,9 +10,8 @@ align-items: flex-start; } -html[data-theme='dark'] .admonition { - --ifm-alert-border-width: 1px; - --ifm-alert-border-left-width: 1px; +.admonition a { + text-decoration: none; } .admonitionHeading { From 151d50885e95826ca72bded9a5f1a3efab441767 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 1 Dec 2023 10:23:52 -0800 Subject: [PATCH 085/627] fixes --- docs/concepts/pkps-as-wallet.md | 6 +++--- docs/intro/usecases.md | 2 +- docs/intro/what-is-lit-protocol.md | 2 +- docs/network/networks/mainnet.md | 8 ++++---- docs/network/networks/testnet.md | 6 +++--- sidebars.js | 2 +- src/components/CardSectionsV3/CoreConcepts.jsx | 4 ++-- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index c8b16e60..54616ea9 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -2,7 +2,7 @@ sidebar_position: 3 --- -# Programmable Wallets +# User Wallets :::note **STATE OF THE NETWORK** @@ -34,9 +34,9 @@ What’s the end goal? Providing a seamless onboarding experience for the next o ## Getting Started and Further Reading -Some links to further reading and resources to help you get started building with programmable MPC wallets on the Lit network today: +Some links to further reading and resources to help you get started building with MPC wallets on the Lit network today: - Getting started with the [Lit SDK](../sdk/installation) -- Working with [Programmable Wallets](../sdk/wallets/intro) +- Working with [User Wallets](../sdk/wallets/intro) - [Creating a wallet](../sdk/wallets/minting) - Overview of supported [authentication methods](../sdk/authentication/session-sigs/auth-methods/overview) diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 98b7750e..022f14d2 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -25,7 +25,7 @@ Encrypting your data with Lit is simple and a completely [client-side operation] 6. Open data marketplaces: Open data marketplaces facilitate the exchange of data between individuals and organizations, allowing users to buy, sell, or share information in a permissioned yet transparent manner. These systems promote data-driven innovation by making diverse datasets accessible to researchers, developers, and businesses, while also providing data creators with full control over how their data is used and managed. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md). -### Programmable Signing and Wallets +### Programmable Signing and User Wallets Interrelated but distinct from Lit’s decentralized encryption capabilities is the ability to generate programmable keys for non-custodial [user onboarding](../sdk/wallets/intro.md) and [serverless signing](../sdk/serverless-signing/overview.md). Some potential use cases include: diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 8887bc56..a3a040ea 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -7,7 +7,7 @@ sidebar_position: 2 Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). -Lit can primarily be used for [data encryption](../sdk/access-control/intro.md), building [embedded wallets](../sdk/wallets/intro.md), and [programmable digital signatures](../sdk/serverless-signing/overview.md). +Lit can primarily be used for [data encryption](../sdk/access-control/intro.md), building [user wallets](../sdk/wallets/intro.md), and [programmable digital signatures](../sdk/serverless-signing/overview.md). Get started with the [Lit SDK](../sdk/installation.md). diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 8e6c44e9..de904eb4 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -5,7 +5,7 @@ :::note **STATE OF THE NETWORK** -Lit V0, the mainnet beta (AKA 'Habanero'), is set to launch on Friday, December 1st. Habanero will be the latest version of the Lit Network that will support [ID encrypt](../../sdk/access-control/encryption.md), [programmable wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). +Lit V0, the mainnet beta (AKA 'Habanero'), is set to launch on Friday, December 1st. Habanero will be the latest version of the Lit Network that will support [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). The initial DKG will be conducted with subsequent DKGs to follow until the network is stable. This means that the initial keys that are generated on Habanero **MAY BE DELETED**. As such, please do not use Habanero to store real assets until stability has been confirmed. Please monitor this page for changes or join the [Lit Builders Circle](https://t.me/+aa73FAF9Vp82ZjJh) for status updates. ::: @@ -18,10 +18,10 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | None | n/a | -| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | ## Token Usage -If you'd like to use Habanero, you'll need some 'testLIT' tokens to pay for network fees and [gas](../rollup.mdx). Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). (NOTE: you can use Habanero without test tokens, but your usage will be rate limited to 5 requests per day). +If you'd like to use Habanero, you'll need some 'testLIT' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). ## Migration In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the V3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the V2 SDK, you'll need to update your app to use V3. @@ -30,4 +30,4 @@ Upgrading to V3 can be done by following the [migration guide](../../migration/o If your app currently has users in production (on the V1 or V2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to V3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: - If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. -- If you’re building with PKPs (AKA programmable wallets): Re-mint PKPs on Habanero with the same auth methods. Docs will be provided soon. \ No newline at end of file +- If you’re building with PKPs (AKA user wallets): Re-mint PKPs on Habanero with the same auth methods. Docs will be provided soon. \ No newline at end of file diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 8745c9a6..43ceb5ff 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -9,6 +9,6 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | -| Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | ~ July 2024 | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | -| Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | -| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, Programmable Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file +| Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | ~ July 2024 | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | +| Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | +| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 65a473e4..cc109596 100644 --- a/sidebars.js +++ b/sidebars.js @@ -191,7 +191,7 @@ const sidebars = { }, { type: "category", - label: "Programmable Wallets", + label: "User Wallets", link: { type: "doc", id: "sdk/wallets/intro", diff --git a/src/components/CardSectionsV3/CoreConcepts.jsx b/src/components/CardSectionsV3/CoreConcepts.jsx index a8482367..2724fb00 100644 --- a/src/components/CardSectionsV3/CoreConcepts.jsx +++ b/src/components/CardSectionsV3/CoreConcepts.jsx @@ -13,8 +13,8 @@ export default function CoreConceptsSection({ title, className }) { to="/v3/sdk/access-control/intro" /> Date: Fri, 1 Dec 2023 10:24:59 -0800 Subject: [PATCH 086/627] Update what-is-lit-protocol.md --- docs/intro/what-is-lit-protocol.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index a3a040ea..2fe4ca55 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -7,7 +7,7 @@ sidebar_position: 2 Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). -Lit can primarily be used for [data encryption](../sdk/access-control/intro.md), building [user wallets](../sdk/wallets/intro.md), and [programmable digital signatures](../sdk/serverless-signing/overview.md). +Lit can primarily be used for [data encryption](../sdk/access-control/intro.md), building [user wallets](../sdk/wallets/intro.md), and [serverless digital signatures](../sdk/serverless-signing/overview.md). Get started with the [Lit SDK](../sdk/installation.md). From 64bb93d42cc93c3e414878e6326d9295c46fc85e Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 10:33:59 -0800 Subject: [PATCH 087/627] chore: clean up --- docs/concepts/aa-x-lit.md | 70 ++ docs/concepts/claimable-keys.md | 38 + docs/concepts/pkps-as-wallet.md | 2 +- docs/integrations/aa/alchemy-account-kit.md | 282 ++++++ docs/integrations/aa/overview.md | 50 + docs/integrations/aa/pimlico.md | 261 +++++ docs/integrations/ceramicExample.md | 231 +++++ docs/intro/overview.mdx | 41 +- docs/intro/what-is-lit-protocol.md | 6 +- docs/migration/overview.md | 28 +- docs/resources/contracts.md | 24 +- docs/resources/glossary.md | 2 + docs/sdk/access-control/encryption.md | 100 +- docs/sdk/authentication/session-sigs/intro.md | 2 +- docs/sdk/claimable-keys/intro.md | 44 + docs/sdk/claimable-keys/usage.md | 243 +++++ docs/sdk/installation.md | 115 +-- docs/sdk/wallets/auth-methods.md | 4 + docs/sdk/wallets/conditional-signing.md | 22 +- docs/sdk/wallets/minting.md | 2 +- docs/sdk/wallets/walletconnect.md | 2 +- docs/tools/event-listener.md | 33 + docusaurus.config.js | 164 +-- package.json | 14 +- src/components/HomepageComponents.jsx | 12 +- src/css/custom.css | 124 +-- src/css/customOld.css | 213 ---- yarn.lock | 935 +++++++++--------- 28 files changed, 1927 insertions(+), 1137 deletions(-) create mode 100644 docs/concepts/aa-x-lit.md create mode 100644 docs/concepts/claimable-keys.md create mode 100644 docs/integrations/aa/alchemy-account-kit.md create mode 100644 docs/integrations/aa/overview.md create mode 100644 docs/integrations/aa/pimlico.md create mode 100644 docs/integrations/ceramicExample.md create mode 100644 docs/sdk/claimable-keys/intro.md create mode 100644 docs/sdk/claimable-keys/usage.md create mode 100644 docs/tools/event-listener.md delete mode 100644 src/css/customOld.css diff --git a/docs/concepts/aa-x-lit.md b/docs/concepts/aa-x-lit.md new file mode 100644 index 00000000..179ee236 --- /dev/null +++ b/docs/concepts/aa-x-lit.md @@ -0,0 +1,70 @@ +# Account Abstraction x Lit MPC + +Lit leverages [multi-party computation (MPC)](https://www.wikiwand.com/en/Secure_multi-party_computation?ref=spark.litprotocol.com) to provide a distributed key management system that enables secure reading and writing of data between blockchains and off-chain platforms. With the added benefits of encryption, access control, and programmatic signing, Lit enhances the capabilities of what’s possible with account abstraction. + +Section Overview + +- Use cases of account abstraction with Lit +- An intro to account abstraction and multiparty computation (MPC) +- How to use Lit Actions & Programmable Key Pairs (PKPs) to work with AA + +## How to use Lit with Account Abstraction (AA) + +1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. +2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. +3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. +4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. +5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. + +### The technology that makes Lit x AA possible + +In order to utilize account abstraction systems with Lit, there are two main concepts to understand: Programmable Key Pair (a public private key pair stored across the Lit nodes) and Lit Actions, JavaScript functions that specify the conditionals of signing. + +Lit Actions are JavaScript functions that can communicate data across blockchains, interoperate between previously disconnected ecosystems, and use off-chain data sources in their computation by making arbitrary [HTTP requests](../sdk/wallets/intro.md). + +Lit Actions are used in conjunction with Programmable Key Pairs (PKPs) to give signing capabilities. Each PKP is generated collectively by the Lit network in a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation?ref=spark.litprotocol.com) (DKG) whereby each node only holds a **share** of the underlying private key (a key-share) and the complete private key **never exists in its entirety**. + +To create this distributed key pair, you must mint it in the form of an ERC-721 NFT. The NFT stands as the “symbol” or method for controlling the distributed key custodied by the Lit network. This means that only the **wallet address or smart contract holding the PKP NFT** can authorize how it is used for signing. + +PKP signatures are the validation result of Lit Actions code when using a signature to *prove* that a particular interaction took place. Lit Actions can validate the information from external sources, such as from a Weather API, or data that is stateless such as checking if a number is prime. + +Ideal cases for PKPs and Lit Actions + +- Generating proofs are ideal for usage with AA wallets, essentially this is programmable transaction validation through Lit’s network with a signer +- Looking up permitted actions, addresses, and [auth methods](../sdk/authentication/overview.md) associated with a PKP +- Checking access control conditions with [conditional signing](../sdk/wallets/conditional-signing.md) + + +## A Brief Account Abstraction (AA) Intro + +Account abstraction references [EIP-4337](https://eip4337.com/en/latest/index.html?ref=spark.litprotocol.com). AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific [entry point](https://ethereum-magicians.org/t/erc-4337-account-abstraction-via-entry-point-contract-specification/7160/1?ref=spark.litprotocol.com). With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. + +EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. + +How AA enhances user experience: + +- Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. +- Social Recovery - In [What is a Social Recovery Wallet](https://hackernoon.com/what-is-a-social-recovery-wallet?ref=spark.litprotocol.com) by Vitalik Buterin, he writes a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. + +## Multi party computation (MPC) + +MPC enables multiple parties – each holding private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). + +An MPC wallet is a wallet whose public private key is divided and shared among multiple parties, in Lit’s case the key is stored across the Lit nodes and only authorized parties can recombine the key shares to generate a signing key. + +![MPC diagram](../../static/img/mpc.png) + +Two strengths of Lit powered MPC wallets + +- allows for authorization processes to occur outside of the blockchain, the underlying key generation and signing rely on cryptography off-chain +- can work with various blockchain networks that utilize elliptic curve signatures, including but not limited to Bitcoin. Expanding compatibility to additional blockchains lies in the capability to produce signatures the networks can decipher + +## Continue learning +Read more: https://spark.litprotocol.com/account-abstraction-and-mpc/ + +Ready to check out some code? + +[Check out this guide on how to integrate Pimlico with Lit OTP Authentication](https://docs.pimlico.io/how-to/integrations/lit-protocol) +Pimlico is an infrastructure platform for building the next generation of Smart Wallets. If you are developing an ERC-4337 Smart Wallet, they provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build and iterate on wallets. + +This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. \ No newline at end of file diff --git a/docs/concepts/claimable-keys.md b/docs/concepts/claimable-keys.md new file mode 100644 index 00000000..b222590f --- /dev/null +++ b/docs/concepts/claimable-keys.md @@ -0,0 +1,38 @@ +# Claimable Keys (HD Keys) + +## Overview + +When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. We're going to abbreviate claimable keys as HD keys, short for homogeneous derived keys. + +HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. + +## Use Cases +1. Send a welcome bonus to new users' email addresses before they sign up. The user can claim the funds once they verify their email. +2. Allow users to receive funds via their phone number before installing an app. They can claim the funds once they verify their phone number. +3. Send promotional funds to Twitter handles. Users can claim the funds by authenticating their Twitter account. +4. Distribute airdrops to Discord users using their IDs. They can claim the airdrop once they connect their Discord account. +5. Onboard new users by sending them a small amount to their web3 social profile (like a Lens profile). They can claim it by verifying ownership of their Lens account. + +## Vocabulary + +| Term | Definition | +| --- | --- | +| authentication methods | Deterministically generated identifier from authentication material | +| auth method identifier | An ID generated from a given authentication method | +| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | +| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | +| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | + +The `key identifier` is generated from an `auth method identifier` from`authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. + +This also allows you to generate many keys from a single `Authentication Method` . Since this identifier is known ahead of time from deriving the `Auth Method` to it’s `Auth Method Identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. +With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. + +To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. + +## Getting Started and Further Reading + +Some links to further reading and resources to help you get started building with HD keys on the Lit network today: + +- Getting started with the [Lit SDK](../sdk/installation) +- Learn how to set up [HD keys](../sdk/claimable-keys/intro.md) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index fea2d736..97680785 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -4,7 +4,7 @@ sidebar_position: 3 # MPC Wallets -:::warning +:::note **STATE OF THE NETWORK** Lit MPC wallets are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md new file mode 100644 index 00000000..f9a5d7bd --- /dev/null +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -0,0 +1,282 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Alchemy Account Kit + +Learn how Lit [Programmable Key Pairs](../../sdk/wallets/intro.md) can be a signer for Alchemy's Account Kit! + + +--- + +## Objectives +At completion of this reading you should be able to: + +- Describe use cases for Account Kit. +- Understand how to set Lit as a signer to an Account Kit. + +--- + +## What is Account Kit? +[Alchemy's Account Kit](https://www.alchemy.com/account-kit) is a complete toolkit to embed smart accounts in your app with social login, gas abstraction, batch transactions, and more. + +Powered by account abstraction (ERC-4337), Account Kit provides all the tools you need to onboard users with zero friction: + +-**aa-sdk**: a flexible library to integrate, deploy, and use smart accounts +-**Light Account**: a gas-optimized ERC-4337 smart contract account +-**Signers**: integrations with your favorite social login and passkey providers +-**Gas Manager APIs**: a programmable API to sponsor gas fees in your app‍ +-**Bundler APIs**: the most reliable Bundler to submit UserOps onchain at scale + +With Account Kit, you can create a smart account for every user. Smart accounts are smart contract wallets that leverage account abstraction to radically simplify every step of the onboarding experience. Now, a new user can: + +- Create a smart account directly in an Account Kit powered app without third-party - downloads +- Sign up with an email, social login, passkey, or self-custodial wallet +- Submit transactions without needing ETH in their account for gas +- Submit transactions in the background without leaving your app + + +## Guide + +Combining Lit [PKP wallet](https://www.npmjs.com/package/@lit-protocol/pkp-ethers) with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. + +### Pre-requisites +- Familiarity with JavaScript and TypeScript. +- Understand the basics of account abstraction. + + +### 1. Setup + +Install the pkp ethers package: + + + + +```js +npm i @lit-protocol/pkp-ethers@cayenne +``` + + + + + +```js +yarn add @lit-protocol/pkp-ethers@cayenne +``` + + + + + +Install the `LitNodeClient` package`: + + + + +```js +npm i @lit-protocol/lit-node-client@cayenne +``` + + + + + +```js +yarn add @lit-protocol/lit-node-client@cayenne +``` + + + + + +### 2. Get A Programmable Key Pair (PKP) + +Get some LIT Testnt tokens from Lit's [Chronicle network](../../network/rollup.mdx). + +Then mint a PKP through the [PKP explorer](https://explorer.litprotocol.com/mint-pkp). + +For other ways to obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). + +### 3. Create a SmartAccountSigner + +Next, setup the `LitNodeClient` and `PKPEthersWallet` to create a `SmartAccountSigner`: + +```js +import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; +import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { AuthCallbackParams } from "@lit-protocol/types"; +import { createWalletClient, custom } from "viem"; +import { polygonMumbai } from "viem/chains"; + +const API_KEY = ""; +const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; +const PKP_PUBLIC_KEY = ""; + +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: false, +}); +await litNodeClient.connect(); + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +/** + * For provisioning keys and setting up authentication methods see documentation below + * https://developer.litprotocol.com/v2/pkp/minting + */ +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + sessionKey: params.sessionKeyPair, + statement: params.statement, + authMethods: [], + pkpPublicKey: PKP_PUBLIC_KEY, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const sessionSigs = await litNodeClient + .getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }) + .catch((err) => { + console.log("error while attempting to access session signatures: ", err); + throw err; + }); + +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: PKP_PUBLIC_KEY, + rpc: POLYGON_MUMBAI_RPC_URL, + controllerSessionSigs: sessionSigs, +}); + +// a smart account signer you can use as an owner on ISmartContractAccount +export const litSigner: SmartAccountSigner = new WalletClientSigner( + createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, + "lit" // signerType +); +``` + +### 4. Use SmartAccountSigner with LightAccount +We can link the `SmartAccountSigner` to a `LightSmartContractAccount` from `aa-accounts`: + + +`example.ts` + +```js +import { AlchemyProvider } from "@alchemy/aa-alchemy"; +import { LightSmartContractAccount } from "@alchemy/aa-accounts"; +import { litSigner } from "./lit"; + +const chain = sepolia; +const provider = new AlchemyProvider({ + apiKey: "ALCHEMY_API_KEY", + chain, + entryPointAddress: "0x...", +}).connect( + (rpcClient) => + new LightSmartContractAccount({ + entryPointAddress: "0x...", + chain: rpcClient.chain, + owner: litSigner, + factoryAddress: "0x...", + rpcClient, + }) +); +``` + +`lit.ts` +```js +import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; +import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { AuthCallbackParams } from "@lit-protocol/types"; +import { createWalletClient, custom } from "viem"; +import { polygonMumbai } from "viem/chains"; + +const API_KEY = ""; +const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; +const PKP_PUBLIC_KEY = ""; + +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: false, +}); +await litNodeClient.connect(); + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +/** + * For provisioning keys and setting up authentication methods see documentation below + * https://developer.litprotocol.com/v2/pkp/minting + */ +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + sessionKey: params.sessionKeyPair, + statement: params.statement, + authMethods: [], + pkpPublicKey: PKP_PUBLIC_KEY, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const sessionSigs = await litNodeClient + .getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }) + .catch((err) => { + console.log("error while attempting to access session signatures: ", err); + throw err; + }); + +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: PKP_PUBLIC_KEY, + rpc: POLYGON_MUMBAI_RPC_URL, + controllerSessionSigs: sessionSigs, +}); + +// a smart account signer you can use as an owner on ISmartContractAccount +export const litSigner: SmartAccountSigner = new WalletClientSigner( + createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, + "lit" // signerType +); +``` + +## Next Steps + +Continue learning about [Lit's severless signing](../../sdk/wallets/conditional-signing.md) capabilities. + +Explore [Account Kit](https://accountkit.alchemy.com/). diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md new file mode 100644 index 00000000..54ec3dd3 --- /dev/null +++ b/docs/integrations/aa/overview.md @@ -0,0 +1,50 @@ +# Account Abstraction + +Learn how to use Lit Protocol with account abstraction providers to streamline how you use web3 wallets! + +--- + +## Objectives +At completion of this reading you should be able to: + +- Define use cases for Lit with account abstraction (AA). +- Understand how to build Lit with an AA provider. + +--- + +## What is Account Abstraction? +Account abstraction references EIP-4337. AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific entry point. With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. + +EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. + +How AA enhances user experience: + +1. Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. +2. Social Recovery - In [Why we need wide adoption of social recovery wallets](https://vitalik.ca/general/2021/01/11/recovery.html) by Vitalik Buterin, he writes that a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery with AA can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. + + +## How to use Lit with Account Abstraction (AA) +1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. +2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. +3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. +4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. +5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. + +## Account Abstraction Providers +Rather than dealing with private keys, seed phrases, and complex wallet setups, users can leverage abstraction layers to interact seamlessly with Web3 services. + +AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account technologies to abstract away blockchain complexities. Their solutions enable intuitive user experiences via features like social recovery, meta-transactions, relayer networks, and identity management. By handling cumbersome blockchain intricacies behind the scenes, account abstraction paves the way for mainstream adoption. + + +![AA chart with providers and offerings](/img/aa_provider_table.webp) + +**Chart made by Prez Thomas in the piece ["Top 6 Account Abstraction Providers: An In-Depth Review"](https://medium.com/coinmonks/top-6-account-abstraction-providers-an-in-depth-review-3a09b9fc707c), Sept 13, 2023** + +## Account Abstraction Integrations + +| Provider | Description | Link to Guide | +| --- | --- | --- | +| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](https://accountkit.alchemy.com/smart-accounts/signers/lit.html) | +| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](https://docs.pimlico.io/tutorial/integrations/lit-protocol) | +| - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://nut.sh/ell/forms/352580/YEk9vu) | + diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md new file mode 100644 index 00000000..564fda30 --- /dev/null +++ b/docs/integrations/aa/pimlico.md @@ -0,0 +1,261 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Pimlico + +Learn how to use Lit Protocol's OTP sign-in (email, SMS, and Whatsapp) with a smart account whose user operations are relayed and sponsored by [Pimlico](https://www.pimlico.io/). + + + +--- + +## Objectives +At completion of this reading you should be able to: + +- Explain what Pimlico is and the services it provides with smart accounts. +- Understand how to set up Lit with Pimlico. + +--- + +## What is Pimlico? + +[Pimlico](https://www.pimlico.io/) is an infrastructure platform for building the next generation of smart accounts. If you are developing an ERC-4337 smart account, we provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build a more stable wallet and iterate faster. + +## Guide + +This how-to guide walks you through the steps to integrate Lit's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. + + +### Pre-requisites +- Familiarity with JavaScript. +- Reading Pimlico's [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1) to get an understanding of Pimlico and how Lit might fit in as a signer. This will be relevant to later steps in the guide. +- Obtain a Lit relay server by filling out this [form](https://forms.gle/RNZYtGYTY9BcD9MEA). + + +### 1. Setup + +#### **Installing packages** + +```bash +npm install stytch @lit-protocol/pkp-ethers@cayenne @lit-protocol/lit-auth-client@cayenne @lit-protocol/auth-helpers@cayenne @lit-protocol/types@cayenne @lit-protocol/lit-node-client-nodejs@cayenne +``` + +#### **Make an account with Stytch and get the Project ID and Secret** + +You can sign up for a Stytch account [here](https://stytch.com/). + +Once you have an account, you can find your Project ID and Secret in the [Stytch Dashboard API Keys page](https://stytch.com/dashboard/api-keys). + +![Stytch dashboard image](/img/stytch_pimlico.png) + + +### 2. Create a Stytch client with your Project ID and Secret + +In a new JavaScript file create and initialize the Stytch client. + +```js +const stytchClient = new stytch.Client({ + project_id: "project-test-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", + secret: "secret-test-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", +}); + +``` + +### 3. Send an OTP to the user's email, SMS, or Whatsapp + + + +```js +const stytchResponse = await stytchClient.otps.email.loginOrCreate({ + email: "", +}) +``` + + + + + +```js +const stytchResponse = await stytchClient.otps.sms.loginOrCreate({ + phone_number: "", +}) +``` + + + + + +```js +const stytchResponse = await stytchClient.otps.whatsapp.loginOrCreate({ + phone_number: "", +}) +``` + + + + + +### 4. Authenticate the user with the OTP and get a session token + + + + +```js +const authResponse = await stytchClient.otps.authenticate({ + method_id: stytchResponse.email_id, + code: otpResponse.code, + session_duration_minutes: 60 * 24 * 7, +}) + +const sessionStatus = await stytchClient.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + + + + +```js +const authResponse = await stytchClient.otps.authenticate({ + method_id: stytchResponse.phone_id, + code: otpResponse.code, + session_duration_minutes: 60 * 24 * 7, +}) + +const sessionStatus = await stytchClient.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + + + + +### 5. Get a Lit Relay Server API Key +Checking in! If you didn't complete the pre-req of getting a Lit relay key, you can get it by filling out this [form](https://forms.gle/RNZYtGYTY9BcD9MEA) and the Lit development team will get back to you shortly. + +You can also ping the Lit developement team on [Discord](https://litgateway.com/discord) once you fill out the form. + + +### 6. Mint a PKPs through Lit Protocol + +```js +const litClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +const session = litClient.initProvider(ProviderType.StytchOtp, { + userId: sessionStatus.session.user_id, + appId: "project-test-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" +}) + +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt +}) + +await session.mintPKPThroughRelayer(authMethod) +const pkps = await session.fetchPKPsThroughRelayer(authMethod) +``` + + +### 7. Generate the Controller Session Signatures + +```js +const litNodeClient = new LitNodeClientNodeJs({ + litNetwork: 'cayenne', + debug: false, +}) +await litNodeClient.connect(); + +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +const sessionKeyPair = litNodeClient.getSessionKey(); + +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + sessionKey: sessionKeyPair, + statement: params.statement, + authMethods: [authMethod], + pkpPublicKey: pkp[pkp.length - 1].publicKey, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), + resourceAbilityRequests: resourceAbilities, + sessionKey: sessionKeyPair, + authNeededCallback +}).catch((err) => { + console.log("error while attempting to access session signatures: ", err) + throw err; +}); +``` + + +### 8. Initialize the PKP Wallet +We will now generate a wallet that can act a regular Ethers.js wallet, but will use the PKPs minted through Lit to sign transactions under the hood. + +```js +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: pkp[pkp.length - 1].publicKey, + rpc: "", // e.g. https://rpc.ankr.com/eth_goerli + controllerSessionSigs: sessionSigs +}); + +await pkpWallet.init(); +``` + + +### 9. Use the PKP Wallet to sign user operations and send them through Pimlico + +You can now use the `pkpWallet` as a regular Ethers.js wallet to sign user operations. + +To submit a user operation to Pimlico, you can follow the steps to sponsor a user operation with Pimlico's verifying paymaster and/or submit a user operation through Pimlico's bundler. If you would like to integrate Lit with the full flow of generating, signing, and submitting a user operation, you can follow the steps in [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1), replacing the signing step with the PKP wallet and using `pkpWallet.address` as the owner address of the smart account. + +Modified from Plimlico's [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1), an example of how to use the PKP wallet to sign a user operation is shown below: + +```js +const signature = await pkpWallet.signMessage( + ethers.utils.arrayify(await entryPoint.getUserOpHash(userOperation)), +) + +userOperation.signature = signature +``` + +And an example of how you would generate the `initCode` for a [SimpleAccount](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/samples/SimpleAccount.sol) using the PKP wallet is shown below: + +```js +const initCode = ethers.utils.hexConcat([ + SIMPLE_ACCOUNT_FACTORY_ADDRESS, + simpleAccountFactory.interface.encodeFunctionData("createAccount", [pkpWallet.address, 0]), +]) +``` + + +## Next steps + +Continue exploring Lit by reading more about [programmable signing](../../concepts/programmable-signing-concept.md). + +Check out [more examples](https://docs.pimlico.io/tutorial) from Pimlico. diff --git a/docs/integrations/ceramicExample.md b/docs/integrations/ceramicExample.md new file mode 100644 index 00000000..315f881a --- /dev/null +++ b/docs/integrations/ceramicExample.md @@ -0,0 +1,231 @@ +--- +sidebar_position: 3 +--- + +# ComposeDB (Ceramic) + +## Save Data Encrypted with Lit Protocol to the Ceramic Network on ComposeDB + +Learn how to use Lit Protocol to encrypt messages and save them to the Ceramic Network using ComposeDB. + +--- + +## Objectives +At completion of this reading you should be able to: + +- Create ComposeDB schemas and deploy those models on a local Ceramic node. +- Authenticate users on Ceramic to allow them to author their own documents. +- Encrypt data with Lit Protocol and write mutation queries to save the encrypted data to ComposeDB using GraphQL. +- Decrypt data using Lit Protocol based on specified business logic. + +--- + +## What is the Ceramic Network? + +[Ceramic](https://ceramic.network/) is a decentralized data network that leverages the verifiable qualities you can expect from a blockchain, with cost efficiency and querying capabilities similar to a traditional database. Ceramic empowers developers to leverage interoperable data formats stored on the Network, helping product teams circumvent "cold-start" data problems while simultaneously allowing individuals to take ownership of their digital presence. + +### How does it Work? + +The Ceramic Protocol is built on decentralized event streams, where user accounts (enabled by decentralized identifiers, or [DIDs](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/)) cryptographically sign data events and submit them to the network. These events are stored in the Interplanetary File System (IPFS) using the IPLD protocol, and organized into readable streams. Each stream is flexible enough to store many types of content. Therefore, Ceramic is home to a diversity of different data use cases such as user profiles, posts, relations to other entities, and more. + +Due to Ceramic's open readability, any participating node can read from any stream in the network. Therefore, encrypting data using Lit Protocol and saving it Ceramic is a common (and necessary) integration for many teams. + +### Ceramic as a Data Ledger + +It's important to note that Ceramic can be viewed as a "Data Ledger" middle ground between on and off-chain activity. All Ceramic events are periodically rolled into a Merkle tree and the root is published to the Ethereum blockchain, thus ensuring consensus on the global transactions ordering within Ceramic. + +For more information on how Ceramic works, visit [How it Works](https://ceramic.network/how-it-works). + +## ComposeDB + +ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://composedb.js.org/docs/0.5.x/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! + +For the purpose of this tutorial, we will be using Ceramic with ComposeDB to illustrate how developers can generate, store, and query simple encrypted messages. + +This tutorial will use a message board example application to show how to create encrypted messages using Lit Protocol and save message instances to the Ceramic Network using ComposeDB. + +To follow along, reference this [example repository](https://github.com/ceramicstudio/lit-composedb). + +### Initial Setup + +For this tutorial, you will need: + +1. [MetaMask Chrome Extension](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn) +2. Node v16 + +First, clone the repository and install your dependencies: + +```bash +git clone https://github.com/ceramicstudio/lit-composedb && cd lit-composedb +npm install +``` + +Open the repository in your editor of choice to continue following along. + +### Generate Your Local Node Configuration + +This tutorial shows developers how to run a local node with which they will deploy model definitions and publish/read transactions to the network. + +In order to do this, a [server configuration](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) will have to be defined, as well as corresponding Ceramic node admin credentials. + +We've done most of this work for you using [this script](https://github.com/mzkrasner/lit-composedb/blob/main/scripts/commands.mjs) we've provided. + +To generate your credentials, run the following in your terminal: + +```bash +npm run generate +``` + +If you explore your `composedb.config.json` and `admin_seed.txt` files, you will now see a defined JSON ComposeDB server configuration and Ceramic admin seed, respectively. + +For more information on server configurations, visit [Server Configurations](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) in the ComposeDB docs. + +### Observe Your Schema Definitions + +You can find pre-made graphql schema definitions within your /composites directory. This particular tutorial uses a singular simple model called `Posts` - each model instance will contain all the necessary encrypted data generated by LIT for someone with the assigned access control conditions to be able to decrypt: + +```graphql +# 00-posts.graphql + +type Posts @createModel(accountRelation: LIST, description: "A simple Post") { + author: DID! @documentAccount + body: String! @string(maxLength: 100000) + to: String! @string(minLength: 42, maxLength: 42) + edited: DateTime + created: DateTime! + ciphertext: String @string(maxLength: 100000) + chain: String @string(maxLength: 100000) + accessControlConditions: String @string(maxLength: 100000) + accessControlConditionType: String @string(maxLength: 100000) +} +``` + +In this model definition, you'll notice that the "author" field takes a scalar type `DID` with an `@documentAccount` directive. This field definition allows each Posts instance to be queried based on the controlling Ceramic Account (based on DID), and therefore is automatically assigned each time a model instance is defined. + +(For more information on controlling Accounts and Documents, visit [ComposeDB Concepts](https://composedb.js.org/docs/0.5.x/core-concepts)). + +Finally, if you navigate into the `/scripts/composites.mjs` file, you'll find the application's deployment script. When you launch the application, this script compiles the model into a composite definition that will then be deployed on your local node and writes that definition to the files located in `/src/__generated__`, which will later be used by the ComposeDB client library to read and write data. + +### Run the Application in Developer Mode + +To run the application, first make sure you're running node version 16, and then run the `dev` command: + +```bash +nvm use 16 +npm run dev +``` +You can observe your local node's output logs within your terminal as the application starts up. + +Once your terminal reads `[NextJS] ready - started server on 0.0.0.0:3000, url: http://localhost:3000`, you can view the frontend in your browser by visiting http://localhost:3000. + +Note that your local Ceramic node is now running on your local 7007 port. You can verify that it's running by executing the following in a new terminal: + +```bash +curl http://localhost:7007/api/v0/node/healthcheck +``` + +This should print `Alive!%` on the following line. + +### Authenticate with Ceramic + +Upon opening the homepage in your browser, you will be prompted with the option to "Sign In with Ceramic" in the middle of the screen: + +
+ +![sign in with Ceramic](/img/ceramic-images/sign_in.png) + +
+ +Navigating back to your text editor, observe the `useEffect` lifecycle hook within /src/pages/index.tsx that checks the browser's local storage for an item with a "did" key. Upon pressing the button to initiate the authentication sequence, the `handleLogin` method on the same page is called, relying on an `authenticateCeramic` method imported from /utils/index.ts, using the client definitions imported from /context/index.tsx. + +The important item to recognize during this sequence is which DID method is being used. While Ceramic supports multiple [DID methods](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/), this application authorizes Ethereum accounts using [@didtools/pkh-ethereum](https://did.js.org/docs/api/modules/pkh_ethereum/) (visit [User Sessions](https://composedb.js.org/docs/0.5.x/guides/composedb-client/user-sessions) for more information). + +This type of authentication flow offers a familiar "web2" experience allowing users to sign in once (thus generating a timebound session), removing the need to manually approve every transaction. In doing so, this method utilizes a root Ceramic `did:pkh` account with the user's wallet, and generates a temporary and resolvable Ceramic `did:key` account that lives in the browser's local storage, expiring after a default duration of 24 hours. + +Once authenticated, you should now see a blank message board appear on the screen: + +
+ +![blank message board](/img/ceramic-images//message_board.png) + +
+ +If you now check your local storage, you'll also see a new generated field with a "did" key and an alphanumeric corresponding value. + +Finally, navigating back to /src/pages/index.tsx, you'll also notice that a `startLitClient` method is invoked toward the end of `handleLogin`. Similar to `authenticateCeramic`, this method is imported from /utils/client.ts and is meant to connect your host to LIT Protocol's network. Please note that we have not yet authenticated ourselves with LIT - we will do this later when we try to create a message. + +### Generate Encrypted Messages + +Now that we are authenticated with Ceramic, we can go ahead and send messages to the network. In your text editor, you'll notice that the component defined in `/src/components/Chat.tsx` imports and returns a `` component (using the raw message contents and the user's address as props). If you navigate into `/src/fragments/chatinputbox.tsx`, you'll find a flow that involves both encryption with LIT and saving to Ceramic. + +Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../sdk/access-control/condition-types/boolean-logic.md) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). + +Next, you'll find an `encrypted` constant assigned to the evaluated result of invoking `encryptWithLit`, using the Lit client instance, the raw message, access control conditions, and the assigned chain as arguments. This method is imported from /utils/lit.ts. Similar to the Ceramic authentication flow outlined in the previous section, `encryptWithLit` first invoked a child method called `checkAndSignAuthMessage` that checks for an existing cryptographic authentication signature and creates one if it does not exist. The result of this signature is then stored in local storage so the user doesn't have to sign each time they perform an operation. + +If this is your first time submitting a message after following the steps above, your MetaMask will prompt you to generate the signature mentioned above: + +
+ +![signing lit protocol authentication](/img/ceramic-images//sign_lit.png) + +
+ +Observe how the child methods within `encryptWithLit` use the original arguments to eventually return an object that we will then save to ComposeDB. + +Back in `/src/fragments/chatinputbox.tsx`, observe how the `executeQuery` method on our `composeClient` class instance is invoked with the values we just generated from the LIT encryption sequence. It's important to note that mutation queries (such as this one) only work when a user is authenticated. Since we are importing the `useCeramicContext` wrapper from /context/index.tsx, we are able to access the authenticated session we established in the last section from within any child components. You can also see how the `createPosts` mutation query accessing the model definitions we discussed previously, found in `/composites/00-post.graphql`. + +If you've followed the steps above to submit an encrypted message, your UI should now look something like this: + +
+ +![message board with encrypted message](/img/ceramic-images/lit_message.png) + +
+ +### Grabbing Indexed Messages + +Now that you've generated encrypted messages using LIT and saved them to your local Ceramic node using ComposeDB, you'll notice that every time you refresh the page, those messages are rendered in the UI. + +If you navigate back to `/src/components/Chat.tsx`, you'll be able to observe why this is happening. You'll notice that a `getMessages` method is tied to the `useEffect` lifecycle hook. When invoked, this method queries your imported composeClient for the last 20 instances of Posts from your index (if they exist). It's important to note that, unlike mutation queries, this read request works regardless if someone is authenticated or not. + +### Decrypting Messages + +If you've followed along in the tutorial up until this point without switching to a different wallet address (meaning you're still logged into the one you used to generate a few messages), you'll see a "Decrypt" button within each message box rendered in the UI. This button renders conditionally based on whether you're the message author (see `src/fragments/chatcontent.tsx` for the conditional `message.isChatOwner`). However, even if we rendered this button for all users regardless of author, we can still rely on LIT to grant decryption access solely to users who meet the correct access control conditions. + +In `/src/fragments/chatcontent.tsx` you can observe how this works. When you click the "Decrypt" button, this action invokes the `handleDecrypt` method with both an event pointer and the message contents relevant to that component instance. Similar to the sequence of events incurred when encrypting data with LIT, observe how the `decryptWithLit` method is invoked (after converting the message contents to their necessary formats). + +The definition for this method lives in `/utils/lit.ts`, which checks for an existing cryptographic authentication signature in the browser's local storage. If the user is authorized, a `decryptToString` method is later invoked using the `litNodeClient` instance on the window object, along with the access control conditions, ciphertext, encrypted and hashed data, and chain. This will finally decrypt the message contents and allow us to render it in our UI. + +If you press the "Decrypt" button, that corresponding message should now allow you to read its contents in plaintext: + +
+ +![decrypted message](/img/ceramic-images/decrypted_message.png) + +
+ +### Signing in as Different Users + +If you want to simulate what the experience might look like with multiple users interacting with the application, make sure that you clear your local storage (in addition to disconnecting your current MetaMask account) each time you want to sign in with a different address. + +## Next Steps + +While this tutorial represents a very simple example of how to store and retrieve encrypted data on ComposeDB, there are other patterns and examples developers will find useful to learn more about building on Ceramic. + +- To migrate from local development to running ComposeDB in the cloud, visit [Running in the Cloud](https://composedb.js.org/docs/0.5.x/guides/composedb-server/running-in-the-cloud). +- To move from Ceramic Testnet to Mainnet, visit [Access Ceramic Mainnet](https://composedb.js.org/docs/0.5.x/guides/composedb-server/access-mainnet). +- To view a social application example with more complex data modeling and querying based on relations, visit this [Social App ComposeDB Starter](https://github.com/ceramicstudio/EthDenver2023Demo). +- To view how to generate, save, query, and verify off-chain attestations using the Ethereum Attestation Service together with ComposeDB, visit [this repository](https://github.com/ceramicstudio/ceramic-eas). +- Use the [ComposeDB API Sandbox](https://composedb.js.org/sandbox) to test example queries on a real dataset directly from your browser +- Build an AI-powered Chatbot and save message history to ComposeDB by following this [ComposeDB Tutorial](https://learnweb3.io/lessons/build-an-ai-chatbot-on-compose-db-and-the-ceramic-network) + +### Support from the Ceramic Team + +Developers are encouraged to join the Ceramic community, engage with members of the Ceramic team, and ask for help along their development journey! Here are a few ways to get in touch: + +- Join the [Forum](https://forum.ceramic.network/) to ask questions and receive support +- Join the [Discord](https://discord.com/invite/ceramic) to chat directly with both community members and the Ceramic team +- Follow the Ceramic Network on [Twitter](https://twitter.com/ceramicnetwork) for updates +- Browse technical tutorials and feature release announcements on the Ceramic [blog](https://blog.ceramic.network/) +- Check out the [YouTube Channel](https://www.youtube.com/channel/UCgCLq5dx7sX-yUrrEbtYqVw) for presentations and videos + diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 75fe10d5..0ce73e2b 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -9,7 +9,8 @@ import LearnCodeSection from '@site/src/components/CardSectionsV3/LearnCode'; # Overview -Lit Protocol lets you create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing. A decentralized key management network, Lit can be used in place of centralized key custodians and other key management solutions. + +Lit Protocol lets developers and their users create and manage decentralized keys for condition-based encryption and programmatic signing for digital assets. The Lit network can be used in place of centralized key custodians and other key management solutions. Get started today! @@ -17,43 +18,7 @@ Get started today! **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::tip - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::info - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::caution - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::danger - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://lit-js-sdk-v3-api-docs.vercel.app/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 7628a497..73c41cd1 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -5,7 +5,9 @@ sidebar_position: 2 # What is Lit Protocol -Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit provides developers with a comprehensive toolkit for managing sovereign identities on the open web. +Lit Protocol is a system for creating decentralized key management networks, powered by threshold cryptography and secure encrypted virtualization. The Lit network provides a generalizable key management layer for encryption, compute, and programmable signing. + +Developers can build on the Lit network with a comprehensive toolkit for managing digital assets and sovereign identities on the open web. ## Core Functionality @@ -13,7 +15,7 @@ Lit Protocol provides developers with two core services: 1. **Encryption and Access Control** : Lit enables the client-side encryption and decryption of data by utilizing on or off-chain conditions, without relying on a centralized key custodian. Get started with [encryption and access control](../sdk/access-control/intro.md). -2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](../sdk/wallets/intro.md). +2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are multiparty computation wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [programmatic signing](../sdk/wallets/intro.md). ## Use Cases diff --git a/docs/migration/overview.md b/docs/migration/overview.md index f886ddd4..5536a1f6 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -9,9 +9,33 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. -## What's Not Migrated? +## Data Migration -All of the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks **will not be migrated** but we will continue to maintain support for them. If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. + +:::caution + +The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. + +::: + +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. + +Alternatively, here are some general instructions for migrating to use the new encryption scheme: + +1. Decrypt from the original network (`jalapeno` or `serrano`) to retrieve the plaintext that was encrypted at rest. +2. If this plaintext corresponded to a symmetric key that you had used to encrypt data, then you would need to retrieve and decrypt the encrypted data. +3. With the plaintext data now, you can use the new encryption scheme in the SDK V3 and store this encrypted data wherever you wish. + + +:::info +Note that the time and feasibility of this migration process ultimately depends on how your application is integrated with Lit. +::: + +Some factors that have different implications on the migration timeline include: + +- Whether a single symmetric key is used for encrypting all of your users' data, vs. using a symmetric key per each user's encryption needs +- Whether a different symmetric key for each type of data is used (even for the same user), vs. using a symmetric key across all types of data +- Whether a single storage engine is used to store encrypted data, vs. a multitude of storage engines are used ## Per-Package Changes diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 5d74eb25..7fbcfe4e 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -1,28 +1,8 @@ ---- -sidebar_position: 4 ---- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Contracts -Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](../intro/rollup): - -**PKPNFT**: [0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153](https://chain.litprotocol.com/address/0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153) - -**PubkeyRouterAndPermissions**: [0x1c5B708A171602A11895D727a64aeE2457E3Ef60](https://chain.litprotocol.com/address/0x1c5B708A171602A11895D727a64aeE2457E3Ef60) - -**Rate Limit Increase NFT**: [0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5](https://chain.litprotocol.com/address/0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5) - -**Staking Contract Address**: [0x4809A30149958a95b925bb5315cb0F550E166272](https://chain.litprotocol.com/address/0x4809A30149958a95b925bb5315cb0F550E166272) - -**PKPHelper**: [0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6](https://chain.litprotocol.com/address/0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6) - -**PKPPermissions**: [0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9](https://chain.litprotocol.com/address/0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9) - -## TypeScript Contracts SDK - -The [Lit Contracts SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/contracts-sdk) is a bundled package that allows you to make calls to Lit Protocol smart contracts. Some contracts come with additional abstracted functions that can be accessed by appending Util to the contract variable name, for example, pkpNftContract becomes pkpNftContractUtil. +Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). -Demo: https://demo-contracts-sdk-react.vercel.app/ +The contracts live on the [Chronicle Testnet](../intro/rollup). diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 6e2da9a5..bfe0c0ea 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -66,6 +66,8 @@ When the user sends a request, the session key signs it and sends the signature Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. ### **[Threshold Cryptography](../resources/how-it-works.md)** A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. +### **[Webhooks](../tools/event-listener.md)** +Webhooks are one way that apps can send automated messages or information to other apps. Generally, it is user defined behavior executing when a predefined condition is met. ### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 4a4be6b5..495f247b 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -1,15 +1,14 @@ # Encryption -Access control conditions can be used to encrypt any static content such that its decryption is "gated". +The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. -The Lit network uses an identity-based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. +### How Does ID Encrypt Work +This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. -Refer to the [SDK docs](../sdk/explanation/jwt-auth) for more details and code examples. - ## High-Level Overview Here is a high-level, step-by-step breakdown of encryption and decryption: @@ -29,20 +28,20 @@ Here is a high-level, step-by-step breakdown of encryption and decryption: ## Technical Walkthrough -You can use Lit to encrypt and store any static content. This could be a file, a string, or anything that won't change. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. - -If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](../explanation/encryption#encrypttoipfs). +You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. -Check out [this example](https://github.com/LIT-Protocol/js-sdk/blob/master/apps/demo-encrypt-decrypt-react/README.md) for a full-fledged **React** application that encrypts and decrypts a **string** using Lit SDK. +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. -In the example below we will show you the step-by-step process of how to encrypt and decrypt static data using the Lit JS SDK on the client side. +Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. ### Setup -At the top of your file, instantiate your Lit Node client like so: +At the top of your file, create your Lit Node client like so: ```js -const client = new LitJsSdk.LitNodeClient(); +const client = new LitJsSdk.LitNodeClient({ + litNetwork: 'cayenne', +}); const chain = "ethereum"; ``` @@ -67,8 +66,8 @@ Get more info on functions in the [API docs](https://js-sdk.litprotocol.com/inde Steps to Encrypt 1. Obtain an `authSig` and create an access control condition. -2. Encrypt the static content (string, file, etc.) using `LitJsSdk.encryptString` to get the `ciphertext`, for example. This ties the `accessControlConditions` with the static content. -3. Finally, we have to store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. IPFS is generally used to store these values. +2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. You'll need to pass in these #### Access Control & AuthSig @@ -92,7 +91,7 @@ const accessControlConditions = [ #### AuthSig -First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. +First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. The chain we are using in this example is `ethereum`, you can check out additional supported chains [here](../../resources/supported-chains.md). ```js const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); @@ -138,7 +137,7 @@ async encrypt(message: string) { chain: 'ethereum', dataToEncrypt: 'this is a secret message', }, - window.litNodeClient, + litNodeClient, ); return { @@ -150,7 +149,7 @@ async encrypt(message: string) { ### Decrypting -Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` variables we created when encrypting content. +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. There is just one step: @@ -159,15 +158,19 @@ There is just one step: #### AuthSig -First, obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain used here is ethereum. +Obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain we are using in this example is `ethereum`. ```js -const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }); ``` #### Obtaining the Decrypted Data -In the example, we used `encryptString()` so we will use `decryptToString()` to decrypt. Note that if you used something else to encrypt the content, you will need to use the appropriate decrypt method. +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, `authSig`. + +:::note +If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. +::: ```js const decryptedString = await LitJsSdk.decryptToString( @@ -192,7 +195,7 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit await this.connect() } - const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }) + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }) const decryptedString = LitJsSdk.decryptToString( { accessControlConditions, @@ -201,63 +204,10 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit authSig, chain: 'ethereum', }, - window.litNodeClient, + litNodeClient, ); return { decryptedString } } ``` -## Encryption & Upload to IPFS - -To simplify encrypting and uploading to IPFS, there is a method within the SDK to help encrypt and store data on IPFS. - -### encryptToIPFS - -Now, let's take a look at the simplified encryption-decryption & IPFS storing functionality. - -:::note - -The `encryptToIpfs` function internally uses the ipfs-http-client which requires the Infura Project Id & API Secret Key. - -::: - -#### Encryption - -1. For encrypting the static content (string, file) simply pass it to our function `encryptToIpfs` along with the other params: `accessControlConditions`, `chain`, `infuraId`, `infuraSecretKey` & the instance of the connected `LitNodeClient`. Note we're using the Infura client to add the strings/files to IPFS hence you have to provide your credentials. - -That's all! All the steps will be taken care of for you & the `ipfsCid` for your encrypted metadata will be returned to you. - -#### Decryption - -1. For decrypting the encrypted content (string, file) simply pass the returned `ipfsCid` to our function `decryptFromIpfs` & the instance of the connected `LitNodeClient`. - -That's all! You will get the decrypted string or the file as an ArrayBuffer. - -#### Putting it all together - -```js -async encrypt() { - const ipfsCid = await LitJsSdk.encryptToIpfs({ - authSig, - accessControlConditions, - chain, - string: "Encrypt & store on IPFS seamlessly with Lit 😎", - // file, // If you want to encrypt a file instead of a string - litNodeClient: this.litNodeClient, - infuraId: 'YOUR INFURA PROJECT ID', - infuraSecretKey: 'YOUR INFURA API-SECRET-KEY', - }); -} - -async decrypt(ipfsCid) { - const decryptedString = await LitJsSdk.decryptFromIpfs({ - authSig, - ipfsCid, // This is returned from the above encryption - litNodeClient: this.litNodeClient, - }); -} -``` - -#### How to encrypt & decrypt a file instead? - -For encryption use the same function params as above with the string param replaced with a file. For decryption nothing changes. The returned value in that case will be a `Uint8Array` instead of a string since it's a decrypted file. \ No newline at end of file +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 4d65e846..a0b1322f 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -119,4 +119,4 @@ URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6 #### Node Address -The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. +The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. \ No newline at end of file diff --git a/docs/sdk/claimable-keys/intro.md b/docs/sdk/claimable-keys/intro.md new file mode 100644 index 00000000..17aeb3a0 --- /dev/null +++ b/docs/sdk/claimable-keys/intro.md @@ -0,0 +1,44 @@ +# Intro + +## Quick Start + +Ready to jump right in? Quickly learn how you can integrate claimable keys into your own product: + +1. Guide: https://spark.litprotocol.com/lit-js-sdk-v3-claimable-keys/ +4. Example Repo: https://github.com/LIT-Protocol/claim-key-demo-nodejs + +## Overview + +With the release of the test network `cayenne` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. + +HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. + +## Key vocabulary + +| Term | Definition | +| --- | --- | +| authentication methods | Deterministically generated identifier from authentication material | +| auth method identifier | An ID generated from a given authentication method | +| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | +| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | +| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | + +The `key identifier` is generated from an `auth method identifier` from `authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. + +This also allows you to generate many keys from a single `authentication method` . Since this identifier is known ahead of time from deriving the `auth method` to it’s `auth method identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. +With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. + +To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. + + +Below is a table of how each supported authentication method derives the `key id` + +| Auth Method | User ID | App ID | +| --- | --- | --- | +| Google OAuth | token sub | token aud | +| Discord OAuth | user handle | client app identifier | +| Stytch | user id | project id | +| Lit Actions | user provided | IPFS CID | + + +Continue to the next section to learn how to create HD keys and claim them. diff --git a/docs/sdk/claimable-keys/usage.md b/docs/sdk/claimable-keys/usage.md new file mode 100644 index 00000000..b3096465 --- /dev/null +++ b/docs/sdk/claimable-keys/usage.md @@ -0,0 +1,243 @@ +# Creating and Claiming + +The Lit SDK provides a `claimKeyId` method which authenticates an `Auth Method` to derive the `key id` . If authentication is successful, a signature is generated by each of the nodes in the network. This signature, the `key id`, and derived public key are then provided to a `ClaimProcessor` which will register the generated key claim on chain and then routes the generated public key for use. + +The `ClaimProcessor` can be provided which defines how the response from the claim operation will be registered on chain. It is recommended to use either the Lit relay server, or the `contract-sdk` . There are two types of `ClaimProccessor` + +- `ClientClaimProcessor` + - Allows for specifying a `signer` for registering claims through the `contract-sdks` `claimAndMint` +- `RelayClaimProcessor` + - allows for specifying a `RelayConfig` which overrides default options for calling a custom `relayer` instance + +If you wish to derive public keys before claiming the `LitNodeClient` offers two helper functions to allow you to compute derived public keys. + +- `computeHdKeyId` calculates the `key id` based on a `user id` and `app id` +- `computeHdPubkey` calculates the `public key` based on the `key id` + +## Examples using the `LitNodeClient` + +Below is an example of claiming a key with the `LitNodeClient` using the default implementation of the `ClaimProcessor` + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); +await client.connect(); + +let res = await client.claimKeyId({ + authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method +}); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); + +``` + +An example of claiming with a customized `ClaimProcessor` using the `contracts-sdk` In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); +await client.connect(); +let claimReq: ClaimRequest = { + authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method + signer: new ethers.Wallet("", new JsonRpcProvider("https://chain-rpc.litprotocol.com/http")); + mintCallback: (claimRes: ClaimResponse) => { + const litContracts = new LitContracts({ signer: claimRes.signer }); + await litContracts.connect(); + let tokenId = litContracts.claimAndMint(claimRes.keyId, claimRes.signatures); + } +}; +let res = await client.claimKeyId(claimReq); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); + +``` + +An example of deriving a `key id` to its public key, this operation does not persist the key for use on the Lit network. But it allows you to know what the key **will be** once registered on chain once claimed. + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); + +const keyId = client.computeHdKeyId("", ""); +// the key id can now be given to the public key calculation method +const publicKey = client.computeHDPubKey(keyId); +console.log("user public key will be: ", publicKey); +``` + + +An example of claiming with a customized `ClaimProcessor` making a call to the `Lit relay server` . In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. + +```jsx +const client = new LitNodeClient({ + litNetwork: "cayenne", + debug: false +}); +await client.connect(); + +let res = await client.claimKeyId({ + authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method + mintCallback: (claimRes: ClaimResponse) => { + const response = await fetch(relayUrl, { + method: 'POST', + body: JSON.stringify(claimRes), + headers: { + 'api-key': params.relayApiKey, + 'Content-Type': 'application/json', + }, + }); + + if (response.status < 200 || response.status >= 400) { + let errResp = await response.json() ?? ""; + let errStmt = `An error occured requesting "/auth/claim" endpoint ${JSON.stringify( + errResp + )}`; + console.warn(errStmt); + throw new Error(errStmt); + } + + let body: any = await response.json(); + // the transaction hash of registering the claim on chain + return body.requestId; + } +}); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); + +``` + + +## Examples Using the `LitAuthClient` + +### Example of claiming a key with the `LitAuthClient` authenticating with `Stytch` email OTP + +We will start by creating an instance of the Stytch client, with your project id and project secret. this should be loaded from a config and never put into source control. + +```jsx +const client = new stytch.Client({ + project_id: "", + secret: "", +}); +``` + +Once the client is created we can send an `OTP` code through the `otps` namespace on the `Stytch` client. For this example we will choose `otp` as our auth type and `loginOrCreate` a user with a provided email address. it is intended for this value to be user provided. after creating or logging the user in, we shall `authenticate` with the returned `email_id` and `otp` code provided by the user. + +```jsx +const email = ""; // email address of user + +const stytchResponse = await client.otps.email.loginOrCreate({ + email: email, + +}) + +const authResponse = await client.otps.authenticate({ + method_id: stytchResponse.email_id, + code: // code from email, + session_duration_minutes: 60, // session duration is required for session token creation +}) + +const sessionResp = await client.sessions.get({ + user_id: authResponse.user_id +}); + +const sessionStatus = await client.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + +Now we can create an instance of the `LitAuthClient` with a `relay API key` . Then an instance of the `stytch otp` provider and provide a `user id` and `app id` the `user id` can come from the `loginOrCreate` response. The `app id` can be found in your `Stytch` project dashboard. +Finally, we can pass the `session jwt` from the `authenticate` response . + +```jsx + +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: "", + } +}); + +const session = authClient.initProvider(ProviderType.StytchOtp, { + userId: sessionStatus.session.user_id, + appId: "" +}) + +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt +}); + +const claimResp = session.claimKeyId({ + authMethod +}); + +console.log("mint tx hash: ", res.mintTx); +console.log("pkp public key: ", res.pubkey); +``` + +## Calculating the public key of a given auth method identifier + +We will start by creating an instance of the Stytch client, with your project id and project secret. this should be loaded from a config and never put into source control. + +```jsx +const client = new stytch.Client({ + project_id: "", + secret: "", +}); +``` + +Once the client is created we can send an `OTP` code through the `otps` namespace on the `Stytch` client. For this example we will choose `otp` as our auth type and `loginOrCreate` a user with a provided email address. it is intended for this value to be user provided. after creating or logging the user in, we shall `authenticate` with the returned `email_id` and `otp` code provided by the user. + +```jsx +const email = ""; // email address of user + +const stytchResponse = await client.otps.email.loginOrCreate({ + email: email, + +}) + +const authResponse = await client.otps.authenticate({ + method_id: stytchResponse.email_id, + code: // code from email, + session_duration_minutes: 60, // session duration is required for session token creation +}) + +const sessionResp = await client.sessions.get({ + user_id: authResponse.user_id +}); + +const sessionStatus = await client.sessions.authenticate({ + session_token: authResponse.session_token, +}) +``` + +Now we can create an instance of the `LitAuthClient` with a `relay API key` . Then an instance of the `stytch otp` provider and provide a `user id` and `app id` the `user id` can come from the `loginOrCreate` response. The `app id` can be found in your `Stytch` project dashboard. +Finally, we can pass the `session jwt` from the `authenticate` response . Upon successful `authentication` of the token, an `AuthMethod` will be generated. With the `Auth Method` created we can parse it and get an `AuthMethodId` which can be used to calculate the public key. This is because the `AuthMethodId` is the `key id` + +```jsx +const authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + } +}); + +const session = authClient.initProvider(ProviderType.StytchOtp, { + userId: sessionStatus.session.user_id, + appId: "" +}) + +const authMethod = await session.authenticate({ + accessToken: sessionStatus.session_jwt +}); + +const keyId = session.getAuthMethodId({authMethod}); +const pubkey = session.litNodeClient.computePubkey(keyId); + +console.log("pkp public key: ", pubkey); +``` diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index f1bee992..1b2f1bfe 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -1,55 +1,48 @@ ---- -sidebar_position: 1 ---- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Installation +Ensure you have the following requirements in place: + +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: THe Lit JS SDK V3 supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. + ## Installing And Importing The SDK - + Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/lit-node-client@^3.0.2 ``` -Use the **Lit JS SDK**: +Use the **Lit JS SDK V3**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` - - - -```js - -``` - -If you decide to import the SDK with the script tag, we provide a web-ready package with the dependencies you need. You can use the SDK functions via `LitJsSdk_litNodeClient`, for example `LitJsSdk_litNodeClient.encryptString()` - Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs +yarn add @lit-protocol/lit-node-client-nodejs@^3.0.2 ``` -Use the **Lit JS SDK**: +Use the **Lit JS SDK V3**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; @@ -64,73 +57,36 @@ You should use **at least Node v16.16.0** because of the need for the **webcrypt ## Connection to the Lit Network -The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. - -### SDK installed via yarn or the script tag (browser usage) - - - - -```js -const client = new LitJsSdk.LitNodeClient(); -await client.connect(); -window.litNodeClient = client; -``` - -In the **yarn / NPM** example: - -:::note - -`client.connect()` will return a promise that resolves when you are connected to the Lit Network. You may also listen for the `lit-ready` event. +The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). -In the code examples we make the `litNodeClient` available as a global variable so that it can be used throughout the web app. +In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. -::: - - - - -```js -function litJsSdkLoaded() { - var litNodeClient = new LitJsSdk_litNodeClient(); - litNodeClient.connect(); - window.litNodeClient = litNodeClient; -} -``` - -In the **script tag** example: +Calling `connect()` on the `litNodeClient`` returns a promise that resolves when you are connected to the Lit network. -If you're using the script tag, you can put your own connection code in a `litJsSdkLoaded()` function and call it yourself with `onload=litJsSdkLoaded()`. - - - +### SDK installed via NodeJS / serverside usage -### SDK installed via yarn / NPM (NodeJS / serverside usage) +In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by [Express](https://expressjs.com/) for this purpose. You may have to use what your own server framework provides for this purpose, instead. -In this example, we store the litNodeClient in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by Express for this purpose. You may have to use what your own server framework provides for this purpose, instead. +`client.connect()` returns a promise that resolves when you are connected to the Lit network. ```js app.locals.litNodeClient = new LitJsSdk.LitNodeClient({ alertWhenUnauthorized: false, + litNetwork: 'cayenne', }); await app.locals.litNodeClient.connect(); ``` -:::note -`client.connect()` will return a promise that resolves when you are connected to the Lit Network. -::: +### SDK installed for client side usage -### SDK installed via yarn / NPM (client side usage) +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. -Within a file (we like to call ours `lit.js`), set up your Lit object. +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```js -const client = new LitJsSdk.LitNodeClient() +const client = new LitJsSdk.LitNodeClient({ + litNetwork: 'cayenne', +}) class Lit { private litNodeClient @@ -142,23 +98,8 @@ class Lit { export default new Lit() ``` -## Listening for the lit-ready event - -To listen for the "lit-ready" event which is fired when the network is fully connected: - -```js -document.addEventListener( - "lit-ready", - function (e) { - console.log("LIT network is ready"); - setNetworkLoading(false); // replace this line with your own code that tells your app the network is ready - }, - false -); -``` - ## Debug Logging and Lit Node Client configuration -The `LitNodeClient` object has a number of config params you can pass, documented here: https://js-sdk.litprotocol.com/classes/lit_node_client_src.LitNodeClientNodeJs.html#config +The `LitNodeClient` object has a number of config params you can pass, documented here: https://lit-js-sdk-v3-api-docs.vercel.app/interfaces/types_src.LitNodeClientConfig.html For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 9b2db976..36364354 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -136,6 +136,10 @@ const runLitAction = async () => { // all jsParams can be used anywhere in your litActionCode jsParams: { // this is the string "Hello World" for testing + toSign: ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])), + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", }, }); console.log("results: ", JSON.stringify(results.response, null, 2)); diff --git a/docs/sdk/wallets/conditional-signing.md b/docs/sdk/wallets/conditional-signing.md index 21ba6f3a..e1383a72 100644 --- a/docs/sdk/wallets/conditional-signing.md +++ b/docs/sdk/wallets/conditional-signing.md @@ -3,10 +3,16 @@ import TabItem from '@theme/TabItem'; # Conditional Signing -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for [generating proofs](/LitActions/intro#proofs). This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. +:::note +`toSign` data is required to be in 32 byte format. + +The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. +::: + ```js import * as LitJsSdk from '@lit-protocol/lit-node-client'; @@ -24,7 +30,7 @@ const go = async () => { } // this is the string "Hello World" for testing - const toSign = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]; + const toSign = ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])); // this requests a signature share from the Lit Node // the signature share will be automatically returned in the HTTP response from the node const sigShare = await LitActions.signEcdsa({ toSign, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1" }); @@ -47,7 +53,7 @@ const authSig = { const runLitAction = async () => { const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "serrano", + litNetwork: "cayenne", }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ @@ -83,13 +89,3 @@ const runLitAction = async () => { runLitAction(); ``` - -## Example Project: Conditional Signing - -Below is an example project demonstrating how to program a conditionally signed response using Lit Actions. - -The app will display the returned JSON if Ether balance >= Min balance entered AND if you signed the transaction within 2 mins of the set time. - -Here is the complete [**React** project](https://replit.com/@lit/Lit-Actions-Conditional-Signing#lit-actions_sign_api_response/src/App.js). - - \ No newline at end of file diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 13e4b5ce..059d5549 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -40,4 +40,4 @@ In order to allow for various frontends to integrate with our platform, we plan #### Challenge-Free Registration -We do not currently use [challenges](../../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +We do not currently use [challenges](../../resources/glossary#challenge.md) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index 183f42a5..d8ef5e26 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -109,4 +109,4 @@ The `@lit-protocol/pkp-walletconnect` library exposes base functionality needed const signClient = pkpWalletConnect.getSignClient(); ``` -Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. \ No newline at end of file +Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. diff --git a/docs/tools/event-listener.md b/docs/tools/event-listener.md new file mode 100644 index 00000000..100d2fca --- /dev/null +++ b/docs/tools/event-listener.md @@ -0,0 +1,33 @@ +# Event Listener + + + + +The [Lit event listener](https://github.com/DIGITALAX/LitListenerSDK) allows you to create specific event-based triggers for executing Lit Actions. + +The SDK is designed around the principle of conditionally pre-approved chain reactions with account abstraction. This series of actions encrypted, conditional, often on-chain, can be chained together to trigger complex strategies. + +With the SDK, you'll be able to set three core condition functions: webhooks, on-chain events, and intervals. + +1. Webhooks +Webhooks are automated messages sent from apps triggered by user defined behavior. The event listener SDK is designed to query (request) and monitor information from specific APIs. In a blockchain context, this might include tracking price changes of a specific cryptocurrency or updates from a decentralized app. + +2. On-Chain Events +The SDK allows you to set up listeners for specific events occurring on the blockchain, like a contract being executed or a new block being added. By subscribing to these events, you're telling the SDK to keep an eye on particular occurrences within blockchain networks. + +3. Intervals +Intervals within the SDK act as the timing mechanism that governs how frequently the SDK checks the webhooks and on-chain events. By setting intervals, you determine how often the SDK will check for updates in the specified webhooks or on-chain events. If you need real-time reaction, you might set a short interval, whereas a less time-sensitive circuit might have longer intervals. + +## Node Code Platform +![No Code Platform image](/img/event_listener_no_code.png) +Looking to automate signing with Lit Actions, without minimal code? Check out [this platform](https://listener.irrevocable.dev/) that utilizes the event listener SDK. + + +Event listener SDK brought to you by [DIGITALAX](https://github.com/DIGITALAX). Read the [documentation](https://docs.irrevocable.dev/) to learn more. diff --git a/docusaurus.config.js b/docusaurus.config.js index 20ac1e8f..4c4d6554 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,54 +1,53 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion -const lightCodeTheme = require('prism-react-renderer/themes/github'); -const darkCodeTheme = require('prism-react-renderer/themes/dracula'); +const lightCodeTheme = require("prism-react-renderer/themes/github"); +const darkCodeTheme = require("prism-react-renderer/themes/dracula"); /** @type {import('@docusaurus/types').Config} */ const config = { - title: 'Lit Protocol', - tagline: - 'Blockchain based access control and programmatic signing for the web', - url: 'https://developer.litprotocol.com', - baseUrl: '/', - onBrokenLinks: 'warn', - onBrokenMarkdownLinks: 'warn', - favicon: 'brand/favicon.ico', - organizationName: 'lit-protocol', // Usually your GitHub org/user name. - projectName: '@lit-protocol/js-sdk', // Usually your repo name. + title: "Lit Protocol", + tagline: "Blockchain based access control and programmatic signing for the web", + url: "https://developer.litprotocol.com", + baseUrl: "/", + onBrokenLinks: "warn", + onBrokenMarkdownLinks: "warn", + favicon: "img/favicon.png", + organizationName: "lit-protocol", // Usually your GitHub org/user name. + projectName: "@lit-protocol/js-sdk", // Usually your repo name. presets: [ [ - '@docusaurus/preset-classic', + "@docusaurus/preset-classic", /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { breadcrumbs: false, - lastVersion: '2.0', - sidebarPath: require.resolve('./sidebars.js'), + lastVersion: "2.0", + sidebarPath: require.resolve("./sidebars.js"), // Please change this to your repo. - editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', - routeBasePath: '/', + editUrl: "https://github.com/LIT-Protocol/docs/tree/main", + routeBasePath: "/", versions: { - '2.0': { + "2.0": { badge: true, - label: 'v2.x.x', - path: 'v2', - banner: 'none', + label: "v2.x.x", + path: "v2", + banner: "none", }, current: { badge: true, - label: 'v3.x.x', - path: 'v3', - banner: 'unreleased', + label: "v3.x.x", + path: "v3", + banner: "none", }, }, }, theme: { - customCss: [require.resolve('./src/css/custom.css')], + customCss: require.resolve("./src/css/custom.css"), }, gtag: { - trackingID: 'G-XK6E9ZB77S', + trackingID: "G-XK6E9ZB77S", anonymizeIP: false, }, }), @@ -57,21 +56,21 @@ const config = { plugins: [ [ - 'content-docs', + "content-docs", { - id: 'learningLab', - path: 'learningLab', - routeBasePath: 'learningLab', - sidebarPath: require.resolve('./sidebars-learning-lab.js'), + id: "learningLab", + path: "learningLab", + routeBasePath: "learningLab", + sidebarPath: require.resolve("./sidebars-learning-lab.js"), }, ], [ - 'content-docs', + "content-docs", { - id: 'Ecosystem', - path: 'Ecosystem', - routeBasePath: 'Ecosystem', - sidebarPath: require.resolve('./sidebars-ecosystem.js'), + id: "Ecosystem", + path: "Ecosystem", + routeBasePath: "Ecosystem", + sidebarPath: require.resolve("./sidebars-ecosystem.js"), }, ], ], @@ -79,81 +78,92 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ + announcementBar: { + id: "SDK V3 Beta", + content: + "Lit JS SDK V3 is now available in beta. Check out v3.x.x of the docs to learn more.", + backgroundColor: '#ff844e', + textColor: '#fffff', + isCloseable: false, + }, navbar: { - title: 'Lit Protocol', + title: "Lit Protocol", logo: { - alt: 'Lit Protocol', - src: 'brand/lit-fire.png', + alt: "Lit Protocol", + src: "img/logo.svg", href: 'https://developer.litprotocol.com/v2/', }, items: [ { - type: 'doc', - position: 'left', - docId: 'intro/overview', - label: 'Docs', + type: "doc", + position: "left", + docId: "intro/overview", + label: "Docs", }, { - to: 'learningLab/intro', - position: 'left', - label: 'Learning Lab', + to: "learningLab/intro", + position: "left", + label: "Learning Lab", }, { - to: 'ecosystem/lit-grants', - position: 'left', - label: 'Ecosystem', + to: "ecosystem/lit-grants", + position: "left", + label: "Ecosystem", }, { - type: 'docsVersionDropdown', - position: 'right', + type: "docsVersionDropdown", + position: "right", }, { - href: 'https://github.com/LIT-Protocol/js-sdk', - position: 'right', - className: 'header-github-link', - 'aria-label': 'Lit JS SDK GitHub repository', + href: "https://github.com/LIT-Protocol/js-sdk", + position: "right", + className: "header-github-link", + "aria-label": "Lit JS SDK GitHub repository", }, ], }, footer: { - copyright: `Copyright © ${new Date().getFullYear()} Lit Association.`, links: [ { - title: 'Community', + title: "Community", items: [ + // { + // label: "Stack Overflow", + // href: "https://stackoverflow.com/questions/tagged/docusaurus", + // }, { - label: 'Discord', - href: 'https://litgateway.com/discord', + label: "Discord", + href: "https://litgateway.com/discord", }, { - label: 'Twitter', - href: 'https://twitter.com/litprotocol', + label: "Twitter", + href: "https://twitter.com/litprotocol", }, ], }, { - title: 'More', + title: "More", items: [ { - label: 'Blog', - to: 'https://spark.litprotocol.com/', + label: "Blog", + to: "https://spark.litprotocol.com/", }, { - label: 'GitHub', - href: 'https://github.com/LIT-Protocol/js-sdk', + label: "GitHub", + href: "https://github.com/LIT-Protocol/js-sdk", }, { - label: 'API', - href: 'https://js-sdk.litprotocol.com/index.html', + label: "API", + href: "https://js-sdk.litprotocol.com/index.html", }, ], }, { - title: 'Contact', + title: "Contact", items: [ { - label: 'Support', - to: '/support', + label: "Support", + to: "/support", }, ], }, @@ -164,18 +174,18 @@ const config = { darkTheme: darkCodeTheme, }, algolia: { - appId: 'LBGPAMG3FY', - apiKey: '041874d52ec424d091674d198d792313', - indexName: 'developer-litprotocol', + appId: "LBGPAMG3FY", + apiKey: "041874d52ec424d091674d198d792313", + indexName: "developer-litprotocol", }, }), scripts: [ { - src: 'https://plausible.io/js/script.outbound-links.js', + src: "https://plausible.io/js/script.outbound-links.js", defer: true, - 'data-domain': 'developer.litprotocol.com', + "data-domain": "developer.litprotocol.com", }, - { src: '/onLoad.js' }, + { src: "/onLoad.js" }, ], }; diff --git a/package.json b/package.json index 03607ed4..138558d3 100644 --- a/package.json +++ b/package.json @@ -14,19 +14,21 @@ "write-heading-ids": "docusaurus write-heading-ids", "update-chains": "node updateChains.js", "prepare": "husky install", + "run:crawler": "node scripts/run-crawler.mjs", "tools": "node tools.mjs" }, "packageManager": "yarn@1.22.19", "dependencies": { "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@docusaurus/core": "^2.4.3", - "@docusaurus/plugin-google-analytics": "^2.4.3", - "@docusaurus/preset-classic": "^2.4.3", - "@lit-protocol/constants": "^2.2.54", + "@docusaurus/core": "2.1.0", + "@docusaurus/plugin-google-analytics": "^2.1.0", + "@docusaurus/preset-classic": "2.1.0", + "@lit-protocol/constants": "^2.2.61", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", "file-loader": "^6.2.0", + "node-fetch": "^3.3.1", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", "react-dom": "^17.0.1", @@ -45,7 +47,7 @@ ] }, "devDependencies": { - "husky": "^7.0.4", - "prettier": "^3.0.3" + "dotenv": "^16.0.3", + "husky": "^7.0.4" } } diff --git a/src/components/HomepageComponents.jsx b/src/components/HomepageComponents.jsx index d595223c..ed05805b 100644 --- a/src/components/HomepageComponents.jsx +++ b/src/components/HomepageComponents.jsx @@ -1,6 +1,5 @@ import React from 'react'; import { paramCase } from 'param-case'; -import Link from '@docusaurus/Link'; import clsx from 'clsx'; export function HomepageSection({ @@ -29,16 +28,9 @@ export function HomepageSection({ export function HomepageCard({ id, icon, title, description, to }) { return ( - // - // {icon &&
{icon}
} - //
- //
{title}
- // {description} - //
- //
- -
+ +
{icon && {icon}}
{title}
{description} diff --git a/src/css/custom.css b/src/css/custom.css index 9525e8a1..3f1004e0 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -9,17 +9,6 @@ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); :root { - /** - * ---------- Lit Colors ---------- - */ - /* --lit-orange: rgb(255, 66, 5); - --lit-orange-light: rgb(255, 132, 79); - --lit-orange-dark: rgb(230, 41, 0); - --lit-pink: rgb(170, 17, 85); */ - /* --lit-pink-dark: rgb(117, 10, 65); */ - /* --lit-pink-background: rgb(170, 17, 85, 0.08); - --lit-blue: rgb(5, 41, 158); - --lit-blue-background: rgb(5, 41, 158, 0.08); */ /** * ---------- Base colors ---------- */ @@ -44,8 +33,6 @@ --ifm-color-primary-light: #bb135e; --ifm-color-primary-lighter: #c41462; --ifm-color-primary-lightest: #dd166f; - /* --ifm-color-warning-contrast-background: #fffce5; - --ifm-color-warning-contrast-foreground: #803e13; */ /** * ---------- Global ---------- */ @@ -62,12 +49,6 @@ /** * ---------- Type system ---------- */ - /* --lit-h1-font-size: 2.5rem; - --lit-h2-font-size: 2rem; - --lit-h3-font-size: 1.75rem; - --lit-h4-font-size: 1.5rem; - --lit-h5-font-size: 1.25rem; - --lit-h6-font-size: 1rem; */ --lit-h1-font-size: 2rem; --lit-h2-font-size: 1.75rem; --lit-h3-font-size: 1.5rem; @@ -91,8 +72,6 @@ rgba(255, 255, 255, 0.9) ); --lit-navbar-border-color: var(--ifm-color-gray-50); - /* --ifm-navbar-link-hover-color: var(--lit-pink); */ - /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ /** * ---------- Footer ---------- */ @@ -100,15 +79,11 @@ --lit-footer-border-color: var(--ifm-color-gray-200); --ifm-footer-title-color: var(--ifm-heading-color); --ifm-footer-link-color: var(--ifm-font-color-base); - /* --ifm-footer-link-hover-color: var(--lit-pink); */ --lit-footer-copyright-color: var(--ifm-color-gray-600); /** * ---------- Sidebar ---------- */ --ifm-menu-color: var(--ifm-font-color-base); - /* --ifm-menu-color-active: var(--lit-pink); */ - /* --ifm-menu-color-background-hover: var(--lit-pink-background); - --ifm-menu-color-background-active: var( --lit-pink-background); */ /** * ---------- Table of Contents ---------- */ @@ -118,10 +93,6 @@ */ --ifm-list-item-margin: 0.5rem; /** - * ---------- Link ---------- - */ - /* --ifm-link-color: var(--lit-pink); */ - /** * ---------- Badge ---------- */ --ifm-badge-border-radius: 999px; @@ -137,7 +108,6 @@ * ---------- Pagination ---------- */ --lit-pagination-border-color: var(--ifm-color-gray-200); - /* --ifm-pagination-nav-color-hover: var(--lit-pink); */ } html[data-theme='dark'] { @@ -151,8 +121,6 @@ html[data-theme='dark'] { /** * ---------- Accent colors ---------- */ - /* --ifm-color-warning-contrast-background: rgba(255, 212, 12, 0.05); - --ifm-color-warning-contrast-foreground: #fffce5; */ /** * ---------- Global ---------- */ @@ -297,7 +265,12 @@ html[data-theme='dark'] ::selection { --ifm-h1-font-size: var(--lit-h1-font-size); } -h1, h2, h3, h4, h5, h6 { +h1, +h2, +h3, +h4, +h5, +h6 { --ifm-code-font-size: 100%; } @@ -326,7 +299,6 @@ h1, h2, h3, h4, h5, h6 { } .dropdown__link--active { - /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ font-weight: 600; } @@ -421,7 +393,8 @@ html[data-theme='dark'] .header-github-link::before { font-weight: 600; } -.menu__link:not(.menu__link--active):hover, .menu__list-item-collapsible .menu__link:hover { +.menu__link:not(.menu__link--active):hover, +.menu__list-item-collapsible .menu__link:hover { color: var(--ifm-menu-color-active); } @@ -429,10 +402,11 @@ html[data-theme='dark'] .header-github-link::before { color: var(--ifm-heading-color); } -.menu__caret::before, .menu__link--sublist-caret:after { +.menu__caret::before, +.menu__link--sublist-caret:after { background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem; height: 1.5rem; - width: 1.5rem + width: 1.5rem; } @media only screen and (min-width: 997px) { @@ -441,7 +415,8 @@ html[data-theme='dark'] .header-github-link::before { } } -.menu__link--sublist-caret:hover, .menu__list-item-collapsible--active { +.menu__link--sublist-caret:hover, +.menu__list-item-collapsible--active { --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,'); } @@ -518,13 +493,6 @@ html[data-theme] .DocSearch-Prefill { font-size: 0.875rem; } -/* .table-of-contents__link:hover, -.table-of-contents__link:hover code, -.table-of-contents__link--active, -.table-of-contents__link--active code { - color: var(--lit-orange); -} */ - /* * ---------- Badge ---------- */ @@ -534,12 +502,6 @@ html[data-theme] .DocSearch-Prefill { border: 1px solid var(--ifm-badge-border-color); } -/* .badge--secondary { - --ifm-badge-background-color: #ffe8cc; - --ifm-badge-border-color: #fd7e14; - color: #d9480f; -} */ - /* * ---------- Link ---------- */ @@ -551,7 +513,6 @@ html[data-theme] .DocSearch-Prefill { white-space: nowrap; } - .markdown a:not(.hash-link, .homepage-card__link)::before, .markdown a:not(.hash-link, .homepage-card__link)::after { position: absolute; @@ -574,7 +535,6 @@ html[data-theme] .DocSearch-Prefill { text-decoration: none; } - .markdown a:not(.hash-link, .homepage-card__link):hover::before { transform-origin: 100% 50%; transform: scale3d(0, 1, 1); @@ -588,18 +548,6 @@ html[data-theme] .DocSearch-Prefill { * ---------- Alerts ---------- */ -/* .alert a { - color: var(--ifm-alert-foreground-color); -} */ - -/* .alert--secondary { - --ifm-color-secondary-contrast-background: rgba(255, 244, 230, 1); - --ifm-alert-icon-fill: rgba(253, 126, 20, 1); - --ifm-color-secondary-contrast-foreground: rgba(31, 0, 1, 1); - --ifm-alert-border-color: rgba(253, 126, 20, 1); - --ifm-alert-background-color-highlight: rgba(253, 126, 20, 0.15); -} */ - .alert--secondary { --ifm-alert-icon-fill: var(--ifm-alert-foreground-color); } @@ -624,44 +572,6 @@ html[data-theme='dark'] .alert--secondary { --ifm-alert-icon-fill: var(--ifm-color-danger); } -/* html[data-theme='dark'] .alert { - --ifm-alert-border-width: 1px; - --ifm-alert-border-left-width: 1px; -} */ - -/* html[data-theme='dark'] .alert--secondary { - --ifm-color-secondary-contrast-background: rgba(217, 72, 15, 0.1); - --ifm-alert-border-color: rgba(247, 103, 7, 1); - --ifm-color-secondary-contrast-foreground: rgba(255, 244, 230, 1); - --ifm-alert-icon-fill: rgba(253, 126, 20, 1); - --ifm-alert-background-color-highlight: rgba(247, 103, 7, 0.15); - border-color: rgba(247, 103, 7, 0.3); -} - -html[data-theme='dark'] .alert--success { - --ifm-color-success-contrast-background: rgba(0, 49, 0, 0.15); - --ifm-alert-border-color: rgba(0, 148, 0, 1); - border-color: rgba(0, 148, 0, 0.3); -} - -html[data-theme='dark'] .alert--info { - --ifm-color-info-contrast-background: rgba(25, 60, 71, 0.15); - --ifm-alert-border-color: rgba(76, 179, 212, 1); - border-color: rgba(76, 179, 212, 0.3); -} - -html[data-theme='dark'] .alert--warning { - --ifm-color-warning-contrast-background: rgba(77, 56, 0, 0.15); - --ifm-alert-border-color: rgba(230, 167, 0, 1); - border-color: rgba(230, 167, 0, 0.3); -} - -html[data-theme='dark'] .alert--danger { - --ifm-color-danger-contrast-background: rgba(75, 17, 19, 0.2); - --ifm-alert-border-color: rgba(225, 50, 56, 1); - border-color: rgba(225, 50, 56, 0.4); -} */ - /* * ---------- Pagination ---------- */ @@ -686,14 +596,6 @@ html[data-theme='dark'] .alert--danger { content: ' →'; } -/* .pagination-nav__link { - color: var(--lit-pink); -} - -.pagination-nav__link:hover { - color: var(--lit-pink); -} */ - /* * ---------- Custom cards ---------- */ diff --git a/src/css/customOld.css b/src/css/customOld.css deleted file mode 100644 index 78ecd45a..00000000 --- a/src/css/customOld.css +++ /dev/null @@ -1,213 +0,0 @@ -/** - * 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. - */ - -/* You can override the default Infima variables here. */ - -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); - -:root { - --ifm-font-family-base: 'Inter'; - - /* --ifm-color-primary: #9e77f3; - --primary-hover-overlay: rgba(158, 119, 243, 0.1); - --ifm-color-primary-dark: #8159d9; - --ifm-color-primary-darker: #5e36b7; - --ifm-color-primary-darkest: #2c0c72; - --ifm-color-primary-light: #8159d9; - --ifm-color-primary-lighter: #9e77f3; - --ifm-color-primary-lightest: #bfa1ff; - --ifm-navbar-item-padding-horizontal: 24px; */ - /* --ifm-heading-font-weight: 400; */ - /* --ifm-menu-color: var(--ifm-color-emphasis-700); */ - /* --ifm-menu-color-background-active: var(--primary-hover-overlay); - --ifm-breadcrumb-item-background-active: var(--primary-hover-overlay); - --ifm-footer-title-color: var(--ifm-color-emphasis-700); - --top-category-label-color: var(--ifm-color-emphasis-1000); - --footer-border-color: transparent; */ - /* --homepage-card-hover: rgba(191, 161, 255, 0.06); */ -} - -html[data-theme="dark"] { - /* --ifm-navbar-background-color: #111827; - --ifm-background-color: #111827; - --ifm-color-secondary-contrast-background: #1f2937; - --ifm-color-secondary-contrast-foreground: #cbd5e1; - --ifm-footer-background-color: var(--ifm-footer-background-color); */ - /* --top-category-label-color: var(--ifm-color-emphasis-400); */ - /* --ifm-menu-color: var(--ifm-color-emphasis-500); - --footer-border-color: var(--ifm-color-emphasis-200); - --homepage-card-hover: var(--primary-hover-overlay); */ -} - -/* .navbar { - border-bottom: 1px solid var(--ifm-color-emphasis-200); -} - -.header-github-link:hover { - opacity: 0.6; -} - -.header-github-link::before { - content: ''; - width: 24px; - height: 24px; - display: flex; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -[data-theme='dark'] .header-github-link::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -.category-not-collapsible > .menu__list { - padding-left: 0rem; -} - -.category-not-collapsible > .menu__list-item-collapsible:hover { - background: transparent; -} - -.menu__list > .theme-doc-sidebar-item-category-level-1 { - margin-bottom: 1rem; - padding-bottom: 1rem; - border-bottom: 1px solid var(--ifm-color-emphasis-200); -} - -.menu__list > .theme-doc-sidebar-item-category-level-1:last-of-type { - border: none; -} - -.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible .menu__link { - color: var(--top-category-label-color); - text-transform: uppercase; - font-size: 0.875rem; - line-height: 1.25rem; -} - -.footer { - border-top: 1px solid var(--footer-border-color); -} - -.footer__title { - font-weight: 500; -} - -.docusaurus-highlight-code-line { - background-color: rgba(0, 0, 0, 0.1); - display: block; - margin: 0 calc(-1 * var(--ifm-pre-padding)); - padding: 0 var(--ifm-pre-padding); -} - -html[data-theme="dark"] .docusaurus-highlight-code-line { - background-color: rgba(0, 0, 0, 0.3); -} - -.markdown h1:first-child { - --ifm-h1-font-size: 2rem; -} - -.markdown > h2 { - --ifm-h2-font-size: 1.5rem; - font-weight: 500; -} - -.markdown > h3 { - --ifm-h3-font-size: 1.25rem; -} - -.section-content { - display: grid; - gap: 12px; - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); -} - -.card-content { - display: flex; - flex-direction: column; - gap: 4px; - user-select: none; - transition: box-shadow .15s ease-out,transform .15s ease-out,opacity .15s ease-out; -} - -.card-content .title { - font-size: 16px; - font-weight: 500; - letter-spacing: -.5px; - color: var(--ifm-font-color-base); -} - -.card-content .description { - font-size: 14px; - letter-spacing: -.5px; - color: var(--ifm-font-color-base); -} - -.card-content { - display: -webkit-flex; - display: -moz-flex; - display: -ms-flex; - display: -o-flex; - display: flex; - -webkit-flex-wrap: wrap; - -moz-flex-wrap: wrap; - -ms-flex-wrap: wrap; - -o-flex-wrap: wrap; - flex-wrap: wrap; - justify-content: flex-start; - width: 100%; -} - -.homepage-card { - --ifm-link-hover-color: inherit; - align-items: flex-start; - border: 1px solid var(--ifm-color-emphasis-300); - border-radius: 0.375rem; - color: var(--ifm-font-color-base); - cursor: pointer; - display: flex; - flex-direction: column; - gap: 0.625rem; - padding: 0.75rem 1rem; - transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); -} - -.homepage-card:hover { - text-decoration: none; - background-color: var(--homepage-card-hover); - border-color: var(--ifm-color-primary-lightest); -} - -.homepage-card:hover .card-content .title { - color: var(--ifm-link-hover-color); -} - -.homepage-section { - margin-top: 3rem; - margin-bottom: 3rem; - margin-left: 2px; -} - -@media only screen and (min-width: 996px) { - :root { - --ifm-spacing-horizontal: 1.5rem; - } - - .theme-doc-sidebar-menu { - padding-right: 0.5rem; - } - - .header-github-link { - padding-left: 8px; - } -} - -table { - width:100%; - display: table; -} */ \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 52ee2408..77661fcf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,141 +2,133 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@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.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587" - integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== +"@algolia/autocomplete-core@1.7.1": + version "1.7.1" + resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz" + integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== dependencies: - "@algolia/autocomplete-shared" "1.9.3" + "@algolia/autocomplete-shared" "1.7.1" -"@algolia/autocomplete-preset-algolia@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" - integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== +"@algolia/autocomplete-preset-algolia@1.7.1": + version "1.7.1" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz" + integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== dependencies: - "@algolia/autocomplete-shared" "1.9.3" + "@algolia/autocomplete-shared" "1.7.1" -"@algolia/autocomplete-shared@1.9.3": - version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" - integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== +"@algolia/autocomplete-shared@1.7.1": + version "1.7.1" + resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz" + integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== -"@algolia/cache-browser-local-storage@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz#357318242fc542ffce41d6eb5b4a9b402921b0bb" - integrity sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ== +"@algolia/cache-browser-local-storage@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz" + integrity sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA== dependencies: - "@algolia/cache-common" "4.20.0" + "@algolia/cache-common" "4.14.2" -"@algolia/cache-common@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz#ec52230509fce891091ffd0d890618bcdc2fa20d" - integrity sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ== +"@algolia/cache-common@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz" + integrity sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg== -"@algolia/cache-in-memory@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz#5f18d057bd6b3b075022df085c4f83bcca4e3e67" - integrity sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg== +"@algolia/cache-in-memory@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz" + integrity sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ== dependencies: - "@algolia/cache-common" "4.20.0" + "@algolia/cache-common" "4.14.2" -"@algolia/client-account@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz#23ce0b4cffd63100fb7c1aa1c67a4494de5bd645" - integrity sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q== +"@algolia/client-account@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz" + integrity sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w== dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/client-search" "4.20.0" - "@algolia/transporter" "4.20.0" + "@algolia/client-common" "4.14.2" + "@algolia/client-search" "4.14.2" + "@algolia/transporter" "4.14.2" -"@algolia/client-analytics@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz#0aa6bef35d3a41ac3991b3f46fcd0bf00d276fa9" - integrity sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug== +"@algolia/client-analytics@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz" + integrity sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ== 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.14.2" + "@algolia/client-search" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" -"@algolia/client-common@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz#ca60f04466515548651c4371a742fbb8971790ef" - integrity sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ== +"@algolia/client-common@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz" + integrity sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q== dependencies: - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" -"@algolia/client-personalization@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz#ca81308e8ad0db3b27458b78355f124f29657181" - integrity sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ== +"@algolia/client-personalization@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz" + integrity sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw== dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" + "@algolia/client-common" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" -"@algolia/client-search@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz#3bcce817ca6caedc835e0eaf6f580e02ee7c3e15" - integrity sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg== +"@algolia/client-search@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz" + integrity sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw== dependencies: - "@algolia/client-common" "4.20.0" - "@algolia/requester-common" "4.20.0" - "@algolia/transporter" "4.20.0" + "@algolia/client-common" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" "@algolia/events@^4.0.1": version "4.0.1" - resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" + resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz#f148ddf67e5d733a06213bebf7117cb8a651ab36" - integrity sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ== +"@algolia/logger-common@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz" + integrity sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA== -"@algolia/logger-console@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz#ac443d27c4e94357f3063e675039cef0aa2de0a7" - integrity sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA== +"@algolia/logger-console@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz" + integrity sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g== dependencies: - "@algolia/logger-common" "4.20.0" + "@algolia/logger-common" "4.14.2" -"@algolia/requester-browser-xhr@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz#db16d0bdef018b93b51681d3f1e134aca4f64814" - integrity sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw== +"@algolia/requester-browser-xhr@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz" + integrity sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw== dependencies: - "@algolia/requester-common" "4.20.0" + "@algolia/requester-common" "4.14.2" -"@algolia/requester-common@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz#65694b2263a8712b4360fef18680528ffd435b5c" - integrity sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng== +"@algolia/requester-common@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz" + integrity sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg== -"@algolia/requester-node-http@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz#b52b182b52b0b16dec4070832267d484a6b1d5bb" - integrity sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng== +"@algolia/requester-node-http@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz" + integrity sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg== dependencies: - "@algolia/requester-common" "4.20.0" + "@algolia/requester-common" "4.14.2" -"@algolia/transporter@4.20.0": - version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz#7e5b24333d7cc9a926b2f6a249f87c2889b944a9" - integrity sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg== +"@algolia/transporter@4.14.2": + version "4.14.2" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz" + integrity sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ== dependencies: - "@algolia/cache-common" "4.20.0" - "@algolia/logger-common" "4.20.0" - "@algolia/requester-common" "4.20.0" + "@algolia/cache-common" "4.14.2" + "@algolia/logger-common" "4.14.2" + "@algolia/requester-common" "4.14.2" "@ampproject/remapping@^2.2.0": version "2.2.0" @@ -1147,20 +1139,13 @@ core-js-pure "^3.25.1" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": version "7.19.4" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz" integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.20.13": - version "7.22.15" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" - integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== - dependencies: - regenerator-runtime "^0.14.0" - "@babel/template@^7.12.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" @@ -1200,25 +1185,25 @@ resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@docsearch/css@3.5.2": - version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" - integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== +"@docsearch/css@3.2.1": + version "3.2.1" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.2.1.tgz" + integrity sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g== "@docsearch/react@^3.1.1": - version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" - integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== + version "3.2.1" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.2.1.tgz" + integrity sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ== dependencies: - "@algolia/autocomplete-core" "1.9.3" - "@algolia/autocomplete-preset-algolia" "1.9.3" - "@docsearch/css" "3.5.2" - algoliasearch "^4.19.1" + "@algolia/autocomplete-core" "1.7.1" + "@algolia/autocomplete-preset-algolia" "1.7.1" + "@docsearch/css" "3.2.1" + algoliasearch "^4.0.0" -"@docusaurus/core@2.4.3", "@docusaurus/core@^2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz#d86624901386fd8164ce4bff9cc7f16fde57f523" - integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== +"@docusaurus/core@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" + integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1230,13 +1215,13 @@ "@babel/runtime" "^7.18.6" "@babel/runtime-corejs3" "^7.18.6" "@babel/traverse" "^7.18.8" - "@docusaurus/cssnano-preset" "2.4.3" - "@docusaurus/logger" "2.4.3" - "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/cssnano-preset" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-common" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" autoprefixer "^10.4.7" @@ -1257,7 +1242,7 @@ del "^6.1.1" detect-port "^1.3.0" escape-html "^1.0.3" - eta "^2.0.0" + eta "^1.12.3" file-loader "^6.2.0" fs-extra "^10.1.0" html-minifier-terser "^6.1.0" @@ -1292,33 +1277,33 @@ webpack-merge "^5.8.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz#1d7e833c41ce240fcc2812a2ac27f7b862f32de0" - integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== +"@docusaurus/cssnano-preset@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" + integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== dependencies: cssnano-preset-advanced "^5.3.8" postcss "^8.4.14" postcss-sort-media-queries "^4.2.1" tslib "^2.4.0" -"@docusaurus/logger@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz#518bbc965fb4ebe8f1d0b14e5f4161607552d34c" - integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== +"@docusaurus/logger@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" + integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== dependencies: chalk "^4.1.2" tslib "^2.4.0" -"@docusaurus/mdx-loader@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz#e8ff37f30a060eaa97b8121c135f74cb531a4a3e" - integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== +"@docusaurus/mdx-loader@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" + integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" - "@docusaurus/logger" "2.4.3" - "@docusaurus/utils" "2.4.3" + "@docusaurus/logger" "2.1.0" + "@docusaurus/utils" "2.1.0" "@mdx-js/mdx" "^1.6.22" escape-html "^1.0.3" file-loader "^6.2.0" @@ -1333,13 +1318,13 @@ url-loader "^4.1.1" webpack "^5.73.0" -"@docusaurus/module-type-aliases@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.4.3.tgz#d08ef67e4151e02f352a2836bcf9ecde3b9c56ac" - integrity sha512-cwkBkt1UCiduuvEAo7XZY01dJfRn7UR/75mBgOdb1hKknhrabJZ8YH+7savd/y9kLExPyrhe0QwdS9GuzsRRIA== +"@docusaurus/module-type-aliases@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" + integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== dependencies: "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/types" "2.4.3" + "@docusaurus/types" "2.1.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1347,18 +1332,18 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" -"@docusaurus/plugin-content-blog@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.3.tgz#6473b974acab98e967414d8bbb0d37e0cedcea14" - integrity sha512-PVhypqaA0t98zVDpOeTqWUTvRqCEjJubtfFUQ7zJNYdbYTbS/E/ytq6zbLVsN/dImvemtO/5JQgjLxsh8XLo8Q== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/logger" "2.4.3" - "@docusaurus/mdx-loader" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-common" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" +"@docusaurus/plugin-content-blog@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" + integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^10.1.0" @@ -1369,18 +1354,18 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-docs@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.4.3.tgz#aa224c0512351e81807adf778ca59fd9cd136973" - integrity sha512-N7Po2LSH6UejQhzTCsvuX5NOzlC+HiXOVvofnEPj0WhMu1etpLEXE6a4aTxrtg95lQ5kf0xUIdjX9sh3d3G76A== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/logger" "2.4.3" - "@docusaurus/mdx-loader" "2.4.3" - "@docusaurus/module-type-aliases" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" +"@docusaurus/plugin-content-docs@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" + integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/module-type-aliases" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" "@types/react-router-config" "^5.0.6" combine-promises "^1.1.0" fs-extra "^10.1.0" @@ -1391,95 +1376,84 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-pages@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.4.3.tgz#7f285e718b53da8c8d0101e70840c75b9c0a1ac0" - integrity sha512-txtDVz7y3zGk67q0HjG0gRttVPodkHqE0bpJ+7dOaTH40CQFLSh7+aBeGnPOTl+oCPG+hxkim4SndqPqXjQ8Bg== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/mdx-loader" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" +"@docusaurus/plugin-content-pages@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" + integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" fs-extra "^10.1.0" tslib "^2.4.0" webpack "^5.73.0" -"@docusaurus/plugin-debug@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.4.3.tgz#2f90eb0c9286a9f225444e3a88315676fe02c245" - integrity sha512-LkUbuq3zCmINlFb+gAd4ZvYr+bPAzMC0hwND4F7V9bZ852dCX8YoWyovVUBKq4er1XsOwSQaHmNGtObtn8Av8Q== +"@docusaurus/plugin-debug@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" + integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils" "2.4.3" + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" fs-extra "^10.1.0" react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@2.4.3", "@docusaurus/plugin-google-analytics@^2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz#0d19993136ade6f7a7741251b4f617400d92ab45" - integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" - tslib "^2.4.0" - -"@docusaurus/plugin-google-gtag@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.4.3.tgz#e1a80b0696771b488562e5b60eff21c9932d9e1c" - integrity sha512-5FMg0rT7sDy4i9AGsvJC71MQrqQZwgLNdDetLEGDHLfSHLvJhQbTCUGbGXknUgWXQJckcV/AILYeJy+HhxeIFA== +"@docusaurus/plugin-google-analytics@2.1.0", "@docusaurus/plugin-google-analytics@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" + integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" tslib "^2.4.0" -"@docusaurus/plugin-google-tag-manager@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.4.3.tgz#e41fbf79b0ffc2de1cc4013eb77798cff0ad98e3" - integrity sha512-1jTzp71yDGuQiX9Bi0pVp3alArV0LSnHXempvQTxwCGAEzUWWaBg4d8pocAlTpbP9aULQQqhgzrs8hgTRPOM0A== +"@docusaurus/plugin-google-gtag@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" + integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" + "@docusaurus/core" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" tslib "^2.4.0" -"@docusaurus/plugin-sitemap@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.4.3.tgz#1b3930900a8f89670ce7e8f83fb4730cd3298c32" - integrity sha512-LRQYrK1oH1rNfr4YvWBmRzTL0LN9UAPxBbghgeFRBm5yloF6P+zv1tm2pe2hQTX/QP5bSKdnajCvfnScgKXMZQ== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/logger" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-common" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" +"@docusaurus/plugin-sitemap@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" + integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" fs-extra "^10.1.0" sitemap "^7.1.1" tslib "^2.4.0" -"@docusaurus/preset-classic@^2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.4.3.tgz#074c57ebf29fa43d23bd1c8ce691226f542bc262" - integrity sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/plugin-content-blog" "2.4.3" - "@docusaurus/plugin-content-docs" "2.4.3" - "@docusaurus/plugin-content-pages" "2.4.3" - "@docusaurus/plugin-debug" "2.4.3" - "@docusaurus/plugin-google-analytics" "2.4.3" - "@docusaurus/plugin-google-gtag" "2.4.3" - "@docusaurus/plugin-google-tag-manager" "2.4.3" - "@docusaurus/plugin-sitemap" "2.4.3" - "@docusaurus/theme-classic" "2.4.3" - "@docusaurus/theme-common" "2.4.3" - "@docusaurus/theme-search-algolia" "2.4.3" - "@docusaurus/types" "2.4.3" +"@docusaurus/preset-classic@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" + integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/plugin-content-blog" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/plugin-content-pages" "2.1.0" + "@docusaurus/plugin-debug" "2.1.0" + "@docusaurus/plugin-google-analytics" "2.1.0" + "@docusaurus/plugin-google-gtag" "2.1.0" + "@docusaurus/plugin-sitemap" "2.1.0" + "@docusaurus/theme-classic" "2.1.0" + "@docusaurus/theme-common" "2.1.0" + "@docusaurus/theme-search-algolia" "2.1.0" + "@docusaurus/types" "2.1.0" "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" @@ -1489,27 +1463,27 @@ "@types/react" "*" prop-types "^15.6.2" -"@docusaurus/theme-classic@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.4.3.tgz#29360f2eb03a0e1686eb19668633ef313970ee8f" - integrity sha512-QKRAJPSGPfDY2yCiPMIVyr+MqwZCIV2lxNzqbyUW0YkrlmdzzP3WuQJPMGLCjWgQp/5c9kpWMvMxjhpZx1R32Q== - dependencies: - "@docusaurus/core" "2.4.3" - "@docusaurus/mdx-loader" "2.4.3" - "@docusaurus/module-type-aliases" "2.4.3" - "@docusaurus/plugin-content-blog" "2.4.3" - "@docusaurus/plugin-content-docs" "2.4.3" - "@docusaurus/plugin-content-pages" "2.4.3" - "@docusaurus/theme-common" "2.4.3" - "@docusaurus/theme-translations" "2.4.3" - "@docusaurus/types" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-common" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" +"@docusaurus/theme-classic@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" + integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== + dependencies: + "@docusaurus/core" "2.1.0" + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/module-type-aliases" "2.1.0" + "@docusaurus/plugin-content-blog" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/plugin-content-pages" "2.1.0" + "@docusaurus/theme-common" "2.1.0" + "@docusaurus/theme-translations" "2.1.0" + "@docusaurus/types" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-common" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" "@mdx-js/react" "^1.6.22" clsx "^1.2.1" copy-text-to-clipboard "^3.0.1" - infima "0.2.0-alpha.43" + infima "0.2.0-alpha.42" lodash "^4.17.21" nprogress "^0.2.0" postcss "^8.4.14" @@ -1520,18 +1494,17 @@ tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-common@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.4.3.tgz#bb31d70b6b67d0bdef9baa343192dcec49946a2e" - integrity sha512-7KaDJBXKBVGXw5WOVt84FtN8czGWhM0lbyWEZXGp8AFfL6sZQfRTluFp4QriR97qwzSyOfQb+nzcDZZU4tezUw== - dependencies: - "@docusaurus/mdx-loader" "2.4.3" - "@docusaurus/module-type-aliases" "2.4.3" - "@docusaurus/plugin-content-blog" "2.4.3" - "@docusaurus/plugin-content-docs" "2.4.3" - "@docusaurus/plugin-content-pages" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-common" "2.4.3" +"@docusaurus/theme-common@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" + integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== + dependencies: + "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/module-type-aliases" "2.1.0" + "@docusaurus/plugin-content-blog" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/plugin-content-pages" "2.1.0" + "@docusaurus/utils" "2.1.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1539,43 +1512,42 @@ parse-numeric-range "^1.3.0" prism-react-renderer "^1.3.5" tslib "^2.4.0" - use-sync-external-store "^1.2.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.4.3.tgz#32d4cbefc3deba4112068fbdb0bde11ac51ece53" - integrity sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q== +"@docusaurus/theme-search-algolia@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" + integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== dependencies: "@docsearch/react" "^3.1.1" - "@docusaurus/core" "2.4.3" - "@docusaurus/logger" "2.4.3" - "@docusaurus/plugin-content-docs" "2.4.3" - "@docusaurus/theme-common" "2.4.3" - "@docusaurus/theme-translations" "2.4.3" - "@docusaurus/utils" "2.4.3" - "@docusaurus/utils-validation" "2.4.3" + "@docusaurus/core" "2.1.0" + "@docusaurus/logger" "2.1.0" + "@docusaurus/plugin-content-docs" "2.1.0" + "@docusaurus/theme-common" "2.1.0" + "@docusaurus/theme-translations" "2.1.0" + "@docusaurus/utils" "2.1.0" + "@docusaurus/utils-validation" "2.1.0" algoliasearch "^4.13.1" algoliasearch-helper "^3.10.0" clsx "^1.2.1" - eta "^2.0.0" + eta "^1.12.3" fs-extra "^10.1.0" lodash "^4.17.21" tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.4.3.tgz#91ac73fc49b8c652b7a54e88b679af57d6ac6102" - integrity sha512-H4D+lbZbjbKNS/Zw1Lel64PioUAIT3cLYYJLUf3KkuO/oc9e0QCVhIYVtUI2SfBCF2NNdlyhBDQEEMygsCedIg== +"@docusaurus/theme-translations@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" + integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== dependencies: fs-extra "^10.1.0" tslib "^2.4.0" -"@docusaurus/types@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz#4aead281ca09f721b3c0a9b926818450cfa3db31" - integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== +"@docusaurus/types@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" + integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -1586,32 +1558,31 @@ webpack "^5.73.0" webpack-merge "^5.8.0" -"@docusaurus/utils-common@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz#30656c39ef1ce7e002af7ba39ea08330f58efcfb" - integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== +"@docusaurus/utils-common@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" + integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== dependencies: tslib "^2.4.0" -"@docusaurus/utils-validation@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz#8122c394feef3e96c73f6433987837ec206a63fb" - integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== +"@docusaurus/utils-validation@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" + integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== dependencies: - "@docusaurus/logger" "2.4.3" - "@docusaurus/utils" "2.4.3" + "@docusaurus/logger" "2.1.0" + "@docusaurus/utils" "2.1.0" joi "^17.6.0" js-yaml "^4.1.0" tslib "^2.4.0" -"@docusaurus/utils@2.4.3": - version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz#52b000d989380a2125831b84e3a7327bef471e89" - integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== +"@docusaurus/utils@2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" + integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== dependencies: - "@docusaurus/logger" "2.4.3" + "@docusaurus/logger" "2.1.0" "@svgr/webpack" "^6.2.1" - escape-string-regexp "^4.0.0" file-loader "^6.2.0" fs-extra "^10.1.0" github-slugger "^1.4.0" @@ -2052,33 +2023,33 @@ resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.54": - version "2.2.54" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.54.tgz#107580f6c9cacad3ee2e2c1d57e436f5b36e5ea3" - integrity sha512-moaPHLNUsyZbKD63ylb9dmBAIEvJP7VY7pufZJkavx+quakjA6pgy8+6PcPqi+JuAo6vOqwIYNt4G66rrKYfEA== +"@lit-protocol/auth-helpers@2.2.61": + version "2.2.61" + resolved "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.61.tgz#b1741090ae0b03c952123f4fa71523e1d604347f" + integrity sha512-2VzwFaHwMHN4raQ5RsKfXz02KqQ2hbPHCf0GPfXify79ZAUYp/BIsOyo1mpVlVkA1moaQ0zadHAlTdcBVNCVtQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.54": - version "2.2.54" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.54.tgz#28b2fbdc92d2be32ce24879411595a192c586605" - integrity sha512-Z7gE7OO+e0Lu88HVh+z74E6VAq3+K5g7ZYcOeucVmgkTPcJUd/tB40LvCS9ldJq69goI0zqjAGxPiJi7WUr9aQ== +"@lit-protocol/constants@^2.2.61": + version "2.2.61" + resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.61.tgz#0f584c27ec1fb5966d17d278ed398a33afbe0c95" + integrity sha512-M4jvbawMX0QgPriTT8H4iymkh7uJXjqPZvm+pr/5bIsDbarng5eRpHd1gB6DPX9n5RV9X+rSk1FFSoahUeWieg== dependencies: - "@lit-protocol/auth-helpers" "2.2.54" - "@lit-protocol/types" "2.2.54" + "@lit-protocol/auth-helpers" "2.2.61" + "@lit-protocol/types" "2.2.61" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.54": - version "2.2.54" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.54.tgz#d340694b89bc4ec08ab9d1427a38cd51e498f07b" - integrity sha512-bhIG4733BT32QXGZO7K7r+7ZDOxzLHjcYwP0tMqjLP86BJ2mQkTzW5q0nFgUBbPay/77lp/Tp8yXPfzgYMaYPQ== +"@lit-protocol/types@2.2.61": + version "2.2.61" + resolved "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.61.tgz#a1db4348cc17b1c7e0368e52a588f16842cc3d4a" + integrity sha512-5BFOFZlrlWPNvkROcw3690uypFdeIr/e7Kqr3JS/22RH1dsAz9Oq0kJGXe+qEF4hp699BvyLQzsqd15CzY5+oA== dependencies: - "@lit-protocol/auth-helpers" "2.2.54" + "@lit-protocol/auth-helpers" "2.2.61" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" @@ -2584,7 +2555,7 @@ "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/parse-json@^4.0.0": @@ -2618,27 +2589,27 @@ integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/react-router-config@*", "@types/react-router-config@^5.0.6": - version "5.0.7" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.7.tgz#36207a3fe08b271abee62b26993ee932d13cbb02" - integrity sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w== + version "5.0.6" + resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz" + integrity sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg== dependencies: "@types/history" "^4.7.11" "@types/react" "*" - "@types/react-router" "^5.1.0" + "@types/react-router" "*" "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" + resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" 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.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" - integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== +"@types/react-router@*": + version "5.1.19" + resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz" + integrity sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -2659,7 +2630,7 @@ "@types/sax@^1.2.1": version "1.2.4" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e" + resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz" integrity sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw== dependencies: "@types/node" "*" @@ -2927,31 +2898,31 @@ ajv@^8.0.0, ajv@^8.8.0: uri-js "^4.2.2" algoliasearch-helper@^3.10.0: - version "3.14.2" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.14.2.tgz#c34cfe6cefcfecd65c60bcb8bf9b68134472d28c" - integrity sha512-FjDSrjvQvJT/SKMW74nPgFpsoPUwZCzGbCqbp8HhBFfSk/OvNFxzCaCmuO0p7AWeLy1gD+muFwQEkBwcl5H4pg== + version "3.11.1" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz" + integrity sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.13.1, algoliasearch@^4.19.1: - version "4.20.0" - resolved "https://registry.npmjs.org/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" +algoliasearch@^4.0.0, algoliasearch@^4.13.1: + version "4.14.2" + resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz" + integrity sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg== + dependencies: + "@algolia/cache-browser-local-storage" "4.14.2" + "@algolia/cache-common" "4.14.2" + "@algolia/cache-in-memory" "4.14.2" + "@algolia/client-account" "4.14.2" + "@algolia/client-analytics" "4.14.2" + "@algolia/client-common" "4.14.2" + "@algolia/client-personalization" "4.14.2" + "@algolia/client-search" "4.14.2" + "@algolia/logger-common" "4.14.2" + "@algolia/logger-console" "4.14.2" + "@algolia/requester-browser-xhr" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/requester-node-http" "4.14.2" + "@algolia/transporter" "4.14.2" ansi-align@^3.0.0, ansi-align@^3.0.1: version "3.0.1" @@ -3009,7 +2980,7 @@ apg-js@^4.1.1: arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: @@ -3052,7 +3023,7 @@ array.prototype.reduce@^1.0.4: asap@~2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== at-least-node@^1.0.0: @@ -3147,7 +3118,7 @@ balanced-match@^1.0.0: base16@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" + resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== batch@0.6.1: @@ -3389,7 +3360,7 @@ character-reference-invalid@^1.0.0: cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -3401,7 +3372,7 @@ cheerio-select@^2.1.0: cheerio@^1.0.0-rc.12: version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" @@ -3657,9 +3628,9 @@ cookie@0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-text-to-clipboard@^3.0.1: - version "3.2.0" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" - integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q== + version "3.0.1" + resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" + integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== copy-webpack-plugin@^11.0.0: version "11.0.0" @@ -3718,11 +3689,11 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: yaml "^1.10.0" cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== + version "3.1.5" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" + integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== dependencies: - node-fetch "^2.6.12" + node-fetch "2.6.7" cross-spawn@^7.0.3: version "7.0.3" @@ -3797,7 +3768,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== dependencies: boolbase "^1.0.0" @@ -3910,6 +3881,11 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +data-uri-to-buffer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" + integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== + debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" @@ -4068,7 +4044,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -4092,9 +4068,9 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -domhandler@^5.0.2, domhandler@^5.0.3: +domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" @@ -4117,13 +4093,13 @@ domutils@^2.5.2, domutils@^2.8.0: domhandler "^4.2.0" domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + version "3.0.1" + resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== dependencies: dom-serializer "^2.0.0" domelementtype "^2.3.0" - domhandler "^5.0.3" + domhandler "^5.0.1" dot-case@^3.0.4: version "3.0.4" @@ -4140,6 +4116,11 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dotenv@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + duplexer3@^0.1.4: version "0.1.5" resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" @@ -4223,12 +4204,7 @@ entities@^2.0.0: resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.4.0: - version "4.5.0" - resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -entities@^4.3.0: +entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== @@ -4349,10 +4325,10 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eta@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" - integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== +eta@^1.12.3: + version "1.12.3" + resolved "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz" + integrity sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg== etag@~1.8.1: version "1.8.1" @@ -4521,20 +4497,20 @@ faye-websocket@^0.11.3: fbemitter@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" + resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== dependencies: fbjs "^3.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.5" - resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" - integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== + version "3.0.4" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz" + integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== dependencies: cross-fetch "^3.1.5" fbjs-css-vars "^1.0.0" @@ -4542,15 +4518,23 @@ fbjs@^3.0.0, fbjs@^3.0.1: object-assign "^4.1.0" promise "^7.1.1" setimmediate "^1.0.5" - ua-parser-js "^1.0.35" + ua-parser-js "^0.7.30" feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" + resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" +fetch-blob@^3.1.2, fetch-blob@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" + integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== + dependencies: + node-domexception "^1.0.0" + web-streams-polyfill "^3.0.3" + file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" @@ -4617,9 +4601,9 @@ find-up@^5.0.0: path-exists "^4.0.0" flux@^4.0.1: - version "4.0.4" - resolved "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" - integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== + version "4.0.3" + resolved "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz" + integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== dependencies: fbemitter "^3.0.0" fbjs "^3.0.1" @@ -4648,6 +4632,13 @@ fork-ts-checker-webpack-plugin@^6.5.0: semver "^7.3.2" tapable "^1.0.0" +formdata-polyfill@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" + integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== + dependencies: + fetch-blob "^3.1.2" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" @@ -5109,14 +5100,14 @@ htmlparser2@^6.1.0: entities "^2.0.0" htmlparser2@^8.0.1: - version "8.0.2" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" - integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + version "8.0.1" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" + integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== dependencies: domelementtype "^2.3.0" - domhandler "^5.0.3" + domhandler "^5.0.2" domutils "^3.0.1" - entities "^4.4.0" + entities "^4.3.0" http-cache-semantics@^4.0.0: version "4.1.0" @@ -5236,10 +5227,10 @@ indent-string@^4.0.0: resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infima@0.2.0-alpha.43: - version "0.2.0-alpha.43" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz#f7aa1d7b30b6c08afef441c726bac6150228cbe0" - integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== +infima@0.2.0-alpha.42: + version "0.2.0-alpha.42" + resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" + integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== inflight@^1.0.4: version "1.0.6" @@ -5776,7 +5767,7 @@ locate-path@^6.0.0: lodash.curry@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" + resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== lodash.debounce@^4.0.8: @@ -5786,7 +5777,7 @@ lodash.debounce@^4.0.8: lodash.flow@^3.3.0: version "3.5.0" - resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" + resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== lodash.memoize@^4.1.2: @@ -6062,11 +6053,6 @@ nanoid@^3.3.4: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" @@ -6085,6 +6071,11 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-domexception@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" + integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== + node-emoji@^1.10.0: version "1.11.0" resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" @@ -6092,13 +6083,22 @@ node-emoji@^1.10.0: dependencies: lodash "^4.17.21" -node-fetch@^2.6.12: - version "2.7.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" +node-fetch@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" + integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== + dependencies: + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" + node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" @@ -6138,7 +6138,7 @@ npm-run-path@^4.0.1: nprogress@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^1.0.2: @@ -6353,12 +6353,12 @@ parse-json@^5.0.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" + resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== parse5-htmlparser2-tree-adapter@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== dependencies: domhandler "^5.0.2" @@ -6370,9 +6370,9 @@ parse5@^6.0.0: integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.1.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz" + integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== dependencies: entities "^4.4.0" @@ -6746,16 +6746,7 @@ postcss-zindex@^5.1.0: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -postcss@^8.3.11: - version "8.4.30" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7" - integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: +postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: version "8.4.18" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz" integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== @@ -6769,11 +6760,6 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== -prettier@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" - integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== - pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" @@ -6794,7 +6780,7 @@ prism-react-renderer@^1.2.1, prism-react-renderer@^1.3.5: prismjs@^1.28.0: version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== process-nextick-args@~2.0.0: @@ -6804,7 +6790,7 @@ process-nextick-args@~2.0.0: promise@^7.1.1: version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" @@ -6868,7 +6854,7 @@ pupa@^2.1.1: pure-color@^1.2.0: version "1.3.0" - resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" + resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== q@^1.1.2: @@ -6934,7 +6920,7 @@ rc@1.2.8, rc@^1.2.8: react-base16-styling@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" + resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== dependencies: base16 "^1.0.0" @@ -7009,7 +6995,7 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: react-json-view@^1.21.3: version "1.21.3" - resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" + resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== dependencies: flux "^4.0.1" @@ -7019,7 +7005,7 @@ react-json-view@^1.21.3: react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-loadable-ssr-addon-v5-slorber@^1.0.1: @@ -7065,11 +7051,11 @@ react-router@5.3.4, react-router@^5.3.3: tiny-warning "^1.0.0" react-textarea-autosize@^8.3.2: - version "8.5.3" - resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" - integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== + version "8.3.4" + resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz" + integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ== dependencies: - "@babel/runtime" "^7.20.13" + "@babel/runtime" "^7.10.2" use-composed-ref "^1.3.0" use-latest "^1.2.1" @@ -7112,7 +7098,7 @@ readdirp@~3.6.0: reading-time@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== rechoir@^0.6.2: @@ -7146,11 +7132,6 @@ regenerator-runtime@^0.13.4: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== -regenerator-runtime@^0.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" - integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== - regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" @@ -7348,7 +7329,7 @@ rtl-detect@^1.0.4: rtlcss@^3.5.0: version "3.5.0" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" + resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== dependencies: find-up "^5.0.0" @@ -7558,7 +7539,7 @@ serve-static@1.15.0: setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: @@ -7639,7 +7620,7 @@ sisteransi@^1.0.5: sitemap@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" @@ -7856,7 +7837,7 @@ strip-final-newline@^2.0.0: strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: @@ -8022,7 +8003,7 @@ totalist@^1.0.0: tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-trailing-lines@^1.0.0: @@ -8075,10 +8056,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -ua-parser-js@^1.0.35: - version "1.0.36" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c" - integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw== +ua-parser-js@^0.7.30: + version "0.7.32" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz" + integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== unbox-primitive@^1.0.2: version "1.0.2" @@ -8278,26 +8259,21 @@ url-parse-lax@^3.0.0: use-composed-ref@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" + resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== use-isomorphic-layout-effect@^1.1.1: version "1.1.2" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" + resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== use-latest@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" + resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== dependencies: use-isomorphic-layout-effect "^1.1.1" -use-sync-external-store@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" - integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -8402,9 +8378,14 @@ web-namespaces@^1.0.0: resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +web-streams-polyfill@^3.0.3: + version "3.2.1" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" + integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== + webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webpack-bundle-analyzer@^4.5.0: @@ -8537,7 +8518,7 @@ websocket-extensions@>=0.1.1: whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -8642,7 +8623,7 @@ xdg-basedir@^4.0.0: xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" From 42f1bc1af7237de435e9757874f380a181767fb1 Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 10:35:22 -0800 Subject: [PATCH 088/627] Revert "chore: clean up" This reverts commit 64bb93d42cc93c3e414878e6326d9295c46fc85e. --- docs/concepts/aa-x-lit.md | 70 -- docs/concepts/claimable-keys.md | 38 - docs/concepts/pkps-as-wallet.md | 2 +- docs/integrations/aa/alchemy-account-kit.md | 282 ------ docs/integrations/aa/overview.md | 50 - docs/integrations/aa/pimlico.md | 261 ----- docs/integrations/ceramicExample.md | 231 ----- docs/intro/overview.mdx | 41 +- docs/intro/what-is-lit-protocol.md | 6 +- docs/migration/overview.md | 28 +- docs/resources/contracts.md | 24 +- docs/resources/glossary.md | 2 - docs/sdk/access-control/encryption.md | 100 +- docs/sdk/authentication/session-sigs/intro.md | 2 +- docs/sdk/claimable-keys/intro.md | 44 - docs/sdk/claimable-keys/usage.md | 243 ----- docs/sdk/installation.md | 115 ++- docs/sdk/wallets/auth-methods.md | 4 - docs/sdk/wallets/conditional-signing.md | 22 +- docs/sdk/wallets/minting.md | 2 +- docs/sdk/wallets/walletconnect.md | 2 +- docs/tools/event-listener.md | 33 - docusaurus.config.js | 164 ++- package.json | 14 +- src/components/HomepageComponents.jsx | 12 +- src/css/custom.css | 124 ++- src/css/customOld.css | 213 ++++ yarn.lock | 935 +++++++++--------- 28 files changed, 1137 insertions(+), 1927 deletions(-) delete mode 100644 docs/concepts/aa-x-lit.md delete mode 100644 docs/concepts/claimable-keys.md delete mode 100644 docs/integrations/aa/alchemy-account-kit.md delete mode 100644 docs/integrations/aa/overview.md delete mode 100644 docs/integrations/aa/pimlico.md delete mode 100644 docs/integrations/ceramicExample.md delete mode 100644 docs/sdk/claimable-keys/intro.md delete mode 100644 docs/sdk/claimable-keys/usage.md delete mode 100644 docs/tools/event-listener.md create mode 100644 src/css/customOld.css diff --git a/docs/concepts/aa-x-lit.md b/docs/concepts/aa-x-lit.md deleted file mode 100644 index 179ee236..00000000 --- a/docs/concepts/aa-x-lit.md +++ /dev/null @@ -1,70 +0,0 @@ -# Account Abstraction x Lit MPC - -Lit leverages [multi-party computation (MPC)](https://www.wikiwand.com/en/Secure_multi-party_computation?ref=spark.litprotocol.com) to provide a distributed key management system that enables secure reading and writing of data between blockchains and off-chain platforms. With the added benefits of encryption, access control, and programmatic signing, Lit enhances the capabilities of what’s possible with account abstraction. - -Section Overview - -- Use cases of account abstraction with Lit -- An intro to account abstraction and multiparty computation (MPC) -- How to use Lit Actions & Programmable Key Pairs (PKPs) to work with AA - -## How to use Lit with Account Abstraction (AA) - -1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. -2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. -3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. -4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. -5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. - -### The technology that makes Lit x AA possible - -In order to utilize account abstraction systems with Lit, there are two main concepts to understand: Programmable Key Pair (a public private key pair stored across the Lit nodes) and Lit Actions, JavaScript functions that specify the conditionals of signing. - -Lit Actions are JavaScript functions that can communicate data across blockchains, interoperate between previously disconnected ecosystems, and use off-chain data sources in their computation by making arbitrary [HTTP requests](../sdk/wallets/intro.md). - -Lit Actions are used in conjunction with Programmable Key Pairs (PKPs) to give signing capabilities. Each PKP is generated collectively by the Lit network in a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation?ref=spark.litprotocol.com) (DKG) whereby each node only holds a **share** of the underlying private key (a key-share) and the complete private key **never exists in its entirety**. - -To create this distributed key pair, you must mint it in the form of an ERC-721 NFT. The NFT stands as the “symbol” or method for controlling the distributed key custodied by the Lit network. This means that only the **wallet address or smart contract holding the PKP NFT** can authorize how it is used for signing. - -PKP signatures are the validation result of Lit Actions code when using a signature to *prove* that a particular interaction took place. Lit Actions can validate the information from external sources, such as from a Weather API, or data that is stateless such as checking if a number is prime. - -Ideal cases for PKPs and Lit Actions - -- Generating proofs are ideal for usage with AA wallets, essentially this is programmable transaction validation through Lit’s network with a signer -- Looking up permitted actions, addresses, and [auth methods](../sdk/authentication/overview.md) associated with a PKP -- Checking access control conditions with [conditional signing](../sdk/wallets/conditional-signing.md) - - -## A Brief Account Abstraction (AA) Intro - -Account abstraction references [EIP-4337](https://eip4337.com/en/latest/index.html?ref=spark.litprotocol.com). AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific [entry point](https://ethereum-magicians.org/t/erc-4337-account-abstraction-via-entry-point-contract-specification/7160/1?ref=spark.litprotocol.com). With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. - -EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. - -How AA enhances user experience: - -- Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. -- Social Recovery - In [What is a Social Recovery Wallet](https://hackernoon.com/what-is-a-social-recovery-wallet?ref=spark.litprotocol.com) by Vitalik Buterin, he writes a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. - -## Multi party computation (MPC) - -MPC enables multiple parties – each holding private data – to evaluate a computation without ever revealing any of the private data held by each party (or any otherwise related secret information). - -An MPC wallet is a wallet whose public private key is divided and shared among multiple parties, in Lit’s case the key is stored across the Lit nodes and only authorized parties can recombine the key shares to generate a signing key. - -![MPC diagram](../../static/img/mpc.png) - -Two strengths of Lit powered MPC wallets - -- allows for authorization processes to occur outside of the blockchain, the underlying key generation and signing rely on cryptography off-chain -- can work with various blockchain networks that utilize elliptic curve signatures, including but not limited to Bitcoin. Expanding compatibility to additional blockchains lies in the capability to produce signatures the networks can decipher - -## Continue learning -Read more: https://spark.litprotocol.com/account-abstraction-and-mpc/ - -Ready to check out some code? - -[Check out this guide on how to integrate Pimlico with Lit OTP Authentication](https://docs.pimlico.io/how-to/integrations/lit-protocol) -Pimlico is an infrastructure platform for building the next generation of Smart Wallets. If you are developing an ERC-4337 Smart Wallet, they provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build and iterate on wallets. - -This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. \ No newline at end of file diff --git a/docs/concepts/claimable-keys.md b/docs/concepts/claimable-keys.md deleted file mode 100644 index b222590f..00000000 --- a/docs/concepts/claimable-keys.md +++ /dev/null @@ -1,38 +0,0 @@ -# Claimable Keys (HD Keys) - -## Overview - -When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. We're going to abbreviate claimable keys as HD keys, short for homogeneous derived keys. - -HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. - -## Use Cases -1. Send a welcome bonus to new users' email addresses before they sign up. The user can claim the funds once they verify their email. -2. Allow users to receive funds via their phone number before installing an app. They can claim the funds once they verify their phone number. -3. Send promotional funds to Twitter handles. Users can claim the funds by authenticating their Twitter account. -4. Distribute airdrops to Discord users using their IDs. They can claim the airdrop once they connect their Discord account. -5. Onboard new users by sending them a small amount to their web3 social profile (like a Lens profile). They can claim it by verifying ownership of their Lens account. - -## Vocabulary - -| Term | Definition | -| --- | --- | -| authentication methods | Deterministically generated identifier from authentication material | -| auth method identifier | An ID generated from a given authentication method | -| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | -| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | -| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | - -The `key identifier` is generated from an `auth method identifier` from`authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. - -This also allows you to generate many keys from a single `Authentication Method` . Since this identifier is known ahead of time from deriving the `Auth Method` to it’s `Auth Method Identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. -With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. - -To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. - -## Getting Started and Further Reading - -Some links to further reading and resources to help you get started building with HD keys on the Lit network today: - -- Getting started with the [Lit SDK](../sdk/installation) -- Learn how to set up [HD keys](../sdk/claimable-keys/intro.md) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 97680785..fea2d736 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -4,7 +4,7 @@ sidebar_position: 3 # MPC Wallets -:::note +:::warning **STATE OF THE NETWORK** Lit MPC wallets are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md deleted file mode 100644 index f9a5d7bd..00000000 --- a/docs/integrations/aa/alchemy-account-kit.md +++ /dev/null @@ -1,282 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Alchemy Account Kit - -Learn how Lit [Programmable Key Pairs](../../sdk/wallets/intro.md) can be a signer for Alchemy's Account Kit! - - ---- - -## Objectives -At completion of this reading you should be able to: - -- Describe use cases for Account Kit. -- Understand how to set Lit as a signer to an Account Kit. - ---- - -## What is Account Kit? -[Alchemy's Account Kit](https://www.alchemy.com/account-kit) is a complete toolkit to embed smart accounts in your app with social login, gas abstraction, batch transactions, and more. - -Powered by account abstraction (ERC-4337), Account Kit provides all the tools you need to onboard users with zero friction: - --**aa-sdk**: a flexible library to integrate, deploy, and use smart accounts --**Light Account**: a gas-optimized ERC-4337 smart contract account --**Signers**: integrations with your favorite social login and passkey providers --**Gas Manager APIs**: a programmable API to sponsor gas fees in your app‍ --**Bundler APIs**: the most reliable Bundler to submit UserOps onchain at scale - -With Account Kit, you can create a smart account for every user. Smart accounts are smart contract wallets that leverage account abstraction to radically simplify every step of the onboarding experience. Now, a new user can: - -- Create a smart account directly in an Account Kit powered app without third-party - downloads -- Sign up with an email, social login, passkey, or self-custodial wallet -- Submit transactions without needing ETH in their account for gas -- Submit transactions in the background without leaving your app - - -## Guide - -Combining Lit [PKP wallet](https://www.npmjs.com/package/@lit-protocol/pkp-ethers) with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. - -### Pre-requisites -- Familiarity with JavaScript and TypeScript. -- Understand the basics of account abstraction. - - -### 1. Setup - -Install the pkp ethers package: - - - - -```js -npm i @lit-protocol/pkp-ethers@cayenne -``` - - - - - -```js -yarn add @lit-protocol/pkp-ethers@cayenne -``` - - - - - -Install the `LitNodeClient` package`: - - - - -```js -npm i @lit-protocol/lit-node-client@cayenne -``` - - - - - -```js -yarn add @lit-protocol/lit-node-client@cayenne -``` - - - - - -### 2. Get A Programmable Key Pair (PKP) - -Get some LIT Testnt tokens from Lit's [Chronicle network](../../network/rollup.mdx). - -Then mint a PKP through the [PKP explorer](https://explorer.litprotocol.com/mint-pkp). - -For other ways to obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). - -### 3. Create a SmartAccountSigner - -Next, setup the `LitNodeClient` and `PKPEthersWallet` to create a `SmartAccountSigner`: - -```js -import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; -import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; -import { AuthCallbackParams } from "@lit-protocol/types"; -import { createWalletClient, custom } from "viem"; -import { polygonMumbai } from "viem/chains"; - -const API_KEY = ""; -const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; -const PKP_PUBLIC_KEY = ""; - -const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", - debug: false, -}); -await litNodeClient.connect(); - -const resourceAbilities = [ - { - resource: new LitActionResource("*"), - ability: LitAbility.PKPSigning, - }, -]; - -/** - * For provisioning keys and setting up authentication methods see documentation below - * https://developer.litprotocol.com/v2/pkp/minting - */ -const authNeededCallback = async (params: AuthCallbackParams) => { - const response = await litNodeClient.signSessionKey({ - sessionKey: params.sessionKeyPair, - statement: params.statement, - authMethods: [], - pkpPublicKey: PKP_PUBLIC_KEY, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; -}; - -const sessionSigs = await litNodeClient - .getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, - }) - .catch((err) => { - console.log("error while attempting to access session signatures: ", err); - throw err; - }); - -const pkpWallet = new PKPEthersWallet({ - pkpPubKey: PKP_PUBLIC_KEY, - rpc: POLYGON_MUMBAI_RPC_URL, - controllerSessionSigs: sessionSigs, -}); - -// a smart account signer you can use as an owner on ISmartContractAccount -export const litSigner: SmartAccountSigner = new WalletClientSigner( - createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, - "lit" // signerType -); -``` - -### 4. Use SmartAccountSigner with LightAccount -We can link the `SmartAccountSigner` to a `LightSmartContractAccount` from `aa-accounts`: - - -`example.ts` - -```js -import { AlchemyProvider } from "@alchemy/aa-alchemy"; -import { LightSmartContractAccount } from "@alchemy/aa-accounts"; -import { litSigner } from "./lit"; - -const chain = sepolia; -const provider = new AlchemyProvider({ - apiKey: "ALCHEMY_API_KEY", - chain, - entryPointAddress: "0x...", -}).connect( - (rpcClient) => - new LightSmartContractAccount({ - entryPointAddress: "0x...", - chain: rpcClient.chain, - owner: litSigner, - factoryAddress: "0x...", - rpcClient, - }) -); -``` - -`lit.ts` -```js -import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; -import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; -import { AuthCallbackParams } from "@lit-protocol/types"; -import { createWalletClient, custom } from "viem"; -import { polygonMumbai } from "viem/chains"; - -const API_KEY = ""; -const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; -const PKP_PUBLIC_KEY = ""; - -const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", - debug: false, -}); -await litNodeClient.connect(); - -const resourceAbilities = [ - { - resource: new LitActionResource("*"), - ability: LitAbility.PKPSigning, - }, -]; - -/** - * For provisioning keys and setting up authentication methods see documentation below - * https://developer.litprotocol.com/v2/pkp/minting - */ -const authNeededCallback = async (params: AuthCallbackParams) => { - const response = await litNodeClient.signSessionKey({ - sessionKey: params.sessionKeyPair, - statement: params.statement, - authMethods: [], - pkpPublicKey: PKP_PUBLIC_KEY, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; -}; - -const sessionSigs = await litNodeClient - .getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, - }) - .catch((err) => { - console.log("error while attempting to access session signatures: ", err); - throw err; - }); - -const pkpWallet = new PKPEthersWallet({ - pkpPubKey: PKP_PUBLIC_KEY, - rpc: POLYGON_MUMBAI_RPC_URL, - controllerSessionSigs: sessionSigs, -}); - -// a smart account signer you can use as an owner on ISmartContractAccount -export const litSigner: SmartAccountSigner = new WalletClientSigner( - createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, - "lit" // signerType -); -``` - -## Next Steps - -Continue learning about [Lit's severless signing](../../sdk/wallets/conditional-signing.md) capabilities. - -Explore [Account Kit](https://accountkit.alchemy.com/). diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md deleted file mode 100644 index 54ec3dd3..00000000 --- a/docs/integrations/aa/overview.md +++ /dev/null @@ -1,50 +0,0 @@ -# Account Abstraction - -Learn how to use Lit Protocol with account abstraction providers to streamline how you use web3 wallets! - ---- - -## Objectives -At completion of this reading you should be able to: - -- Define use cases for Lit with account abstraction (AA). -- Understand how to build Lit with an AA provider. - ---- - -## What is Account Abstraction? -Account abstraction references EIP-4337. AA shifts the validation of transactions from the Ethereum protocol to the smart contract level with a specific entry point. With it are abstractions for a user's account, standardized smart contract account interfaces, and gas abstraction. This is possible by separating the transaction's signature from the account address, allowing for possibilities like switching between different accounts in a single transaction. - -EIP-4337 sets a standard interface for everyone to work with when creating smart contract accounts. - -How AA enhances user experience: - -1. Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. -2. Social Recovery - In [Why we need wide adoption of social recovery wallets](https://vitalik.ca/general/2021/01/11/recovery.html) by Vitalik Buterin, he writes that a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery with AA can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. - - -## How to use Lit with Account Abstraction (AA) -1. Adding a Programmable Key Pair (PKP) as a signer to an AA wallet. -2. User Onboarding - creating a smart contract account for someone new to web3. The signer can start as an multi party computation (MPC) key authorized through a web2 account. -3. AA wallet authorization for a PKP - smart contract accounts with signing capabilities through PKPs. -4. Non-ECDSA AA wallet with a PKP wallet - allowing freedom of signature verification scheme. -5. Conditional gas payments - PKP wallet pays for gas fees when certain conditions are met. - -## Account Abstraction Providers -Rather than dealing with private keys, seed phrases, and complex wallet setups, users can leverage abstraction layers to interact seamlessly with Web3 services. - -AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account technologies to abstract away blockchain complexities. Their solutions enable intuitive user experiences via features like social recovery, meta-transactions, relayer networks, and identity management. By handling cumbersome blockchain intricacies behind the scenes, account abstraction paves the way for mainstream adoption. - - -![AA chart with providers and offerings](/img/aa_provider_table.webp) - -**Chart made by Prez Thomas in the piece ["Top 6 Account Abstraction Providers: An In-Depth Review"](https://medium.com/coinmonks/top-6-account-abstraction-providers-an-in-depth-review-3a09b9fc707c), Sept 13, 2023** - -## Account Abstraction Integrations - -| Provider | Description | Link to Guide | -| --- | --- | --- | -| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](https://accountkit.alchemy.com/smart-accounts/signers/lit.html) | -| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](https://docs.pimlico.io/tutorial/integrations/lit-protocol) | -| - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://nut.sh/ell/forms/352580/YEk9vu) | - diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md deleted file mode 100644 index 564fda30..00000000 --- a/docs/integrations/aa/pimlico.md +++ /dev/null @@ -1,261 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Pimlico - -Learn how to use Lit Protocol's OTP sign-in (email, SMS, and Whatsapp) with a smart account whose user operations are relayed and sponsored by [Pimlico](https://www.pimlico.io/). - - - ---- - -## Objectives -At completion of this reading you should be able to: - -- Explain what Pimlico is and the services it provides with smart accounts. -- Understand how to set up Lit with Pimlico. - ---- - -## What is Pimlico? - -[Pimlico](https://www.pimlico.io/) is an infrastructure platform for building the next generation of smart accounts. If you are developing an ERC-4337 smart account, we provide bundlers, verifying paymasters, ERC-20 paymasters, and much more to help you build a more stable wallet and iterate faster. - -## Guide - -This how-to guide walks you through the steps to integrate Lit's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. - - -### Pre-requisites -- Familiarity with JavaScript. -- Reading Pimlico's [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1) to get an understanding of Pimlico and how Lit might fit in as a signer. This will be relevant to later steps in the guide. -- Obtain a Lit relay server by filling out this [form](https://forms.gle/RNZYtGYTY9BcD9MEA). - - -### 1. Setup - -#### **Installing packages** - -```bash -npm install stytch @lit-protocol/pkp-ethers@cayenne @lit-protocol/lit-auth-client@cayenne @lit-protocol/auth-helpers@cayenne @lit-protocol/types@cayenne @lit-protocol/lit-node-client-nodejs@cayenne -``` - -#### **Make an account with Stytch and get the Project ID and Secret** - -You can sign up for a Stytch account [here](https://stytch.com/). - -Once you have an account, you can find your Project ID and Secret in the [Stytch Dashboard API Keys page](https://stytch.com/dashboard/api-keys). - -![Stytch dashboard image](/img/stytch_pimlico.png) - - -### 2. Create a Stytch client with your Project ID and Secret - -In a new JavaScript file create and initialize the Stytch client. - -```js -const stytchClient = new stytch.Client({ - project_id: "project-test-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", - secret: "secret-test-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -}); - -``` - -### 3. Send an OTP to the user's email, SMS, or Whatsapp - - - -```js -const stytchResponse = await stytchClient.otps.email.loginOrCreate({ - email: "", -}) -``` - - - - - -```js -const stytchResponse = await stytchClient.otps.sms.loginOrCreate({ - phone_number: "", -}) -``` - - - - - -```js -const stytchResponse = await stytchClient.otps.whatsapp.loginOrCreate({ - phone_number: "", -}) -``` - - - - - -### 4. Authenticate the user with the OTP and get a session token - - - - -```js -const authResponse = await stytchClient.otps.authenticate({ - method_id: stytchResponse.email_id, - code: otpResponse.code, - session_duration_minutes: 60 * 24 * 7, -}) - -const sessionStatus = await stytchClient.sessions.authenticate({ - session_token: authResponse.session_token, -}) -``` - - - - -```js -const authResponse = await stytchClient.otps.authenticate({ - method_id: stytchResponse.phone_id, - code: otpResponse.code, - session_duration_minutes: 60 * 24 * 7, -}) - -const sessionStatus = await stytchClient.sessions.authenticate({ - session_token: authResponse.session_token, -}) -``` - - - - -### 5. Get a Lit Relay Server API Key -Checking in! If you didn't complete the pre-req of getting a Lit relay key, you can get it by filling out this [form](https://forms.gle/RNZYtGYTY9BcD9MEA) and the Lit development team will get back to you shortly. - -You can also ping the Lit developement team on [Discord](https://litgateway.com/discord) once you fill out the form. - - -### 6. Mint a PKPs through Lit Protocol - -```js -const litClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -const session = litClient.initProvider(ProviderType.StytchOtp, { - userId: sessionStatus.session.user_id, - appId: "project-test-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" -}) - -const authMethod = await session.authenticate({ - accessToken: sessionStatus.session_jwt -}) - -await session.mintPKPThroughRelayer(authMethod) -const pkps = await session.fetchPKPsThroughRelayer(authMethod) -``` - - -### 7. Generate the Controller Session Signatures - -```js -const litNodeClient = new LitNodeClientNodeJs({ - litNetwork: 'cayenne', - debug: false, -}) -await litNodeClient.connect(); - -const resourceAbilities = [ - { - resource: new LitActionResource("*"), - ability: LitAbility.PKPSigning, - }, -]; - -const sessionKeyPair = litNodeClient.getSessionKey(); - -const authNeededCallback = async (params: AuthCallbackParams) => { - const response = await litNodeClient.signSessionKey({ - sessionKey: sessionKeyPair, - statement: params.statement, - authMethods: [authMethod], - pkpPublicKey: pkp[pkp.length - 1].publicKey, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; -}; - -const sessionSigs = await litNodeClient.getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), - resourceAbilityRequests: resourceAbilities, - sessionKey: sessionKeyPair, - authNeededCallback -}).catch((err) => { - console.log("error while attempting to access session signatures: ", err) - throw err; -}); -``` - - -### 8. Initialize the PKP Wallet -We will now generate a wallet that can act a regular Ethers.js wallet, but will use the PKPs minted through Lit to sign transactions under the hood. - -```js -const pkpWallet = new PKPEthersWallet({ - pkpPubKey: pkp[pkp.length - 1].publicKey, - rpc: "", // e.g. https://rpc.ankr.com/eth_goerli - controllerSessionSigs: sessionSigs -}); - -await pkpWallet.init(); -``` - - -### 9. Use the PKP Wallet to sign user operations and send them through Pimlico - -You can now use the `pkpWallet` as a regular Ethers.js wallet to sign user operations. - -To submit a user operation to Pimlico, you can follow the steps to sponsor a user operation with Pimlico's verifying paymaster and/or submit a user operation through Pimlico's bundler. If you would like to integrate Lit with the full flow of generating, signing, and submitting a user operation, you can follow the steps in [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1), replacing the signing step with the PKP wallet and using `pkpWallet.address` as the owner address of the smart account. - -Modified from Plimlico's [tutorial 1](https://docs.pimlico.io/tutorial/tutorial-1), an example of how to use the PKP wallet to sign a user operation is shown below: - -```js -const signature = await pkpWallet.signMessage( - ethers.utils.arrayify(await entryPoint.getUserOpHash(userOperation)), -) - -userOperation.signature = signature -``` - -And an example of how you would generate the `initCode` for a [SimpleAccount](https://github.com/eth-infinitism/account-abstraction/blob/develop/contracts/samples/SimpleAccount.sol) using the PKP wallet is shown below: - -```js -const initCode = ethers.utils.hexConcat([ - SIMPLE_ACCOUNT_FACTORY_ADDRESS, - simpleAccountFactory.interface.encodeFunctionData("createAccount", [pkpWallet.address, 0]), -]) -``` - - -## Next steps - -Continue exploring Lit by reading more about [programmable signing](../../concepts/programmable-signing-concept.md). - -Check out [more examples](https://docs.pimlico.io/tutorial) from Pimlico. diff --git a/docs/integrations/ceramicExample.md b/docs/integrations/ceramicExample.md deleted file mode 100644 index 315f881a..00000000 --- a/docs/integrations/ceramicExample.md +++ /dev/null @@ -1,231 +0,0 @@ ---- -sidebar_position: 3 ---- - -# ComposeDB (Ceramic) - -## Save Data Encrypted with Lit Protocol to the Ceramic Network on ComposeDB - -Learn how to use Lit Protocol to encrypt messages and save them to the Ceramic Network using ComposeDB. - ---- - -## Objectives -At completion of this reading you should be able to: - -- Create ComposeDB schemas and deploy those models on a local Ceramic node. -- Authenticate users on Ceramic to allow them to author their own documents. -- Encrypt data with Lit Protocol and write mutation queries to save the encrypted data to ComposeDB using GraphQL. -- Decrypt data using Lit Protocol based on specified business logic. - ---- - -## What is the Ceramic Network? - -[Ceramic](https://ceramic.network/) is a decentralized data network that leverages the verifiable qualities you can expect from a blockchain, with cost efficiency and querying capabilities similar to a traditional database. Ceramic empowers developers to leverage interoperable data formats stored on the Network, helping product teams circumvent "cold-start" data problems while simultaneously allowing individuals to take ownership of their digital presence. - -### How does it Work? - -The Ceramic Protocol is built on decentralized event streams, where user accounts (enabled by decentralized identifiers, or [DIDs](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/)) cryptographically sign data events and submit them to the network. These events are stored in the Interplanetary File System (IPFS) using the IPLD protocol, and organized into readable streams. Each stream is flexible enough to store many types of content. Therefore, Ceramic is home to a diversity of different data use cases such as user profiles, posts, relations to other entities, and more. - -Due to Ceramic's open readability, any participating node can read from any stream in the network. Therefore, encrypting data using Lit Protocol and saving it Ceramic is a common (and necessary) integration for many teams. - -### Ceramic as a Data Ledger - -It's important to note that Ceramic can be viewed as a "Data Ledger" middle ground between on and off-chain activity. All Ceramic events are periodically rolled into a Merkle tree and the root is published to the Ethereum blockchain, thus ensuring consensus on the global transactions ordering within Ceramic. - -For more information on how Ceramic works, visit [How it Works](https://ceramic.network/how-it-works). - -## ComposeDB - -ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://composedb.js.org/docs/0.5.x/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! - -For the purpose of this tutorial, we will be using Ceramic with ComposeDB to illustrate how developers can generate, store, and query simple encrypted messages. - -This tutorial will use a message board example application to show how to create encrypted messages using Lit Protocol and save message instances to the Ceramic Network using ComposeDB. - -To follow along, reference this [example repository](https://github.com/ceramicstudio/lit-composedb). - -### Initial Setup - -For this tutorial, you will need: - -1. [MetaMask Chrome Extension](https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn) -2. Node v16 - -First, clone the repository and install your dependencies: - -```bash -git clone https://github.com/ceramicstudio/lit-composedb && cd lit-composedb -npm install -``` - -Open the repository in your editor of choice to continue following along. - -### Generate Your Local Node Configuration - -This tutorial shows developers how to run a local node with which they will deploy model definitions and publish/read transactions to the network. - -In order to do this, a [server configuration](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) will have to be defined, as well as corresponding Ceramic node admin credentials. - -We've done most of this work for you using [this script](https://github.com/mzkrasner/lit-composedb/blob/main/scripts/commands.mjs) we've provided. - -To generate your credentials, run the following in your terminal: - -```bash -npm run generate -``` - -If you explore your `composedb.config.json` and `admin_seed.txt` files, you will now see a defined JSON ComposeDB server configuration and Ceramic admin seed, respectively. - -For more information on server configurations, visit [Server Configurations](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) in the ComposeDB docs. - -### Observe Your Schema Definitions - -You can find pre-made graphql schema definitions within your /composites directory. This particular tutorial uses a singular simple model called `Posts` - each model instance will contain all the necessary encrypted data generated by LIT for someone with the assigned access control conditions to be able to decrypt: - -```graphql -# 00-posts.graphql - -type Posts @createModel(accountRelation: LIST, description: "A simple Post") { - author: DID! @documentAccount - body: String! @string(maxLength: 100000) - to: String! @string(minLength: 42, maxLength: 42) - edited: DateTime - created: DateTime! - ciphertext: String @string(maxLength: 100000) - chain: String @string(maxLength: 100000) - accessControlConditions: String @string(maxLength: 100000) - accessControlConditionType: String @string(maxLength: 100000) -} -``` - -In this model definition, you'll notice that the "author" field takes a scalar type `DID` with an `@documentAccount` directive. This field definition allows each Posts instance to be queried based on the controlling Ceramic Account (based on DID), and therefore is automatically assigned each time a model instance is defined. - -(For more information on controlling Accounts and Documents, visit [ComposeDB Concepts](https://composedb.js.org/docs/0.5.x/core-concepts)). - -Finally, if you navigate into the `/scripts/composites.mjs` file, you'll find the application's deployment script. When you launch the application, this script compiles the model into a composite definition that will then be deployed on your local node and writes that definition to the files located in `/src/__generated__`, which will later be used by the ComposeDB client library to read and write data. - -### Run the Application in Developer Mode - -To run the application, first make sure you're running node version 16, and then run the `dev` command: - -```bash -nvm use 16 -npm run dev -``` -You can observe your local node's output logs within your terminal as the application starts up. - -Once your terminal reads `[NextJS] ready - started server on 0.0.0.0:3000, url: http://localhost:3000`, you can view the frontend in your browser by visiting http://localhost:3000. - -Note that your local Ceramic node is now running on your local 7007 port. You can verify that it's running by executing the following in a new terminal: - -```bash -curl http://localhost:7007/api/v0/node/healthcheck -``` - -This should print `Alive!%` on the following line. - -### Authenticate with Ceramic - -Upon opening the homepage in your browser, you will be prompted with the option to "Sign In with Ceramic" in the middle of the screen: - -
- -![sign in with Ceramic](/img/ceramic-images/sign_in.png) - -
- -Navigating back to your text editor, observe the `useEffect` lifecycle hook within /src/pages/index.tsx that checks the browser's local storage for an item with a "did" key. Upon pressing the button to initiate the authentication sequence, the `handleLogin` method on the same page is called, relying on an `authenticateCeramic` method imported from /utils/index.ts, using the client definitions imported from /context/index.tsx. - -The important item to recognize during this sequence is which DID method is being used. While Ceramic supports multiple [DID methods](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/), this application authorizes Ethereum accounts using [@didtools/pkh-ethereum](https://did.js.org/docs/api/modules/pkh_ethereum/) (visit [User Sessions](https://composedb.js.org/docs/0.5.x/guides/composedb-client/user-sessions) for more information). - -This type of authentication flow offers a familiar "web2" experience allowing users to sign in once (thus generating a timebound session), removing the need to manually approve every transaction. In doing so, this method utilizes a root Ceramic `did:pkh` account with the user's wallet, and generates a temporary and resolvable Ceramic `did:key` account that lives in the browser's local storage, expiring after a default duration of 24 hours. - -Once authenticated, you should now see a blank message board appear on the screen: - -
- -![blank message board](/img/ceramic-images//message_board.png) - -
- -If you now check your local storage, you'll also see a new generated field with a "did" key and an alphanumeric corresponding value. - -Finally, navigating back to /src/pages/index.tsx, you'll also notice that a `startLitClient` method is invoked toward the end of `handleLogin`. Similar to `authenticateCeramic`, this method is imported from /utils/client.ts and is meant to connect your host to LIT Protocol's network. Please note that we have not yet authenticated ourselves with LIT - we will do this later when we try to create a message. - -### Generate Encrypted Messages - -Now that we are authenticated with Ceramic, we can go ahead and send messages to the network. In your text editor, you'll notice that the component defined in `/src/components/Chat.tsx` imports and returns a `` component (using the raw message contents and the user's address as props). If you navigate into `/src/fragments/chatinputbox.tsx`, you'll find a flow that involves both encryption with LIT and saving to Ceramic. - -Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../sdk/access-control/condition-types/boolean-logic.md) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). - -Next, you'll find an `encrypted` constant assigned to the evaluated result of invoking `encryptWithLit`, using the Lit client instance, the raw message, access control conditions, and the assigned chain as arguments. This method is imported from /utils/lit.ts. Similar to the Ceramic authentication flow outlined in the previous section, `encryptWithLit` first invoked a child method called `checkAndSignAuthMessage` that checks for an existing cryptographic authentication signature and creates one if it does not exist. The result of this signature is then stored in local storage so the user doesn't have to sign each time they perform an operation. - -If this is your first time submitting a message after following the steps above, your MetaMask will prompt you to generate the signature mentioned above: - -
- -![signing lit protocol authentication](/img/ceramic-images//sign_lit.png) - -
- -Observe how the child methods within `encryptWithLit` use the original arguments to eventually return an object that we will then save to ComposeDB. - -Back in `/src/fragments/chatinputbox.tsx`, observe how the `executeQuery` method on our `composeClient` class instance is invoked with the values we just generated from the LIT encryption sequence. It's important to note that mutation queries (such as this one) only work when a user is authenticated. Since we are importing the `useCeramicContext` wrapper from /context/index.tsx, we are able to access the authenticated session we established in the last section from within any child components. You can also see how the `createPosts` mutation query accessing the model definitions we discussed previously, found in `/composites/00-post.graphql`. - -If you've followed the steps above to submit an encrypted message, your UI should now look something like this: - -
- -![message board with encrypted message](/img/ceramic-images/lit_message.png) - -
- -### Grabbing Indexed Messages - -Now that you've generated encrypted messages using LIT and saved them to your local Ceramic node using ComposeDB, you'll notice that every time you refresh the page, those messages are rendered in the UI. - -If you navigate back to `/src/components/Chat.tsx`, you'll be able to observe why this is happening. You'll notice that a `getMessages` method is tied to the `useEffect` lifecycle hook. When invoked, this method queries your imported composeClient for the last 20 instances of Posts from your index (if they exist). It's important to note that, unlike mutation queries, this read request works regardless if someone is authenticated or not. - -### Decrypting Messages - -If you've followed along in the tutorial up until this point without switching to a different wallet address (meaning you're still logged into the one you used to generate a few messages), you'll see a "Decrypt" button within each message box rendered in the UI. This button renders conditionally based on whether you're the message author (see `src/fragments/chatcontent.tsx` for the conditional `message.isChatOwner`). However, even if we rendered this button for all users regardless of author, we can still rely on LIT to grant decryption access solely to users who meet the correct access control conditions. - -In `/src/fragments/chatcontent.tsx` you can observe how this works. When you click the "Decrypt" button, this action invokes the `handleDecrypt` method with both an event pointer and the message contents relevant to that component instance. Similar to the sequence of events incurred when encrypting data with LIT, observe how the `decryptWithLit` method is invoked (after converting the message contents to their necessary formats). - -The definition for this method lives in `/utils/lit.ts`, which checks for an existing cryptographic authentication signature in the browser's local storage. If the user is authorized, a `decryptToString` method is later invoked using the `litNodeClient` instance on the window object, along with the access control conditions, ciphertext, encrypted and hashed data, and chain. This will finally decrypt the message contents and allow us to render it in our UI. - -If you press the "Decrypt" button, that corresponding message should now allow you to read its contents in plaintext: - -
- -![decrypted message](/img/ceramic-images/decrypted_message.png) - -
- -### Signing in as Different Users - -If you want to simulate what the experience might look like with multiple users interacting with the application, make sure that you clear your local storage (in addition to disconnecting your current MetaMask account) each time you want to sign in with a different address. - -## Next Steps - -While this tutorial represents a very simple example of how to store and retrieve encrypted data on ComposeDB, there are other patterns and examples developers will find useful to learn more about building on Ceramic. - -- To migrate from local development to running ComposeDB in the cloud, visit [Running in the Cloud](https://composedb.js.org/docs/0.5.x/guides/composedb-server/running-in-the-cloud). -- To move from Ceramic Testnet to Mainnet, visit [Access Ceramic Mainnet](https://composedb.js.org/docs/0.5.x/guides/composedb-server/access-mainnet). -- To view a social application example with more complex data modeling and querying based on relations, visit this [Social App ComposeDB Starter](https://github.com/ceramicstudio/EthDenver2023Demo). -- To view how to generate, save, query, and verify off-chain attestations using the Ethereum Attestation Service together with ComposeDB, visit [this repository](https://github.com/ceramicstudio/ceramic-eas). -- Use the [ComposeDB API Sandbox](https://composedb.js.org/sandbox) to test example queries on a real dataset directly from your browser -- Build an AI-powered Chatbot and save message history to ComposeDB by following this [ComposeDB Tutorial](https://learnweb3.io/lessons/build-an-ai-chatbot-on-compose-db-and-the-ceramic-network) - -### Support from the Ceramic Team - -Developers are encouraged to join the Ceramic community, engage with members of the Ceramic team, and ask for help along their development journey! Here are a few ways to get in touch: - -- Join the [Forum](https://forum.ceramic.network/) to ask questions and receive support -- Join the [Discord](https://discord.com/invite/ceramic) to chat directly with both community members and the Ceramic team -- Follow the Ceramic Network on [Twitter](https://twitter.com/ceramicnetwork) for updates -- Browse technical tutorials and feature release announcements on the Ceramic [blog](https://blog.ceramic.network/) -- Check out the [YouTube Channel](https://www.youtube.com/channel/UCgCLq5dx7sX-yUrrEbtYqVw) for presentations and videos - diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 0ce73e2b..75fe10d5 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -9,8 +9,7 @@ import LearnCodeSection from '@site/src/components/CardSectionsV3/LearnCode'; # Overview - -Lit Protocol lets developers and their users create and manage decentralized keys for condition-based encryption and programmatic signing for digital assets. The Lit network can be used in place of centralized key custodians and other key management solutions. +Lit Protocol lets you create and manage distributed cryptographic key-pairs for condition-based encryption and programmatic signing. A decentralized key management network, Lit can be used in place of centralized key custodians and other key management solutions. Get started today! @@ -18,7 +17,43 @@ Get started today! **FOR DEVELOPERS: SDK API DOCUMENTATION** -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://lit-js-sdk-v3-api-docs.vercel.app/). +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::tip + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::info + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::caution + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). + +For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +::: + +:::danger + +**FOR DEVELOPERS: SDK API DOCUMENTATION** + +To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 73c41cd1..7628a497 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -5,9 +5,7 @@ sidebar_position: 2 # What is Lit Protocol -Lit Protocol is a system for creating decentralized key management networks, powered by threshold cryptography and secure encrypted virtualization. The Lit network provides a generalizable key management layer for encryption, compute, and programmable signing. - -Developers can build on the Lit network with a comprehensive toolkit for managing digital assets and sovereign identities on the open web. +Lit Protocol is distributed cryptography for encryption, compute, and programmable signing. As a generalizable key management layer, Lit provides developers with a comprehensive toolkit for managing sovereign identities on the open web. ## Core Functionality @@ -15,7 +13,7 @@ Lit Protocol provides developers with two core services: 1. **Encryption and Access Control** : Lit enables the client-side encryption and decryption of data by utilizing on or off-chain conditions, without relying on a centralized key custodian. Get started with [encryption and access control](../sdk/access-control/intro.md). -2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are multiparty computation wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [programmatic signing](../sdk/wallets/intro.md). +2. **Programmable Signing** : Lit can be used to program complex [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) or provide [seamless wallet onboarding](https://www.youtube.com/watch?v=HeD3RdqAvVM&t=2s) experiences using Programmable Key Pairs (PKPs) and Lit Actions. PKPs are MPC wallets generated and distributed across the Lit network, while Lit Actions are JavaScript functions dictating when, why, and what a PKP wallet will sign. Get started with [PKPs and Lit Actions](../sdk/wallets/intro.md). ## Use Cases diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 5536a1f6..f886ddd4 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -9,33 +9,9 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. -## Data Migration +## What's Not Migrated? - -:::caution - -The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. - -::: - -If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. - -Alternatively, here are some general instructions for migrating to use the new encryption scheme: - -1. Decrypt from the original network (`jalapeno` or `serrano`) to retrieve the plaintext that was encrypted at rest. -2. If this plaintext corresponded to a symmetric key that you had used to encrypt data, then you would need to retrieve and decrypt the encrypted data. -3. With the plaintext data now, you can use the new encryption scheme in the SDK V3 and store this encrypted data wherever you wish. - - -:::info -Note that the time and feasibility of this migration process ultimately depends on how your application is integrated with Lit. -::: - -Some factors that have different implications on the migration timeline include: - -- Whether a single symmetric key is used for encrypting all of your users' data, vs. using a symmetric key per each user's encryption needs -- Whether a different symmetric key for each type of data is used (even for the same user), vs. using a symmetric key across all types of data -- Whether a single storage engine is used to store encrypted data, vs. a multitude of storage engines are used +All of the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks **will not be migrated** but we will continue to maintain support for them. If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. ## Per-Package Changes diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 7fbcfe4e..5d74eb25 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -1,8 +1,28 @@ +--- +sidebar_position: 4 +--- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Contracts -Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). +Below you can find the full list of associated smart contracts, which live on the [Chronicle Testnet](../intro/rollup): + +**PKPNFT**: [0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153](https://chain.litprotocol.com/address/0xa4bbAAf3aD9Db1B3f1f6fe38af60AE228f6DF153) + +**PubkeyRouterAndPermissions**: [0x1c5B708A171602A11895D727a64aeE2457E3Ef60](https://chain.litprotocol.com/address/0x1c5B708A171602A11895D727a64aeE2457E3Ef60) + +**Rate Limit Increase NFT**: [0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5](https://chain.litprotocol.com/address/0xC498AeE83EF44bBD9E3C27b95482E3261Ec611D5) + +**Staking Contract Address**: [0x4809A30149958a95b925bb5315cb0F550E166272](https://chain.litprotocol.com/address/0x4809A30149958a95b925bb5315cb0F550E166272) + +**PKPHelper**: [0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6](https://chain.litprotocol.com/address/0x85E8860FB3Ad3517151C8da5E5F4Bcd626CCbfD6) + +**PKPPermissions**: [0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9](https://chain.litprotocol.com/address/0x35daf1e7FDf12417aFa8d8deC1fAA874ef4492d9) + +## TypeScript Contracts SDK + +The [Lit Contracts SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/contracts-sdk) is a bundled package that allows you to make calls to Lit Protocol smart contracts. Some contracts come with additional abstracted functions that can be accessed by appending Util to the contract variable name, for example, pkpNftContract becomes pkpNftContractUtil. -The contracts live on the [Chronicle Testnet](../intro/rollup). +Demo: https://demo-contracts-sdk-react.vercel.app/ diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index bfe0c0ea..6e2da9a5 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -66,8 +66,6 @@ When the user sends a request, the session key signs it and sends the signature Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. ### **[Threshold Cryptography](../resources/how-it-works.md)** A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. -### **[Webhooks](../tools/event-listener.md)** -Webhooks are one way that apps can send automated messages or information to other apps. Generally, it is user defined behavior executing when a predefined condition is met. ### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 495f247b..4a4be6b5 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -1,14 +1,15 @@ # Encryption -The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. +Access control conditions can be used to encrypt any static content such that its decryption is "gated". -### How Does ID Encrypt Work -This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. +The Lit network uses an identity-based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. +Refer to the [SDK docs](../sdk/explanation/jwt-auth) for more details and code examples. + ## High-Level Overview Here is a high-level, step-by-step breakdown of encryption and decryption: @@ -28,20 +29,20 @@ Here is a high-level, step-by-step breakdown of encryption and decryption: ## Technical Walkthrough -You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. +You can use Lit to encrypt and store any static content. This could be a file, a string, or anything that won't change. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. + +If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](../explanation/encryption#encrypttoipfs). -Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. +Check out [this example](https://github.com/LIT-Protocol/js-sdk/blob/master/apps/demo-encrypt-decrypt-react/README.md) for a full-fledged **React** application that encrypts and decrypts a **string** using Lit SDK. -Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. +In the example below we will show you the step-by-step process of how to encrypt and decrypt static data using the Lit JS SDK on the client side. ### Setup -At the top of your file, create your Lit Node client like so: +At the top of your file, instantiate your Lit Node client like so: ```js -const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'cayenne', -}); +const client = new LitJsSdk.LitNodeClient(); const chain = "ethereum"; ``` @@ -66,8 +67,8 @@ Get more info on functions in the [API docs](https://js-sdk.litprotocol.com/inde Steps to Encrypt 1. Obtain an `authSig` and create an access control condition. -2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. -3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. You'll need to pass in these +2. Encrypt the static content (string, file, etc.) using `LitJsSdk.encryptString` to get the `ciphertext`, for example. This ties the `accessControlConditions` with the static content. +3. Finally, we have to store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. IPFS is generally used to store these values. #### Access Control & AuthSig @@ -91,7 +92,7 @@ const accessControlConditions = [ #### AuthSig -First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. The chain we are using in this example is `ethereum`, you can check out additional supported chains [here](../../resources/supported-chains.md). +First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. ```js const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); @@ -137,7 +138,7 @@ async encrypt(message: string) { chain: 'ethereum', dataToEncrypt: 'this is a secret message', }, - litNodeClient, + window.litNodeClient, ); return { @@ -149,7 +150,7 @@ async encrypt(message: string) { ### Decrypting -Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` variables we created when encrypting content. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. There is just one step: @@ -158,19 +159,15 @@ There is just one step: #### AuthSig -Obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain we are using in this example is `ethereum`. +First, obtain an authSig from the user. This will ask their MetaMask to sign a message proving they own their crypto address. The chain used here is ethereum. ```js -const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }); +const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); ``` #### Obtaining the Decrypted Data -In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, `authSig`. - -:::note -If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. -::: +In the example, we used `encryptString()` so we will use `decryptToString()` to decrypt. Note that if you used something else to encrypt the content, you will need to use the appropriate decrypt method. ```js const decryptedString = await LitJsSdk.decryptToString( @@ -195,7 +192,7 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit await this.connect() } - const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }) + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain }) const decryptedString = LitJsSdk.decryptToString( { accessControlConditions, @@ -204,10 +201,63 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit authSig, chain: 'ethereum', }, - litNodeClient, + window.litNodeClient, ); return { decryptedString } } ``` -Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. +## Encryption & Upload to IPFS + +To simplify encrypting and uploading to IPFS, there is a method within the SDK to help encrypt and store data on IPFS. + +### encryptToIPFS + +Now, let's take a look at the simplified encryption-decryption & IPFS storing functionality. + +:::note + +The `encryptToIpfs` function internally uses the ipfs-http-client which requires the Infura Project Id & API Secret Key. + +::: + +#### Encryption + +1. For encrypting the static content (string, file) simply pass it to our function `encryptToIpfs` along with the other params: `accessControlConditions`, `chain`, `infuraId`, `infuraSecretKey` & the instance of the connected `LitNodeClient`. Note we're using the Infura client to add the strings/files to IPFS hence you have to provide your credentials. + +That's all! All the steps will be taken care of for you & the `ipfsCid` for your encrypted metadata will be returned to you. + +#### Decryption + +1. For decrypting the encrypted content (string, file) simply pass the returned `ipfsCid` to our function `decryptFromIpfs` & the instance of the connected `LitNodeClient`. + +That's all! You will get the decrypted string or the file as an ArrayBuffer. + +#### Putting it all together + +```js +async encrypt() { + const ipfsCid = await LitJsSdk.encryptToIpfs({ + authSig, + accessControlConditions, + chain, + string: "Encrypt & store on IPFS seamlessly with Lit 😎", + // file, // If you want to encrypt a file instead of a string + litNodeClient: this.litNodeClient, + infuraId: 'YOUR INFURA PROJECT ID', + infuraSecretKey: 'YOUR INFURA API-SECRET-KEY', + }); +} + +async decrypt(ipfsCid) { + const decryptedString = await LitJsSdk.decryptFromIpfs({ + authSig, + ipfsCid, // This is returned from the above encryption + litNodeClient: this.litNodeClient, + }); +} +``` + +#### How to encrypt & decrypt a file instead? + +For encryption use the same function params as above with the string param replaced with a file. For decryption nothing changes. The returned value in that case will be a `Uint8Array` instead of a string since it's a decrypted file. \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index a0b1322f..4d65e846 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -119,4 +119,4 @@ URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6 #### Node Address -The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. \ No newline at end of file +The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. diff --git a/docs/sdk/claimable-keys/intro.md b/docs/sdk/claimable-keys/intro.md deleted file mode 100644 index 17aeb3a0..00000000 --- a/docs/sdk/claimable-keys/intro.md +++ /dev/null @@ -1,44 +0,0 @@ -# Intro - -## Quick Start - -Ready to jump right in? Quickly learn how you can integrate claimable keys into your own product: - -1. Guide: https://spark.litprotocol.com/lit-js-sdk-v3-claimable-keys/ -4. Example Repo: https://github.com/LIT-Protocol/claim-key-demo-nodejs - -## Overview - -With the release of the test network `cayenne` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. - -HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. - -## Key vocabulary - -| Term | Definition | -| --- | --- | -| authentication methods | Deterministically generated identifier from authentication material | -| auth method identifier | An ID generated from a given authentication method | -| key identifier (key id) | The identifier used to derive the public key, this is the auth method identifier | -| claiming | The action of using an authentication method to derive a key from it’s auth method identifier | -| root keys | a set of asymmetric keys used to derive asymmetric ECDSA Keys or Programmable Key Pairs | - -The `key identifier` is generated from an `auth method identifier` from `authentication methods` which is a deterministically generated identifier from authentication material. This generation scopes the id to the specific application context allowing authentication methods to be registered to more than a single application context. - -This also allows you to generate many keys from a single `authentication method` . Since this identifier is known ahead of time from deriving the `auth method` to it’s `auth method identifier`. Allowing for pre-generating the public key of the key pair ahead of time, while keeping the private key unknown, as derivation of the private key does not follow the same derivation as the public portion. -With deterministic keys it is now possible to know public addresses of PKP’s ahead of time as long as you know the authentication method, the public address can be derived. - -To support derived keys we have added a new concept to our network **Claiming.** Claiming is the process of registering the `key identifier` as a claimed key such that no other entity may claim that key. This claim is signed by our network of nodes, and when a threshold of signatures is present when persisting the claim. it will be successfully claimed. - - -Below is a table of how each supported authentication method derives the `key id` - -| Auth Method | User ID | App ID | -| --- | --- | --- | -| Google OAuth | token sub | token aud | -| Discord OAuth | user handle | client app identifier | -| Stytch | user id | project id | -| Lit Actions | user provided | IPFS CID | - - -Continue to the next section to learn how to create HD keys and claim them. diff --git a/docs/sdk/claimable-keys/usage.md b/docs/sdk/claimable-keys/usage.md deleted file mode 100644 index b3096465..00000000 --- a/docs/sdk/claimable-keys/usage.md +++ /dev/null @@ -1,243 +0,0 @@ -# Creating and Claiming - -The Lit SDK provides a `claimKeyId` method which authenticates an `Auth Method` to derive the `key id` . If authentication is successful, a signature is generated by each of the nodes in the network. This signature, the `key id`, and derived public key are then provided to a `ClaimProcessor` which will register the generated key claim on chain and then routes the generated public key for use. - -The `ClaimProcessor` can be provided which defines how the response from the claim operation will be registered on chain. It is recommended to use either the Lit relay server, or the `contract-sdk` . There are two types of `ClaimProccessor` - -- `ClientClaimProcessor` - - Allows for specifying a `signer` for registering claims through the `contract-sdks` `claimAndMint` -- `RelayClaimProcessor` - - allows for specifying a `RelayConfig` which overrides default options for calling a custom `relayer` instance - -If you wish to derive public keys before claiming the `LitNodeClient` offers two helper functions to allow you to compute derived public keys. - -- `computeHdKeyId` calculates the `key id` based on a `user id` and `app id` -- `computeHdPubkey` calculates the `public key` based on the `key id` - -## Examples using the `LitNodeClient` - -Below is an example of claiming a key with the `LitNodeClient` using the default implementation of the `ClaimProcessor` - -```jsx -const client = new LitNodeClient({ - litNetwork: "cayenne", - debug: false -}); -await client.connect(); - -let res = await client.claimKeyId({ - authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method -}); - -console.log("mint tx hash: ", res.mintTx); -console.log("pkp public key: ", res.pubkey); - -``` - -An example of claiming with a customized `ClaimProcessor` using the `contracts-sdk` In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. - -```jsx -const client = new LitNodeClient({ - litNetwork: "cayenne", - debug: false -}); -await client.connect(); -let claimReq: ClaimRequest = { - authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method - signer: new ethers.Wallet("", new JsonRpcProvider("https://chain-rpc.litprotocol.com/http")); - mintCallback: (claimRes: ClaimResponse) => { - const litContracts = new LitContracts({ signer: claimRes.signer }); - await litContracts.connect(); - let tokenId = litContracts.claimAndMint(claimRes.keyId, claimRes.signatures); - } -}; -let res = await client.claimKeyId(claimReq); - -console.log("mint tx hash: ", res.mintTx); -console.log("pkp public key: ", res.pubkey); - -``` - -An example of deriving a `key id` to its public key, this operation does not persist the key for use on the Lit network. But it allows you to know what the key **will be** once registered on chain once claimed. - -```jsx -const client = new LitNodeClient({ - litNetwork: "cayenne", - debug: false -}); - -const keyId = client.computeHdKeyId("", ""); -// the key id can now be given to the public key calculation method -const publicKey = client.computeHDPubKey(keyId); -console.log("user public key will be: ", publicKey); -``` - - -An example of claiming with a customized `ClaimProcessor` making a call to the `Lit relay server` . In this example the `ClaimProcessor` is defined as the `mintCallback` in the request options. - -```jsx -const client = new LitNodeClient({ - litNetwork: "cayenne", - debug: false -}); -await client.connect(); - -let res = await client.claimKeyId({ - authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method - mintCallback: (claimRes: ClaimResponse) => { - const response = await fetch(relayUrl, { - method: 'POST', - body: JSON.stringify(claimRes), - headers: { - 'api-key': params.relayApiKey, - 'Content-Type': 'application/json', - }, - }); - - if (response.status < 200 || response.status >= 400) { - let errResp = await response.json() ?? ""; - let errStmt = `An error occured requesting "/auth/claim" endpoint ${JSON.stringify( - errResp - )}`; - console.warn(errStmt); - throw new Error(errStmt); - } - - let body: any = await response.json(); - // the transaction hash of registering the claim on chain - return body.requestId; - } -}); - -console.log("mint tx hash: ", res.mintTx); -console.log("pkp public key: ", res.pubkey); - -``` - - -## Examples Using the `LitAuthClient` - -### Example of claiming a key with the `LitAuthClient` authenticating with `Stytch` email OTP - -We will start by creating an instance of the Stytch client, with your project id and project secret. this should be loaded from a config and never put into source control. - -```jsx -const client = new stytch.Client({ - project_id: "", - secret: "", -}); -``` - -Once the client is created we can send an `OTP` code through the `otps` namespace on the `Stytch` client. For this example we will choose `otp` as our auth type and `loginOrCreate` a user with a provided email address. it is intended for this value to be user provided. after creating or logging the user in, we shall `authenticate` with the returned `email_id` and `otp` code provided by the user. - -```jsx -const email = ""; // email address of user - -const stytchResponse = await client.otps.email.loginOrCreate({ - email: email, - -}) - -const authResponse = await client.otps.authenticate({ - method_id: stytchResponse.email_id, - code: // code from email, - session_duration_minutes: 60, // session duration is required for session token creation -}) - -const sessionResp = await client.sessions.get({ - user_id: authResponse.user_id -}); - -const sessionStatus = await client.sessions.authenticate({ - session_token: authResponse.session_token, -}) -``` - -Now we can create an instance of the `LitAuthClient` with a `relay API key` . Then an instance of the `stytch otp` provider and provide a `user id` and `app id` the `user id` can come from the `loginOrCreate` response. The `app id` can be found in your `Stytch` project dashboard. -Finally, we can pass the `session jwt` from the `authenticate` response . - -```jsx - -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: "", - } -}); - -const session = authClient.initProvider(ProviderType.StytchOtp, { - userId: sessionStatus.session.user_id, - appId: "" -}) - -const authMethod = await session.authenticate({ - accessToken: sessionStatus.session_jwt -}); - -const claimResp = session.claimKeyId({ - authMethod -}); - -console.log("mint tx hash: ", res.mintTx); -console.log("pkp public key: ", res.pubkey); -``` - -## Calculating the public key of a given auth method identifier - -We will start by creating an instance of the Stytch client, with your project id and project secret. this should be loaded from a config and never put into source control. - -```jsx -const client = new stytch.Client({ - project_id: "", - secret: "", -}); -``` - -Once the client is created we can send an `OTP` code through the `otps` namespace on the `Stytch` client. For this example we will choose `otp` as our auth type and `loginOrCreate` a user with a provided email address. it is intended for this value to be user provided. after creating or logging the user in, we shall `authenticate` with the returned `email_id` and `otp` code provided by the user. - -```jsx -const email = ""; // email address of user - -const stytchResponse = await client.otps.email.loginOrCreate({ - email: email, - -}) - -const authResponse = await client.otps.authenticate({ - method_id: stytchResponse.email_id, - code: // code from email, - session_duration_minutes: 60, // session duration is required for session token creation -}) - -const sessionResp = await client.sessions.get({ - user_id: authResponse.user_id -}); - -const sessionStatus = await client.sessions.authenticate({ - session_token: authResponse.session_token, -}) -``` - -Now we can create an instance of the `LitAuthClient` with a `relay API key` . Then an instance of the `stytch otp` provider and provide a `user id` and `app id` the `user id` can come from the `loginOrCreate` response. The `app id` can be found in your `Stytch` project dashboard. -Finally, we can pass the `session jwt` from the `authenticate` response . Upon successful `authentication` of the token, an `AuthMethod` will be generated. With the `Auth Method` created we can parse it and get an `AuthMethodId` which can be used to calculate the public key. This is because the `AuthMethodId` is the `key id` - -```jsx -const authClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: '', - } -}); - -const session = authClient.initProvider(ProviderType.StytchOtp, { - userId: sessionStatus.session.user_id, - appId: "" -}) - -const authMethod = await session.authenticate({ - accessToken: sessionStatus.session_jwt -}); - -const keyId = session.getAuthMethodId({authMethod}); -const pubkey = session.litNodeClient.computePubkey(keyId); - -console.log("pkp public key: ", pubkey); -``` diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 1b2f1bfe..f1bee992 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -1,48 +1,55 @@ +--- +sidebar_position: 1 +--- + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Installation -Ensure you have the following requirements in place: - -1. Operating System: Linux, Mac OS, or Windows. -2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: THe Lit JS SDK V3 supports JavaScript. Make sure you have the appropriate language environment set up. -4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. - ## Installing And Importing The SDK - + Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client@^3.0.2 +yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK V3**: +Use the **Lit JS SDK**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` + + + +```js + +``` + +If you decide to import the SDK with the script tag, we provide a web-ready package with the dependencies you need. You can use the SDK functions via `LitJsSdk_litNodeClient`, for example `LitJsSdk_litNodeClient.encryptString()` + Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs@^3.0.2 +yarn add @lit-protocol/lit-node-client-nodejs ``` -Use the **Lit JS SDK V3**: +Use the **Lit JS SDK**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; @@ -57,36 +64,73 @@ You should use **at least Node v16.16.0** because of the need for the **webcrypt ## Connection to the Lit Network -The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). +The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. + +### SDK installed via yarn or the script tag (browser usage) + + + + +```js +const client = new LitJsSdk.LitNodeClient(); +await client.connect(); +window.litNodeClient = client; +``` + +In the **yarn / NPM** example: + +:::note + +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. You may also listen for the `lit-ready` event. -In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. +In the code examples we make the `litNodeClient` available as a global variable so that it can be used throughout the web app. -Calling `connect()` on the `litNodeClient`` returns a promise that resolves when you are connected to the Lit network. +::: + + + + +```js +function litJsSdkLoaded() { + var litNodeClient = new LitJsSdk_litNodeClient(); + litNodeClient.connect(); + window.litNodeClient = litNodeClient; +} +``` + +In the **script tag** example: -### SDK installed via NodeJS / serverside usage +If you're using the script tag, you can put your own connection code in a `litJsSdkLoaded()` function and call it yourself with `onload=litJsSdkLoaded()`. + + + -In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by [Express](https://expressjs.com/) for this purpose. You may have to use what your own server framework provides for this purpose, instead. +### SDK installed via yarn / NPM (NodeJS / serverside usage) -`client.connect()` returns a promise that resolves when you are connected to the Lit network. +In this example, we store the litNodeClient in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by Express for this purpose. You may have to use what your own server framework provides for this purpose, instead. ```js app.locals.litNodeClient = new LitJsSdk.LitNodeClient({ alertWhenUnauthorized: false, - litNetwork: 'cayenne', }); await app.locals.litNodeClient.connect(); ``` -### SDK installed for client side usage +:::note +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. +::: -Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. +### SDK installed via yarn / NPM (client side usage) -`client.connect()` will return a promise that resolves when you are connected to the Lit Network. +Within a file (we like to call ours `lit.js`), set up your Lit object. ```js -const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'cayenne', -}) +const client = new LitJsSdk.LitNodeClient() class Lit { private litNodeClient @@ -98,8 +142,23 @@ class Lit { export default new Lit() ``` +## Listening for the lit-ready event + +To listen for the "lit-ready" event which is fired when the network is fully connected: + +```js +document.addEventListener( + "lit-ready", + function (e) { + console.log("LIT network is ready"); + setNetworkLoading(false); // replace this line with your own code that tells your app the network is ready + }, + false +); +``` + ## Debug Logging and Lit Node Client configuration -The `LitNodeClient` object has a number of config params you can pass, documented here: https://lit-js-sdk-v3-api-docs.vercel.app/interfaces/types_src.LitNodeClientConfig.html +The `LitNodeClient` object has a number of config params you can pass, documented here: https://js-sdk.litprotocol.com/classes/lit_node_client_src.LitNodeClientNodeJs.html#config For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 36364354..9b2db976 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -136,10 +136,6 @@ const runLitAction = async () => { // all jsParams can be used anywhere in your litActionCode jsParams: { // this is the string "Hello World" for testing - toSign: ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])), - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", - sigName: "sig1", }, }); console.log("results: ", JSON.stringify(results.response, null, 2)); diff --git a/docs/sdk/wallets/conditional-signing.md b/docs/sdk/wallets/conditional-signing.md index e1383a72..21ba6f3a 100644 --- a/docs/sdk/wallets/conditional-signing.md +++ b/docs/sdk/wallets/conditional-signing.md @@ -3,16 +3,10 @@ import TabItem from '@theme/TabItem'; # Conditional Signing -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for [generating proofs](/LitActions/intro#proofs). This system can be harnessed to uphold the integrity of data on the open web, in its function as a decentralized notary. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. -:::note -`toSign` data is required to be in 32 byte format. - -The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. -::: - ```js import * as LitJsSdk from '@lit-protocol/lit-node-client'; @@ -30,7 +24,7 @@ const go = async () => { } // this is the string "Hello World" for testing - const toSign = ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])); + const toSign = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]; // this requests a signature share from the Lit Node // the signature share will be automatically returned in the HTTP response from the node const sigShare = await LitActions.signEcdsa({ toSign, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1" }); @@ -53,7 +47,7 @@ const authSig = { const runLitAction = async () => { const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "serrano", }); await litNodeClient.connect(); const signatures = await litNodeClient.executeJs({ @@ -89,3 +83,13 @@ const runLitAction = async () => { runLitAction(); ``` + +## Example Project: Conditional Signing + +Below is an example project demonstrating how to program a conditionally signed response using Lit Actions. + +The app will display the returned JSON if Ether balance >= Min balance entered AND if you signed the transaction within 2 mins of the set time. + +Here is the complete [**React** project](https://replit.com/@lit/Lit-Actions-Conditional-Signing#lit-actions_sign_api_response/src/App.js). + + \ No newline at end of file diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 059d5549..13e4b5ce 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -40,4 +40,4 @@ In order to allow for various frontends to integrate with our platform, we plan #### Challenge-Free Registration -We do not currently use [challenges](../../resources/glossary#challenge.md) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +We do not currently use [challenges](../../resources/glossary#challenge) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index d8ef5e26..183f42a5 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -109,4 +109,4 @@ The `@lit-protocol/pkp-walletconnect` library exposes base functionality needed const signClient = pkpWalletConnect.getSignClient(); ``` -Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. +Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. \ No newline at end of file diff --git a/docs/tools/event-listener.md b/docs/tools/event-listener.md deleted file mode 100644 index 100d2fca..00000000 --- a/docs/tools/event-listener.md +++ /dev/null @@ -1,33 +0,0 @@ -# Event Listener - - - - -The [Lit event listener](https://github.com/DIGITALAX/LitListenerSDK) allows you to create specific event-based triggers for executing Lit Actions. - -The SDK is designed around the principle of conditionally pre-approved chain reactions with account abstraction. This series of actions encrypted, conditional, often on-chain, can be chained together to trigger complex strategies. - -With the SDK, you'll be able to set three core condition functions: webhooks, on-chain events, and intervals. - -1. Webhooks -Webhooks are automated messages sent from apps triggered by user defined behavior. The event listener SDK is designed to query (request) and monitor information from specific APIs. In a blockchain context, this might include tracking price changes of a specific cryptocurrency or updates from a decentralized app. - -2. On-Chain Events -The SDK allows you to set up listeners for specific events occurring on the blockchain, like a contract being executed or a new block being added. By subscribing to these events, you're telling the SDK to keep an eye on particular occurrences within blockchain networks. - -3. Intervals -Intervals within the SDK act as the timing mechanism that governs how frequently the SDK checks the webhooks and on-chain events. By setting intervals, you determine how often the SDK will check for updates in the specified webhooks or on-chain events. If you need real-time reaction, you might set a short interval, whereas a less time-sensitive circuit might have longer intervals. - -## Node Code Platform -![No Code Platform image](/img/event_listener_no_code.png) -Looking to automate signing with Lit Actions, without minimal code? Check out [this platform](https://listener.irrevocable.dev/) that utilizes the event listener SDK. - - -Event listener SDK brought to you by [DIGITALAX](https://github.com/DIGITALAX). Read the [documentation](https://docs.irrevocable.dev/) to learn more. diff --git a/docusaurus.config.js b/docusaurus.config.js index 4c4d6554..20ac1e8f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,53 +1,54 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion -const lightCodeTheme = require("prism-react-renderer/themes/github"); -const darkCodeTheme = require("prism-react-renderer/themes/dracula"); +const lightCodeTheme = require('prism-react-renderer/themes/github'); +const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { - title: "Lit Protocol", - tagline: "Blockchain based access control and programmatic signing for the web", - url: "https://developer.litprotocol.com", - baseUrl: "/", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - favicon: "img/favicon.png", - organizationName: "lit-protocol", // Usually your GitHub org/user name. - projectName: "@lit-protocol/js-sdk", // Usually your repo name. + title: 'Lit Protocol', + tagline: + 'Blockchain based access control and programmatic signing for the web', + url: 'https://developer.litprotocol.com', + baseUrl: '/', + onBrokenLinks: 'warn', + onBrokenMarkdownLinks: 'warn', + favicon: 'brand/favicon.ico', + organizationName: 'lit-protocol', // Usually your GitHub org/user name. + projectName: '@lit-protocol/js-sdk', // Usually your repo name. presets: [ [ - "@docusaurus/preset-classic", + '@docusaurus/preset-classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { breadcrumbs: false, - lastVersion: "2.0", - sidebarPath: require.resolve("./sidebars.js"), + lastVersion: '2.0', + sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. - editUrl: "https://github.com/LIT-Protocol/docs/tree/main", - routeBasePath: "/", + editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', + routeBasePath: '/', versions: { - "2.0": { + '2.0': { badge: true, - label: "v2.x.x", - path: "v2", - banner: "none", + label: 'v2.x.x', + path: 'v2', + banner: 'none', }, current: { badge: true, - label: "v3.x.x", - path: "v3", - banner: "none", + label: 'v3.x.x', + path: 'v3', + banner: 'unreleased', }, }, }, theme: { - customCss: require.resolve("./src/css/custom.css"), + customCss: [require.resolve('./src/css/custom.css')], }, gtag: { - trackingID: "G-XK6E9ZB77S", + trackingID: 'G-XK6E9ZB77S', anonymizeIP: false, }, }), @@ -56,21 +57,21 @@ const config = { plugins: [ [ - "content-docs", + 'content-docs', { - id: "learningLab", - path: "learningLab", - routeBasePath: "learningLab", - sidebarPath: require.resolve("./sidebars-learning-lab.js"), + id: 'learningLab', + path: 'learningLab', + routeBasePath: 'learningLab', + sidebarPath: require.resolve('./sidebars-learning-lab.js'), }, ], [ - "content-docs", + 'content-docs', { - id: "Ecosystem", - path: "Ecosystem", - routeBasePath: "Ecosystem", - sidebarPath: require.resolve("./sidebars-ecosystem.js"), + id: 'Ecosystem', + path: 'Ecosystem', + routeBasePath: 'Ecosystem', + sidebarPath: require.resolve('./sidebars-ecosystem.js'), }, ], ], @@ -78,92 +79,81 @@ const config = { themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ - announcementBar: { - id: "SDK V3 Beta", - content: - "Lit JS SDK V3 is now available in beta. Check out v3.x.x of the docs to learn more.", - backgroundColor: '#ff844e', - textColor: '#fffff', - isCloseable: false, - }, navbar: { - title: "Lit Protocol", + title: 'Lit Protocol', logo: { - alt: "Lit Protocol", - src: "img/logo.svg", + alt: 'Lit Protocol', + src: 'brand/lit-fire.png', href: 'https://developer.litprotocol.com/v2/', }, items: [ { - type: "doc", - position: "left", - docId: "intro/overview", - label: "Docs", + type: 'doc', + position: 'left', + docId: 'intro/overview', + label: 'Docs', }, { - to: "learningLab/intro", - position: "left", - label: "Learning Lab", + to: 'learningLab/intro', + position: 'left', + label: 'Learning Lab', }, { - to: "ecosystem/lit-grants", - position: "left", - label: "Ecosystem", + to: 'ecosystem/lit-grants', + position: 'left', + label: 'Ecosystem', }, { - type: "docsVersionDropdown", - position: "right", + type: 'docsVersionDropdown', + position: 'right', }, { - href: "https://github.com/LIT-Protocol/js-sdk", - position: "right", - className: "header-github-link", - "aria-label": "Lit JS SDK GitHub repository", + href: 'https://github.com/LIT-Protocol/js-sdk', + position: 'right', + className: 'header-github-link', + 'aria-label': 'Lit JS SDK GitHub repository', }, ], }, footer: { + copyright: `Copyright © ${new Date().getFullYear()} Lit Association.`, links: [ { - title: "Community", + title: 'Community', items: [ - // { - // label: "Stack Overflow", - // href: "https://stackoverflow.com/questions/tagged/docusaurus", - // }, { - label: "Discord", - href: "https://litgateway.com/discord", + label: 'Discord', + href: 'https://litgateway.com/discord', }, { - label: "Twitter", - href: "https://twitter.com/litprotocol", + label: 'Twitter', + href: 'https://twitter.com/litprotocol', }, ], }, { - title: "More", + title: 'More', items: [ { - label: "Blog", - to: "https://spark.litprotocol.com/", + label: 'Blog', + to: 'https://spark.litprotocol.com/', }, { - label: "GitHub", - href: "https://github.com/LIT-Protocol/js-sdk", + label: 'GitHub', + href: 'https://github.com/LIT-Protocol/js-sdk', }, { - label: "API", - href: "https://js-sdk.litprotocol.com/index.html", + label: 'API', + href: 'https://js-sdk.litprotocol.com/index.html', }, ], }, { - title: "Contact", + title: 'Contact', items: [ { - label: "Support", - to: "/support", + label: 'Support', + to: '/support', }, ], }, @@ -174,18 +164,18 @@ const config = { darkTheme: darkCodeTheme, }, algolia: { - appId: "LBGPAMG3FY", - apiKey: "041874d52ec424d091674d198d792313", - indexName: "developer-litprotocol", + appId: 'LBGPAMG3FY', + apiKey: '041874d52ec424d091674d198d792313', + indexName: 'developer-litprotocol', }, }), scripts: [ { - src: "https://plausible.io/js/script.outbound-links.js", + src: 'https://plausible.io/js/script.outbound-links.js', defer: true, - "data-domain": "developer.litprotocol.com", + 'data-domain': 'developer.litprotocol.com', }, - { src: "/onLoad.js" }, + { src: '/onLoad.js' }, ], }; diff --git a/package.json b/package.json index 138558d3..03607ed4 100644 --- a/package.json +++ b/package.json @@ -14,21 +14,19 @@ "write-heading-ids": "docusaurus write-heading-ids", "update-chains": "node updateChains.js", "prepare": "husky install", - "run:crawler": "node scripts/run-crawler.mjs", "tools": "node tools.mjs" }, "packageManager": "yarn@1.22.19", "dependencies": { "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@docusaurus/core": "2.1.0", - "@docusaurus/plugin-google-analytics": "^2.1.0", - "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^2.2.61", + "@docusaurus/core": "^2.4.3", + "@docusaurus/plugin-google-analytics": "^2.4.3", + "@docusaurus/preset-classic": "^2.4.3", + "@lit-protocol/constants": "^2.2.54", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", "file-loader": "^6.2.0", - "node-fetch": "^3.3.1", "prism-react-renderer": "^1.2.1", "react": "^17.0.1", "react-dom": "^17.0.1", @@ -47,7 +45,7 @@ ] }, "devDependencies": { - "dotenv": "^16.0.3", - "husky": "^7.0.4" + "husky": "^7.0.4", + "prettier": "^3.0.3" } } diff --git a/src/components/HomepageComponents.jsx b/src/components/HomepageComponents.jsx index ed05805b..d595223c 100644 --- a/src/components/HomepageComponents.jsx +++ b/src/components/HomepageComponents.jsx @@ -1,5 +1,6 @@ import React from 'react'; import { paramCase } from 'param-case'; +import Link from '@docusaurus/Link'; import clsx from 'clsx'; export function HomepageSection({ @@ -28,9 +29,16 @@ export function HomepageSection({ export function HomepageCard({ id, icon, title, description, to }) { return ( + // + // {icon &&
{icon}
} + //
+ //
{title}
+ // {description} + //
+ //
- -
+ +
{icon && {icon}}
{title}
{description} diff --git a/src/css/custom.css b/src/css/custom.css index 3f1004e0..9525e8a1 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -9,6 +9,17 @@ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); :root { + /** + * ---------- Lit Colors ---------- + */ + /* --lit-orange: rgb(255, 66, 5); + --lit-orange-light: rgb(255, 132, 79); + --lit-orange-dark: rgb(230, 41, 0); + --lit-pink: rgb(170, 17, 85); */ + /* --lit-pink-dark: rgb(117, 10, 65); */ + /* --lit-pink-background: rgb(170, 17, 85, 0.08); + --lit-blue: rgb(5, 41, 158); + --lit-blue-background: rgb(5, 41, 158, 0.08); */ /** * ---------- Base colors ---------- */ @@ -33,6 +44,8 @@ --ifm-color-primary-light: #bb135e; --ifm-color-primary-lighter: #c41462; --ifm-color-primary-lightest: #dd166f; + /* --ifm-color-warning-contrast-background: #fffce5; + --ifm-color-warning-contrast-foreground: #803e13; */ /** * ---------- Global ---------- */ @@ -49,6 +62,12 @@ /** * ---------- Type system ---------- */ + /* --lit-h1-font-size: 2.5rem; + --lit-h2-font-size: 2rem; + --lit-h3-font-size: 1.75rem; + --lit-h4-font-size: 1.5rem; + --lit-h5-font-size: 1.25rem; + --lit-h6-font-size: 1rem; */ --lit-h1-font-size: 2rem; --lit-h2-font-size: 1.75rem; --lit-h3-font-size: 1.5rem; @@ -72,6 +91,8 @@ rgba(255, 255, 255, 0.9) ); --lit-navbar-border-color: var(--ifm-color-gray-50); + /* --ifm-navbar-link-hover-color: var(--lit-pink); */ + /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ /** * ---------- Footer ---------- */ @@ -79,11 +100,15 @@ --lit-footer-border-color: var(--ifm-color-gray-200); --ifm-footer-title-color: var(--ifm-heading-color); --ifm-footer-link-color: var(--ifm-font-color-base); + /* --ifm-footer-link-hover-color: var(--lit-pink); */ --lit-footer-copyright-color: var(--ifm-color-gray-600); /** * ---------- Sidebar ---------- */ --ifm-menu-color: var(--ifm-font-color-base); + /* --ifm-menu-color-active: var(--lit-pink); */ + /* --ifm-menu-color-background-hover: var(--lit-pink-background); + --ifm-menu-color-background-active: var( --lit-pink-background); */ /** * ---------- Table of Contents ---------- */ @@ -93,6 +118,10 @@ */ --ifm-list-item-margin: 0.5rem; /** + * ---------- Link ---------- + */ + /* --ifm-link-color: var(--lit-pink); */ + /** * ---------- Badge ---------- */ --ifm-badge-border-radius: 999px; @@ -108,6 +137,7 @@ * ---------- Pagination ---------- */ --lit-pagination-border-color: var(--ifm-color-gray-200); + /* --ifm-pagination-nav-color-hover: var(--lit-pink); */ } html[data-theme='dark'] { @@ -121,6 +151,8 @@ html[data-theme='dark'] { /** * ---------- Accent colors ---------- */ + /* --ifm-color-warning-contrast-background: rgba(255, 212, 12, 0.05); + --ifm-color-warning-contrast-foreground: #fffce5; */ /** * ---------- Global ---------- */ @@ -265,12 +297,7 @@ html[data-theme='dark'] ::selection { --ifm-h1-font-size: var(--lit-h1-font-size); } -h1, -h2, -h3, -h4, -h5, -h6 { +h1, h2, h3, h4, h5, h6 { --ifm-code-font-size: 100%; } @@ -299,6 +326,7 @@ h6 { } .dropdown__link--active { + /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ font-weight: 600; } @@ -393,8 +421,7 @@ html[data-theme='dark'] .header-github-link::before { font-weight: 600; } -.menu__link:not(.menu__link--active):hover, -.menu__list-item-collapsible .menu__link:hover { +.menu__link:not(.menu__link--active):hover, .menu__list-item-collapsible .menu__link:hover { color: var(--ifm-menu-color-active); } @@ -402,11 +429,10 @@ html[data-theme='dark'] .header-github-link::before { color: var(--ifm-heading-color); } -.menu__caret::before, -.menu__link--sublist-caret:after { +.menu__caret::before, .menu__link--sublist-caret:after { background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem; height: 1.5rem; - width: 1.5rem; + width: 1.5rem } @media only screen and (min-width: 997px) { @@ -415,8 +441,7 @@ html[data-theme='dark'] .header-github-link::before { } } -.menu__link--sublist-caret:hover, -.menu__list-item-collapsible--active { +.menu__link--sublist-caret:hover, .menu__list-item-collapsible--active { --ifm-menu-link-sublist-icon: url('data:image/svg+xml;utf8,'); } @@ -493,6 +518,13 @@ html[data-theme] .DocSearch-Prefill { font-size: 0.875rem; } +/* .table-of-contents__link:hover, +.table-of-contents__link:hover code, +.table-of-contents__link--active, +.table-of-contents__link--active code { + color: var(--lit-orange); +} */ + /* * ---------- Badge ---------- */ @@ -502,6 +534,12 @@ html[data-theme] .DocSearch-Prefill { border: 1px solid var(--ifm-badge-border-color); } +/* .badge--secondary { + --ifm-badge-background-color: #ffe8cc; + --ifm-badge-border-color: #fd7e14; + color: #d9480f; +} */ + /* * ---------- Link ---------- */ @@ -513,6 +551,7 @@ html[data-theme] .DocSearch-Prefill { white-space: nowrap; } + .markdown a:not(.hash-link, .homepage-card__link)::before, .markdown a:not(.hash-link, .homepage-card__link)::after { position: absolute; @@ -535,6 +574,7 @@ html[data-theme] .DocSearch-Prefill { text-decoration: none; } + .markdown a:not(.hash-link, .homepage-card__link):hover::before { transform-origin: 100% 50%; transform: scale3d(0, 1, 1); @@ -548,6 +588,18 @@ html[data-theme] .DocSearch-Prefill { * ---------- Alerts ---------- */ +/* .alert a { + color: var(--ifm-alert-foreground-color); +} */ + +/* .alert--secondary { + --ifm-color-secondary-contrast-background: rgba(255, 244, 230, 1); + --ifm-alert-icon-fill: rgba(253, 126, 20, 1); + --ifm-color-secondary-contrast-foreground: rgba(31, 0, 1, 1); + --ifm-alert-border-color: rgba(253, 126, 20, 1); + --ifm-alert-background-color-highlight: rgba(253, 126, 20, 0.15); +} */ + .alert--secondary { --ifm-alert-icon-fill: var(--ifm-alert-foreground-color); } @@ -572,6 +624,44 @@ html[data-theme='dark'] .alert--secondary { --ifm-alert-icon-fill: var(--ifm-color-danger); } +/* html[data-theme='dark'] .alert { + --ifm-alert-border-width: 1px; + --ifm-alert-border-left-width: 1px; +} */ + +/* html[data-theme='dark'] .alert--secondary { + --ifm-color-secondary-contrast-background: rgba(217, 72, 15, 0.1); + --ifm-alert-border-color: rgba(247, 103, 7, 1); + --ifm-color-secondary-contrast-foreground: rgba(255, 244, 230, 1); + --ifm-alert-icon-fill: rgba(253, 126, 20, 1); + --ifm-alert-background-color-highlight: rgba(247, 103, 7, 0.15); + border-color: rgba(247, 103, 7, 0.3); +} + +html[data-theme='dark'] .alert--success { + --ifm-color-success-contrast-background: rgba(0, 49, 0, 0.15); + --ifm-alert-border-color: rgba(0, 148, 0, 1); + border-color: rgba(0, 148, 0, 0.3); +} + +html[data-theme='dark'] .alert--info { + --ifm-color-info-contrast-background: rgba(25, 60, 71, 0.15); + --ifm-alert-border-color: rgba(76, 179, 212, 1); + border-color: rgba(76, 179, 212, 0.3); +} + +html[data-theme='dark'] .alert--warning { + --ifm-color-warning-contrast-background: rgba(77, 56, 0, 0.15); + --ifm-alert-border-color: rgba(230, 167, 0, 1); + border-color: rgba(230, 167, 0, 0.3); +} + +html[data-theme='dark'] .alert--danger { + --ifm-color-danger-contrast-background: rgba(75, 17, 19, 0.2); + --ifm-alert-border-color: rgba(225, 50, 56, 1); + border-color: rgba(225, 50, 56, 0.4); +} */ + /* * ---------- Pagination ---------- */ @@ -596,6 +686,14 @@ html[data-theme='dark'] .alert--secondary { content: ' →'; } +/* .pagination-nav__link { + color: var(--lit-pink); +} + +.pagination-nav__link:hover { + color: var(--lit-pink); +} */ + /* * ---------- Custom cards ---------- */ diff --git a/src/css/customOld.css b/src/css/customOld.css new file mode 100644 index 00000000..78ecd45a --- /dev/null +++ b/src/css/customOld.css @@ -0,0 +1,213 @@ +/** + * 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. + */ + +/* You can override the default Infima variables here. */ + +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); + +:root { + --ifm-font-family-base: 'Inter'; + + /* --ifm-color-primary: #9e77f3; + --primary-hover-overlay: rgba(158, 119, 243, 0.1); + --ifm-color-primary-dark: #8159d9; + --ifm-color-primary-darker: #5e36b7; + --ifm-color-primary-darkest: #2c0c72; + --ifm-color-primary-light: #8159d9; + --ifm-color-primary-lighter: #9e77f3; + --ifm-color-primary-lightest: #bfa1ff; + --ifm-navbar-item-padding-horizontal: 24px; */ + /* --ifm-heading-font-weight: 400; */ + /* --ifm-menu-color: var(--ifm-color-emphasis-700); */ + /* --ifm-menu-color-background-active: var(--primary-hover-overlay); + --ifm-breadcrumb-item-background-active: var(--primary-hover-overlay); + --ifm-footer-title-color: var(--ifm-color-emphasis-700); + --top-category-label-color: var(--ifm-color-emphasis-1000); + --footer-border-color: transparent; */ + /* --homepage-card-hover: rgba(191, 161, 255, 0.06); */ +} + +html[data-theme="dark"] { + /* --ifm-navbar-background-color: #111827; + --ifm-background-color: #111827; + --ifm-color-secondary-contrast-background: #1f2937; + --ifm-color-secondary-contrast-foreground: #cbd5e1; + --ifm-footer-background-color: var(--ifm-footer-background-color); */ + /* --top-category-label-color: var(--ifm-color-emphasis-400); */ + /* --ifm-menu-color: var(--ifm-color-emphasis-500); + --footer-border-color: var(--ifm-color-emphasis-200); + --homepage-card-hover: var(--primary-hover-overlay); */ +} + +/* .navbar { + border-bottom: 1px solid var(--ifm-color-emphasis-200); +} + +.header-github-link:hover { + opacity: 0.6; +} + +.header-github-link::before { + content: ''; + width: 24px; + height: 24px; + display: flex; + background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; +} + +[data-theme='dark'] .header-github-link::before { + background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") + no-repeat; +} + +.category-not-collapsible > .menu__list { + padding-left: 0rem; +} + +.category-not-collapsible > .menu__list-item-collapsible:hover { + background: transparent; +} + +.menu__list > .theme-doc-sidebar-item-category-level-1 { + margin-bottom: 1rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--ifm-color-emphasis-200); +} + +.menu__list > .theme-doc-sidebar-item-category-level-1:last-of-type { + border: none; +} + +.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible .menu__link { + color: var(--top-category-label-color); + text-transform: uppercase; + font-size: 0.875rem; + line-height: 1.25rem; +} + +.footer { + border-top: 1px solid var(--footer-border-color); +} + +.footer__title { + font-weight: 500; +} + +.docusaurus-highlight-code-line { + background-color: rgba(0, 0, 0, 0.1); + display: block; + margin: 0 calc(-1 * var(--ifm-pre-padding)); + padding: 0 var(--ifm-pre-padding); +} + +html[data-theme="dark"] .docusaurus-highlight-code-line { + background-color: rgba(0, 0, 0, 0.3); +} + +.markdown h1:first-child { + --ifm-h1-font-size: 2rem; +} + +.markdown > h2 { + --ifm-h2-font-size: 1.5rem; + font-weight: 500; +} + +.markdown > h3 { + --ifm-h3-font-size: 1.25rem; +} + +.section-content { + display: grid; + gap: 12px; + grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); +} + +.card-content { + display: flex; + flex-direction: column; + gap: 4px; + user-select: none; + transition: box-shadow .15s ease-out,transform .15s ease-out,opacity .15s ease-out; +} + +.card-content .title { + font-size: 16px; + font-weight: 500; + letter-spacing: -.5px; + color: var(--ifm-font-color-base); +} + +.card-content .description { + font-size: 14px; + letter-spacing: -.5px; + color: var(--ifm-font-color-base); +} + +.card-content { + display: -webkit-flex; + display: -moz-flex; + display: -ms-flex; + display: -o-flex; + display: flex; + -webkit-flex-wrap: wrap; + -moz-flex-wrap: wrap; + -ms-flex-wrap: wrap; + -o-flex-wrap: wrap; + flex-wrap: wrap; + justify-content: flex-start; + width: 100%; +} + +.homepage-card { + --ifm-link-hover-color: inherit; + align-items: flex-start; + border: 1px solid var(--ifm-color-emphasis-300); + border-radius: 0.375rem; + color: var(--ifm-font-color-base); + cursor: pointer; + display: flex; + flex-direction: column; + gap: 0.625rem; + padding: 0.75rem 1rem; + transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); +} + +.homepage-card:hover { + text-decoration: none; + background-color: var(--homepage-card-hover); + border-color: var(--ifm-color-primary-lightest); +} + +.homepage-card:hover .card-content .title { + color: var(--ifm-link-hover-color); +} + +.homepage-section { + margin-top: 3rem; + margin-bottom: 3rem; + margin-left: 2px; +} + +@media only screen and (min-width: 996px) { + :root { + --ifm-spacing-horizontal: 1.5rem; + } + + .theme-doc-sidebar-menu { + padding-right: 0.5rem; + } + + .header-github-link { + padding-left: 8px; + } +} + +table { + width:100%; + display: table; +} */ \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 77661fcf..52ee2408 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,133 +2,141 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz" - integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@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.npmjs.org/@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.7.1" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-preset-algolia@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz" - integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== dependencies: - "@algolia/autocomplete-shared" "1.7.1" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/autocomplete-shared@1.7.1": - version "1.7.1" - resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz" - integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== -"@algolia/cache-browser-local-storage@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz" - integrity sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA== +"@algolia/cache-browser-local-storage@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz#357318242fc542ffce41d6eb5b4a9b402921b0bb" + integrity sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ== dependencies: - "@algolia/cache-common" "4.14.2" + "@algolia/cache-common" "4.20.0" -"@algolia/cache-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz" - integrity sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg== +"@algolia/cache-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz#ec52230509fce891091ffd0d890618bcdc2fa20d" + integrity sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ== -"@algolia/cache-in-memory@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz" - integrity sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ== +"@algolia/cache-in-memory@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@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.14.2" + "@algolia/cache-common" "4.20.0" -"@algolia/client-account@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz" - integrity sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w== +"@algolia/client-account@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz#23ce0b4cffd63100fb7c1aa1c67a4494de5bd645" + integrity sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/client-common" "4.20.0" + "@algolia/client-search" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-analytics@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz" - integrity sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ== +"@algolia/client-analytics@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz#0aa6bef35d3a41ac3991b3f46fcd0bf00d276fa9" + integrity sha512-EIr+PdFMOallRdBTHHdKI3CstslgLORQG7844Mq84ib5oVFRVASuuPmG4bXBgiDbcsMLUeOC6zRVJhv1KWI0ug== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@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.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz" - integrity sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q== +"@algolia/client-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz#ca60f04466515548651c4371a742fbb8971790ef" + integrity sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ== dependencies: - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-personalization@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz" - integrity sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw== +"@algolia/client-personalization@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz#ca81308e8ad0db3b27458b78355f124f29657181" + integrity sha512-N9+zx0tWOQsLc3K4PVRDV8GUeOLAY0i445En79Pr3zWB+m67V+n/8w4Kw1C5LlbHDDJcyhMMIlqezh6BEk7xAQ== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@algolia/client-common" "4.20.0" + "@algolia/requester-common" "4.20.0" + "@algolia/transporter" "4.20.0" -"@algolia/client-search@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz" - integrity sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw== +"@algolia/client-search@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz#3bcce817ca6caedc835e0eaf6f580e02ee7c3e15" + integrity sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg== dependencies: - "@algolia/client-common" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/transporter" "4.14.2" + "@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.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/logger-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz" - integrity sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA== +"@algolia/logger-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz#f148ddf67e5d733a06213bebf7117cb8a651ab36" + integrity sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ== -"@algolia/logger-console@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz" - integrity sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g== +"@algolia/logger-console@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz#ac443d27c4e94357f3063e675039cef0aa2de0a7" + integrity sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA== dependencies: - "@algolia/logger-common" "4.14.2" + "@algolia/logger-common" "4.20.0" -"@algolia/requester-browser-xhr@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz" - integrity sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw== +"@algolia/requester-browser-xhr@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz#db16d0bdef018b93b51681d3f1e134aca4f64814" + integrity sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw== dependencies: - "@algolia/requester-common" "4.14.2" + "@algolia/requester-common" "4.20.0" -"@algolia/requester-common@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz" - integrity sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg== +"@algolia/requester-common@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz#65694b2263a8712b4360fef18680528ffd435b5c" + integrity sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng== -"@algolia/requester-node-http@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz" - integrity sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg== +"@algolia/requester-node-http@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz#b52b182b52b0b16dec4070832267d484a6b1d5bb" + integrity sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng== dependencies: - "@algolia/requester-common" "4.14.2" + "@algolia/requester-common" "4.20.0" -"@algolia/transporter@4.14.2": - version "4.14.2" - resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz" - integrity sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ== +"@algolia/transporter@4.20.0": + version "4.20.0" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz#7e5b24333d7cc9a926b2f6a249f87c2889b944a9" + integrity sha512-Lsii1pGWOAISbzeyuf+r/GPhvHMPHSPrTDWNcIzOE1SG1inlJHICaVe2ikuoRjcpgxZNU54Jl+if15SUCsaTUg== dependencies: - "@algolia/cache-common" "4.14.2" - "@algolia/logger-common" "4.14.2" - "@algolia/requester-common" "4.14.2" + "@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.0" @@ -1139,13 +1147,20 @@ core-js-pure "^3.25.1" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.8.4": version "7.19.4" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz" integrity sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA== dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.20.13": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" + integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.12.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" @@ -1185,25 +1200,25 @@ resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@docsearch/css@3.2.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.2.1.tgz" - integrity sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g== +"@docsearch/css@3.5.2": + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== "@docsearch/react@^3.1.1": - version "3.2.1" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.2.1.tgz" - integrity sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ== + version "3.5.2" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" + integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== dependencies: - "@algolia/autocomplete-core" "1.7.1" - "@algolia/autocomplete-preset-algolia" "1.7.1" - "@docsearch/css" "3.2.1" - algoliasearch "^4.0.0" + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" -"@docusaurus/core@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" - integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== +"@docusaurus/core@2.4.3", "@docusaurus/core@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz#d86624901386fd8164ce4bff9cc7f16fde57f523" + integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.7" @@ -1215,13 +1230,13 @@ "@babel/runtime" "^7.18.6" "@babel/runtime-corejs3" "^7.18.6" "@babel/traverse" "^7.18.8" - "@docusaurus/cssnano-preset" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" + "@docusaurus/cssnano-preset" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" "@slorber/static-site-generator-webpack-plugin" "^4.0.7" "@svgr/webpack" "^6.2.1" autoprefixer "^10.4.7" @@ -1242,7 +1257,7 @@ del "^6.1.1" detect-port "^1.3.0" escape-html "^1.0.3" - eta "^1.12.3" + eta "^2.0.0" file-loader "^6.2.0" fs-extra "^10.1.0" html-minifier-terser "^6.1.0" @@ -1277,33 +1292,33 @@ webpack-merge "^5.8.0" webpackbar "^5.0.2" -"@docusaurus/cssnano-preset@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" - integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== +"@docusaurus/cssnano-preset@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz#1d7e833c41ce240fcc2812a2ac27f7b862f32de0" + integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== dependencies: cssnano-preset-advanced "^5.3.8" postcss "^8.4.14" postcss-sort-media-queries "^4.2.1" tslib "^2.4.0" -"@docusaurus/logger@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" - integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== +"@docusaurus/logger@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz#518bbc965fb4ebe8f1d0b14e5f4161607552d34c" + integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== dependencies: chalk "^4.1.2" tslib "^2.4.0" -"@docusaurus/mdx-loader@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" - integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== +"@docusaurus/mdx-loader@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz#e8ff37f30a060eaa97b8121c135f74cb531a4a3e" + integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== dependencies: "@babel/parser" "^7.18.8" "@babel/traverse" "^7.18.8" - "@docusaurus/logger" "2.1.0" - "@docusaurus/utils" "2.1.0" + "@docusaurus/logger" "2.4.3" + "@docusaurus/utils" "2.4.3" "@mdx-js/mdx" "^1.6.22" escape-html "^1.0.3" file-loader "^6.2.0" @@ -1318,13 +1333,13 @@ url-loader "^4.1.1" webpack "^5.73.0" -"@docusaurus/module-type-aliases@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" - integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== +"@docusaurus/module-type-aliases@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.4.3.tgz#d08ef67e4151e02f352a2836bcf9ecde3b9c56ac" + integrity sha512-cwkBkt1UCiduuvEAo7XZY01dJfRn7UR/75mBgOdb1hKknhrabJZ8YH+7savd/y9kLExPyrhe0QwdS9GuzsRRIA== dependencies: "@docusaurus/react-loadable" "5.5.2" - "@docusaurus/types" "2.1.0" + "@docusaurus/types" "2.4.3" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1332,18 +1347,18 @@ react-helmet-async "*" react-loadable "npm:@docusaurus/react-loadable@5.5.2" -"@docusaurus/plugin-content-blog@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" - integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-content-blog@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.4.3.tgz#6473b974acab98e967414d8bbb0d37e0cedcea14" + integrity sha512-PVhypqaA0t98zVDpOeTqWUTvRqCEjJubtfFUQ7zJNYdbYTbS/E/ytq6zbLVsN/dImvemtO/5JQgjLxsh8XLo8Q== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" cheerio "^1.0.0-rc.12" feed "^4.2.2" fs-extra "^10.1.0" @@ -1354,18 +1369,18 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-docs@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" - integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/module-type-aliases" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-content-docs@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.4.3.tgz#aa224c0512351e81807adf778ca59fd9cd136973" + integrity sha512-N7Po2LSH6UejQhzTCsvuX5NOzlC+HiXOVvofnEPj0WhMu1etpLEXE6a4aTxrtg95lQ5kf0xUIdjX9sh3d3G76A== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/module-type-aliases" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" "@types/react-router-config" "^5.0.6" combine-promises "^1.1.0" fs-extra "^10.1.0" @@ -1376,84 +1391,95 @@ utility-types "^3.10.0" webpack "^5.73.0" -"@docusaurus/plugin-content-pages@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" - integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-content-pages@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.4.3.tgz#7f285e718b53da8c8d0101e70840c75b9c0a1ac0" + integrity sha512-txtDVz7y3zGk67q0HjG0gRttVPodkHqE0bpJ+7dOaTH40CQFLSh7+aBeGnPOTl+oCPG+hxkim4SndqPqXjQ8Bg== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" fs-extra "^10.1.0" tslib "^2.4.0" webpack "^5.73.0" -"@docusaurus/plugin-debug@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" - integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== +"@docusaurus/plugin-debug@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.4.3.tgz#2f90eb0c9286a9f225444e3a88315676fe02c245" + integrity sha512-LkUbuq3zCmINlFb+gAd4ZvYr+bPAzMC0hwND4F7V9bZ852dCX8YoWyovVUBKq4er1XsOwSQaHmNGtObtn8Av8Q== dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" fs-extra "^10.1.0" react-json-view "^1.21.3" tslib "^2.4.0" -"@docusaurus/plugin-google-analytics@2.1.0", "@docusaurus/plugin-google-analytics@^2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" - integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== +"@docusaurus/plugin-google-analytics@2.4.3", "@docusaurus/plugin-google-analytics@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz#0d19993136ade6f7a7741251b4f617400d92ab45" + integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" tslib "^2.4.0" -"@docusaurus/plugin-google-gtag@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" - integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== +"@docusaurus/plugin-google-gtag@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.4.3.tgz#e1a80b0696771b488562e5b60eff21c9932d9e1c" + integrity sha512-5FMg0rT7sDy4i9AGsvJC71MQrqQZwgLNdDetLEGDHLfSHLvJhQbTCUGbGXknUgWXQJckcV/AILYeJy+HhxeIFA== dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" tslib "^2.4.0" -"@docusaurus/plugin-sitemap@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" - integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/plugin-google-tag-manager@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-2.4.3.tgz#e41fbf79b0ffc2de1cc4013eb77798cff0ad98e3" + integrity sha512-1jTzp71yDGuQiX9Bi0pVp3alArV0LSnHXempvQTxwCGAEzUWWaBg4d8pocAlTpbP9aULQQqhgzrs8hgTRPOM0A== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" + tslib "^2.4.0" + +"@docusaurus/plugin-sitemap@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.4.3.tgz#1b3930900a8f89670ce7e8f83fb4730cd3298c32" + integrity sha512-LRQYrK1oH1rNfr4YvWBmRzTL0LN9UAPxBbghgeFRBm5yloF6P+zv1tm2pe2hQTX/QP5bSKdnajCvfnScgKXMZQ== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" fs-extra "^10.1.0" sitemap "^7.1.1" tslib "^2.4.0" -"@docusaurus/preset-classic@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" - integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/plugin-content-blog" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/plugin-content-pages" "2.1.0" - "@docusaurus/plugin-debug" "2.1.0" - "@docusaurus/plugin-google-analytics" "2.1.0" - "@docusaurus/plugin-google-gtag" "2.1.0" - "@docusaurus/plugin-sitemap" "2.1.0" - "@docusaurus/theme-classic" "2.1.0" - "@docusaurus/theme-common" "2.1.0" - "@docusaurus/theme-search-algolia" "2.1.0" - "@docusaurus/types" "2.1.0" +"@docusaurus/preset-classic@^2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.4.3.tgz#074c57ebf29fa43d23bd1c8ce691226f542bc262" + integrity sha512-tRyMliepY11Ym6hB1rAFSNGwQDpmszvWYJvlK1E+md4SW8i6ylNHtpZjaYFff9Mdk3i/Pg8ItQq9P0daOJAvQw== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/plugin-content-blog" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/plugin-content-pages" "2.4.3" + "@docusaurus/plugin-debug" "2.4.3" + "@docusaurus/plugin-google-analytics" "2.4.3" + "@docusaurus/plugin-google-gtag" "2.4.3" + "@docusaurus/plugin-google-tag-manager" "2.4.3" + "@docusaurus/plugin-sitemap" "2.4.3" + "@docusaurus/theme-classic" "2.4.3" + "@docusaurus/theme-common" "2.4.3" + "@docusaurus/theme-search-algolia" "2.4.3" + "@docusaurus/types" "2.4.3" "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" @@ -1463,27 +1489,27 @@ "@types/react" "*" prop-types "^15.6.2" -"@docusaurus/theme-classic@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" - integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== - dependencies: - "@docusaurus/core" "2.1.0" - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/module-type-aliases" "2.1.0" - "@docusaurus/plugin-content-blog" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/plugin-content-pages" "2.1.0" - "@docusaurus/theme-common" "2.1.0" - "@docusaurus/theme-translations" "2.1.0" - "@docusaurus/types" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-common" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" +"@docusaurus/theme-classic@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.4.3.tgz#29360f2eb03a0e1686eb19668633ef313970ee8f" + integrity sha512-QKRAJPSGPfDY2yCiPMIVyr+MqwZCIV2lxNzqbyUW0YkrlmdzzP3WuQJPMGLCjWgQp/5c9kpWMvMxjhpZx1R32Q== + dependencies: + "@docusaurus/core" "2.4.3" + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/module-type-aliases" "2.4.3" + "@docusaurus/plugin-content-blog" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/plugin-content-pages" "2.4.3" + "@docusaurus/theme-common" "2.4.3" + "@docusaurus/theme-translations" "2.4.3" + "@docusaurus/types" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" "@mdx-js/react" "^1.6.22" clsx "^1.2.1" copy-text-to-clipboard "^3.0.1" - infima "0.2.0-alpha.42" + infima "0.2.0-alpha.43" lodash "^4.17.21" nprogress "^0.2.0" postcss "^8.4.14" @@ -1494,17 +1520,18 @@ tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-common@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" - integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== - dependencies: - "@docusaurus/mdx-loader" "2.1.0" - "@docusaurus/module-type-aliases" "2.1.0" - "@docusaurus/plugin-content-blog" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/plugin-content-pages" "2.1.0" - "@docusaurus/utils" "2.1.0" +"@docusaurus/theme-common@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.4.3.tgz#bb31d70b6b67d0bdef9baa343192dcec49946a2e" + integrity sha512-7KaDJBXKBVGXw5WOVt84FtN8czGWhM0lbyWEZXGp8AFfL6sZQfRTluFp4QriR97qwzSyOfQb+nzcDZZU4tezUw== + dependencies: + "@docusaurus/mdx-loader" "2.4.3" + "@docusaurus/module-type-aliases" "2.4.3" + "@docusaurus/plugin-content-blog" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/plugin-content-pages" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-common" "2.4.3" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1512,42 +1539,43 @@ parse-numeric-range "^1.3.0" prism-react-renderer "^1.3.5" tslib "^2.4.0" + use-sync-external-store "^1.2.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" - integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== +"@docusaurus/theme-search-algolia@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.4.3.tgz#32d4cbefc3deba4112068fbdb0bde11ac51ece53" + integrity sha512-jziq4f6YVUB5hZOB85ELATwnxBz/RmSLD3ksGQOLDPKVzat4pmI8tddNWtriPpxR04BNT+ZfpPUMFkNFetSW1Q== dependencies: "@docsearch/react" "^3.1.1" - "@docusaurus/core" "2.1.0" - "@docusaurus/logger" "2.1.0" - "@docusaurus/plugin-content-docs" "2.1.0" - "@docusaurus/theme-common" "2.1.0" - "@docusaurus/theme-translations" "2.1.0" - "@docusaurus/utils" "2.1.0" - "@docusaurus/utils-validation" "2.1.0" + "@docusaurus/core" "2.4.3" + "@docusaurus/logger" "2.4.3" + "@docusaurus/plugin-content-docs" "2.4.3" + "@docusaurus/theme-common" "2.4.3" + "@docusaurus/theme-translations" "2.4.3" + "@docusaurus/utils" "2.4.3" + "@docusaurus/utils-validation" "2.4.3" algoliasearch "^4.13.1" algoliasearch-helper "^3.10.0" clsx "^1.2.1" - eta "^1.12.3" + eta "^2.0.0" fs-extra "^10.1.0" lodash "^4.17.21" tslib "^2.4.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" - integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== +"@docusaurus/theme-translations@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.4.3.tgz#91ac73fc49b8c652b7a54e88b679af57d6ac6102" + integrity sha512-H4D+lbZbjbKNS/Zw1Lel64PioUAIT3cLYYJLUf3KkuO/oc9e0QCVhIYVtUI2SfBCF2NNdlyhBDQEEMygsCedIg== dependencies: fs-extra "^10.1.0" tslib "^2.4.0" -"@docusaurus/types@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" - integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== +"@docusaurus/types@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz#4aead281ca09f721b3c0a9b926818450cfa3db31" + integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -1558,31 +1586,32 @@ webpack "^5.73.0" webpack-merge "^5.8.0" -"@docusaurus/utils-common@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" - integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== +"@docusaurus/utils-common@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz#30656c39ef1ce7e002af7ba39ea08330f58efcfb" + integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== dependencies: tslib "^2.4.0" -"@docusaurus/utils-validation@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" - integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== +"@docusaurus/utils-validation@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz#8122c394feef3e96c73f6433987837ec206a63fb" + integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== dependencies: - "@docusaurus/logger" "2.1.0" - "@docusaurus/utils" "2.1.0" + "@docusaurus/logger" "2.4.3" + "@docusaurus/utils" "2.4.3" joi "^17.6.0" js-yaml "^4.1.0" tslib "^2.4.0" -"@docusaurus/utils@2.1.0": - version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" - integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== +"@docusaurus/utils@2.4.3": + version "2.4.3" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz#52b000d989380a2125831b84e3a7327bef471e89" + integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== dependencies: - "@docusaurus/logger" "2.1.0" + "@docusaurus/logger" "2.4.3" "@svgr/webpack" "^6.2.1" + escape-string-regexp "^4.0.0" file-loader "^6.2.0" fs-extra "^10.1.0" github-slugger "^1.4.0" @@ -2023,33 +2052,33 @@ resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@2.2.61": - version "2.2.61" - resolved "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-2.2.61.tgz#b1741090ae0b03c952123f4fa71523e1d604347f" - integrity sha512-2VzwFaHwMHN4raQ5RsKfXz02KqQ2hbPHCf0GPfXify79ZAUYp/BIsOyo1mpVlVkA1moaQ0zadHAlTdcBVNCVtQ== +"@lit-protocol/auth-helpers@2.2.54": + version "2.2.54" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-2.2.54.tgz#107580f6c9cacad3ee2e2c1d57e436f5b36e5ea3" + integrity sha512-moaPHLNUsyZbKD63ylb9dmBAIEvJP7VY7pufZJkavx+quakjA6pgy8+6PcPqi+JuAo6vOqwIYNt4G66rrKYfEA== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^2.2.61": - version "2.2.61" - resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.2.61.tgz#0f584c27ec1fb5966d17d278ed398a33afbe0c95" - integrity sha512-M4jvbawMX0QgPriTT8H4iymkh7uJXjqPZvm+pr/5bIsDbarng5eRpHd1gB6DPX9n5RV9X+rSk1FFSoahUeWieg== +"@lit-protocol/constants@^2.2.54": + version "2.2.54" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-2.2.54.tgz#28b2fbdc92d2be32ce24879411595a192c586605" + integrity sha512-Z7gE7OO+e0Lu88HVh+z74E6VAq3+K5g7ZYcOeucVmgkTPcJUd/tB40LvCS9ldJq69goI0zqjAGxPiJi7WUr9aQ== dependencies: - "@lit-protocol/auth-helpers" "2.2.61" - "@lit-protocol/types" "2.2.61" + "@lit-protocol/auth-helpers" "2.2.54" + "@lit-protocol/types" "2.2.54" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@2.2.61": - version "2.2.61" - resolved "https://registry.npmjs.org/@lit-protocol/types/-/types-2.2.61.tgz#a1db4348cc17b1c7e0368e52a588f16842cc3d4a" - integrity sha512-5BFOFZlrlWPNvkROcw3690uypFdeIr/e7Kqr3JS/22RH1dsAz9Oq0kJGXe+qEF4hp699BvyLQzsqd15CzY5+oA== +"@lit-protocol/types@2.2.54": + version "2.2.54" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-2.2.54.tgz#d340694b89bc4ec08ab9d1427a38cd51e498f07b" + integrity sha512-bhIG4733BT32QXGZO7K7r+7ZDOxzLHjcYwP0tMqjLP86BJ2mQkTzW5q0nFgUBbPay/77lp/Tp8yXPfzgYMaYPQ== dependencies: - "@lit-protocol/auth-helpers" "2.2.61" + "@lit-protocol/auth-helpers" "2.2.54" ethers "^5.7.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" @@ -2555,7 +2584,7 @@ "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== "@types/parse-json@^4.0.0": @@ -2589,27 +2618,27 @@ integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== "@types/react-router-config@*", "@types/react-router-config@^5.0.6": - version "5.0.6" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.6.tgz" - integrity sha512-db1mx37a1EJDf1XeX8jJN7R3PZABmJQXR8r28yUjVMFSjkmnQo6X6pOEEmNl+Tp2gYQOGPdYbFIipBtdElZ3Yg== + version "5.0.7" + resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.7.tgz#36207a3fe08b271abee62b26993ee932d13cbb02" + integrity sha512-pFFVXUIydHlcJP6wJm7sDii5mD/bCmmAY0wQzq+M+uX7bqS95AQqHZWP1iNMKrWVQSuHIzj5qi9BvrtLX2/T4w== dependencies: "@types/history" "^4.7.11" "@types/react" "*" - "@types/react-router" "*" + "@types/react-router" "^5.1.0" "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + resolved "https://registry.npmjs.org/@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@*": - version "5.1.19" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.19.tgz" - integrity sha512-Fv/5kb2STAEMT3wHzdKQK2z8xKq38EDIGVrutYLmQVVLe+4orDFquU52hQrULnEHinMKv9FSA6lf9+uNT1ITtA== +"@types/react-router@*", "@types/react-router@^5.1.0": + version "5.1.20" + resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz#88eccaa122a82405ef3efbcaaa5dcdd9f021387c" + integrity sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q== dependencies: "@types/history" "^4.7.11" "@types/react" "*" @@ -2630,7 +2659,7 @@ "@types/sax@^1.2.1": version "1.2.4" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz" + resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz#8221affa7f4f3cb21abd22f244cfabfa63e6a69e" integrity sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw== dependencies: "@types/node" "*" @@ -2898,31 +2927,31 @@ ajv@^8.0.0, ajv@^8.8.0: uri-js "^4.2.2" algoliasearch-helper@^3.10.0: - version "3.11.1" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.11.1.tgz" - integrity sha512-mvsPN3eK4E0bZG0/WlWJjeqe/bUD2KOEVOl0GyL/TGXn6wcpZU8NOuztGHCUKXkyg5gq6YzUakVTmnmSSO5Yiw== + version "3.14.2" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.14.2.tgz#c34cfe6cefcfecd65c60bcb8bf9b68134472d28c" + integrity sha512-FjDSrjvQvJT/SKMW74nPgFpsoPUwZCzGbCqbp8HhBFfSk/OvNFxzCaCmuO0p7AWeLy1gD+muFwQEkBwcl5H4pg== dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.0.0, algoliasearch@^4.13.1: - version "4.14.2" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz" - integrity sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg== - dependencies: - "@algolia/cache-browser-local-storage" "4.14.2" - "@algolia/cache-common" "4.14.2" - "@algolia/cache-in-memory" "4.14.2" - "@algolia/client-account" "4.14.2" - "@algolia/client-analytics" "4.14.2" - "@algolia/client-common" "4.14.2" - "@algolia/client-personalization" "4.14.2" - "@algolia/client-search" "4.14.2" - "@algolia/logger-common" "4.14.2" - "@algolia/logger-console" "4.14.2" - "@algolia/requester-browser-xhr" "4.14.2" - "@algolia/requester-common" "4.14.2" - "@algolia/requester-node-http" "4.14.2" - "@algolia/transporter" "4.14.2" +algoliasearch@^4.13.1, algoliasearch@^4.19.1: + version "4.20.0" + resolved "https://registry.npmjs.org/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.0, ansi-align@^3.0.1: version "3.0.1" @@ -2980,7 +3009,7 @@ apg-js@^4.1.1: arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: @@ -3023,7 +3052,7 @@ array.prototype.reduce@^1.0.4: asap@~2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== at-least-node@^1.0.0: @@ -3118,7 +3147,7 @@ balanced-match@^1.0.0: base16@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== batch@0.6.1: @@ -3360,7 +3389,7 @@ character-reference-invalid@^1.0.0: cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -3372,7 +3401,7 @@ cheerio-select@^2.1.0: cheerio@^1.0.0-rc.12: version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" @@ -3628,9 +3657,9 @@ cookie@0.5.0: integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-text-to-clipboard@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" - integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== + version "3.2.0" + resolved "https://registry.npmjs.org/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" @@ -3689,11 +3718,11 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: yaml "^1.10.0" cross-fetch@^3.1.5: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== + version "3.1.8" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" + integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== dependencies: - node-fetch "2.6.7" + node-fetch "^2.6.12" cross-spawn@^7.0.3: version "7.0.3" @@ -3768,7 +3797,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== dependencies: boolbase "^1.0.0" @@ -3881,11 +3910,6 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== -data-uri-to-buffer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" - integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== - debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" @@ -4044,7 +4068,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== dependencies: domelementtype "^2.3.0" @@ -4068,9 +4092,9 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: +domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" @@ -4093,13 +4117,13 @@ domutils@^2.5.2, domutils@^2.8.0: domhandler "^4.2.0" domutils@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz" - integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + version "3.1.0" + resolved "https://registry.npmjs.org/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.1" + domhandler "^5.0.3" dot-case@^3.0.4: version "3.0.4" @@ -4116,11 +4140,6 @@ dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -dotenv@^16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== - duplexer3@^0.1.4: version "0.1.5" resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" @@ -4204,7 +4223,12 @@ entities@^2.0.0: resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +entities@^4.3.0: version "4.4.0" resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== @@ -4325,10 +4349,10 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eta@^1.12.3: - version "1.12.3" - resolved "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz" - integrity sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg== +eta@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz#eb8b5f8c4e8b6306561a455e62cd7492fe3a9b8a" + integrity sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g== etag@~1.8.1: version "1.8.1" @@ -4497,20 +4521,20 @@ faye-websocket@^0.11.3: fbemitter@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== dependencies: fbjs "^3.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== fbjs@^3.0.0, fbjs@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz" - integrity sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ== + version "3.0.5" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" + integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== dependencies: cross-fetch "^3.1.5" fbjs-css-vars "^1.0.0" @@ -4518,23 +4542,15 @@ fbjs@^3.0.0, fbjs@^3.0.1: object-assign "^4.1.0" promise "^7.1.1" setimmediate "^1.0.5" - ua-parser-js "^0.7.30" + ua-parser-js "^1.0.35" feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" -fetch-blob@^3.1.2, fetch-blob@^3.1.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" - integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== - dependencies: - node-domexception "^1.0.0" - web-streams-polyfill "^3.0.3" - file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" @@ -4601,9 +4617,9 @@ find-up@^5.0.0: path-exists "^4.0.0" flux@^4.0.1: - version "4.0.3" - resolved "https://registry.npmjs.org/flux/-/flux-4.0.3.tgz" - integrity sha512-yKAbrp7JhZhj6uiT1FTuVMlIAT1J4jqEyBpFApi1kxpGZCvacMVc/t1pMQyotqHhAgvoE3bNvAykhCo2CLjnYw== + version "4.0.4" + resolved "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" + integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== dependencies: fbemitter "^3.0.0" fbjs "^3.0.1" @@ -4632,13 +4648,6 @@ fork-ts-checker-webpack-plugin@^6.5.0: semver "^7.3.2" tapable "^1.0.0" -formdata-polyfill@^4.0.10: - version "4.0.10" - resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" - integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== - dependencies: - fetch-blob "^3.1.2" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" @@ -5100,14 +5109,14 @@ htmlparser2@^6.1.0: entities "^2.0.0" htmlparser2@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz" - integrity sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA== + version "8.0.2" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: domelementtype "^2.3.0" - domhandler "^5.0.2" + domhandler "^5.0.3" domutils "^3.0.1" - entities "^4.3.0" + entities "^4.4.0" http-cache-semantics@^4.0.0: version "4.1.0" @@ -5227,10 +5236,10 @@ indent-string@^4.0.0: resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infima@0.2.0-alpha.42: - version "0.2.0-alpha.42" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" - integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== +infima@0.2.0-alpha.43: + version "0.2.0-alpha.43" + resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz#f7aa1d7b30b6c08afef441c726bac6150228cbe0" + integrity sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ== inflight@^1.0.4: version "1.0.6" @@ -5767,7 +5776,7 @@ locate-path@^6.0.0: lodash.curry@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== lodash.debounce@^4.0.8: @@ -5777,7 +5786,7 @@ lodash.debounce@^4.0.8: lodash.flow@^3.3.0: version "3.5.0" - resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== lodash.memoize@^4.1.2: @@ -6053,6 +6062,11 @@ nanoid@^3.3.4: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" @@ -6071,11 +6085,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-domexception@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" - integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== - node-emoji@^1.10.0: version "1.11.0" resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" @@ -6083,22 +6092,13 @@ node-emoji@^1.10.0: dependencies: lodash "^4.17.21" -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== +node-fetch@^2.6.12: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" -node-fetch@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e" - integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" @@ -6138,7 +6138,7 @@ npm-run-path@^4.0.1: nprogress@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^1.0.2: @@ -6353,12 +6353,12 @@ parse-json@^5.0.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + resolved "https://registry.npmjs.org/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.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== dependencies: domhandler "^5.0.2" @@ -6370,9 +6370,9 @@ parse5@^6.0.0: integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^7.0.0: - version "7.1.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.1.tgz" - integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== + version "7.1.2" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" @@ -6746,7 +6746,16 @@ postcss-zindex@^5.1.0: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== -postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: +postcss@^8.3.11: + version "8.4.30" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7" + integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.7: version "8.4.18" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz" integrity sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA== @@ -6760,6 +6769,11 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== +prettier@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643" + integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg== + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" @@ -6780,7 +6794,7 @@ prism-react-renderer@^1.2.1, prism-react-renderer@^1.3.5: prismjs@^1.28.0: version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== process-nextick-args@~2.0.0: @@ -6790,7 +6804,7 @@ process-nextick-args@~2.0.0: promise@^7.1.1: version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" @@ -6854,7 +6868,7 @@ pupa@^2.1.1: pure-color@^1.2.0: version "1.3.0" - resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== q@^1.1.2: @@ -6920,7 +6934,7 @@ rc@1.2.8, rc@^1.2.8: react-base16-styling@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== dependencies: base16 "^1.0.0" @@ -6995,7 +7009,7 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: react-json-view@^1.21.3: version "1.21.3" - resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== dependencies: flux "^4.0.1" @@ -7005,7 +7019,7 @@ react-json-view@^1.21.3: react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-loadable-ssr-addon-v5-slorber@^1.0.1: @@ -7051,11 +7065,11 @@ react-router@5.3.4, react-router@^5.3.3: tiny-warning "^1.0.0" react-textarea-autosize@^8.3.2: - version "8.3.4" - resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz" - integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ== + version "8.5.3" + resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" + integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== dependencies: - "@babel/runtime" "^7.10.2" + "@babel/runtime" "^7.20.13" use-composed-ref "^1.3.0" use-latest "^1.2.1" @@ -7098,7 +7112,7 @@ readdirp@~3.6.0: reading-time@^1.5.0: version "1.5.0" - resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== rechoir@^0.6.2: @@ -7132,6 +7146,11 @@ regenerator-runtime@^0.13.4: resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz" integrity sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + regenerator-transform@^0.15.0: version "0.15.0" resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" @@ -7329,7 +7348,7 @@ rtl-detect@^1.0.4: rtlcss@^3.5.0: version "3.5.0" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" + resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== dependencies: find-up "^5.0.0" @@ -7539,7 +7558,7 @@ serve-static@1.15.0: setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: @@ -7620,7 +7639,7 @@ sisteransi@^1.0.5: sitemap@^7.1.1: version "7.1.1" - resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" @@ -7837,7 +7856,7 @@ strip-final-newline@^2.0.0: strip-json-comments@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== strip-json-comments@~2.0.1: @@ -8003,7 +8022,7 @@ totalist@^1.0.0: tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-trailing-lines@^1.0.0: @@ -8056,10 +8075,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -ua-parser-js@^0.7.30: - version "0.7.32" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz" - integrity sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw== +ua-parser-js@^1.0.35: + version "1.0.36" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.36.tgz#a9ab6b9bd3a8efb90bb0816674b412717b7c428c" + integrity sha512-znuyCIXzl8ciS3+y3fHJI/2OhQIXbXw9MWC/o3qwyR+RGppjZHrM27CGFSKCJXi2Kctiz537iOu2KnXs1lMQhw== unbox-primitive@^1.0.2: version "1.0.2" @@ -8259,21 +8278,26 @@ url-parse-lax@^3.0.0: use-composed-ref@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" + resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== use-isomorphic-layout-effect@^1.1.1: version "1.1.2" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" + resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== use-latest@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" + resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== dependencies: use-isomorphic-layout-effect "^1.1.1" +use-sync-external-store@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" @@ -8378,14 +8402,9 @@ web-namespaces@^1.0.0: resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== -web-streams-polyfill@^3.0.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" - integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== - webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webpack-bundle-analyzer@^4.5.0: @@ -8518,7 +8537,7 @@ websocket-extensions@>=0.1.1: whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -8623,7 +8642,7 @@ xdg-basedir@^4.0.0: xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" From e367cf22c05af642ad7866241896615f11993119 Mon Sep 17 00:00:00 2001 From: Anthony Albertorio Date: Fri, 1 Dec 2023 13:37:09 -0500 Subject: [PATCH 089/627] Updated re-directs to V3 (#176) * updated re-directs to V3 * Updated netlify.toml to point to V3 * fix: redirect fix updated netlify.toml line 652 from v2 to v3 --- netlify.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netlify.toml b/netlify.toml index c1af4f31..898edfbb 100644 --- a/netlify.toml +++ b/netlify.toml @@ -649,14 +649,14 @@ force = false [[redirects]] from = "/*" - to = "/v2/:splat" + to = "/v3/:splat" status = 302 force = false # home redirect 7/11/23, pointing to V2... update to V3 when ready [[redirects]] from = "/" - to = "/v2/" + to = "/v3/" status = 302 force = false From 2ab7f272a425f4a4c644a0a95d1b86ac0ff0a57e Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 10:37:33 -0800 Subject: [PATCH 090/627] chore: cleanup --- src/components/HomepageComponents.jsx | 7 - src/css/customOld.css | 213 -------------------------- 2 files changed, 220 deletions(-) delete mode 100644 src/css/customOld.css diff --git a/src/components/HomepageComponents.jsx b/src/components/HomepageComponents.jsx index d595223c..5f97738a 100644 --- a/src/components/HomepageComponents.jsx +++ b/src/components/HomepageComponents.jsx @@ -29,13 +29,6 @@ export function HomepageSection({ export function HomepageCard({ id, icon, title, description, to }) { return ( - // - // {icon &&
{icon}
} - //
- //
{title}
- // {description} - //
- //
diff --git a/src/css/customOld.css b/src/css/customOld.css deleted file mode 100644 index 78ecd45a..00000000 --- a/src/css/customOld.css +++ /dev/null @@ -1,213 +0,0 @@ -/** - * 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. - */ - -/* You can override the default Infima variables here. */ - -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap'); - -:root { - --ifm-font-family-base: 'Inter'; - - /* --ifm-color-primary: #9e77f3; - --primary-hover-overlay: rgba(158, 119, 243, 0.1); - --ifm-color-primary-dark: #8159d9; - --ifm-color-primary-darker: #5e36b7; - --ifm-color-primary-darkest: #2c0c72; - --ifm-color-primary-light: #8159d9; - --ifm-color-primary-lighter: #9e77f3; - --ifm-color-primary-lightest: #bfa1ff; - --ifm-navbar-item-padding-horizontal: 24px; */ - /* --ifm-heading-font-weight: 400; */ - /* --ifm-menu-color: var(--ifm-color-emphasis-700); */ - /* --ifm-menu-color-background-active: var(--primary-hover-overlay); - --ifm-breadcrumb-item-background-active: var(--primary-hover-overlay); - --ifm-footer-title-color: var(--ifm-color-emphasis-700); - --top-category-label-color: var(--ifm-color-emphasis-1000); - --footer-border-color: transparent; */ - /* --homepage-card-hover: rgba(191, 161, 255, 0.06); */ -} - -html[data-theme="dark"] { - /* --ifm-navbar-background-color: #111827; - --ifm-background-color: #111827; - --ifm-color-secondary-contrast-background: #1f2937; - --ifm-color-secondary-contrast-foreground: #cbd5e1; - --ifm-footer-background-color: var(--ifm-footer-background-color); */ - /* --top-category-label-color: var(--ifm-color-emphasis-400); */ - /* --ifm-menu-color: var(--ifm-color-emphasis-500); - --footer-border-color: var(--ifm-color-emphasis-200); - --homepage-card-hover: var(--primary-hover-overlay); */ -} - -/* .navbar { - border-bottom: 1px solid var(--ifm-color-emphasis-200); -} - -.header-github-link:hover { - opacity: 0.6; -} - -.header-github-link::before { - content: ''; - width: 24px; - height: 24px; - display: flex; - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -[data-theme='dark'] .header-github-link::before { - background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E") - no-repeat; -} - -.category-not-collapsible > .menu__list { - padding-left: 0rem; -} - -.category-not-collapsible > .menu__list-item-collapsible:hover { - background: transparent; -} - -.menu__list > .theme-doc-sidebar-item-category-level-1 { - margin-bottom: 1rem; - padding-bottom: 1rem; - border-bottom: 1px solid var(--ifm-color-emphasis-200); -} - -.menu__list > .theme-doc-sidebar-item-category-level-1:last-of-type { - border: none; -} - -.theme-doc-sidebar-item-category-level-1 > .menu__list-item-collapsible .menu__link { - color: var(--top-category-label-color); - text-transform: uppercase; - font-size: 0.875rem; - line-height: 1.25rem; -} - -.footer { - border-top: 1px solid var(--footer-border-color); -} - -.footer__title { - font-weight: 500; -} - -.docusaurus-highlight-code-line { - background-color: rgba(0, 0, 0, 0.1); - display: block; - margin: 0 calc(-1 * var(--ifm-pre-padding)); - padding: 0 var(--ifm-pre-padding); -} - -html[data-theme="dark"] .docusaurus-highlight-code-line { - background-color: rgba(0, 0, 0, 0.3); -} - -.markdown h1:first-child { - --ifm-h1-font-size: 2rem; -} - -.markdown > h2 { - --ifm-h2-font-size: 1.5rem; - font-weight: 500; -} - -.markdown > h3 { - --ifm-h3-font-size: 1.25rem; -} - -.section-content { - display: grid; - gap: 12px; - grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); -} - -.card-content { - display: flex; - flex-direction: column; - gap: 4px; - user-select: none; - transition: box-shadow .15s ease-out,transform .15s ease-out,opacity .15s ease-out; -} - -.card-content .title { - font-size: 16px; - font-weight: 500; - letter-spacing: -.5px; - color: var(--ifm-font-color-base); -} - -.card-content .description { - font-size: 14px; - letter-spacing: -.5px; - color: var(--ifm-font-color-base); -} - -.card-content { - display: -webkit-flex; - display: -moz-flex; - display: -ms-flex; - display: -o-flex; - display: flex; - -webkit-flex-wrap: wrap; - -moz-flex-wrap: wrap; - -ms-flex-wrap: wrap; - -o-flex-wrap: wrap; - flex-wrap: wrap; - justify-content: flex-start; - width: 100%; -} - -.homepage-card { - --ifm-link-hover-color: inherit; - align-items: flex-start; - border: 1px solid var(--ifm-color-emphasis-300); - border-radius: 0.375rem; - color: var(--ifm-font-color-base); - cursor: pointer; - display: flex; - flex-direction: column; - gap: 0.625rem; - padding: 0.75rem 1rem; - transition: border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default); -} - -.homepage-card:hover { - text-decoration: none; - background-color: var(--homepage-card-hover); - border-color: var(--ifm-color-primary-lightest); -} - -.homepage-card:hover .card-content .title { - color: var(--ifm-link-hover-color); -} - -.homepage-section { - margin-top: 3rem; - margin-bottom: 3rem; - margin-left: 2px; -} - -@media only screen and (min-width: 996px) { - :root { - --ifm-spacing-horizontal: 1.5rem; - } - - .theme-doc-sidebar-menu { - padding-right: 0.5rem; - } - - .header-github-link { - padding-left: 8px; - } -} - -table { - width:100%; - display: table; -} */ \ No newline at end of file From 32924169f76b60bbb77f43ccf346bc058d36f025 Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 10:38:27 -0800 Subject: [PATCH 091/627] chore: cleanup --- docs/intro/overview.mdx | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 75fe10d5..3cbb5a5d 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -22,42 +22,6 @@ To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. ::: -:::tip - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::info - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::caution - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - -:::danger - -**FOR DEVELOPERS: SDK API DOCUMENTATION** - -To start building on Lit, check out the Lit SDK [intro](../sdk/intro). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -::: - From ee74749d1096ae8fa83c897612cf56a5e3c4cb32 Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 11:13:25 -0800 Subject: [PATCH 092/627] feat: styling --- docs/intro/overview.mdx | 1 + src/css/custom.css | 9 +++++++-- src/theme/Admonition/styles.module.css | 5 +++-- yarn.lock | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 8191e16a..ff3f2c39 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -15,6 +15,7 @@ Lit Protocol lets developers and their users create and manage decentralized key Get started today! :::note +**STATE OF THE NETWORK** Lit is still in developer preview with the mainnet launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. diff --git a/src/css/custom.css b/src/css/custom.css index 9525e8a1..af4862a7 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -59,6 +59,9 @@ --ifm-scrollbar-thumb-hover-background-color: var(--ifm-color-gray-300); --ifm-code-font-size: 0.875rem; --ifm-hover-overlay: var(--ifm-color-gray-100); + --ifm-menu-color-background-active: rgba(221, 22, 111, 0.1); + --ifm-menu-color-background-hover: rgba(221, 22, 111, 0.05); + --ifm-dropdown-hover-background-color: rgba(221, 22, 111, 0.05); /** * ---------- Type system ---------- */ @@ -164,6 +167,8 @@ html[data-theme='dark'] { --ifm-scrollbar-track-background-color: var(--ifm-color-gray-900); --ifm-scrollbar-thumb-background-color: var(--ifm-color-gray-800); --ifm-scrollbar-thumb-hover-background-color: var(--ifm-color-gray-700); + --ifm-menu-color-background-active: rgba(255, 128, 86, 0.1); + --ifm-menu-color-background-hover: rgba(255, 128, 86, 0.01); /** * ---------- Navbar ---------- */ @@ -322,11 +327,10 @@ h1, h2, h3, h4, h5, h6 { } .dropdown__link:not(.dropdown__link--active):hover { - color: var(--ifm-heading-color); + color: var(--ifm-link-color); } .dropdown__link--active { - /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ font-weight: 600; } @@ -735,6 +739,7 @@ html[data-theme='dark'] .alert--danger { } .homepage-card__title { + font-weight: 600; color: var(--ifm-heading-color); margin-bottom: 0.5rem; } diff --git a/src/theme/Admonition/styles.module.css b/src/theme/Admonition/styles.module.css index e80e4076..1e09ea83 100644 --- a/src/theme/Admonition/styles.module.css +++ b/src/theme/Admonition/styles.module.css @@ -4,6 +4,7 @@ --ifm-alert-border-width: 1px; --ifm-alert-padding-vertical: 1.5rem; --ifm-alert-shadow: none; + --ifm-paragraph-margin-bottom: 1rem; margin-top: 1.5rem; margin-bottom: 1.5rem; display: flex; @@ -31,8 +32,8 @@ } .admonitionIcon svg { - height: 1.5rem; - width: 1.5rem; + height: 1.25rem; + width: 1.25rem; fill: var(--ifm-alert-icon-fill); } diff --git a/yarn.lock b/yarn.lock index a470a249..b7c9e8c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2253,7 +2253,7 @@ "@lit-protocol/constants@^3.0.24": version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" From 365a4d178ada9a4e87773e0822acf07080b1794b Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 11:22:51 -0800 Subject: [PATCH 093/627] feat: styling, assets --- docusaurus.config.js | 150 +++++++++++++++++++------------------- src/css/custom.css | 10 +-- static/brand/favicon.ico | Bin 15406 -> 15406 bytes static/brand/lit-fire.png | Bin 3467 -> 0 bytes static/brand/lit-logo.svg | 4 + 5 files changed, 81 insertions(+), 83 deletions(-) delete mode 100644 static/brand/lit-fire.png create mode 100644 static/brand/lit-logo.svg diff --git a/docusaurus.config.js b/docusaurus.config.js index 5f1d11a8..6bd2072a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -1,53 +1,53 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion -const lightCodeTheme = require("prism-react-renderer/themes/github"); -const darkCodeTheme = require("prism-react-renderer/themes/dracula"); +const lightCodeTheme = require('prism-react-renderer/themes/github'); +const darkCodeTheme = require('prism-react-renderer/themes/dracula'); /** @type {import('@docusaurus/types').Config} */ const config = { - title: "Lit Protocol", + title: 'Lit Protocol', tagline: - "Blockchain based access control and programmatic signing for the web", - url: "https://developer.litprotocol.com", - baseUrl: "/", - onBrokenLinks: "warn", - onBrokenMarkdownLinks: "warn", - favicon: "img/favicon.png", - organizationName: "lit-protocol", // Usually your GitHub org/user name. - projectName: "@lit-protocol/js-sdk", // Usually your repo name. + 'Blockchain based access control and programmatic signing for the web', + url: 'https://developer.litprotocol.com', + baseUrl: '/', + onBrokenLinks: 'warn', + onBrokenMarkdownLinks: 'warn', + favicon: 'brand/favicon.ico', + organizationName: 'lit-protocol', // Usually your GitHub org/user name. + projectName: '@lit-protocol/js-sdk', // Usually your repo name. presets: [ [ - "@docusaurus/preset-classic", + '@docusaurus/preset-classic', /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { breadcrumbs: false, // lastVersion: "2.0", - sidebarPath: require.resolve("./sidebars.js"), + sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. - editUrl: "https://github.com/LIT-Protocol/docs/tree/main", - routeBasePath: "/", + editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', + routeBasePath: '/', versions: { - "2.0": { + '2.0': { badge: true, - label: "v2.x.x", - path: "v2", - banner: "none", + label: 'v2.x.x', + path: 'v2', + banner: 'none', }, current: { badge: true, - label: "v3.x.x", - path: "v3", - banner: "none", + label: 'v3.x.x', + path: 'v3', + banner: 'none', }, }, }, theme: { - customCss: require.resolve("./src/css/custom.css"), + customCss: require.resolve('./src/css/custom.css'), }, gtag: { - trackingID: "G-XK6E9ZB77S", + trackingID: 'G-XK6E9ZB77S', anonymizeIP: false, }, }), @@ -56,21 +56,21 @@ const config = { plugins: [ [ - "content-docs", + 'content-docs', { - id: "learningLab", - path: "learningLab", - routeBasePath: "learningLab", - sidebarPath: require.resolve("./sidebars-learning-lab.js"), + id: 'learningLab', + path: 'learningLab', + routeBasePath: 'learningLab', + sidebarPath: require.resolve('./sidebars-learning-lab.js'), }, ], [ - "content-docs", + 'content-docs', { - id: "Ecosystem", - path: "Ecosystem", - routeBasePath: "Ecosystem", - sidebarPath: require.resolve("./sidebars-ecosystem.js"), + id: 'Ecosystem', + path: 'Ecosystem', + routeBasePath: 'Ecosystem', + sidebarPath: require.resolve('./sidebars-ecosystem.js'), }, ], ], @@ -88,83 +88,83 @@ const config = { // isCloseable: true, // }, navbar: { - title: "Lit Protocol", + title: 'Lit Protocol', logo: { - alt: "Lit Protocol", - src: "img/logo.svg", - href: "https://developer.litprotocol.com/v3/", + alt: 'Lit Protocol', + src: 'brand/lit-logo.svg', + href: 'https://developer.litprotocol.com/v3/', }, items: [ { - type: "doc", - position: "left", - docId: "intro/overview", - label: "Docs", + type: 'doc', + position: 'left', + docId: 'intro/overview', + label: 'Docs', }, { - to: "learningLab/intro", - position: "left", - label: "Learning Lab", + to: 'learningLab/intro', + position: 'left', + label: 'Learning Lab', }, { - to: "ecosystem/lit-grants", - position: "left", - label: "Ecosystem", + to: 'ecosystem/lit-grants', + position: 'left', + label: 'Ecosystem', }, { - type: "docsVersionDropdown", - position: "right", + type: 'docsVersionDropdown', + position: 'right', }, { - href: "https://github.com/LIT-Protocol/js-sdk", - position: "right", - className: "header-github-link", - "aria-label": "Lit JS SDK GitHub repository", + href: 'https://github.com/LIT-Protocol/js-sdk', + position: 'right', + className: 'header-github-link', + 'aria-label': 'Lit JS SDK GitHub repository', }, ], }, footer: { links: [ { - title: "Community", + title: 'Community', items: [ // { // label: "Stack Overflow", // href: "https://stackoverflow.com/questions/tagged/docusaurus", // }, { - label: "Discord", - href: "https://litgateway.com/discord", + label: 'Discord', + href: 'https://litgateway.com/discord', }, { - label: "Twitter", - href: "https://twitter.com/litprotocol", + label: 'Twitter', + href: 'https://twitter.com/litprotocol', }, ], }, { - title: "More", + title: 'More', items: [ { - label: "Blog", - to: "https://spark.litprotocol.com/", + label: 'Blog', + to: 'https://spark.litprotocol.com/', }, { - label: "GitHub", - href: "https://github.com/LIT-Protocol/js-sdk", + label: 'GitHub', + href: 'https://github.com/LIT-Protocol/js-sdk', }, { - label: "API", - href: "https://js-sdk.litprotocol.com/index.html", + label: 'API', + href: 'https://js-sdk.litprotocol.com/index.html', }, ], }, { - title: "Contact", + title: 'Contact', items: [ { - label: "Support", - to: "/support", + label: 'Support', + to: '/support', }, ], }, @@ -175,18 +175,18 @@ const config = { darkTheme: darkCodeTheme, }, algolia: { - appId: "LBGPAMG3FY", - apiKey: "041874d52ec424d091674d198d792313", - indexName: "developer-litprotocol", + appId: 'LBGPAMG3FY', + apiKey: '041874d52ec424d091674d198d792313', + indexName: 'developer-litprotocol', }, }), scripts: [ { - src: "https://plausible.io/js/script.outbound-links.js", + src: 'https://plausible.io/js/script.outbound-links.js', defer: true, - "data-domain": "developer.litprotocol.com", + 'data-domain': 'developer.litprotocol.com', }, - { src: "/onLoad.js" }, + { src: '/onLoad.js' }, ], }; diff --git a/src/css/custom.css b/src/css/custom.css index af4862a7..46b0f15a 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -370,6 +370,7 @@ html[data-theme='dark'] .header-github-link::before { .footer__title { font-size: 1rem; + font-weight: 600; } .footer__item { @@ -680,6 +681,7 @@ html[data-theme='dark'] .alert--danger { .pagination-nav__label { font-size: var(--ifm-h6-font-size); + font-weight: 600; } .pagination-nav__link--prev .pagination-nav__label::before { @@ -690,14 +692,6 @@ html[data-theme='dark'] .alert--danger { content: ' →'; } -/* .pagination-nav__link { - color: var(--lit-pink); -} - -.pagination-nav__link:hover { - color: var(--lit-pink); -} */ - /* * ---------- Custom cards ---------- */ diff --git a/static/brand/favicon.ico b/static/brand/favicon.ico index 31dd805422497ffc059eafd3e0738c076a7b844f..5e79fd6daa7351a41f311f927f07b920725114f9 100644 GIT binary patch literal 15406 zcmeHOX^0#}6s~n zQ1U|r4@4mlkzf!}1pT8TtVF^}M2QE6Akm;=Hk*WK)+EpGRZsO+_jK3PbcUTB(gSa+ z>(#sJ)%EIiuMh(wCx(Uu%CczWg}6ZoQ7-%S;R}R#3%Dgqn(bE$F+N|2VbFjD96lb! z9R1P2phpkpUD}cN=p&RL0=5h~v>4^b3VQx zXmb<}G*5^+U4{A)g=?1opggGIPT=`J@b8TBL&kFfokORX4lpCnqX|(ZjD-J-^5;3M9~E}mp)ZEE=~Mm1uayxsrccG)8U7Ip2nCx0^JQ8{XBkp{}m5P_P-oE$c*d% zv4ThUu&pWie}dc(at_@Y;cozUd(NZV+UWOf!~D_tc`j-Gn}UofjMw`L$0hVu7%#!0 z4XAHXb)8@5>Bnc@XUc#ofcK~DmwBMA2X3Ydv7T084|xb{g7**wV|X4_`y=-HWvD+I zfw5Tm6}l9A#a)`LMpOPMBm?? z-rtroCqWmSH4z>@$9X;kfV1J1w&U-|6Tz58WFFV$6&(6K(ysW%#Z80=F8*hne;!?* zAag6?kWy4)94*H0@hF{MPop0)Z_#C_=UDwU+Nj#&%2fL6v^-AMtm*G@|8sS^wU_-r z)AeJX?E`$*gzr)A!93oHQmy%*%%_&iWqdKa6u> zRWP?_xBovEDzqrj%@4Du{|N4$n{XyQAi<@3r5y?SG1orfJ8}qIdbvyE&vVF+e-iYc z>FdAe{dZ|)Xr4AJm=C|U0OIdBT7|=0+StN_y-miyRT^$-gASbkb;X~RnFlft_#WUq z2~xD;en6HdffKS{=7G!u{o#S7G*67sMWqTYD7v&T4oV(fp+GFBbNr6cK&eKT6{~b* zEI<}=75thi`FAZ9pnHDFrOVstWnCdbH`3Y2@!x?Q+3Sc~`3|;^?@tM^A9xA4XZSG` zbc5#$z+Z8IScmgEjgU@N@pFwMkoh9wq|ZS2ORQeVP95@0(ig zZ%MdZjn+yzY`;g}CeZ;u4V@bTo$3L8!=2+P*!3Iu`Oash8$A1^h&o-|?6VbLRQ_q% zzk-UeoAb7&d~B>;(*Bh+54`-YW;$w@Z9TpHGDpn0@Kn0le)xSc_<6p@_R$8P+I~ML z`lF4GI2yJeWA{Q_TPL`5_DkQ7!GFeg113A9|6ST`qOoa9Wk2RUWb-}0qrF16r)mGc zIxgXv*A~CqJQN2(o~D!ihxa>&-c8V_&*hV#I~=DM_&pZ<6Z{=P=pByQ_o8Jd_Sfiq z+?RKl^kZ%xzmfN#R)^7@5s{0&1i=9V zSDNvs9_xjl5kGWw{W|n#zS@kZ`p@(Z&9o2QnEiMS4N@W4NJMjNO$k}UvuZ(+C`u&G} z{|EGj-@zg$2z{fr_T&Dt8F$A^5`pt>ro2yj`@{S2jEQ zdj8yI{^S29#t-BKLBg~qx3 dQX(zvf^Q$TRh`jg9>_e9c_8yZ=7E0l!2faR>@@%Y literal 15406 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 diff --git a/static/brand/lit-logo.svg b/static/brand/lit-logo.svg new file mode 100644 index 00000000..4ff1e856 --- /dev/null +++ b/static/brand/lit-logo.svg @@ -0,0 +1,4 @@ + + + + From b68093f1c6cf217eb3af512a30872823c5dd78e2 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 1 Dec 2023 11:35:59 -0800 Subject: [PATCH 094/627] fixes --- docs/concepts/pkps-as-wallet.md | 2 +- docs/intro/overview.mdx | 8 ++++---- docs/intro/what-is-lit-protocol.md | 6 ++++-- docs/version2/prior-version.md | 10 ---------- sidebars.js | 7 ------- src/components/CardSectionsV3/CoreConcepts.jsx | 10 +++++----- src/components/CardSectionsV3/LearnCode.jsx | 7 ++++++- src/components/CardSectionsV3/QuickStart.jsx | 5 +++++ 8 files changed, 25 insertions(+), 30 deletions(-) delete mode 100644 docs/version2/prior-version.md diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 54616ea9..b7a83c3c 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -24,7 +24,7 @@ This two-thirds threshold design provides a level of censorship resistance and f With Lit, the *entire key lives in the network* and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. This authentication logic determines what individuals or credentials have the ability to control these keys and use them. This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/authentication/session-sigs/auth-methods/overview) are supported by Lit at the time of wallet creation: -- [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/authentication/session-sigs/auth-methods/web-authn) (AKA Apple Passkey, [demo](http://getlit.dev/demo)) +- [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/authentication/session-sigs/auth-methods/web-authn) (AKA Apple Passkey, [demo](https://lit-pkp-auth-demo.vercel.app/)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) - [Social login](../sdk/authentication/session-sigs/auth-methods/social-login) (Google, Discord) - [Email and SMS](../sdk/authentication/session-sigs/auth-methods/email-sms) diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index d77f315e..112bb8b4 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -10,16 +10,16 @@ import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; # Overview -Lit Protocol provides encryption, signing, and wallet infrastructure as-a-service to developers building in web3. Spanning across a decentralized set of nodes, the Lit Network provides a fault-tolerant and programmable alternative to centralized key management systems and custodians. +Lit is an internet native security and identity network. With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. :::note -Lit is still in developer preview with the mainnet launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. +Lit is still in developer preview with the mainnet beta launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. -[Learn more](https://developer.litprotocol.com/v3/network/state-of-network) about what data will persist during the developer preview. +[Learn more](/v3/network/networks/testnet) about what data will persist during the developer preview. ::: - + diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 2fe4ca55..6038c284 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -5,9 +5,11 @@ sidebar_position: 2 # What is Lit Protocol -Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). +Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. -Lit can primarily be used for [data encryption](../sdk/access-control/intro.md), building [user wallets](../sdk/wallets/intro.md), and [serverless digital signatures](../sdk/serverless-signing/overview.md). +The system builds off of contemporary work in applied cryptography, secure enclaves, and distributed systems to provide the maximum amount of control and privacy to end users, without requiring an extensive technical understanding of key management or public key cryptography. + +Developers can use Lit to build apps with [private data](../sdk/access-control/intro.md), intuitive [wallet onboarding](../sdk/wallets/intro.md) and asset management experiences, and [immutable serverless functions](../sdk/serverless-signing/overview.md) that run based on the rules you set. Get started with the [Lit SDK](../sdk/installation.md). diff --git a/docs/version2/prior-version.md b/docs/version2/prior-version.md deleted file mode 100644 index 7b87e98f..00000000 --- a/docs/version2/prior-version.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -sidebar_position: 1 ---- - -# View V2 Documentation - -For the SDK version `2.0` documentation, please visit: -https://developer.litprotocol.com/v2/ - -A description of `js-sdk` difference can be found here: https://developer.litprotocol.com/v2/resources/networkMatrix diff --git a/sidebars.js b/sidebars.js index cc109596..63e34e9a 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,13 +41,6 @@ const sidebars = { // ], docs: [ - { - type: "category", - label: "Version 2.0", - collapsible: false, - className: "category-not-collapsible", - items: ["version2/prior-version"], - }, { type: "category", label: "Getting Started", diff --git a/src/components/CardSectionsV3/CoreConcepts.jsx b/src/components/CardSectionsV3/CoreConcepts.jsx index 2724fb00..cf6b1088 100644 --- a/src/components/CardSectionsV3/CoreConcepts.jsx +++ b/src/components/CardSectionsV3/CoreConcepts.jsx @@ -13,14 +13,14 @@ export default function CoreConceptsSection({ title, className }) { to="/v3/sdk/access-control/intro" /> ); diff --git a/src/components/CardSectionsV3/LearnCode.jsx b/src/components/CardSectionsV3/LearnCode.jsx index 5d41d783..58fa1ac9 100644 --- a/src/components/CardSectionsV3/LearnCode.jsx +++ b/src/components/CardSectionsV3/LearnCode.jsx @@ -10,7 +10,7 @@ export default function LearnCodeSection({ title, className }) { + + ); } From 89cde641a02600c5d66b7c03c54368e02f6cc6f9 Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 11:46:51 -0800 Subject: [PATCH 095/627] fix: icon for dark mode --- docusaurus.config.js | 3 ++- static/brand/{lit-logo.svg => lit-logo-black.svg} | 0 static/brand/lit-logo-white.svg | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) rename static/brand/{lit-logo.svg => lit-logo-black.svg} (100%) create mode 100644 static/brand/lit-logo-white.svg diff --git a/docusaurus.config.js b/docusaurus.config.js index 6bd2072a..5a2fa42b 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -91,7 +91,8 @@ const config = { title: 'Lit Protocol', logo: { alt: 'Lit Protocol', - src: 'brand/lit-logo.svg', + src: 'brand/lit-logo-black.svg', + srcDark: 'brand/lit-logo-white.svg', href: 'https://developer.litprotocol.com/v3/', }, items: [ diff --git a/static/brand/lit-logo.svg b/static/brand/lit-logo-black.svg similarity index 100% rename from static/brand/lit-logo.svg rename to static/brand/lit-logo-black.svg diff --git a/static/brand/lit-logo-white.svg b/static/brand/lit-logo-white.svg new file mode 100644 index 00000000..53b65a7c --- /dev/null +++ b/static/brand/lit-logo-white.svg @@ -0,0 +1,4 @@ + + + + From 538c8ebeadd42fd6e5ad84e5c35803a442e7f59d Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 1 Dec 2023 12:22:26 -0800 Subject: [PATCH 096/627] feat: override styling --- docs/intro/overview.mdx | 4 +--- src/css/custom.css | 22 ++++++++++++++----- src/theme/Admonition/styles.module.css | 1 + src/theme/CodeBlock/Container/index.js | 21 ++++++++++++++++++ .../CodeBlock/Container/styles.module.css | 7 ++++++ 5 files changed, 47 insertions(+), 8 deletions(-) create mode 100644 src/theme/CodeBlock/Container/index.js create mode 100644 src/theme/CodeBlock/Container/styles.module.css diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index ff3f2c39..d2b9694d 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -14,9 +14,7 @@ Lit Protocol lets developers and their users create and manage decentralized key Get started today! -:::note -**STATE OF THE NETWORK** - +:::info Lit is still in developer preview with the mainnet launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. [Learn more](https://developer.litprotocol.com/v3/network/state-of-network) about what data will persist during the developer preview. diff --git a/src/css/custom.css b/src/css/custom.css index 46b0f15a..bb0bbc98 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -62,6 +62,7 @@ --ifm-menu-color-background-active: rgba(221, 22, 111, 0.1); --ifm-menu-color-background-hover: rgba(221, 22, 111, 0.05); --ifm-dropdown-hover-background-color: rgba(221, 22, 111, 0.05); + --ifm-breadcrumb-item-background-active: none; /** * ---------- Type system ---------- */ @@ -94,8 +95,6 @@ rgba(255, 255, 255, 0.9) ); --lit-navbar-border-color: var(--ifm-color-gray-50); - /* --ifm-navbar-link-hover-color: var(--lit-pink); */ - /* --ifm-dropdown-hover-background-color: var(--lit-pink-background); */ /** * ---------- Footer ---------- */ @@ -109,9 +108,6 @@ * ---------- Sidebar ---------- */ --ifm-menu-color: var(--ifm-font-color-base); - /* --ifm-menu-color-active: var(--lit-pink); */ - /* --ifm-menu-color-background-hover: var(--lit-pink-background); - --ifm-menu-color-background-active: var( --lit-pink-background); */ /** * ---------- Table of Contents ---------- */ @@ -169,6 +165,8 @@ html[data-theme='dark'] { --ifm-scrollbar-thumb-hover-background-color: var(--ifm-color-gray-700); --ifm-menu-color-background-active: rgba(255, 128, 86, 0.1); --ifm-menu-color-background-hover: rgba(255, 128, 86, 0.01); + --ifm-dropdown-hover-background-color: rgba(255, 128, 86, 0.05); + --ifm-breadcrumb-item-background-active: none; /** * ---------- Navbar ---------- */ @@ -545,6 +543,20 @@ html[data-theme] .DocSearch-Prefill { color: #d9480f; } */ +/* + * ---------- Breadcrumbs ---------- +*/ +nav[aria-label="Breadcrumbs"] { + margin-bottom: 1.5rem; +} + +.breadcrumbs__link { + font-size: 0.875rem; + line-height: 1.25rem; + font-weight: 500; + padding: 0; +} + /* * ---------- Link ---------- */ diff --git a/src/theme/Admonition/styles.module.css b/src/theme/Admonition/styles.module.css index 1e09ea83..a5634a8a 100644 --- a/src/theme/Admonition/styles.module.css +++ b/src/theme/Admonition/styles.module.css @@ -28,6 +28,7 @@ display: flex; align-items: center; justify-content: center; + padding-top: 0.125rem; margin-right: 1rem; } diff --git a/src/theme/CodeBlock/Container/index.js b/src/theme/CodeBlock/Container/index.js new file mode 100644 index 00000000..ce665eb4 --- /dev/null +++ b/src/theme/CodeBlock/Container/index.js @@ -0,0 +1,21 @@ +import React from 'react'; +import clsx from 'clsx'; +import {ThemeClassNames, usePrismTheme} from '@docusaurus/theme-common'; +import {getPrismCssVariables} from '@docusaurus/theme-common/internal'; +import styles from './styles.module.css'; +export default function CodeBlockContainer({as: As, ...props}) { + const prismTheme = usePrismTheme(); + const prismCssVariables = getPrismCssVariables(prismTheme); + return ( + + ); +} diff --git a/src/theme/CodeBlock/Container/styles.module.css b/src/theme/CodeBlock/Container/styles.module.css new file mode 100644 index 00000000..c2874e7c --- /dev/null +++ b/src/theme/CodeBlock/Container/styles.module.css @@ -0,0 +1,7 @@ +.codeBlockContainer { + background: var(--prism-background-color); + color: var(--prism-color); + margin-bottom: var(--ifm-leading); + /* box-shadow: var(--ifm-global-shadow-lw); */ + border-radius: var(--ifm-code-border-radius); +} From c8b8d4fcebc1490d50358438c82a45ac77f59b92 Mon Sep 17 00:00:00 2001 From: Furkan Date: Mon, 4 Dec 2023 14:23:55 +0300 Subject: [PATCH 097/627] add: 'getlit deploy' to command table in CLI docs --- docs/tools/getlit-cli.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index a19bfa61..f10fb813 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -32,6 +32,7 @@ To use the GetLit CLI, navigate to a directory or your existing project, and the | `test` | `getlit test []` | 🧪 Test a Lit Action | | `watch` | `getlit watch []` | 🔧 Simultaneously build and test a Lit Action | | `setup` | `getlit setup` | 🔑 Setup config for authSig and PKP | +| `deploy` | `getlit deploy` | 🚀 Deploy your Lit Actions | | `docs` \| `doc` | `getlit docs` | 📖 Open the Lit Protocol documentation | | `help` \| `show` | `getlit help` | 🆘 Show the help menu | From 3db7e43adef234af843894a8cc305bc79ec32df7 Mon Sep 17 00:00:00 2001 From: Furkan Date: Mon, 4 Dec 2023 14:28:02 +0300 Subject: [PATCH 098/627] add: 'getlit deploy' to CLI docs --- docs/tools/getlit-cli.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index f10fb813..0745ed5e 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -143,4 +143,11 @@ This command executes the `build` and `test` commands simultaneously: getlit watch ``` +### `getlit deploy` + +Once the Lit Action code is ready, after building it, it can be deployed using the `deploy` command: + +```bash +getlit deploy +``` From 144fe5fa35df5dcf7b86966d9c75936ae878d13d Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 5 Dec 2023 02:02:59 +0300 Subject: [PATCH 099/627] add: 'getlit search & derive-pkp' to CLI docs --- docs/tools/getlit-cli.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 0745ed5e..da786e6c 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -33,6 +33,8 @@ To use the GetLit CLI, navigate to a directory or your existing project, and the | `watch` | `getlit watch []` | 🔧 Simultaneously build and test a Lit Action | | `setup` | `getlit setup` | 🔑 Setup config for authSig and PKP | | `deploy` | `getlit deploy` | 🚀 Deploy your Lit Actions | +| `derive-pkp` | `getlit derive-pkp --userId --projectId --format` | 🔑 Derive a public key from user and application IDs | +| `search` | `getlit search --get --format --publicKey --authMethodId --userId --appId` | 🔍 Search for data related to PKPs | | `docs` \| `doc` | `getlit docs` | 📖 Open the Lit Protocol documentation | | `help` \| `show` | `getlit help` | 🆘 Show the help menu | @@ -151,3 +153,18 @@ Once the Lit Action code is ready, after building it, it can be deployed using t getlit deploy ``` +### `getlit search` + +This command is used to get PKP-related data by providing some data like public key or IDs: + +```bash +getlit search --get --format --publicKey --authMethodId --userId --appId +``` + +### `getlit derive-pkp` + +When the application ID and the user ID is provided, but PKP public key is not; `derive-pkp` command outputs the public key: + +```bash +getlit derive-pkp --userId --projectId --format +``` \ No newline at end of file From 0ffca5c206677fc3beea3636eca73061841ef669 Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 5 Dec 2023 17:53:15 +0300 Subject: [PATCH 100/627] fix: 'getlit derive-pkp' in CLI docs --- docs/tools/getlit-cli.md | 2 +- yarn.lock | 2495 +++++++++++++++++++------------------- 2 files changed, 1262 insertions(+), 1235 deletions(-) diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index da786e6c..f856820e 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -163,7 +163,7 @@ getlit search --get --format --publicKey --authMethodId --userId --appId ### `getlit derive-pkp` -When the application ID and the user ID is provided, but PKP public key is not; `derive-pkp` command outputs the public key: +Lit Protocol supports [derived keys](https://developer.litprotocol.com/v3/sdk/wallets/claimable-keys/intro/). Users are able to claim the key from the authentication method identifier: ```bash getlit derive-pkp --userId --projectId --format diff --git a/yarn.lock b/yarn.lock index 10b2d956..dd8f9490 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4,7 +4,7 @@ "@algolia/autocomplete-core@1.9.3": version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" + 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" @@ -12,45 +12,45 @@ "@algolia/autocomplete-plugin-algolia-insights@1.9.3": version "1.9.3" - resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" + 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.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" + 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.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" + 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.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz" + 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.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz" + 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.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz" + 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.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz" + 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" @@ -59,7 +59,7 @@ "@algolia/client-analytics@4.20.0": version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz" + 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" @@ -69,7 +69,7 @@ "@algolia/client-common@4.20.0": version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz" + 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" @@ -77,7 +77,7 @@ "@algolia/client-personalization@4.20.0": version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz" + 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" @@ -86,7 +86,7 @@ "@algolia/client-search@4.20.0": version "4.20.0" - resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz" + 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" @@ -95,43 +95,43 @@ "@algolia/events@^4.0.1": version "4.0.1" - resolved "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz" + 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.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz" + 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.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz" + 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.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz" + 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.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz" + 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.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz" + 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.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz" + 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" @@ -140,28 +140,28 @@ "@ampproject/remapping@^2.2.0": version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + 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.10.4", "@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.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz" - integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.8.3": + version "7.22.13" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== dependencies: - "@babel/highlight" "^7.23.4" + "@babel/highlight" "^7.22.13" chalk "^2.4.2" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== "@babel/core@7.12.9": version "7.12.9" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== dependencies: "@babel/code-frame" "^7.10.4" @@ -182,53 +182,53 @@ source-map "^0.5.0" "@babel/core@^7.12.3", "@babel/core@^7.18.6", "@babel/core@^7.19.6": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz" - integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.3" + "@babel/generator" "^7.23.0" "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-module-transforms" "^7.23.0" "@babel/helpers" "^7.23.2" - "@babel/parser" "^7.23.3" + "@babel/parser" "^7.23.0" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.3" - "@babel/types" "^7.23.3" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" 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.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.23.3", "@babel/generator@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz" - integrity sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ== +"@babel/generator@^7.12.5", "@babel/generator@^7.18.7", "@babel/generator@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== dependencies: - "@babel/types" "^7.23.4" + "@babel/types" "^7.23.0" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" "@babel/helper-annotate-as-pure@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz" + 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.5": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz" + 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.5", "@babel/helper-compilation-targets@^7.22.6": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" + 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" @@ -239,7 +239,7 @@ "@babel/helper-create-class-features-plugin@^7.22.11", "@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.22.5": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz" + 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" @@ -254,7 +254,7 @@ "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz" + 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" @@ -263,7 +263,7 @@ "@babel/helper-define-polyfill-provider@^0.4.3": version "0.4.3" - resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz" + 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" @@ -274,12 +274,12 @@ "@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + 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.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + 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" @@ -287,29 +287,29 @@ "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + 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.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz" + 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-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + 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-transforms@^7.12.1", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0", "@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -319,24 +319,24 @@ "@babel/helper-optimise-call-expression@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz" + 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.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== "@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.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== "@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz" + 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" @@ -345,7 +345,7 @@ "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz" + 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" @@ -354,43 +354,43 @@ "@babel/helper-simple-access@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + 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-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz" + 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.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + 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-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== "@babel/helper-validator-identifier@^7.22.20": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + 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-option@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== "@babel/helper-wrap-function@^7.22.20": version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz" + 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" @@ -399,37 +399,37 @@ "@babel/helpers@^7.12.5", "@babel/helpers@^7.23.2": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== dependencies: "@babel/template" "^7.22.15" "@babel/traverse" "^7.23.2" "@babel/types" "^7.23.0" -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== dependencies: "@babel/helper-validator-identifier" "^7.22.20" chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz" - integrity sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ== +"@babel/parser@^7.12.7", "@babel/parser@^7.18.8", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz" + 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.22.15.tgz#02dc8a03f613ed5fdc29fb2f728397c78146c962" integrity sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz#2aeb91d337d4e1a1e7ce85b76a37f5301781200f" integrity sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -438,7 +438,7 @@ "@babel/plugin-proposal-object-rest-spread@7.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" @@ -447,152 +447,152 @@ "@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.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz" + 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.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + 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.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + 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.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + 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.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-attributes@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + 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.12.1": version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + 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.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + 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", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + 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.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + 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.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + 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.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz" + 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" @@ -600,14 +600,14 @@ "@babel/plugin-transform-arrow-functions@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-async-generator-functions@^7.23.2": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" @@ -617,7 +617,7 @@ "@babel/plugin-transform-async-to-generator@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== dependencies: "@babel/helper-module-imports" "^7.22.5" @@ -626,21 +626,21 @@ "@babel/plugin-transform-block-scoped-functions@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-block-scoping@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-class-properties@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.5" @@ -648,7 +648,7 @@ "@babel/plugin-transform-class-static-block@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz#dc8cc6e498f55692ac6b4b89e56d87cec766c974" integrity sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.11" @@ -657,7 +657,7 @@ "@babel/plugin-transform-classes@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz#aaf4753aee262a232bbc95451b4bdf9599c65a0b" integrity sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -672,7 +672,7 @@ "@babel/plugin-transform-computed-properties@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -680,14 +680,14 @@ "@babel/plugin-transform-destructuring@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-dotall-regex@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" @@ -695,14 +695,14 @@ "@babel/plugin-transform-duplicate-keys@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-dynamic-import@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz#2c7722d2a5c01839eaf31518c6ff96d408e447aa" integrity sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -710,7 +710,7 @@ "@babel/plugin-transform-exponentiation-operator@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" @@ -718,7 +718,7 @@ "@babel/plugin-transform-export-namespace-from@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz#b3c84c8f19880b6c7440108f8929caf6056db26c" integrity sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -726,14 +726,14 @@ "@babel/plugin-transform-for-of@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz#f64b4ccc3a4f131a996388fae7680b472b306b29" integrity sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-function-name@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== dependencies: "@babel/helper-compilation-targets" "^7.22.5" @@ -742,7 +742,7 @@ "@babel/plugin-transform-json-strings@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz#689a34e1eed1928a40954e37f74509f48af67835" integrity sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -750,14 +750,14 @@ "@babel/plugin-transform-literals@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-logical-assignment-operators@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz#24c522a61688bde045b7d9bc3c2597a4d948fc9c" integrity sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -765,14 +765,14 @@ "@babel/plugin-transform-member-expression-literals@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-modules-amd@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== dependencies: "@babel/helper-module-transforms" "^7.23.0" @@ -780,7 +780,7 @@ "@babel/plugin-transform-modules-commonjs@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== dependencies: "@babel/helper-module-transforms" "^7.23.0" @@ -789,7 +789,7 @@ "@babel/plugin-transform-modules-systemjs@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== dependencies: "@babel/helper-hoist-variables" "^7.22.5" @@ -799,7 +799,7 @@ "@babel/plugin-transform-modules-umd@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== dependencies: "@babel/helper-module-transforms" "^7.22.5" @@ -807,7 +807,7 @@ "@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz" + 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" @@ -815,14 +815,14 @@ "@babel/plugin-transform-new-target@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-nullish-coalescing-operator@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz#debef6c8ba795f5ac67cd861a81b744c5d38d9fc" integrity sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -830,7 +830,7 @@ "@babel/plugin-transform-numeric-separator@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz#498d77dc45a6c6db74bb829c02a01c1d719cbfbd" integrity sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -838,7 +838,7 @@ "@babel/plugin-transform-object-rest-spread@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz#21a95db166be59b91cde48775310c0df6e1da56f" integrity sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q== dependencies: "@babel/compat-data" "^7.22.9" @@ -849,7 +849,7 @@ "@babel/plugin-transform-object-super@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -857,7 +857,7 @@ "@babel/plugin-transform-optional-catch-binding@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz#461cc4f578a127bb055527b3e77404cad38c08e0" integrity sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -865,7 +865,7 @@ "@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": version "7.23.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -874,14 +874,14 @@ "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz#719ca82a01d177af358df64a514d64c2e3edb114" integrity sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-private-methods@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.5" @@ -889,7 +889,7 @@ "@babel/plugin-transform-private-property-in-object@^7.22.11": version "7.22.11" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz#ad45c4fc440e9cb84c718ed0906d96cf40f9a4e1" integrity sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -899,35 +899,35 @@ "@babel/plugin-transform-property-literals@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.18.12": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz#6dfa7c1c37f7d7279e417ceddf5a04abb8bb9c29" integrity sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-display-name@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz#3c4326f9fce31c7968d6cb9debcaf32d9e279a2b" integrity sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-react-jsx-development@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz" + 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.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -938,7 +938,7 @@ "@babel/plugin-transform-react-pure-annotations@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz#1f58363eef6626d6fa517b95ac66fe94685e32c0" integrity sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -946,7 +946,7 @@ "@babel/plugin-transform-regenerator@^7.22.10": version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz#8ceef3bd7375c4db7652878b0241b2be5d0c3cca" integrity sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -954,14 +954,14 @@ "@babel/plugin-transform-reserved-words@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.18.6": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== dependencies: "@babel/helper-module-imports" "^7.22.15" @@ -973,14 +973,14 @@ "@babel/plugin-transform-shorthand-properties@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-spread@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -988,28 +988,28 @@ "@babel/plugin-transform-sticky-regex@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-template-literals@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typeof-symbol@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-typescript@^7.22.15": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz#15adef906451d86349eb4b8764865c960eb54127" integrity sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA== dependencies: "@babel/helper-annotate-as-pure" "^7.22.5" @@ -1019,14 +1019,14 @@ "@babel/plugin-transform-unicode-escapes@^7.22.10": version "7.22.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz#c723f380f40a2b2f57a62df24c9005834c8616d9" integrity sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-unicode-property-regex@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" @@ -1034,7 +1034,7 @@ "@babel/plugin-transform-unicode-regex@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" @@ -1042,7 +1042,7 @@ "@babel/plugin-transform-unicode-sets-regex@^7.22.5": version "7.22.5" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.22.5" @@ -1050,7 +1050,7 @@ "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.18.6", "@babel/preset-env@^7.19.4": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== dependencies: "@babel/compat-data" "^7.23.2" @@ -1136,7 +1136,7 @@ "@babel/preset-modules@0.1.6-no-external-plugins": version "0.1.6-no-external-plugins" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz" + 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" @@ -1145,7 +1145,7 @@ "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.18.6": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.22.15.tgz#9a776892b648e13cc8ca2edf5ed1264eea6b6afc" integrity sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1157,7 +1157,7 @@ "@babel/preset-typescript@^7.18.6": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz#c8de488130b7081f7e1482936ad3de5b018beef4" integrity sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -1168,12 +1168,12 @@ "@babel/regjsgen@^0.8.0": version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime-corejs3@^7.18.6": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz#a5cd9d8b408fb946b2f074b21ea40c04e516795c" integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== dependencies: core-js-pure "^3.30.2" @@ -1181,63 +1181,63 @@ "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.18.6", "@babel/runtime@^7.20.13", "@babel/runtime@^7.8.4": version "7.23.2" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== dependencies: regenerator-runtime "^0.14.0" "@babel/template@^7.12.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": version "7.22.15" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" + 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/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz" - integrity sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg== +"@babel/traverse@^7.12.9", "@babel/traverse@^7.18.8", "@babel/traverse@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== dependencies: - "@babel/code-frame" "^7.23.4" - "@babel/generator" "^7.23.4" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" "@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" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.20.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.3", "@babel/types@^7.23.4", "@babel/types@^7.4.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz" - integrity sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ== +"@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.20.0", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: - "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-string-parser" "^7.22.5" "@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.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" + 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.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz" + 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.npmjs.org/@docsearch/css/-/css-3.5.2.tgz" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== "@docsearch/react@^3.1.1": version "3.5.2" - resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz" + 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" @@ -1247,7 +1247,7 @@ "@docusaurus/core@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.1.0.tgz#4aedc306f4c4cd2e0491b641bf78941d4b480ab6" integrity sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q== dependencies: "@babel/core" "^7.18.6" @@ -1324,7 +1324,7 @@ "@docusaurus/core@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-2.4.3.tgz#d86624901386fd8164ce4bff9cc7f16fde57f523" integrity sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA== dependencies: "@babel/core" "^7.18.6" @@ -1401,7 +1401,7 @@ "@docusaurus/cssnano-preset@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz#5b42107769b7cbc61655496090bc262d7788d6ab" integrity sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ== dependencies: cssnano-preset-advanced "^5.3.8" @@ -1411,7 +1411,7 @@ "@docusaurus/cssnano-preset@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz#1d7e833c41ce240fcc2812a2ac27f7b862f32de0" integrity sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA== dependencies: cssnano-preset-advanced "^5.3.8" @@ -1421,7 +1421,7 @@ "@docusaurus/logger@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.1.0.tgz#86c97e948f578814d3e61fc2b2ad283043cbe87a" integrity sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q== dependencies: chalk "^4.1.2" @@ -1429,7 +1429,7 @@ "@docusaurus/logger@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-2.4.3.tgz#518bbc965fb4ebe8f1d0b14e5f4161607552d34c" integrity sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w== dependencies: chalk "^4.1.2" @@ -1437,7 +1437,7 @@ "@docusaurus/mdx-loader@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz#3fca9576cc73a22f8e7d9941985590b9e47a8526" integrity sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg== dependencies: "@babel/parser" "^7.18.8" @@ -1460,7 +1460,7 @@ "@docusaurus/mdx-loader@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz#e8ff37f30a060eaa97b8121c135f74cb531a4a3e" integrity sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw== dependencies: "@babel/parser" "^7.18.8" @@ -1483,7 +1483,7 @@ "@docusaurus/module-type-aliases@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz#322f8fd5b436af2154c0dddfa173435730e66261" integrity sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ== dependencies: "@docusaurus/react-loadable" "5.5.2" @@ -1497,7 +1497,7 @@ "@docusaurus/plugin-content-blog@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz#32b1a7cd4b0026f4a76fce4edc5cfdd0edb1ec42" integrity sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg== dependencies: "@docusaurus/core" "2.1.0" @@ -1519,7 +1519,7 @@ "@docusaurus/plugin-content-docs@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz#3fcdf258c13dde27268ce7108a102b74ca4c279b" integrity sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q== dependencies: "@docusaurus/core" "2.1.0" @@ -1541,7 +1541,7 @@ "@docusaurus/plugin-content-pages@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz#714d24f71d49dbfed888f50c15e975c2154c3ce8" integrity sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g== dependencies: "@docusaurus/core" "2.1.0" @@ -1555,7 +1555,7 @@ "@docusaurus/plugin-debug@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz#b3145affb40e25cf342174638952a5928ddaf7dc" integrity sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw== dependencies: "@docusaurus/core" "2.1.0" @@ -1567,7 +1567,7 @@ "@docusaurus/plugin-google-analytics@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz#c9a7269817b38e43484d38fad9996e39aac4196c" integrity sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg== dependencies: "@docusaurus/core" "2.1.0" @@ -1577,7 +1577,7 @@ "@docusaurus/plugin-google-analytics@^2.1.0": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz#0d19993136ade6f7a7741251b4f617400d92ab45" integrity sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ== dependencies: "@docusaurus/core" "2.4.3" @@ -1587,7 +1587,7 @@ "@docusaurus/plugin-google-gtag@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz#e4f351dcd98b933538d55bb742650a2a36ca9a32" integrity sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA== dependencies: "@docusaurus/core" "2.1.0" @@ -1597,7 +1597,7 @@ "@docusaurus/plugin-sitemap@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz#b316bb9a42a1717845e26bd4e2d3071748a54b47" integrity sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw== dependencies: "@docusaurus/core" "2.1.0" @@ -1612,7 +1612,7 @@ "@docusaurus/preset-classic@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz#45b23c8ec10c96ded9ece128fac3a39b10bcbc56" integrity sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w== dependencies: "@docusaurus/core" "2.1.0" @@ -1630,7 +1630,7 @@ "@docusaurus/react-loadable@5.5.2", "react-loadable@npm:@docusaurus/react-loadable@5.5.2": version "5.5.2" - resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz#81aae0db81ecafbdaee3651f12804580868fa6ce" integrity sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ== dependencies: "@types/react" "*" @@ -1638,7 +1638,7 @@ "@docusaurus/theme-classic@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz#d957a907ea8dd035c1cf911d0fbe91d8f24aef3f" integrity sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng== dependencies: "@docusaurus/core" "2.1.0" @@ -1669,7 +1669,7 @@ "@docusaurus/theme-common@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-2.1.0.tgz#dff4d5d1e29efc06125dc06f7b259f689bb3f24d" integrity sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag== dependencies: "@docusaurus/mdx-loader" "2.1.0" @@ -1689,7 +1689,7 @@ "@docusaurus/theme-search-algolia@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz#e7cdf64b6f7a15b07c6dcf652fd308cfdaabb0ee" integrity sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg== dependencies: "@docsearch/react" "^3.1.1" @@ -1711,7 +1711,7 @@ "@docusaurus/theme-translations@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz#ce9a2955afd49bff364cfdfd4492b226f6dd3b6e" integrity sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg== dependencies: fs-extra "^10.1.0" @@ -1719,7 +1719,7 @@ "@docusaurus/types@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.1.0.tgz#01e13cd9adb268fffe87b49eb90302d5dc3edd6b" integrity sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ== dependencies: "@types/history" "^4.7.11" @@ -1733,7 +1733,7 @@ "@docusaurus/types@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.4.3.tgz#4aead281ca09f721b3c0a9b926818450cfa3db31" integrity sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw== dependencies: "@types/history" "^4.7.11" @@ -1747,21 +1747,21 @@ "@docusaurus/utils-common@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.1.0.tgz#248434751096f8c6c644ed65eed2a5a070a227f8" integrity sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg== dependencies: tslib "^2.4.0" "@docusaurus/utils-common@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.4.3.tgz#30656c39ef1ce7e002af7ba39ea08330f58efcfb" integrity sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ== dependencies: tslib "^2.4.0" "@docusaurus/utils-validation@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz#c8cf1d8454d924d9a564fefa86436268f43308e3" integrity sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ== dependencies: "@docusaurus/logger" "2.1.0" @@ -1772,7 +1772,7 @@ "@docusaurus/utils-validation@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz#8122c394feef3e96c73f6433987837ec206a63fb" integrity sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw== dependencies: "@docusaurus/logger" "2.4.3" @@ -1783,7 +1783,7 @@ "@docusaurus/utils@2.1.0": version "2.1.0" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.1.0.tgz#b77b45b22e61eb6c2dcad8a7e96f6db0409b655f" integrity sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A== dependencies: "@docusaurus/logger" "2.1.0" @@ -1804,7 +1804,7 @@ "@docusaurus/utils@2.4.3": version "2.4.3" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-2.4.3.tgz#52b000d989380a2125831b84e3a7327bef471e89" integrity sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A== dependencies: "@docusaurus/logger" "2.4.3" @@ -1826,7 +1826,7 @@ "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== dependencies: "@ethersproject/address" "^5.7.0" @@ -1841,7 +1841,7 @@ "@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== dependencies: "@ethersproject/bignumber" "^5.7.0" @@ -1854,7 +1854,7 @@ "@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== dependencies: "@ethersproject/abstract-provider" "^5.7.0" @@ -1865,7 +1865,7 @@ "@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== dependencies: "@ethersproject/bignumber" "^5.7.0" @@ -1876,14 +1876,14 @@ "@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== dependencies: "@ethersproject/bytes" "^5.7.0" "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -1891,7 +1891,7 @@ "@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -1900,21 +1900,21 @@ "@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== dependencies: "@ethersproject/logger" "^5.7.0" "@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== dependencies: "@ethersproject/bignumber" "^5.7.0" "@ethersproject/contracts@5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== dependencies: "@ethersproject/abi" "^5.7.0" @@ -1930,7 +1930,7 @@ "@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== dependencies: "@ethersproject/abstract-signer" "^5.7.0" @@ -1945,7 +1945,7 @@ "@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== dependencies: "@ethersproject/abstract-signer" "^5.7.0" @@ -1963,7 +1963,7 @@ "@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== dependencies: "@ethersproject/abstract-signer" "^5.7.0" @@ -1982,7 +1982,7 @@ "@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -1990,19 +1990,19 @@ "@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== "@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0": version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== dependencies: "@ethersproject/logger" "^5.7.0" "@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2010,14 +2010,14 @@ "@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== dependencies: "@ethersproject/logger" "^5.7.0" "@ethersproject/providers@5.7.2": version "5.7.2" - resolved "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== dependencies: "@ethersproject/abstract-provider" "^5.7.0" @@ -2043,7 +2043,7 @@ "@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2051,7 +2051,7 @@ "@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2059,7 +2059,7 @@ "@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2068,7 +2068,7 @@ "@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2080,7 +2080,7 @@ "@ethersproject/solidity@5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== dependencies: "@ethersproject/bignumber" "^5.7.0" @@ -2092,7 +2092,7 @@ "@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2101,7 +2101,7 @@ "@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== dependencies: "@ethersproject/address" "^5.7.0" @@ -2116,7 +2116,7 @@ "@ethersproject/units@5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== dependencies: "@ethersproject/bignumber" "^5.7.0" @@ -2125,7 +2125,7 @@ "@ethersproject/wallet@5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== dependencies: "@ethersproject/abstract-provider" "^5.7.0" @@ -2146,7 +2146,7 @@ "@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": version "5.7.1" - resolved "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== dependencies: "@ethersproject/base64" "^5.7.0" @@ -2157,7 +2157,7 @@ "@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": version "5.7.0" - resolved "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== dependencies: "@ethersproject/bytes" "^5.7.0" @@ -2168,26 +2168,26 @@ "@hapi/hoek@^9.0.0": version "9.3.0" - resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz" + 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.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" + 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.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + 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.npmjs.org/@jest/types/-/types-29.6.3.tgz" + 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" @@ -2199,7 +2199,7 @@ "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + 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" @@ -2208,17 +2208,17 @@ "@jridgewell/resolve-uri@^3.1.0": version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + 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.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@jridgewell/source-map@^0.3.3": version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" + 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" @@ -2226,12 +2226,12 @@ "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + 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.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz" + 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" @@ -2239,12 +2239,12 @@ "@leichtgewicht/ip-codec@^2.0.1": version "2.0.4" - resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== "@lit-protocol/auth-helpers@3.0.24": version "3.0.24" - resolved "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz#e72206887b7aaad193de66837538859504705d2d" integrity sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg== dependencies: siwe "^2.0.5" @@ -2266,7 +2266,7 @@ "@lit-protocol/types@3.0.24": version "3.0.24" - resolved "https://registry.npmjs.org/@lit-protocol/types/-/types-3.0.24.tgz" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.24.tgz#4761fef4a89353e0ec2bb420e6c39019ea1d9234" integrity sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" @@ -2278,7 +2278,7 @@ "@mdx-js/mdx@^1.6.22": version "1.6.22" - resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== dependencies: "@babel/core" "7.12.9" @@ -2303,22 +2303,22 @@ "@mdx-js/react@^1.6.21", "@mdx-js/react@^1.6.22": version "1.6.22" - resolved "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== "@mdx-js/util@1.6.22": version "1.6.22" - resolved "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== "@noble/hashes@^1.1.2": version "1.3.2" - resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== "@nodelib/fs.scandir@2.1.5": version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + 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" @@ -2326,12 +2326,12 @@ "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + 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.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + 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" @@ -2339,39 +2339,39 @@ "@polka/url@^1.0.0-next.20": version "1.0.0-next.23" - resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz" + 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.npmjs.org/@sideway/address/-/address-4.1.4.tgz" + 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.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz" + 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.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + 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.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== "@sindresorhus/is@^0.14.0": version "0.14.0" - resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@slorber/static-site-generator-webpack-plugin@^4.0.7": version "4.0.7" - resolved "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz" + resolved "https://registry.yarnpkg.com/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz#fc1678bddefab014e2145cbe25b3ce4e1cfc36f3" integrity sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA== dependencies: eval "^0.1.8" @@ -2380,7 +2380,7 @@ "@spruceid/siwe-parser@*": version "2.0.2" - resolved "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz#964dbe9e5611fe95d39e21aa96e67407f610374f" integrity sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA== dependencies: "@noble/hashes" "^1.1.2" @@ -2390,19 +2390,19 @@ "@stablelib/binary@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== dependencies: "@stablelib/int" "^1.0.1" "@stablelib/int@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== "@stablelib/random@^1.0.1": version "1.0.2" - resolved "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== dependencies: "@stablelib/binary" "^1.0.1" @@ -2410,82 +2410,92 @@ "@stablelib/wipe@^1.0.1": version "1.0.1" - resolved "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== "@svgr/babel-plugin-add-jsx-attribute@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz#74a5d648bd0347bda99d82409d87b8ca80b9a1ba" integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== -"@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": +"@svgr/babel-plugin-remove-jsx-attribute@*": + 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-attribute@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== -"@svgr/babel-plugin-remove-jsx-empty-expression@*", "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": +"@svgr/babel-plugin-remove-jsx-empty-expression@*": + 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-remove-jsx-empty-expression@^5.0.1": version "5.0.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": version "5.0.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== "@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz#fb9d22ea26d2bc5e0a44b763d4c46d5d3f596c60" integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== "@svgr/babel-plugin-svg-dynamic-title@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz#01b2024a2b53ffaa5efceaa0bf3e1d5a4c520ce4" integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== "@svgr/babel-plugin-svg-em-dimensions@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz#dd3fa9f5b24eb4f93bcf121c3d40ff5facecb217" integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": version "5.4.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== "@svgr/babel-plugin-transform-react-native-svg@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz#1d8e945a03df65b601551097d8f5e34351d3d305" integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== "@svgr/babel-plugin-transform-svg-component@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== "@svgr/babel-plugin-transform-svg-component@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz#48620b9e590e25ff95a80f811544218d27f8a250" integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== "@svgr/babel-preset@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" @@ -2499,7 +2509,7 @@ "@svgr/babel-preset@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-6.5.1.tgz#b90de7979c8843c5c580c7e2ec71f024b49eb828" integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" @@ -2513,7 +2523,7 @@ "@svgr/core@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== dependencies: "@svgr/plugin-jsx" "^5.5.0" @@ -2522,7 +2532,7 @@ "@svgr/core@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-6.5.1.tgz#d3e8aa9dbe3fbd747f9ee4282c1c77a27410488a" integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== dependencies: "@babel/core" "^7.19.6" @@ -2533,14 +2543,14 @@ "@svgr/hast-util-to-babel-ast@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== dependencies: "@babel/types" "^7.12.6" "@svgr/hast-util-to-babel-ast@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz#81800bd09b5bcdb968bf6ee7c863d2288fdb80d2" integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: "@babel/types" "^7.20.0" @@ -2548,7 +2558,7 @@ "@svgr/plugin-jsx@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== dependencies: "@babel/core" "^7.12.3" @@ -2558,7 +2568,7 @@ "@svgr/plugin-jsx@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz#0e30d1878e771ca753c94e69581c7971542a7072" integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== dependencies: "@babel/core" "^7.19.6" @@ -2568,7 +2578,7 @@ "@svgr/plugin-svgo@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== dependencies: cosmiconfig "^7.0.0" @@ -2577,7 +2587,7 @@ "@svgr/plugin-svgo@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz#0f91910e988fc0b842f88e0960c2862e022abe84" integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: cosmiconfig "^7.0.1" @@ -2586,7 +2596,7 @@ "@svgr/webpack@^5.5.0": version "5.5.0" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== dependencies: "@babel/core" "^7.12.3" @@ -2600,7 +2610,7 @@ "@svgr/webpack@^6.2.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-6.5.1.tgz#ecf027814fc1cb2decc29dc92f39c3cf691e40e8" integrity sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA== dependencies: "@babel/core" "^7.19.6" @@ -2614,19 +2624,19 @@ "@szmarczak/http-timer@^1.1.2": version "1.1.2" - resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: defer-to-connect "^1.0.1" "@trysound/sax@0.2.0": version "0.2.0" - resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== "@types/body-parser@*": version "1.19.4" - resolved "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.4.tgz#78ad68f1f79eb851aa3634db0c7f57f6f601b462" integrity sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA== dependencies: "@types/connect" "*" @@ -2634,14 +2644,14 @@ "@types/bonjour@^3.5.9": version "3.5.12" - resolved "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.12.tgz#49badafb988e6c433ca675a5fd769b93b7649fc8" integrity sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg== dependencies: "@types/node" "*" "@types/connect-history-api-fallback@^1.3.5": version "1.5.2" - resolved "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz#acf51e088b3bb6507f7b093bd2b0de20940179cc" integrity sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q== dependencies: "@types/express-serve-static-core" "*" @@ -2649,14 +2659,14 @@ "@types/connect@*": version "3.4.37" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.37.tgz#c66a96689fd3127c8772eb3e9e5c6028ec1a9af5" integrity sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q== dependencies: "@types/node" "*" "@types/eslint-scope@^3.7.3": version "3.7.6" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.6.tgz#585578b368ed170e67de8aae7b93f54a1b2fdc26" integrity sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ== dependencies: "@types/eslint" "*" @@ -2664,7 +2674,7 @@ "@types/eslint@*": version "8.44.6" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.6.tgz#60e564551966dd255f4c01c459f0b4fb87068603" integrity sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw== dependencies: "@types/estree" "*" @@ -2672,12 +2682,12 @@ "@types/estree@*", "@types/estree@^1.0.0": version "1.0.3" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.3.tgz#2be19e759a3dd18c79f9f436bd7363556c1a73dd" integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.17.39" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz#2107afc0a4b035e6cb00accac3bdf2d76ae408c8" integrity sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ== dependencies: "@types/node" "*" @@ -2687,7 +2697,7 @@ "@types/express@*", "@types/express@^4.17.13": version "4.17.20" - resolved "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.20.tgz#e7c9b40276d29e38a4e3564d7a3d65911e2aa433" integrity sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw== dependencies: "@types/body-parser" "*" @@ -2697,121 +2707,126 @@ "@types/hast@^2.0.0": version "2.3.7" - resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.7.tgz#5e9bd7ab4452d5313aeec9d38fbc193a70f8d810" integrity sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw== dependencies: "@types/unist" "^2" "@types/history@^4.7.11": version "4.7.11" - resolved "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz" + 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.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + 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-errors@*": version "2.0.3" - resolved "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.3.tgz#c54e61f79b3947d040f150abd58f71efb422ff62" integrity sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA== "@types/http-proxy@^1.17.8": version "1.17.13" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.13.tgz#dd3a4da550580eb0557d4c7128a2ff1d1a38d465" integrity sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.5" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#fdfdd69fa16d530047d9963635bd77c71a08c068" integrity sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ== "@types/istanbul-lib-report@*": version "3.0.2" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz#394798d5f727402eb5ec99eb9618ffcd2b7645a1" integrity sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^3.0.0": version "3.0.3" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz#0313e2608e6d6955d195f55361ddeebd4b74c6e7" integrity sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg== 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.14" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.14.tgz#74a97a5573980802f32c8e47b663530ab3b6b7d1" integrity sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw== "@types/mdast@^3.0.0": version "3.0.14" - resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.14.tgz#0735473a5b35be032b9f2685b7413cbab1b8a639" integrity sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw== dependencies: "@types/unist" "^2" -"@types/mime@*", "@types/mime@^1": +"@types/mime@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.3.tgz#886674659ce55fe7c6c06ec5ca7c0eb276a08f91" + integrity sha512-i8MBln35l856k5iOhKk2XJ4SeAWg75mLIpZB4v6imOagKL6twsukBZGDMNhdOVk7yRFTMPpfILocMos59Q1otQ== + +"@types/mime@^1": version "1.3.4" - resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.4.tgz#a4ed836e069491414bab92c31fdea9e557aca0d9" integrity sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw== "@types/node-forge@^1.3.0": version "1.3.8" - resolved "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.8.tgz#044ad98354ff309a031a55a40ad122f3be1ac2bb" integrity sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg== dependencies: "@types/node" "*" "@types/node@*": version "20.8.9" - resolved "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08" integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg== dependencies: undici-types "~5.26.4" "@types/node@^17.0.5": version "17.0.45" - resolved "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz" + 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.1" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.1.tgz#27f7559836ad796cea31acb63163b203756a5b4e" integrity sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng== "@types/parse5@^5.0.0": version "5.0.3" - resolved "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== "@types/prop-types@*": version "15.7.9" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.9.tgz#b6f785caa7ea1fe4414d9df42ee0ab67f23d8a6d" integrity sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g== "@types/q@^1.5.1": version "1.5.7" - resolved "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.7.tgz#5fe8cf91556bfb310d17f2e2b4263a7c12c2c2ca" integrity sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA== "@types/qs@*": version "6.9.9" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.9.tgz#66f7b26288f6799d279edf13da7ccd40d2fa9197" integrity sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg== "@types/range-parser@*": version "1.2.6" - resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.6.tgz#7cb33992049fd7340d5b10c0098e104184dfcd2a" integrity sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA== "@types/react-router-config@*", "@types/react-router-config@^5.0.6": version "5.0.9" - resolved "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz" + resolved "https://registry.yarnpkg.com/@types/react-router-config/-/react-router-config-5.0.9.tgz#8dad16c6b887d08efaa6d9da83e40db629ac21b6" integrity sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg== dependencies: "@types/history" "^4.7.11" @@ -2820,7 +2835,7 @@ "@types/react-router-dom@*": version "5.3.3" - resolved "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz" + 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" @@ -2829,7 +2844,7 @@ "@types/react-router@*", "@types/react-router@^5.1.0": version "5.1.20" - resolved "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz" + 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" @@ -2837,7 +2852,7 @@ "@types/react@*": version "18.2.33" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.33.tgz#055356243dc4350a9ee6c6a2c07c5cae12e38877" integrity sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg== dependencies: "@types/prop-types" "*" @@ -2846,24 +2861,24 @@ "@types/retry@0.12.0": version "0.12.0" - resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" + 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.6" - resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz" + resolved "https://registry.yarnpkg.com/@types/sax/-/sax-1.2.6.tgz#6e563455034014db5ab9e24a929404cf9b43adc3" integrity sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ== dependencies: "@types/node" "*" "@types/scheduler@*": version "0.16.5" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.5.tgz#4751153abbf8d6199babb345a52e1eb4167d64af" integrity sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw== "@types/send@*": version "0.17.3" - resolved "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.3.tgz#81b2ea5a3a18aad357405af2d643ccbe5a09020b" integrity sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug== dependencies: "@types/mime" "^1" @@ -2871,14 +2886,14 @@ "@types/serve-index@^1.9.1": version "1.9.3" - resolved "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.3.tgz#af9403916eb6fbf7d6ec6f47b2a4c46eb3222cc9" integrity sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg== dependencies: "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": version "1.15.4" - resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.4.tgz#44b5895a68ca637f06c229119e1c774ca88f81b2" integrity sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw== dependencies: "@types/http-errors" "*" @@ -2887,38 +2902,38 @@ "@types/sockjs@^0.3.33": version "0.3.35" - resolved "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.35.tgz#f4a568c73d2a8071944bd6ffdca0d4e66810cd21" integrity sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw== dependencies: "@types/node" "*" "@types/unist@^2", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": version "2.0.9" - resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.9.tgz#72e164381659a49557b0a078b28308f2c6a3e1ce" integrity sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ== "@types/ws@^8.5.5": version "8.5.8" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.8.tgz#13efec7bd439d0bdf2af93030804a94f163b1430" integrity sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg== dependencies: "@types/node" "*" "@types/yargs-parser@*": version "21.0.2" - resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.2.tgz#7bd04c5da378496ef1695a1008bf8f71847a8b8b" integrity sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw== "@types/yargs@^17.0.8": version "17.0.29" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.29.tgz#06aabc72497b798c643c812a8b561537fea760cf" integrity sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA== dependencies: "@types/yargs-parser" "*" "@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + 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" @@ -2926,22 +2941,22 @@ "@webassemblyjs/floating-point-hex-parser@1.11.6": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + 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" @@ -2950,12 +2965,12 @@ "@webassemblyjs/helper-wasm-bytecode@1.11.6": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + 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" @@ -2965,26 +2980,26 @@ "@webassemblyjs/ieee754@1.11.6": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + 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.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + 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" @@ -2998,7 +3013,7 @@ "@webassemblyjs/wasm-gen@1.11.6": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + 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" @@ -3009,7 +3024,7 @@ "@webassemblyjs/wasm-opt@1.11.6": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== dependencies: "@webassemblyjs/ast" "1.11.6" @@ -3019,7 +3034,7 @@ "@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + 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" @@ -3031,7 +3046,7 @@ "@webassemblyjs/wast-printer@1.11.6": version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + 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" @@ -3039,17 +3054,17 @@ "@xtuc/ieee754@^1.2.0": version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + 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.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + 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.npmjs.org/accepts/-/accepts-1.3.8.tgz" + 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" @@ -3057,32 +3072,32 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: acorn-import-assertions@^1.9.0: version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== acorn-walk@^8.0.0: version "8.3.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: version "8.11.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz" + 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.npmjs.org/address/-/address-1.2.2.tgz" + resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== aes-js@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + 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" @@ -3090,26 +3105,26 @@ aggregate-error@^3.0.0: ajv-formats@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + 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.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + 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.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz" + 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.4, ajv@^6.12.5: version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + 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" @@ -3119,7 +3134,7 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== dependencies: fast-deep-equal "^3.1.1" @@ -3129,14 +3144,14 @@ ajv@^8.0.0, ajv@^8.9.0: algoliasearch-helper@^3.10.0: version "3.15.0" - resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz" + 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.13.1, algoliasearch@^4.19.1: version "4.20.0" - resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz" + 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" @@ -3156,48 +3171,48 @@ algoliasearch@^4.13.1, algoliasearch@^4.19.1: ansi-align@^3.0.0, ansi-align@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz" + 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.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz" + 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.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + 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.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + 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.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + 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.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + 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.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + 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.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + 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" @@ -3205,29 +3220,29 @@ anymatch@~3.1.2: apg-js@^4.1.1: version "4.2.1" - resolved "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz" + resolved "https://registry.yarnpkg.com/apg-js/-/apg-js-4.2.1.tgz#cae595e8300fa4c5bc7ef755da9ac4289b70a62c" integrity sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA== arg@^5.0.0: version "5.0.2" - resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" + 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.npmjs.org/argparse/-/argparse-1.0.10.tgz" + 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.npmjs.org/argparse/-/argparse-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== array-buffer-byte-length@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== dependencies: call-bind "^1.0.2" @@ -3235,22 +3250,22 @@ array-buffer-byte-length@^1.0.0: array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + 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.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + 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.npmjs.org/array-union/-/array-union-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.reduce@^1.0.6: version "1.0.6" - resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz#63149931808c5fc1e1354814923d92d45f7d96d5" integrity sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg== dependencies: call-bind "^1.0.2" @@ -3261,7 +3276,7 @@ array.prototype.reduce@^1.0.6: arraybuffer.prototype.slice@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== dependencies: array-buffer-byte-length "^1.0.0" @@ -3274,17 +3289,17 @@ arraybuffer.prototype.slice@^1.0.2: asap@~2.0.3: version "2.0.6" - resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== autoprefixer@^10.4.12, autoprefixer@^10.4.7: version "10.4.16" - resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== dependencies: browserslist "^4.21.10" @@ -3296,19 +3311,19 @@ autoprefixer@^10.4.12, autoprefixer@^10.4.7: available-typed-arrays@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== axios@^0.25.0: version "0.25.0" - resolved "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== dependencies: follow-redirects "^1.14.7" babel-loader@^8.2.5: version "8.3.0" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== dependencies: find-cache-dir "^3.3.1" @@ -3318,7 +3333,7 @@ babel-loader@^8.2.5: babel-plugin-apply-mdx-type-prop@1.6.22: version "1.6.22" - resolved "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" @@ -3326,21 +3341,21 @@ babel-plugin-apply-mdx-type-prop@1.6.22: babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" - resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + 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-extract-import-names@1.6.22: version "1.6.22" - resolved "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" babel-plugin-polyfill-corejs2@^0.4.6: version "0.4.6" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz" + 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" @@ -3349,7 +3364,7 @@ babel-plugin-polyfill-corejs2@^0.4.6: babel-plugin-polyfill-corejs3@^0.8.5: version "0.8.6" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz" + 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" @@ -3357,59 +3372,59 @@ babel-plugin-polyfill-corejs3@^0.8.5: babel-plugin-polyfill-regenerator@^0.5.3: version "0.5.3" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz" + 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" bail@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base16@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/base16/-/base16-1.0.0.tgz#e297f60d7ec1014a7a971a39ebc8a98c0b681e70" integrity sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ== batch@0.6.1: version "0.6.1" - resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== bech32@1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== big.js@^5.2.2: version "5.2.2" - resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + 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.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bn.js@^4.11.9: version "4.12.0" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== bn.js@^5.2.1: version "5.2.1" - resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== body-parser@1.20.1: version "1.20.1" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz" + 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" @@ -3427,7 +3442,7 @@ body-parser@1.20.1: bonjour-service@^1.0.11: version "1.1.1" - resolved "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz" + 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" @@ -3437,12 +3452,12 @@ bonjour-service@^1.0.11: boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== boxen@^5.0.0: version "5.1.2" - resolved "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== dependencies: ansi-align "^3.0.0" @@ -3456,7 +3471,7 @@ boxen@^5.0.0: boxen@^6.2.1: version "6.2.1" - resolved "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-6.2.1.tgz#b098a2278b2cd2845deef2dff2efc38d329b434d" integrity sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw== dependencies: ansi-align "^3.0.1" @@ -3470,7 +3485,7 @@ boxen@^6.2.1: brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -3478,19 +3493,19 @@ brace-expansion@^1.1.7: braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" brorand@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.21.9, browserslist@^4.22.1: version "4.22.1" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: caniuse-lite "^1.0.30001541" @@ -3500,22 +3515,22 @@ browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.18.1, browserslist@^4 buffer-from@^1.0.0: version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + 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.npmjs.org/bytes/-/bytes-3.0.0.tgz" + 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.npmjs.org/bytes/-/bytes-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== cacheable-request@^6.0.0: version "6.1.0" - resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== dependencies: clone-response "^1.0.2" @@ -3528,7 +3543,7 @@ cacheable-request@^6.0.0: call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz" + 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" @@ -3537,12 +3552,12 @@ call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + 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.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: pascal-case "^3.1.2" @@ -3550,17 +3565,17 @@ camel-case@^4.1.2: camelcase-css@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-api@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + 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" @@ -3570,22 +3585,22 @@ caniuse-api@^3.0.0: caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001541: version "1.0.30001554" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz#ba80d88dff9acbc0cd4b7535fc30e0191c5e2e2a" integrity sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ== canonicalize@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/canonicalize/-/canonicalize-2.0.0.tgz#32be2cef4446d67fd5348027a384cae28f17226a" integrity sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w== ccount@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + 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" @@ -3594,7 +3609,7 @@ chalk@^2.4.1, chalk@^2.4.2: chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -3602,22 +3617,22 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: character-entities-legacy@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== character-entities@^1.0.0: version "1.2.4" - resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-reference-invalid@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== cheerio-select@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== dependencies: boolbase "^1.0.0" @@ -3629,7 +3644,7 @@ cheerio-select@^2.1.0: cheerio@^1.0.0-rc.12: version "1.0.0-rc.12" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== dependencies: cheerio-select "^2.1.0" @@ -3642,7 +3657,7 @@ cheerio@^1.0.0-rc.12: chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -3657,44 +3672,44 @@ chokidar@^3.4.2, chokidar@^3.5.3: chrome-trace-event@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: version "3.9.0" - resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + 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.0: version "5.3.2" - resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz" + 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.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-boxes@^2.2.1: version "2.2.1" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== cli-boxes@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz" + 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.2: version "0.6.3" - resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" + 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" @@ -3703,7 +3718,7 @@ cli-table3@^0.6.2: clone-deep@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + 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" @@ -3712,19 +3727,19 @@ clone-deep@^4.0.1: clone-response@^1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== dependencies: mimic-response "^1.0.0" clsx@^1.1.1, clsx@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== coa@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== dependencies: "@types/q" "^1.5.1" @@ -3733,88 +3748,88 @@ coa@^2.0.2: collapse-white-space@^1.0.2: version "1.0.6" - resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + 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.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + 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.npmjs.org/color-name/-/color-name-1.1.3.tgz" + 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.npmjs.org/color-name/-/color-name-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colord@^2.9.1: version "2.9.3" - resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" + 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.npmjs.org/colorette/-/colorette-2.0.20.tgz" + 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.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/combine-promises/-/combine-promises-1.2.0.tgz#5f2e68451862acf85761ded4d9e2af7769c2ca6a" integrity sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ== comma-separated-tokens@^1.0.0: version "1.0.8" - resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== commander@^2.20.0: version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + 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.npmjs.org/commander/-/commander-5.1.0.tgz" + 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.npmjs.org/commander/-/commander-7.2.0.tgz" + 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.npmjs.org/commander/-/commander-8.3.0.tgz" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== commondir@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== compressible@~2.0.16: version "2.0.18" - resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + 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.npmjs.org/compression/-/compression-1.7.4.tgz" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== dependencies: accepts "~1.3.5" @@ -3827,12 +3842,12 @@ compression@^1.7.4: concat-map@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== configstore@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== dependencies: dot-prop "^5.2.0" @@ -3844,59 +3859,59 @@ configstore@^5.0.1: connect-history-api-fallback@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz" + 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.npmjs.org/consola/-/consola-2.15.3.tgz" + 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.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + 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.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" + 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.npmjs.org/content-type/-/content-type-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== convert-source-map@^1.7.0: version "1.9.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== convert-source-map@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + 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.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + 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.npmjs.org/cookie/-/cookie-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== copy-text-to-clipboard@^3.0.1: version "3.2.0" - resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz" + 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.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz" + 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" @@ -3908,29 +3923,29 @@ copy-webpack-plugin@^11.0.0: core-js-compat@^3.31.0, core-js-compat@^3.33.1: version "3.33.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.1.tgz#debe80464107d75419e00c2ee29f35982118ff84" integrity sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ== dependencies: browserslist "^4.22.1" core-js-pure@^3.30.2: version "3.33.1" - resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.1.tgz#7f27dd239da8eb97dbea30120071be8e5565cb0e" integrity sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ== core-js@^3.23.3: version "3.33.1" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.1.tgz#ef3766cfa382482d0a2c2bc5cb52c6d88805da52" integrity sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q== core-util-is@~1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + 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.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + 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" @@ -3941,7 +3956,7 @@ cosmiconfig@^6.0.0: cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: version "7.1.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== dependencies: "@types/parse-json" "^4.0.0" @@ -3952,7 +3967,7 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: cosmiconfig@^8.2.0: version "8.3.6" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz" + 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" @@ -3962,14 +3977,14 @@ cosmiconfig@^8.2.0: cross-fetch@^3.1.5: version "3.1.8" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== dependencies: node-fetch "^2.6.12" cross-spawn@^7.0.3: version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -3978,17 +3993,17 @@ cross-spawn@^7.0.3: crypto-random-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== css-declaration-sorter@^6.3.1: version "6.4.1" - resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== css-loader@^6.7.1: version "6.8.1" - resolved "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz" + 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" @@ -4002,7 +4017,7 @@ css-loader@^6.7.1: css-minimizer-webpack-plugin@^4.0.0: version "4.2.2" - resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz#79f6199eb5adf1ff7ba57f105e3752d15211eb35" integrity sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA== dependencies: cssnano "^5.1.8" @@ -4014,12 +4029,12 @@ css-minimizer-webpack-plugin@^4.0.0: css-select-base-adapter@^0.1.1: version "0.1.1" - resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== css-select@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== dependencies: boolbase "^1.0.0" @@ -4029,7 +4044,7 @@ css-select@^2.0.0: css-select@^4.1.3: version "4.3.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== dependencies: boolbase "^1.0.0" @@ -4040,7 +4055,7 @@ css-select@^4.1.3: css-select@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz" + 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" @@ -4051,7 +4066,7 @@ css-select@^5.1.0: css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== dependencies: mdn-data "2.0.4" @@ -4059,7 +4074,7 @@ css-tree@1.0.0-alpha.37: css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: mdn-data "2.0.14" @@ -4067,22 +4082,22 @@ css-tree@^1.1.2, css-tree@^1.1.3: css-what@^3.2.1: version "3.4.2" - resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz" + 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.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== cssnano-preset-advanced@^5.3.8: version "5.3.10" - resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz" + resolved "https://registry.yarnpkg.com/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz#25558a1fbf3a871fb6429ce71e41be7f5aca6eef" integrity sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ== dependencies: autoprefixer "^10.4.12" @@ -4094,7 +4109,7 @@ cssnano-preset-advanced@^5.3.8: cssnano-preset-default@^5.2.14: version "5.2.14" - resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== dependencies: css-declaration-sorter "^6.3.1" @@ -4129,12 +4144,12 @@ cssnano-preset-default@^5.2.14: cssnano-utils@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== cssnano@^5.1.12, cssnano@^5.1.8: version "5.1.15" - resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== dependencies: cssnano-preset-default "^5.2.14" @@ -4143,67 +4158,67 @@ cssnano@^5.1.12, cssnano@^5.1.8: csso@^4.0.2, csso@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: css-tree "^1.1.2" csstype@^3.0.2: version "3.1.2" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== data-uri-to-buffer@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== debug@2.6.9, debug@^2.6.0: version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + 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.1.0, debug@^4.1.1: version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" decompress-response@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== dependencies: mimic-response "^1.0.0" deep-extend@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== deepmerge@^4.2.2: version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + 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.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz" + 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@^1.0.1: version "1.1.3" - resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== define-data-property@^1.0.1, define-data-property@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz" + 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" @@ -4212,12 +4227,12 @@ define-data-property@^1.0.1, define-data-property@^1.1.1: define-lazy-prop@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: version "1.2.1" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz" + 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" @@ -4226,7 +4241,7 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: del@^6.1.1: version "6.1.1" - resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== dependencies: globby "^11.0.1" @@ -4240,34 +4255,34 @@ del@^6.1.1: depd@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + 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.npmjs.org/depd/-/depd-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== destroy@1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detab@2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== dependencies: repeat-string "^1.5.4" detect-node@^2.0.4: version "2.1.0" - resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + 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.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + 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" @@ -4275,7 +4290,7 @@ detect-port-alt@^1.1.6: detect-port@^1.3.0: version "1.5.1" - resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz" + 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" @@ -4283,33 +4298,33 @@ detect-port@^1.3.0: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + 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.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + 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.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" + 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.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== dependencies: utila "~0.4" dom-serializer@0: version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== dependencies: domelementtype "^2.0.1" @@ -4317,7 +4332,7 @@ dom-serializer@0: dom-serializer@^1.0.1: version "1.4.1" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== dependencies: domelementtype "^2.0.1" @@ -4326,7 +4341,7 @@ dom-serializer@^1.0.1: dom-serializer@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" + 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" @@ -4335,31 +4350,31 @@ dom-serializer@^2.0.0: domelementtype@1: version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" + 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.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + 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.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== dependencies: domelementtype "^2.3.0" domutils@^1.7.0: version "1.7.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: dom-serializer "0" @@ -4367,7 +4382,7 @@ domutils@^1.7.0: domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: dom-serializer "^1.0.1" @@ -4376,7 +4391,7 @@ domutils@^2.5.2, domutils@^2.8.0: domutils@^3.0.1: version "3.1.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== dependencies: dom-serializer "^2.0.0" @@ -4385,7 +4400,7 @@ domutils@^3.0.1: dot-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== dependencies: no-case "^3.0.4" @@ -4393,44 +4408,44 @@ dot-case@^3.0.4: dot-prop@^5.2.0: version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" dotenv@^16.0.3: version "16.3.1" - resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== duplexer3@^0.1.4: version "0.1.5" - resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== duplexer@^0.1.2: version "0.1.2" - resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + 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.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + 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.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + 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.568" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.568.tgz#6ab444e120dd7fd9c3789eac54d3132b6cfcd0f9" integrity sha512-3TCOv8+BY6Ltpt1/CmGBMups2IdKOyfEmz4J8yIS4xLSeMm0Rf+psSaxLuswG9qMKt+XbNbmADybtXGpTFlbDg== elliptic@6.5.4: version "6.5.4" - resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: bn.js "^4.11.9" @@ -4443,39 +4458,39 @@ elliptic@6.5.4: emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + 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.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== emojis-list@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== emoticon@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-3.2.0.tgz#c008ca7d7620fac742fe1bf4af8ff8fed154ae7f" integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.1.0: version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" enhanced-resolve@^5.15.0: version "5.15.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" + 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" @@ -4483,24 +4498,24 @@ enhanced-resolve@^5.15.0: entities@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + 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.npmjs.org/entities/-/entities-4.5.0.tgz" + 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.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + 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-abstract@^1.17.2, es-abstract@^1.22.1: version "1.22.3" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: array-buffer-byte-length "^1.0.0" @@ -4545,17 +4560,17 @@ es-abstract@^1.17.2, es-abstract@^1.22.1: es-array-method-boxes-properly@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== es-module-lexer@^1.2.1: version "1.3.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.3.1.tgz#c1b0dd5ada807a3b3155315911f364dc4e909db1" integrity sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q== es-set-tostringtag@^2.0.1: version "2.0.2" - resolved "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== dependencies: get-intrinsic "^1.2.2" @@ -4564,7 +4579,7 @@ es-set-tostringtag@^2.0.1: es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -4573,32 +4588,32 @@ es-to-primitive@^1.2.1: escalade@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-goat@^2.0.0: version "2.1.1" - resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + 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.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + 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.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-scope@5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + 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" @@ -4606,49 +4621,49 @@ eslint-scope@5.1.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + 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.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + 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.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + 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.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== eta@^1.12.3: version "1.14.2" - resolved "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz" + resolved "https://registry.yarnpkg.com/eta/-/eta-1.14.2.tgz#5e6181a26ec13d8444c559ce51f7b3090cebbdd1" integrity sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ== eta@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz" + 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.npmjs.org/etag/-/etag-1.8.1.tgz" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== ethers@^5.7.1: version "5.7.2" - resolved "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== dependencies: "@ethersproject/abi" "5.7.0" @@ -4684,7 +4699,7 @@ ethers@^5.7.1: eval@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== dependencies: "@types/node" "*" @@ -4692,17 +4707,17 @@ eval@^0.1.8: eventemitter3@^4.0.0: version "4.0.7" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + 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.npmjs.org/events/-/events-3.3.0.tgz" + 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.npmjs.org/execa/-/execa-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -4717,7 +4732,7 @@ execa@^5.0.0: express@^4.17.3: version "4.18.2" - resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== dependencies: accepts "~1.3.8" @@ -4754,24 +4769,24 @@ express@^4.17.3: extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + 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.npmjs.org/extend/-/extend-3.0.2.tgz" + 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.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + 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.1" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -4782,45 +4797,45 @@ fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + 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.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + 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.npmjs.org/fastq/-/fastq-1.15.0.tgz" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" faye-websocket@^0.11.3: version "0.11.4" - resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== dependencies: websocket-driver ">=0.5.1" fbemitter@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/fbemitter/-/fbemitter-3.0.0.tgz#00b2a1af5411254aab416cd75f9e6289bee4bff3" integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== dependencies: fbjs "^3.0.0" fbjs-css-vars@^1.0.0: version "1.0.2" - resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz#216551136ae02fe255932c3ec8775f18e2c078b8" integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== fbjs@^3.0.0, fbjs@^3.0.1: version "3.0.5" - resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-3.0.5.tgz#aa0edb7d5caa6340011790bd9249dbef8a81128d" integrity sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg== dependencies: cross-fetch "^3.1.5" @@ -4833,14 +4848,14 @@ fbjs@^3.0.0, fbjs@^3.0.1: feed@^4.2.2: version "4.2.2" - resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/feed/-/feed-4.2.2.tgz#865783ef6ed12579e2c44bbef3c9113bc4956a7e" integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== dependencies: xml-js "^1.6.11" fetch-blob@^3.1.2, fetch-blob@^3.1.4: version "3.2.0" - resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9" integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ== dependencies: node-domexception "^1.0.0" @@ -4848,7 +4863,7 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4: file-loader@^6.2.0: version "6.2.0" - resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + 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" @@ -4856,19 +4871,19 @@ file-loader@^6.2.0: filesize@^8.0.6: version "8.0.7" - resolved "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz" + 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.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + 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.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" @@ -4881,7 +4896,7 @@ finalhandler@1.2.0: find-cache-dir@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" @@ -4890,14 +4905,14 @@ find-cache-dir@^3.3.1: find-up@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + 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@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== dependencies: locate-path "^5.0.0" @@ -4905,7 +4920,7 @@ find-up@^4.0.0: find-up@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + 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" @@ -4913,12 +4928,12 @@ find-up@^5.0.0: flat@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== flux@^4.0.1: version "4.0.4" - resolved "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz" + resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.4.tgz#9661182ea81d161ee1a6a6af10d20485ef2ac572" integrity sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw== dependencies: fbemitter "^3.0.0" @@ -4926,19 +4941,19 @@ flux@^4.0.1: follow-redirects@^1.0.0, follow-redirects@^1.14.7: version "1.15.3" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== for-each@^0.3.3: version "0.3.3" - resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.3" - resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz" + 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" @@ -4957,29 +4972,29 @@ fork-ts-checker-webpack-plugin@^6.5.0: formdata-polyfill@^4.0.10: version "4.0.10" - resolved "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz" + resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== dependencies: fetch-blob "^3.1.2" forwarded@0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.3.6: version "4.3.7" - resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz" + 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.npmjs.org/fresh/-/fresh-0.5.2.tgz" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^10.1.0: version "10.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" @@ -4988,7 +5003,7 @@ fs-extra@^10.1.0: fs-extra@^9.0.0: version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + 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" @@ -4998,27 +5013,27 @@ fs-extra@^9.0.0: fs-monkey@^1.0.4: version "1.0.5" - resolved "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz" + 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.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + 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.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + 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.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== function.prototype.name@^1.1.6: version "1.1.6" - resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" @@ -5028,17 +5043,17 @@ function.prototype.name@^1.1.6: functions-have-names@^1.2.3: version "1.2.3" - resolved "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" - resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + 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.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: version "1.2.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz" + 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" @@ -5048,31 +5063,31 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@ get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" - resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + 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@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" get-stream@^5.1.0: version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== dependencies: pump "^3.0.0" get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -5080,31 +5095,31 @@ get-symbol-description@^1.0.0: github-slugger@^1.4.0: version "1.5.0" - resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz" + 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.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + 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.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + 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.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + 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.npmjs.org/glob/-/glob-7.2.3.tgz" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== dependencies: fs.realpath "^1.0.0" @@ -5116,21 +5131,21 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: global-dirs@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz" + 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.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + 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.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== dependencies: ini "^1.3.5" @@ -5139,19 +5154,19 @@ global-prefix@^3.0.0: globals@^11.1.0: version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globalthis@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== dependencies: define-properties "^1.1.3" globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -5163,7 +5178,7 @@ globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: globby@^13.1.1: version "13.2.2" - resolved "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== dependencies: dir-glob "^3.0.1" @@ -5174,14 +5189,14 @@ globby@^13.1.1: gopd@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== dependencies: get-intrinsic "^1.1.3" got@^9.6.0: version "9.6.0" - resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" @@ -5198,12 +5213,12 @@ got@^9.6.0: 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.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" + 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.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -5213,63 +5228,63 @@ gray-matter@^4.0.3: gzip-size@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + 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.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + 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.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + 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.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz" + 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.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" + 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.1, has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has-yarn@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.7" - resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== dependencies: inherits "^2.0.3" @@ -5277,14 +5292,14 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: hasown@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz" + 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-to-hyperscript@^9.0.0: version "9.0.1" - resolved "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== dependencies: "@types/unist" "^2.0.3" @@ -5297,7 +5312,7 @@ hast-to-hyperscript@^9.0.0: hast-util-from-parse5@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== dependencies: "@types/parse5" "^5.0.0" @@ -5309,12 +5324,12 @@ hast-util-from-parse5@^6.0.0: hast-util-parse-selector@^2.0.0: version "2.2.5" - resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== hast-util-raw@6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== dependencies: "@types/hast" "^2.0.0" @@ -5330,7 +5345,7 @@ hast-util-raw@6.0.1: hast-util-to-parse5@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== dependencies: hast-to-hyperscript "^9.0.0" @@ -5341,7 +5356,7 @@ hast-util-to-parse5@^6.0.0: hastscript@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== dependencies: "@types/hast" "^2.0.0" @@ -5352,12 +5367,12 @@ hastscript@^6.0.0: he@^1.2.0: version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + 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.npmjs.org/history/-/history-4.10.1.tgz" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== dependencies: "@babel/runtime" "^7.1.2" @@ -5369,7 +5384,7 @@ history@^4.9.0: hmac-drbg@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== dependencies: hash.js "^1.0.3" @@ -5378,14 +5393,14 @@ hmac-drbg@^1.0.1: hoist-non-react-statics@^3.1.0: version "3.3.2" - resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + 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.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== dependencies: inherits "^2.0.1" @@ -5395,12 +5410,12 @@ hpack.js@^2.1.6: html-entities@^2.3.2: version "2.4.0" - resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz" + 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" @@ -5413,17 +5428,17 @@ html-minifier-terser@^6.0.2, html-minifier-terser@^6.1.0: html-tags@^3.2.0: version "3.3.1" - resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== html-void-elements@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== html-webpack-plugin@^5.5.0: version "5.5.3" - resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz" + 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" @@ -5434,7 +5449,7 @@ html-webpack-plugin@^5.5.0: htmlparser2@^6.1.0: version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: domelementtype "^2.0.1" @@ -5444,7 +5459,7 @@ htmlparser2@^6.1.0: htmlparser2@^8.0.1: version "8.0.2" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== dependencies: domelementtype "^2.3.0" @@ -5454,17 +5469,17 @@ htmlparser2@^8.0.1: http-cache-semantics@^4.0.0: version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + 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.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + 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.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + 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" @@ -5475,7 +5490,7 @@ http-errors@2.0.0: http-errors@~1.6.2: version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== dependencies: depd "~1.1.2" @@ -5485,12 +5500,12 @@ http-errors@~1.6.2: http-parser-js@>=0.5.1: version "0.5.8" - resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" + 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.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz" + 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" @@ -5501,7 +5516,7 @@ http-proxy-middleware@^2.0.3: http-proxy@^1.18.1: version "1.18.1" - resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + 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" @@ -5510,51 +5525,51 @@ http-proxy@^1.18.1: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== husky@^7.0.4: version "7.0.4" - resolved "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + 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.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + 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.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== image-size@^1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz" + 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" immediate@~3.0.5: version "3.0.6" - resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== immer@^9.0.7: version "9.0.21" - resolved "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + 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" @@ -5562,27 +5577,27 @@ import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: import-lazy@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" integrity sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A== imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + 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.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + 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.42: version "0.2.0-alpha.42" - resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz" + resolved "https://registry.yarnpkg.com/infima/-/infima-0.2.0-alpha.42.tgz#f6e86a655ad40877c6b4d11b2ede681eb5470aa5" integrity sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww== inflight@^1.0.4: version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" @@ -5590,32 +5605,32 @@ inflight@^1.0.4: inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + 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.npmjs.org/inherits/-/inherits-2.0.3.tgz" + 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.npmjs.org/ini/-/ini-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== ini@^1.3.5, ini@~1.3.0: version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + 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.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== internal-slot@^1.0.5: version "1.0.6" - resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== dependencies: get-intrinsic "^1.2.2" @@ -5624,34 +5639,34 @@ internal-slot@^1.0.5: interpret@^1.0.0: version "1.4.0" - resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + 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.npmjs.org/invariant/-/invariant-2.2.4.tgz" + 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.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + 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.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== is-alphabetical@1.0.4, is-alphabetical@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== is-alphanumerical@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== dependencies: is-alphabetical "^1.0.0" @@ -5659,7 +5674,7 @@ is-alphanumerical@^1.0.0: is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: version "3.0.2" - resolved "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== dependencies: call-bind "^1.0.2" @@ -5668,26 +5683,26 @@ is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + 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-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -5695,75 +5710,75 @@ is-boolean-object@^1.1.0: is-buffer@^2.0.0: version "2.0.5" - resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" is-core-module@^2.13.0: version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + 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-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-decimal@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" - resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + 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.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + 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.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + 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.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + 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.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + 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@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-installed-globally@^0.4.0: version "0.4.0" - resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + 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" @@ -5771,71 +5786,71 @@ is-installed-globally@^0.4.0: is-negative-zero@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-npm@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== is-number-object@^1.0.4: version "1.0.7" - resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + 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.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + 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.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + 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.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + 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.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + 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@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== is-plain-object@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + 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.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -5843,109 +5858,109 @@ is-regex@^1.1.4: is-regexp@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + 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.npmjs.org/is-root/-/is-root-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== is-shared-array-buffer@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: call-bind "^1.0.2" is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: version "1.1.12" - resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== dependencies: which-typed-array "^1.1.11" is-typedarray@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-weakref@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-whitespace-character@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== is-word-character@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== is-wsl@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + 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.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== isarray@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== isarray@^2.0.5: version "2.0.5" - resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== isarray@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + 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.npmjs.org/isexe/-/isexe-2.0.0.tgz" + 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.npmjs.org/isobject/-/isobject-3.0.1.tgz" + 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.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + 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" @@ -5957,7 +5972,7 @@ jest-util@^29.7.0: jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: "@types/node" "*" @@ -5966,7 +5981,7 @@ jest-worker@^27.4.5: jest-worker@^29.1.2: version "29.7.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" @@ -5976,12 +5991,12 @@ jest-worker@^29.1.2: jiti@^1.18.2: version "1.20.0" - resolved "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== joi@^17.6.0: version "17.11.0" - resolved "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== dependencies: "@hapi/hoek" "^9.0.0" @@ -5992,17 +6007,17 @@ joi@^17.6.0: js-sha3@0.8.0: version "0.8.0" - resolved "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + 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.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + 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" @@ -6010,49 +6025,49 @@ js-yaml@^3.13.1: js-yaml@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + 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.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + 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.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== json-buffer@3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: version "2.3.1" - resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + 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.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + 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.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + 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.npmjs.org/json5/-/json5-2.2.3.tgz" + 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.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -6061,7 +6076,7 @@ jsonfile@^6.0.1: jszip@^3.10.1: version "3.10.1" - resolved "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== dependencies: lie "~3.3.0" @@ -6071,31 +6086,31 @@ jszip@^3.10.1: keyv@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== dependencies: json-buffer "3.0.0" kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + 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.npmjs.org/kleur/-/kleur-3.0.3.tgz" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== latest-version@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== dependencies: package-json "^6.3.0" launch-editor@^2.6.0: version "2.6.1" - resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz" + 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" @@ -6103,34 +6118,34 @@ launch-editor@^2.6.0: leven@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== lie@~3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== dependencies: immediate "~3.0.5" lilconfig@^2.0.3: version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" + 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.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + 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.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz" + 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" @@ -6139,12 +6154,12 @@ loader-utils@^2.0.0: loader-utils@^3.2.0: version "3.2.1" - resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz" + 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.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" @@ -6152,140 +6167,140 @@ locate-path@^3.0.0: locate-path@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== dependencies: p-locate "^4.1.0" locate-path@^6.0.0: version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + 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" lodash.curry@^4.0.1: version "4.1.1" - resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" integrity sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA== lodash.debounce@^4.0.8: version "4.0.8" - resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== lodash.escape@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== lodash.flatten@^4.4.0: version "4.4.0" - resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g== lodash.flow@^3.3.0: version "3.5.0" - resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.flow/-/lodash.flow-3.5.0.tgz#87bf40292b8cf83e4e8ce1a3ae4209e20071675a" integrity sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw== lodash.invokemap@^4.6.0: version "4.6.0" - resolved "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz#1748cda5d8b0ef8369c4eb3ec54c21feba1f2d62" integrity sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w== lodash.memoize@^4.1.2: version "4.1.2" - resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== lodash.pullall@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.pullall/-/lodash.pullall-4.2.0.tgz#9d98b8518b7c965b0fae4099bd9fb7df8bbf38ba" integrity sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg== lodash.uniq@4.5.0, lodash.uniq@^4.5.0: version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== lodash.uniqby@^4.7.0: version "4.7.0" - resolved "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" + resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 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.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + 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.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + 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@^1.0.0, lowercase-keys@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== lowercase-keys@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== lru-cache@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + 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.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + 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" make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== dependencies: semver "^6.0.0" markdown-escapes@^1.0.0: version "1.0.4" - resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== mdast-squeeze-paragraphs@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== dependencies: unist-util-remove "^2.0.0" mdast-util-definitions@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== dependencies: unist-util-visit "^2.0.0" mdast-util-to-hast@10.0.1: version "10.0.1" - resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== dependencies: "@types/mdast" "^3.0.0" @@ -6299,59 +6314,59 @@ mdast-util-to-hast@10.0.1: mdast-util-to-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== mdn-data@2.0.14: version "2.0.14" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== mdn-data@2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== mdurl@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== media-typer@0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + 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.npmjs.org/memfs/-/memfs-3.6.0.tgz" + 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.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + 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.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + 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.npmjs.org/merge2/-/merge2-1.4.1.tgz" + 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.npmjs.org/methods/-/methods-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" @@ -6359,102 +6374,102 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + 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.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" + 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, mime-types@~2.1.17: +mime-types@2.1.18: version "2.1.18" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + 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.24, mime-types@~2.1.34: +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.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + 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.npmjs.org/mime/-/mime-1.6.0.tgz" + 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.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== mini-css-extract-plugin@^2.6.1: version "2.7.6" - resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz" + 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, minimalistic-assert@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== minimalistic-crypto-utils@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + 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, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mkdirp@~0.5.1: version "0.5.6" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== dependencies: minimist "^1.2.6" mrmime@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" + 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.npmjs.org/ms/-/ms-2.0.0.tgz" + 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.npmjs.org/ms/-/ms-2.1.2.tgz" + 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.npmjs.org/ms/-/ms-2.1.3.tgz" + 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.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" + 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" @@ -6462,27 +6477,27 @@ multicast-dns@^7.2.5: multiformats@^11.0.2: version "11.0.2" - resolved "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.2.tgz#b14735efc42cd8581e73895e66bebb9752151b60" integrity sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg== nanoid@^3.3.6: version "3.3.6" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== negotiator@0.6.3: version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + 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.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + 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.npmjs.org/no-case/-/no-case-3.0.4.tgz" + 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" @@ -6490,26 +6505,26 @@ no-case@^3.0.4: node-domexception@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== node-emoji@^1.10.0: version "1.11.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== dependencies: lodash "^4.17.21" node-fetch@^2.6.12: version "2.7.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" node-fetch@^3.3.1: version "3.3.2" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: data-uri-to-buffer "^4.0.0" @@ -6518,78 +6533,78 @@ node-fetch@^3.3.1: node-forge@^1: version "1.3.1" - resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz" + 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.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + 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.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^4.1.0: version "4.5.1" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== normalize-url@^6.0.1: version "6.1.0" - resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + 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.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nth-check@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" nth-check@^2.0.1: version "2.1.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz" + 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.0, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== object-inspect@^1.13.1, object-inspect@^1.9.0: version "1.13.1" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" + 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.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0, object.assign@^4.1.4: version "4.1.4" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" + 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" @@ -6599,7 +6614,7 @@ object.assign@^4.1.0, object.assign@^4.1.4: object.getownpropertydescriptors@^2.1.0: version "2.1.7" - resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz#7a466a356cd7da4ba8b9e94ff6d35c3eeab5d56a" integrity sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g== dependencies: array.prototype.reduce "^1.0.6" @@ -6610,7 +6625,7 @@ object.getownpropertydescriptors@^2.1.0: object.values@^1.1.0: version "1.1.7" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== dependencies: call-bind "^1.0.2" @@ -6619,38 +6634,38 @@ object.values@^1.1.0: obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + 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.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" + 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.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + 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, once@^1.3.1, once@^1.4.0: version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + 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.npmjs.org/onetime/-/onetime-5.1.2.tgz" + 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.npmjs.org/open/-/open-8.4.2.tgz" + 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" @@ -6659,59 +6674,59 @@ open@^8.0.9, open@^8.4.0: opener@^1.5.2: version "1.5.2" - resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== p-cancelable@^1.0.0: version "1.1.0" - resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + 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.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + 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-locate@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + 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@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: p-limit "^2.2.0" p-locate@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + 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-map@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + 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.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== dependencies: "@types/retry" "0.12.0" @@ -6719,12 +6734,12 @@ p-retry@^4.5.0: p-try@^2.0.0: version "2.2.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-json@^6.3.0: version "6.5.0" - resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: got "^9.6.0" @@ -6734,12 +6749,12 @@ package-json@^6.3.0: pako@~1.0.2: version "1.0.11" - resolved "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== param-case@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: dot-case "^3.0.4" @@ -6747,14 +6762,14 @@ param-case@^3.0.4: parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + 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@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== dependencies: character-entities "^1.0.0" @@ -6766,7 +6781,7 @@ parse-entities@^2.0.0: parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + 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" @@ -6776,12 +6791,12 @@ parse-json@^5.0.0, parse-json@^5.2.0: parse-numeric-range@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" + 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.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz" + 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" @@ -6789,24 +6804,24 @@ parse5-htmlparser2-tree-adapter@^7.0.0: parse5@^6.0.0: version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== parse5@^7.0.0: version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz" + 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.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + 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.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + 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" @@ -6814,83 +6829,83 @@ pascal-case@^3.1.2: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + 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.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + 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.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + 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.npmjs.org/path-key/-/path-key-3.1.1.tgz" + 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.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + 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.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + 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.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + 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.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + 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.npmjs.org/path-type/-/path-type-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + 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.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pkg-dir@^4.1.0: version "4.2.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" pkg-up@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + 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@^8.2.3: version "8.2.4" - resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== dependencies: postcss-selector-parser "^6.0.9" @@ -6898,7 +6913,7 @@ postcss-calc@^8.2.3: postcss-colormin@^5.3.1: version "5.3.1" - resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== dependencies: browserslist "^4.21.4" @@ -6908,7 +6923,7 @@ postcss-colormin@^5.3.1: postcss-convert-values@^5.1.3: version "5.1.3" - resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== dependencies: browserslist "^4.21.4" @@ -6916,34 +6931,34 @@ postcss-convert-values@^5.1.3: postcss-discard-comments@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== postcss-discard-duplicates@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== postcss-discard-empty@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== postcss-discard-overridden@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== postcss-discard-unused@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz#8974e9b143d887677304e558c1166d3762501142" integrity sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw== dependencies: postcss-selector-parser "^6.0.5" postcss-loader@^7.0.0: version "7.3.3" - resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz" + 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" @@ -6952,7 +6967,7 @@ postcss-loader@^7.0.0: postcss-merge-idents@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz#7753817c2e0b75d0853b56f78a89771e15ca04a1" integrity sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw== dependencies: cssnano-utils "^3.1.0" @@ -6960,7 +6975,7 @@ postcss-merge-idents@^5.1.1: postcss-merge-longhand@^5.1.7: version "5.1.7" - resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== dependencies: postcss-value-parser "^4.2.0" @@ -6968,7 +6983,7 @@ postcss-merge-longhand@^5.1.7: postcss-merge-rules@^5.1.4: version "5.1.4" - resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== dependencies: browserslist "^4.21.4" @@ -6978,14 +6993,14 @@ postcss-merge-rules@^5.1.4: postcss-minify-font-values@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== dependencies: postcss-value-parser "^4.2.0" postcss-minify-gradients@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== dependencies: colord "^2.9.1" @@ -6994,7 +7009,7 @@ postcss-minify-gradients@^5.1.1: postcss-minify-params@^5.1.4: version "5.1.4" - resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== dependencies: browserslist "^4.21.4" @@ -7003,19 +7018,19 @@ postcss-minify-params@^5.1.4: postcss-minify-selectors@^5.2.1: version "5.2.1" - resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== dependencies: postcss-selector-parser "^6.0.5" postcss-modules-extract-imports@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + 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.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz" + 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" @@ -7024,61 +7039,61 @@ postcss-modules-local-by-default@^4.0.3: postcss-modules-scope@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + 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.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + 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@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== postcss-normalize-display-values@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-positions@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-repeat-style@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-string@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-timing-functions@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== dependencies: postcss-value-parser "^4.2.0" postcss-normalize-unicode@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== dependencies: browserslist "^4.21.4" @@ -7086,7 +7101,7 @@ postcss-normalize-unicode@^5.1.1: postcss-normalize-url@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== dependencies: normalize-url "^6.0.1" @@ -7094,14 +7109,14 @@ postcss-normalize-url@^5.1.0: postcss-normalize-whitespace@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: postcss-value-parser "^4.2.0" postcss-ordered-values@^5.1.3: version "5.1.3" - resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: cssnano-utils "^3.1.0" @@ -7109,14 +7124,14 @@ postcss-ordered-values@^5.1.3: postcss-reduce-idents@^5.2.0: version "5.2.0" - resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz#c89c11336c432ac4b28792f24778859a67dfba95" integrity sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg== dependencies: postcss-value-parser "^4.2.0" postcss-reduce-initial@^5.1.2: version "5.1.2" - resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== dependencies: browserslist "^4.21.4" @@ -7124,14 +7139,14 @@ postcss-reduce-initial@^5.1.2: postcss-reduce-transforms@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== dependencies: postcss-value-parser "^4.2.0" postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: version "6.0.13" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" + 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" @@ -7139,14 +7154,14 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector postcss-sort-media-queries@^4.2.1: version "4.4.1" - resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz#04a5a78db3921eb78f28a1a781a2e68e65258128" integrity sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw== dependencies: sort-css-media-queries "2.1.0" postcss-svgo@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: postcss-value-parser "^4.2.0" @@ -7154,24 +7169,24 @@ postcss-svgo@^5.1.0: postcss-unique-selectors@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: postcss-selector-parser "^6.0.5" postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" - resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss-zindex@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-5.1.0.tgz#4a5c7e5ff1050bd4c01d95b1847dfdcc58a496ff" integrity sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A== postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.21: version "8.4.31" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: nanoid "^3.3.6" @@ -7180,12 +7195,12 @@ postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.17, postcss@^8.4.21: prepend-http@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== pretty-error@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" @@ -7193,34 +7208,34 @@ pretty-error@^4.0.0: pretty-time@^1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prism-react-renderer@^1.2.1, prism-react-renderer@^1.3.5: version "1.3.5" - resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085" integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg== prismjs@^1.28.0: version "1.29.0" - resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz" + 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.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== promise@^7.1.1: version "7.3.1" - resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== dependencies: asap "~2.0.3" prompts@^2.4.2: version "2.4.2" - resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" @@ -7228,7 +7243,7 @@ prompts@^2.4.2: prop-types@^15.6.2, prop-types@^15.7.2: version "15.8.1" - resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" + 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" @@ -7237,14 +7252,14 @@ prop-types@^15.6.2, prop-types@^15.7.2: property-information@^5.0.0, property-information@^5.3.0: version "5.6.0" - resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== dependencies: xtend "^4.0.0" proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + 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" @@ -7252,7 +7267,7 @@ proxy-addr@~2.0.7: pump@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" @@ -7260,70 +7275,70 @@ pump@^3.0.0: punycode@^1.3.2: version "1.4.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + 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.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== pupa@^2.1.1: version "2.1.1" - resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== dependencies: escape-goat "^2.0.0" pure-color@^1.2.0: version "1.3.0" - resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== q@^1.1.2: version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qs@6.11.0: version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" + 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.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + 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.npmjs.org/queue/-/queue-6.0.2.tgz" + resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== dependencies: inherits "~2.0.3" randombytes@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + 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.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + 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.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + 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.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" + 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" @@ -7333,7 +7348,7 @@ raw-body@2.5.1: rc@1.2.8, rc@^1.2.8: version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== dependencies: deep-extend "^0.6.0" @@ -7343,7 +7358,7 @@ rc@1.2.8, rc@^1.2.8: react-base16-styling@^0.6.0: version "0.6.0" - resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.6.0.tgz#ef2156d66cf4139695c8a167886cb69ea660792c" integrity sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ== dependencies: base16 "^1.0.0" @@ -7353,7 +7368,7 @@ react-base16-styling@^0.6.0: react-dev-utils@^12.0.1: version "12.0.1" - resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz" + 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" @@ -7383,7 +7398,7 @@ react-dev-utils@^12.0.1: react-dom@^17.0.1: version "17.0.2" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" @@ -7392,17 +7407,17 @@ react-dom@^17.0.1: react-error-overlay@^6.0.11: version "6.0.11" - resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz" + 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: version "3.2.2" - resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz" + 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@*, react-helmet-async@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz" + 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" @@ -7413,12 +7428,12 @@ react-helmet-async@*, react-helmet-async@^1.3.0: react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: version "16.13.1" - resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-json-view@^1.21.3: version "1.21.3" - resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + resolved "https://registry.yarnpkg.com/react-json-view/-/react-json-view-1.21.3.tgz#f184209ee8f1bf374fb0c41b0813cff54549c475" integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== dependencies: flux "^4.0.1" @@ -7428,26 +7443,26 @@ react-json-view@^1.21.3: react-lifecycles-compat@^3.0.4: version "3.0.4" - resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== react-loadable-ssr-addon-v5-slorber@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + 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-router-config@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + 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.3: version "5.3.4" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz" + 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" @@ -7460,7 +7475,7 @@ react-router-dom@^5.3.3: react-router@5.3.4, react-router@^5.3.3: version "5.3.4" - resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" + 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" @@ -7475,7 +7490,7 @@ react-router@5.3.4, react-router@^5.3.3: react-textarea-autosize@^8.3.2: version "8.5.3" - resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz#d1e9fe760178413891484847d3378706052dd409" integrity sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ== dependencies: "@babel/runtime" "^7.20.13" @@ -7484,7 +7499,7 @@ react-textarea-autosize@^8.3.2: react@^17.0.1: version "17.0.2" - resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" @@ -7492,7 +7507,7 @@ react@^17.0.1: readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + 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" @@ -7505,7 +7520,7 @@ readable-stream@^2.0.1, readable-stream@~2.3.6: readable-stream@^3.0.6: version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== dependencies: inherits "^2.0.3" @@ -7514,57 +7529,57 @@ readable-stream@^3.0.6: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + 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.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" + 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.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + 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.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz" + 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.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz" + 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.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + 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.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" + 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.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" regexp.prototype.flags@^1.5.1: version "1.5.1" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: call-bind "^1.0.2" @@ -7573,7 +7588,7 @@ regexp.prototype.flags@^1.5.1: regexpu-core@^5.3.1: version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz" + 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" @@ -7585,33 +7600,33 @@ regexpu-core@^5.3.1: registry-auth-token@^4.0.0: version "4.2.2" - resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.2.tgz#f02d49c3668884612ca031419491a13539e21fac" integrity sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg== dependencies: rc "1.2.8" registry-url@^5.0.0: version "5.1.0" - resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== dependencies: rc "^1.2.8" regjsparser@^0.9.1: version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" relateurl@^0.2.7: version "0.2.7" - resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-emoji@^2.2.0: version "2.2.0" - resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" + resolved "https://registry.yarnpkg.com/remark-emoji/-/remark-emoji-2.2.0.tgz#1c702090a1525da5b80e15a8f963ef2c8236cac7" integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== dependencies: emoticon "^3.2.0" @@ -7620,12 +7635,12 @@ remark-emoji@^2.2.0: remark-footnotes@2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== remark-mdx@1.6.22: version "1.6.22" - resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== dependencies: "@babel/core" "7.12.9" @@ -7639,7 +7654,7 @@ remark-mdx@1.6.22: remark-parse@8.0.3: version "8.0.3" - resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== dependencies: ccount "^1.0.0" @@ -7661,14 +7676,14 @@ remark-parse@8.0.3: remark-squeeze-paragraphs@4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== dependencies: mdast-squeeze-paragraphs "^4.0.0" renderkid@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz" + 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" @@ -7679,37 +7694,37 @@ renderkid@^3.0.0: repeat-string@^1.5.4: version "1.6.1" - resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + 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.npmjs.org/require-like/-/require-like-0.1.2.tgz" + 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.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + 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.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + 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, resolve@^1.3.2: version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" @@ -7718,36 +7733,36 @@ resolve@^1.1.6, resolve@^1.14.2, resolve@^1.3.2: responselike@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== dependencies: lowercase-keys "^1.0.0" retry@^0.13.1: version "0.13.1" - resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" + 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.npmjs.org/reusify/-/reusify-1.0.4.tgz" + 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.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + 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.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/rtl-detect/-/rtl-detect-1.1.2.tgz#ca7f0330af5c6bb626c15675c642ba85ad6273c6" integrity sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ== rtlcss@^3.5.0: version "3.5.0" - resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-3.5.0.tgz#c9eb91269827a102bac7ae3115dd5d049de636c3" integrity sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A== dependencies: find-up "^5.0.0" @@ -7757,21 +7772,21 @@ rtlcss@^3.5.0: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + 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" rxjs@^7.5.4: version "7.8.1" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== dependencies: call-bind "^1.0.2" @@ -7779,19 +7794,19 @@ safe-array-concat@^1.0.0, safe-array-concat@^1.0.1: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + 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.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== safe-regex-test@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== dependencies: call-bind "^1.0.2" @@ -7800,22 +7815,22 @@ safe-regex-test@^1.0.0: "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + 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.npmjs.org/sax/-/sax-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== sax@~1.2.4: version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== scheduler@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" @@ -7823,7 +7838,7 @@ scheduler@^0.20.2: schema-utils@2.7.0: version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + 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" @@ -7832,7 +7847,7 @@ schema-utils@2.7.0: schema-utils@^2.6.5: version "2.7.1" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" @@ -7841,7 +7856,7 @@ schema-utils@^2.6.5: schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + 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" @@ -7850,7 +7865,7 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: schema-utils@^4.0.0: version "4.2.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" + 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" @@ -7860,12 +7875,12 @@ schema-utils@^4.0.0: scrypt-js@3.0.1: version "3.0.1" - resolved "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" @@ -7873,12 +7888,12 @@ section-matter@^1.0.0: select-hose@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + 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.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== dependencies: "@types/node-forge" "^1.3.0" @@ -7886,31 +7901,31 @@ selfsigned@^2.1.1: semver-diff@^3.1.1: version "3.1.1" - resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== dependencies: semver "^6.3.0" semver@^5.4.1: version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@^6.0.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + 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.4, semver@^7.3.7, semver@^7.3.8: version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + 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.npmjs.org/send/-/send-0.18.0.tgz" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" @@ -7929,14 +7944,14 @@ send@0.18.0: serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz" + 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.3: version "6.1.5" - resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz" + resolved "https://registry.yarnpkg.com/serve-handler/-/serve-handler-6.1.5.tgz#a4a0964f5c55c7e37a02a633232b6f0d6f068375" integrity sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg== dependencies: bytes "3.0.0" @@ -7950,7 +7965,7 @@ serve-handler@^6.1.3: serve-index@^1.9.1: version "1.9.1" - resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== dependencies: accepts "~1.3.4" @@ -7963,7 +7978,7 @@ serve-index@^1.9.1: serve-static@1.15.0: version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" + 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" @@ -7973,7 +7988,7 @@ serve-static@1.15.0: set-function-length@^1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz" + 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" @@ -7983,7 +7998,7 @@ set-function-length@^1.1.1: set-function-name@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== dependencies: define-data-property "^1.0.1" @@ -7992,51 +8007,51 @@ set-function-name@^2.0.0: setimmediate@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== setprototypeof@1.1.0: version "1.1.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + 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.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + 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.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + 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.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + 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.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + 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.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + 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.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" + 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.npmjs.org/shelljs/-/shelljs-0.8.5.tgz" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" @@ -8045,7 +8060,7 @@ shelljs@^0.8.5: side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -8054,12 +8069,12 @@ side-channel@^1.0.4: signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + 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.npmjs.org/sirv/-/sirv-2.0.3.tgz" + 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" @@ -8068,12 +8083,12 @@ sirv@^2.0.3: sisteransi@^1.0.5: version "1.0.5" - resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + 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.npmjs.org/sitemap/-/sitemap-7.1.1.tgz" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== dependencies: "@types/node" "^17.0.5" @@ -8083,7 +8098,7 @@ sitemap@^7.1.1: siwe-recap@0.0.2-alpha.0: version "0.0.2-alpha.0" - resolved "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz" + resolved "https://registry.yarnpkg.com/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz#75a0902c10a8ba5b4471f40e4eafb0afb2f8db59" integrity sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA== dependencies: canonicalize "^2.0.0" @@ -8092,7 +8107,7 @@ siwe-recap@0.0.2-alpha.0: siwe@^2.0.5, siwe@^2.1.4: version "2.1.4" - resolved "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz" + resolved "https://registry.yarnpkg.com/siwe/-/siwe-2.1.4.tgz#005a8be3e61224a86bd3457f60fdaab626f2d1d4" integrity sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg== dependencies: "@spruceid/siwe-parser" "*" @@ -8102,17 +8117,17 @@ siwe@^2.0.5, siwe@^2.1.4: slash@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + 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.npmjs.org/slash/-/slash-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== sockjs@^0.3.24: version "0.3.24" - resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" @@ -8121,17 +8136,17 @@ sockjs@^0.3.24: sort-css-media-queries@2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz#7c85e06f79826baabb232f5560e9745d7a78c4ce" integrity sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA== source-map-js@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + 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.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + 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" @@ -8139,22 +8154,22 @@ source-map-support@~0.5.20: source-map@^0.5.0: version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== space-separated-tokens@^1.0.0: version "1.1.5" - resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== spdy-transport@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + 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" @@ -8166,7 +8181,7 @@ spdy-transport@^3.0.0: spdy@^4.0.2: version "4.0.2" - resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== dependencies: debug "^4.1.0" @@ -8177,37 +8192,37 @@ spdy@^4.0.2: sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== stable@^0.1.8: version "0.1.8" - resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== state-toggle@^1.0.0: version "1.0.3" - resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== statuses@2.0.1: version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + 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.npmjs.org/statuses/-/statuses-1.5.0.tgz" + 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.4.3" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.4.3.tgz#326f11db518db751c83fd58574f449b7c3060910" integrity sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q== string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + 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" @@ -8216,7 +8231,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 string-width@^5.0.1: version "5.1.2" - resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: eastasianwidth "^0.2.0" @@ -8225,7 +8240,7 @@ string-width@^5.0.1: string.prototype.trim@^1.2.8: version "1.2.8" - resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== dependencies: call-bind "^1.0.2" @@ -8234,7 +8249,7 @@ string.prototype.trim@^1.2.8: string.prototype.trimend@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== dependencies: call-bind "^1.0.2" @@ -8243,23 +8258,30 @@ string.prototype.trimend@^1.0.7: string.prototype.trimstart@^1.0.7: version "1.0.7" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== dependencies: call-bind "^1.0.2" define-properties "^1.2.0" es-abstract "^1.22.1" -string_decoder@^1.1.1, string_decoder@~1.1.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.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + 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-object@^3.3.0: version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + 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" @@ -8268,48 +8290,48 @@ stringify-object@^3.3.0: strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + 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.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + 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.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + 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.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + 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.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + 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.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== style-to-object@0.3.0, style-to-object@^0.3.0: version "0.3.0" - resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== dependencies: inline-style-parser "0.1.1" stylehacks@^5.1.1: version "5.1.1" - resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== dependencies: browserslist "^4.21.4" @@ -8317,38 +8339,38 @@ stylehacks@^5.1.1: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + 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.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + 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.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + 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.2, svg-parser@^2.0.4: version "2.0.4" - resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== svgo@^1.2.2: version "1.3.2" - resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== dependencies: chalk "^2.4.1" @@ -8367,7 +8389,7 @@ svgo@^1.2.2: svgo@^2.7.0, svgo@^2.8.0: version "2.8.0" - resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" @@ -8380,17 +8402,17 @@ svgo@^2.7.0, svgo@^2.8.0: tapable@^1.0.0: version "1.1.3" - resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + 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.npmjs.org/tapable/-/tapable-2.2.1.tgz" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: version "5.3.9" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" + 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" @@ -8401,7 +8423,7 @@ terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.3.7: terser@^5.10.0, terser@^5.16.8: version "5.22.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.22.0.tgz#4f18103f84c5c9437aafb7a14918273310a8a49d" integrity sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw== dependencies: "@jridgewell/source-map" "^0.3.3" @@ -8411,89 +8433,89 @@ terser@^5.10.0, terser@^5.16.8: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + 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.npmjs.org/thunky/-/thunky-1.1.0.tgz" + 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.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz" + 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.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + 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.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== to-readable-stream@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + 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.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + 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.npmjs.org/totalist/-/totalist-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== tr46@~0.0.3: version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== trim-trailing-lines@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== trim@0.0.1: version "0.0.1" - resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== trough@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0: version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^2.5.0: version "2.19.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz" + 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.npmjs.org/type-is/-/type-is-1.6.18.tgz" + 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" @@ -8501,7 +8523,7 @@ type-is@~1.6.18: typed-array-buffer@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== dependencies: call-bind "^1.0.2" @@ -8510,7 +8532,7 @@ typed-array-buffer@^1.0.0: typed-array-byte-length@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== dependencies: call-bind "^1.0.2" @@ -8520,7 +8542,7 @@ typed-array-byte-length@^1.0.0: typed-array-byte-offset@^1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== dependencies: available-typed-arrays "^1.0.5" @@ -8531,7 +8553,7 @@ typed-array-byte-offset@^1.0.0: typed-array-length@^1.0.4: version "1.0.4" - resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== dependencies: call-bind "^1.0.2" @@ -8540,19 +8562,19 @@ typed-array-length@^1.0.4: typedarray-to-buffer@^3.1.5: version "3.1.5" - resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + 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" ua-parser-js@^1.0.35: version "1.0.37" - resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" integrity sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ== unbox-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== dependencies: call-bind "^1.0.2" @@ -8562,12 +8584,12 @@ unbox-primitive@^1.0.2: undici-types@~5.26.4: version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== unherit@^1.0.4: version "1.1.3" - resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== dependencies: inherits "^2.0.0" @@ -8575,12 +8597,12 @@ unherit@^1.0.4: unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + 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-match-property-ecmascript@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + 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" @@ -8588,17 +8610,17 @@ unicode-match-property-ecmascript@^2.0.0: unicode-match-property-value-ecmascript@^2.1.0: version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz" + 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.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz" + 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@9.2.0: version "9.2.0" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== dependencies: bail "^1.0.0" @@ -8610,7 +8632,7 @@ unified@9.2.0: unified@^9.2.2: version "9.2.2" - resolved "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" + resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== dependencies: bail "^1.0.0" @@ -8622,55 +8644,55 @@ unified@^9.2.2: unique-string@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== dependencies: crypto-random-string "^2.0.0" unist-builder@2.0.3, unist-builder@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== unist-util-generated@^1.0.0: version "1.1.6" - resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== unist-util-is@^4.0.0: version "4.1.0" - resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-position@^3.0.0: version "3.1.0" - resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== unist-util-remove-position@^2.0.0: version "2.0.1" - resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== dependencies: unist-util-visit "^2.0.0" unist-util-remove@^2.0.0: version "2.1.0" - resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" + resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== dependencies: unist-util-is "^4.0.0" unist-util-stringify-position@^2.0.0: version "2.0.3" - resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== dependencies: "@types/unist" "^2.0.2" unist-util-visit-parents@^3.0.0: version "3.1.1" - resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" @@ -8678,7 +8700,7 @@ unist-util-visit-parents@^3.0.0: unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" @@ -8687,22 +8709,22 @@ unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: universalify@^2.0.0: version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" - resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unquote@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== update-browserslist-db@^1.0.13: version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + 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" @@ -8710,7 +8732,7 @@ update-browserslist-db@^1.0.13: update-notifier@^5.1.0: version "5.1.0" - resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-5.1.0.tgz#4ab0d7c7f36a231dd7316cf7729313f0214d9ad9" integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== dependencies: boxen "^5.0.0" @@ -8730,14 +8752,14 @@ update-notifier@^5.1.0: uri-js@^4.2.2, uri-js@^4.4.1: version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + 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.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + 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" @@ -8746,36 +8768,36 @@ url-loader@^4.1.1: url-parse-lax@^3.0.0: version "3.0.0" - resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== dependencies: prepend-http "^2.0.0" use-composed-ref@^1.3.0: version "1.3.0" - resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz" + resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ== use-isomorphic-layout-effect@^1.1.1: version "1.1.2" - resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== use-latest@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2" integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw== dependencies: use-isomorphic-layout-effect "^1.1.1" util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== util.promisify@~1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== dependencies: define-properties "^1.1.3" @@ -8785,47 +8807,47 @@ util.promisify@~1.0.0: utila@~0.4: version "0.4.0" - resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + 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.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" + 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.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + 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.npmjs.org/uuid/-/uuid-8.3.2.tgz" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== valid-url@^1.0.9: version "1.0.9" - resolved "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz" + resolved "https://registry.yarnpkg.com/valid-url/-/valid-url-1.0.9.tgz#1c14479b40f1397a75782f115e4086447433a200" integrity sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA== value-equal@^1.0.1: version "1.0.1" - resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + 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.npmjs.org/vary/-/vary-1.1.2.tgz" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^3.0.0, vfile-location@^3.2.0: version "3.2.0" - resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== vfile-message@^2.0.0: version "2.0.4" - resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== dependencies: "@types/unist" "^2.0.0" @@ -8833,7 +8855,7 @@ vfile-message@^2.0.0: vfile@^4.0.0: version "4.2.1" - resolved "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" @@ -8843,7 +8865,7 @@ vfile@^4.0.0: wait-on@^6.0.1: version "6.0.1" - resolved "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz" + resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e" integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw== dependencies: axios "^0.25.0" @@ -8854,7 +8876,7 @@ wait-on@^6.0.1: watchpack@^2.4.0: version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + 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" @@ -8862,29 +8884,29 @@ watchpack@^2.4.0: wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" - resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + 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@^1.0.0: version "1.1.4" - resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== web-streams-polyfill@^3.0.3: version "3.2.1" - resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" + resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== webidl-conversions@^3.0.0: version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webpack-bundle-analyzer@^4.5.0: version "4.9.1" - resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz#d00bbf3f17500c10985084f22f1a2bf45cb2f09d" integrity sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w== dependencies: "@discoveryjs/json-ext" "0.5.7" @@ -8907,7 +8929,7 @@ webpack-bundle-analyzer@^4.5.0: webpack-dev-middleware@^5.3.1: version "5.3.3" - resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz" + 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" @@ -8918,7 +8940,7 @@ webpack-dev-middleware@^5.3.1: webpack-dev-server@^4.9.3: version "4.15.1" - resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz" + 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" @@ -8954,7 +8976,7 @@ webpack-dev-server@^4.9.3: webpack-merge@^5.8.0: version "5.10.0" - resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz" + 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" @@ -8963,12 +8985,12 @@ webpack-merge@^5.8.0: webpack-sources@^3.2.2, webpack-sources@^3.2.3: version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.73.0: version "5.89.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" @@ -8998,7 +9020,7 @@ webpack@^5.73.0: webpackbar@^5.0.2: version "5.0.2" - resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz" + resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-5.0.2.tgz#d3dd466211c73852741dfc842b7556dcbc2b0570" integrity sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ== dependencies: chalk "^4.1.0" @@ -9008,7 +9030,7 @@ webpackbar@^5.0.2: websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" - resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + 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" @@ -9017,12 +9039,12 @@ websocket-driver@>=0.5.1, websocket-driver@^0.7.4: websocket-extensions@>=0.1.1: version "0.1.4" - resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== whatwg-url@^5.0.0: version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" @@ -9030,7 +9052,7 @@ whatwg-url@^5.0.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -9041,7 +9063,7 @@ which-boxed-primitive@^1.0.2: which-typed-array@^1.1.11, which-typed-array@^1.1.13: version "1.1.13" - resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== dependencies: available-typed-arrays "^1.0.5" @@ -9052,40 +9074,40 @@ which-typed-array@^1.1.11, which-typed-array@^1.1.13: which@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + 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.npmjs.org/which/-/which-2.0.2.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" widest-line@^3.1.0: version "3.1.0" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== dependencies: string-width "^4.0.0" widest-line@^4.0.1: version "4.0.1" - resolved "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz" + 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.npmjs.org/wildcard/-/wildcard-2.0.1.tgz" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -9094,7 +9116,7 @@ wrap-ansi@^7.0.0: wrap-ansi@^8.0.1: version "8.1.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + 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" @@ -9103,12 +9125,12 @@ wrap-ansi@^8.0.1: wrappy@1: version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== write-file-atomic@^3.0.0: version "3.0.3" - resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + 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" @@ -9116,54 +9138,59 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@7.4.6, ws@^7.3.1: +ws@7.4.6: version "7.4.6" - resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +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.npmjs.org/ws/-/ws-8.14.2.tgz" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== xdg-basedir@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== xml-js@^1.6.11: version "1.6.11" - resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== dependencies: sax "^1.2.4" xtend@^4.0.0, xtend@^4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== yallist@^3.0.2: version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + 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.npmjs.org/yallist/-/yallist-4.0.0.tgz" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: version "1.10.2" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + 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.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== zwitch@^1.0.0: version "1.0.5" - resolved "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== \ No newline at end of file From 1acd567fc722a98ab957eb90a6001ccb943b6428 Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 5 Dec 2023 17:56:34 +0300 Subject: [PATCH 101/627] fix: 'getlit derive-pkp' in CLI docs --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index dd8f9490..c74864f4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2253,7 +2253,7 @@ "@lit-protocol/constants@^3.0.24": version "3.0.24" - resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" From 3f143bfa68dbbac0a3520ff6eb674083640e967c Mon Sep 17 00:00:00 2001 From: Furkan Date: Tue, 5 Dec 2023 17:58:46 +0300 Subject: [PATCH 102/627] revert: changes in the lock file --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index c74864f4..dd8f9490 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2253,7 +2253,7 @@ "@lit-protocol/constants@^3.0.24": version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" From 43a88f3d8014270e4d84f920475d3aa74311bd8b Mon Sep 17 00:00:00 2001 From: sarahzdev Date: Fri, 8 Dec 2023 15:58:31 -0800 Subject: [PATCH 103/627] feat: update meta --- docusaurus.config.js | 1 + static/brand/docs-og.png | Bin 0 -> 650887 bytes static/brand/docs-twitter.png | Bin 0 -> 624794 bytes 3 files changed, 1 insertion(+) create mode 100644 static/brand/docs-og.png create mode 100644 static/brand/docs-twitter.png diff --git a/docusaurus.config.js b/docusaurus.config.js index 5a2fa42b..dbf80e47 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -87,6 +87,7 @@ const config = { // textColor: "#fffff", // isCloseable: true, // }, + image: 'brand/docs-twitter.png', navbar: { title: 'Lit Protocol', logo: { diff --git a/static/brand/docs-og.png b/static/brand/docs-og.png new file mode 100644 index 0000000000000000000000000000000000000000..bd2f8a381c6bb193f21d5209e5110e42801922ec GIT binary patch literal 650887 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%0AbEOY^7*Uf@Fx2FR>l4oGhcW<~ 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

AckzK|=SHp0lc5=Azu| zzZ3txjp__#*;Q?$v-Qu~^EnKuFXos%Wl(I*r9S(0aqqW1>mS|J^f^NEIujbwxwADb z{fAWLSSCfz+pwawz5YA;FeT3d!S7Sm&IG66GxMPmhZ}gkL<)2wfXBRuENBuFKDtNG z{L_Uh!zKdUZg}e>E&cnQ)5|UQ_;*vodc$*qSrX-nNCcoD4(B*Vo91a5Tn^!r85{n5G zxyR0fu&*DlIKFfJg}H=CyE>+Fe(Q^s}h5BYV~I=W~_#TwS$w+aZ-oW(aro%V|fhz=e8MiuYdPb?#3J5 z@CN+KFa6@!F8J2Bz3n(%@Y)G=NqMbi#MP1a>N4_MU0E(HO5|?I+)Lv2tJ&GHNb*w# zVYyFY@eQr(+|aQC7N?s?TU1HK6Fkh#7e_|4Zwq>f_Pi4byDW6zz$e+i z6anPgJr?RVUuj!vqs!wSonp9WR1|a}!mQ{rU5FUU*SQc6n?2B+`Zw+PY+o09F3Vq- zL+ipLbFeP4RPzBZtkX%RaY~uCIgJQ8)l*r*j&*~X9j@DJhZw=VJMqmPE%*fyIV zf&sga#|4tannm|q?0NJL%bd;d0A8c`{AxNvq{|}7=p!CeI&6UIJko$W^zXJc(xo|d zu|)GaKXcq+3k_K}XO{7Lx~O%>SJ)1Q|DBzUSm@>WpL3kqc3=xIop2ql?g<{@*x?Jr zwj5T@P&{^|j96aQH%Aw9Q_k0%Gmii~_FOJ7(Hc&;W5daqn{vNe@yWqbV5rIeXHR=` zw1ha5gr>;D1f#%ZJ2MNN%>I2&&TvNS`a~kpkmK8vizDdY@vXExth6DCVj$U1#AQ692~mRV z%V19cR{9@^fsk6 zy>w$lT4;qveLJ{Aal=8D8wp!)xWlxlHl~6v2I+(cn9-yU5W0-nKM95Nwo-3IOXW?j zjd7VT!o%6+MlSc?ND3ijxy;!oDlhmLq8V;Vns6(>D-Jrug-?%g!Nv2)hIx>i)_Lu6AQwkTFWGqS z3nYH4tWjiJ!5NBWr?H=~7celaE;k4!WrI=pd9spqHThx@j=fO3e>+7kTux6A^w{mF zG^4qRk5m5ldY!*X$-m~Wy&8Y(Z~e^?G4&^Z`lr_mgU^j5>@z|8wG-+xom8IhDjZr@ zGy1BWL`d5SXY`dVLVT;B(n}d~5X~JcH{hXBKW{#Ni3!J8 zR0-%lAwF#SV=_{UF4!#bINO)rBdhX0U@JZ%5OgWXu=od0ETYfJCA)PipoHu? zOJqs|kDlP1UB`3IU&WCrPLOjMRr`0GZd)1vZi@!Sr(T?J1Z^tuvJ_rSM}pcGr!mp9 z{FdWAu2+8lEAb!v!{5SR{f_UzqmMj_&wt_b>fL0-5-iG!B44D^Q;d@$GYIK3H5!ly zEg)r4=tl`zX)q)D=+RS*8+Tj`obS1|0QD947Rg**l5p$>Fz*0jo1G>HXzdvowmlNf zrk!#nqLPR~-SOzMTTW<~$8NYUK~%w^rg*$9(5KVF=;Lr2OLDRoTJ@TM+1aRAV?|$h^ zae3?3aAa{OIsIB_BiH{pq0!Pp)Vk@}?e3M|W@rR06CZcmI_WR#hT{$EOMBkHwF66*!L38n0z@mPSZdsW=cqRZryTBz5QhB?Y9HW@jW3LLA^@?% znxm^kP!K6?RC3np?MBVw3T3jmrUcwt>WEVhNWh(Rkhf0^LN-fW?sf|kseI!qh+!3V*SaW!zdQ z7-y!9dFm8+61zh%^+(>-WGgmulR)YW^S6w)A!<3nA65ad&|Ci29R4{kX~Mh{@&ose z!T+I;rSVKY#aU%JYe?1`lYL~Vz_Td@0c%uRem}})wh1W`OQ>CdWs(woFslw;h%%+0F`Y|V)d=rVhEn){9%O_U7r$ct7Dzt zWE9-F{^DHW;OX-Y&?1cG1?r-}{+3}?ei452 zZ~jd@|M}0upZx1T#m7JKaoqa)*XeY@s}V_c>o`&Ha*xvmN3_*db!N?NhV#3Q{8v-Y z@8b=-C2xo6a|7P#%GWUSbh~Pwa3vTf-Y^6}*sH6)MIs1L{3zFSO* zPqjtZ9RJ;Q*IoF5SAIVpdiWvy!q5F2Uh#@o45&Z)v5(n2CA_+u^(0brWQoIVTi86; zRl@FRqQFs4F?K<58o9&m>!6g=Tr%m%N%`W!5~cfpg6aq}gbKCgTS|FLlt;GlJZ{@EVz2-Y z+A{u+lFGEscmM#7oOB(Pv|em~ojeq|$egClsnyq<8%4VHEr2mkih}bZQwsA=!nXB) z^1peOX0E$A06zI{^z3$_>N2M($@3m#wtvq^D=~a%f@k+w=nTDKxD%_d6}LyeM7`EW z^5B;r#6u5#1uuHxi}3Q7zYGsQ@-QCy%2%xaq+KcFV;*(cgCZBaz6s3KK_ZQEYWcG( zWKLs$A=aX=q^^^n_n`1sa%YiMpgF6g%<^Jf7tf{$toSTKB1JMUX62^QHDHS( zZ%8BE-0sWCcNQ)LpHlyAPK5p|FJq#9!dnZ!b={y+t(9(QG3x>+6Q36|evqY0{gfVO(+y?=elw#drEbP{)(}## z!N@@)jO(?%z=WLjEg2>%o!E>fT+p92PDK@NY?kWaZ3BuFR&EqPP9mYEyvPZBf_1J)E-(iN z);XCd^GA_qR(8P?%^f%@RZal&i{2cc5{)c>%QNZi5k^^N4svKwT=AEgu3|(^kqZ`z zFu`M!gH$$kjkHc+b}(VFp=25^S%xY^>MqL)C`g`X-VfVbP!^_luD|$KB^Nmnzr2;j ze{0qyIa>^EFkMK|`2f)@^Fn{l^v5uQ3fV&z)8Wi_mYF8=bLK)?U0Q za)wAl1Gf<`SyoP-;f8uA{U`t92L1;YUBKV3|2^Xw&%AbA{m<~%e*DMr?)SXs`rmu; z)#G$Qb6Q9>4C3K$o41^GauKtGN(mn`{!3>%gQ{j@%dzLfpB%9kMQ0Fkt6R6?JL< zOc3X?SGH(z2;dr#fi_VSu41FRp0TYuVH+sG_962Wh>8xZY>1Qkln7XSZQ{-nTVdLQ zn-+eBU!}-#_Pmk@^Z;3&9;g#q;A=Brx~c5{dkCT{l-)cy6nc`DiZk z7@5Ox^R03!A?K4vatN~x#kpNL>%~cn;w7}>Wtc5TE~%{R^Nygi!Cr2=7F(&d$6G^- zJw^NnEmb~PiRbZ>JN!f1)+1ZC;^Qb za}bl(8C|^I1DMY;Dfkz>lTU=5LLDExY7BQ=B3l@TBa)aUXJnUtR~Xis^3pQLi$}u z)-N=K2D8MvbuDFOq}CW)2(=UtoNcFKqYte-FNB18DvH%Pt}V1(;RPk}%y~J@tu+3e z1=rHK1_*guk{A;SW#rL_NNrL?cu81^E0~9x;m#|vaCUWal9O_!Kae1#ew|j*46gIB zj&<#zkPhKgNw_kM#bJY+2u~U_qLeGfg`D?)2K7X-(o>*WE6WtPanEh>8&TjK_uQv+ z1}h4_(nxtO(kPB$)RY*dSD|MLy$O-acng)n4L>(bsv}mdv?lGWjGq4pLS86x*KWXs zKw>2-y)1tw0-45)IH}|0f!aGMl{yIqPxf=_wms!hx8@uNsDj}`7nn0{wX?ec0YNB z@1>*Th6e6jf1$3F1O7Xn#9S6;ta>}9H&_(;Hd_+!vwf+QrSv?^ z0_|{3Abc?sZvg#Y=v`|i8(lRxnj z_~l=EBfj+IFX3%(efu!*eVgE=MNnN0N7g<+_Zf9HBCIZF4y;JxemS=aUeRfU({Y8d z$U44wV&FtgE<~gd3M_Fi>8PN|c~6@4ow5dKRA;i*>55+fBA`IvO3}28u(Y*6B~XQ2 zaEUE4U8hR5vr_*j&}Lha`8;8hND%G%mm-1Ehz$McwglUxCszRPTLlx7rmP67k<5M| z!C&~g{>m{O4w60Ea%acfOUDVe87>d7-(0pp%t5B)aG9eYw6Mv_Q>eM9M$&9WN&fBV z`s!D|il2MK>+sQ!erzmazxc&3;-eq?IKJ}GLwNOH`*FPPXMc8VE&RkMJ~^8=zVy@l zm|eYlmse@)HC^i1qDhafq?Ef!xh-wvB}vyJ%~{I>gv)2d_sHMo@=`NsAfk{o#Z1gK zo$@%#GVK{GC(%OFDebm^+oSXTn9~gSi^Bjq$NKMZB!PLta5`a;j)92I3I)-e&2+Ey z%%q|yIIR6hl`-)~kAg9ZqtkFq@PK+ACtpp$mpj7UfzCQr?Y`FaL%=B2ehVEPG6Jqo z((I+?#YI4KNQ_fJt-Yx9}%u^T65~}0;9&l8AM;#41LSYJZ#q3KE^Qdw} zuRFO8o<8zpJ>!|r#4En<`*3k_F_OIBx^-FX5G2L|Qii&g?X_@23pg#qV+FP6v@JK3 zt5jQOAt$*?25>3Xks+VX0-m}bMr;dVt6UbFt>b`OD}lI@>SzPC#r-(oPRNCnE+LFC5f&D$gV2o=eK<+ zPop8>sf`c9n1FlR6E8Ul0x9La<;qgY#7Wp{Q&!&=2G~|l9}{14^83UQ>vO-{tHSIA z2qzfmspoWY8RA^5P;*Fn?r{41QSkzuz-~fE9oRCDr!WZjb<$sqCC9C#AixHRoV49n zp3eS62HLyoeK(PiqLn(^vJXi+mE95@A}8%BiVQxJtEp0? zl<9QMB!H#_p2pEQBs29Sn?>s z(hO4OFD&8o%xakJCHn2M(_z2~e|Y(HRQG47I8c=Se9I)EC7zx0|LyxY{cZPN^XgaQ zH~-e(94BGD_1bau>Cb#-81#{lowf(E^Xhn}cEaG5`qsf2apiBl5649~s??&cKym^3 zL-pLw@;UZ}QxW;m4$U>qFQY~Xzw`S>Hnf%n6K@qNi$kQ`p7&-Hk``y&24BGT97Yi- z042LlihbmHVT#@`dOo)FTx=IIwj4qt(m@)5Ob5yU)VC$sJn+`6dGe#!_EIIi;@@+geXWr^EGe*b=B@Hm`W(mU z@C1J3M_x5@;yiM_fb}i0$Ckp6eDtIE%x6D`A9>Xe>@oPtx%Mb5sG-W5% z&2h~~8_B&RDltxAV-Sz;8?F1Gg(vKA&2TJvgiakRBDDtVRko{n<`w+h>3lwk7s*B< z)j{fX-gl8$n(gMlL{v|tdh9OO?LEBk5dngPl0g$JD0h+2sc9X=`bawibP zo;SE$_VAj`9ZYcmf;+DW_@r@!Q^oa5My+iG$2LU&R`g^zfAnH(kJYS?|#4EIbIiEbe}N&U^`H^Tk4ZHvsap$6VGBNqr~Lh#RfG40CR1Bn)FDG?$yct|UW zI00#vISwIt@S6AUyYD`{^t-+bw=QRXESus*_VZPFDsglAT(LZ_DGFjP88bM0VLnZ6I&YPq`!@`B8goTaTAVb+Cc;%~BR7JZUs>vm_wNY`= zztuNky=))*c{?H53ASiH%PZ9pp}DYvvi8&G8#Gs{Ocx+LWL?$s-=*1`@Wd7b^O4_K zaH6CrlIm`XPAYE`dhbRY;mTtgg`6;k!-OKRx#xw}PkLV=r3PbUD-RQvkSJyqZP-uKC8KmYmRgv!$aGlJ?^i0_er zeI{Wa&MKWwteKR(Z5iAV^6hwj+?&pc9iZgGM|nZg&l26u-&~H3dD#QSaUb62syoUt z?+rn$E8NMk+i8Dp)4F{ddW3{rMCQBRP_@&yrX$6-Xoa2+e&VQoDUcQZ8%dw0l^FJ4 z(9KP9+3;bW!DHKle zHP*=)*|8%Xo)_f&;eZfvx}hyzY`a@WDN_sw6349p|MuVcJGkpFUEo6>`pDQ8yJIhm zbrikl+rAC2c=`9?X-|JD{@dUFCnF!6=eh#PI5ox<NIl)3bLTg>o0W)}t7_jG0+(I$hxoHmdD_8Hf*QAk_k8bEuLQWY^i|A7l=Jz0^~ zHk1EROi_n%BOFD0BpbP}#DTZLxvo|^8)N9}-v)o7&mmqk@Cbt6u_Vm@nh{22p4@KQ zYxE>&-Rt<`eq1(q|B=s4P@6V8Ibcw-7~D+{aL*(AetN$k9lrIjnPEWFA-sYqZBsEdMIB4hZK} zsV4~!+3sf$mkF>dP9fx`cw%Mwix_AQL~1=&cq9~a5~xbl&Lh|9BUC3c;k(wV zq!LP;hU40$P902ZA7BB6FhdZ1TS=;3odV1e&AH-z3lFGv?)@%pp*gQ4Vc~6s?tLcU z%2uYcOHaUIkhR@V=O{rc=`MsCf3e{ggkS1-J6V2(vGQI3c-xC{UgyT)7aLP3rFQWa zu}(IFpErZo`MdLpE6KCd0~a}Das_G3d9liGgu5cIZgA)ou9gBH%KaUucwSmc!=to3 z0F^erYB;Vv)BTSBV@#go;3yFeH7Qd$hdc@gd<;ULyNNqp!yAV;kUZ$=k2Yp{097T+MBQGw;=iw6cZr zkizqX!E(Zy+W_tybeh>c!eA__CCwiZu*m}LTGS=JpQuGI4!NH7T=bDW*yt@cM-j1; zC-G_R`$E+1W)q&g;8#6av@mUnlraV@w8-5fm$EHT_p}8)I)CzqxZa$xN|OE6s}fPJ zCAOHWkr#^?ZuU2wJif3bw8m+K5*VD(Uk9B;d9sgf!7ILaO8%UB?_xOI1|5-^=8-}| zEH|BJAP42q=Cu=6Gnx&#NZTfJKlgdh#drLbzk*MF=F@qq<~|P<7&+Xo+xq&~zK&0Q z>XZ2FXFrEmz3Nr?`8T`)U;WzG@JZWR=%D$0vTe9+Qsf**5FQ`9IaNIBv(5*CMuXOn zTkR0zA?KFUb>K%LG5FSG@^m6cACl{W#H|KB5$HFc1>=3|FH6&xQ& z@P+Z~*jD(or#)>%V;%CK%IyS^uf^VhtkPA^YP(Y@xXs$ja;0spzY{VkO-nX{RJl@U zz->Aq`7xdq{`a=(_>TwGfz>f$*Cxr}5(=b(la2DiGKDzTFSU%aCt;Dp0L*004f)k* zl;A;OdajllCNV1oGh7Hrmd^sp&(07P!_|e5Km<|XifZfIA+DDe?hO+pXz(VIIvzsN zAy8kt;j%=CDQMILh=Q!TRMW84Ttc!1#wWwPw$IGjm|xN{ zsy>LKxe7UP#cZ8$*rug|<1q3KVWlLc?U+Y@E3nYFbs&igETq$Di|Q{k(FQ6`5T%{k zT4*dJojJW|8~Ze}Di}&%=ui|IqSFpmJ`W`!1uzlNJc8(5u}+S}_8%<{bV=Gu>R7%{ zwx~F2;+R0wQa`H*gAeI^=AR4y>srR!F=th5DddDxMb0qI%yJ9O_TR3iB^N?m=J*-u z6|6fJA2Gkm^U880`Bl3va5;U(>UXXu^;LNOgr?8vfn`qlO>Js#&E<(Q={MO2=R>ft zi-!w$TYC$?Q2T74MRSX&kjmz*jm2!x^L8SVO8RrD^`iid<97VdpmhG%tbg!-mF2kd(*kcD3;N4+SY29Pt9iPhhQrF8SC~$!;=CHs9WnW) zeL@AamzwtIhy*dYEJgZ~j!asT#Xc1ArDNVtRC_)d>QEA%iq8$a2yk1;V62V{w#!@| zLSvqj&Ljmb+hbB+IJraSh!V&Jg*!6#gwJV{7H^p=%Uv05@mM(Tcy@t|WsdR!nxC>Z zu$ejj@cIO$2T9DUrejNTY;H$v5Ssg3jD^i<2FYgqG2Xq-jM~dZwGYo{TIA$~-u3rq zJ?ohx3h~H;b;YXl1m$ zQzC5`FoP;gIqpLqY1~_7MXf7~tOU||RoCzF-Ip>x{#}dA9#Nt@ z1w=Sb<^U7pnz-^oRi~EXkw?FZFMR$Bc*fJ8jvxHN9~d>i@P*HV^+~ix-&5xKy+VNt zepv=Dccec{zd;HBSzz$7F+DMKy`B&cgW=~nXt06oDRW?z$26?<5*FUQgnRO-b}|ct z;Za3{)D0#rGtXXN3FV?Gg-X9E9}4{3Z5aesgAX8O?o*cEQyHe1*AB;murmx2&{R&! zJp;U~#u|{&^6UH($TEKEMF=9T1QZf45$uA13EUH72IQR7(TSbt!Et#W)k5G3+W0kL zv(K}kr9tO3A*F4(UEe-b>OWr}5DgPucERF;IfNA|I#G;edJF6SsE?>Xx6#G~R(cM+ zAiUemHxPo)3YIZ zkLZZO>a;z_l13*q6XBMwb10{1$(=ko1HBO;esHG+KU1oI=lVD2Vh5Fy3ds4^xF?NA zd{N6H%L}_4aoNk-cl>r14BD*yBic(|nf_o&TJFM=!1MN*n_2uv^fSmIbgs4%7KcZw z@#FY)L*CWr>h`93a z=BV=RfYY&cm0Jj}cH1_1Wm^d6*5`Cu?Xf_Z4hwRS3Jc5T)EIi3s~ai?{_9)p}w8)J_hx01L-_IZ5n5e2qa9U@ZAN6?hm@45K& z#eO=$e9LKB;2N^k>=z2iD){$wvq2w(yD;TQUfgrfJ@}#Ph3W@B@PUy7XXbdj9Fc~@ zk!$qsTV#($zIN@j`tV0SIwF{U>e?Cn@|S-vKJcLr;j7n+-@uY2E?oYV#lFvH)0+bW zw#`j>-bvvGKE`|%1Ptdd+q1d{LhAe(9v!|clXjld)5MuMLHnFUS(49NUB2__jbYDg z$IToM^WahYqHTcjzNFYaJ@-*4 zy7l5RQ=}HZxc8|?5_eCGwXl)UD!(Nw1Q&v za}tTtkU=wIj=1#hYrxzqbv(#PnGRR89!~{T!g@w-+ydjcL>~bK%WFTn7}ldMQ;QR? z0WZW5@m5Bv;gx>)tlMI7Mpl(r4)y zQJ!6&1vEydAn3fy=~>Vy&Ye&sBog$nyz^i12S=gNo_nEsb|ZB~<?9akMH}vb}9hZs1lv7Imt!&n4Kgvn+KcvmM1Hg1Cbhjgg064z! zmc0Tm-;$G>{H!|IoepLmgL66HC@iS~J6`SQxr(cj&KLhu4BJV01vOq4Rop1qRI%7l zZii_SCr%8KIZb%1^7PL2WW0(vDg3g|F*~~aw;PSw4!`-WG%h5=hFhA6)kQ0CuB#gy zi|p#6LYc-9M&Z(`@zats>x90gmu);qg>WjO=-xU1cc4m1rBGdkiF#&HKX(j}k)Ky~lrdZ5L(_Xgcc@VebMt_b!{l7N+O@ zGi1~zB#Q(;^;18I2j2aj;lR4G=qry#^ewR?3Tro~tu1_yEk^JE;0N%Or#uC}{%gOA zd!KzTK7H*Je)Ox4=4_~Dl+l>Zn(W2t9~?k4zrWAd_yq;sK&$T^M~^`(S+Ukf<(zwaB_ataQzpC3dzrhc&Y|4M|6YD8#uD>C>qZwl+r@==WZRH| zTU83I0wFA)2tN$W={-TQqc!pC+bu__je0RBT-iPtQo&_nwawjzT-QqTVh7tSUk|Tv z*p8^v#Jfe4*#xmXL$gI4h;+yastb*yfvY|2&a5nn!TS$>`9ZzbmGV8`^F4U}^Ph{) ze(rO)ymd(!Nz7=Y+l~Thzbau<*;JA7yy8h0dC0WUVFTM*OaqOUNy}J~^uHAN?7F!3 z+n)80_--HcV|OB@J3- zc&u zpM7+w3=W=Vpbk;F5g|ekIw1j0v(q{XIMIka=&aCUIyKgdJl!nuB}pn}Q+5_@5ss-z zIPEwdYda{yAc$WXKeato9|sKgCsMvaSp#F`1W(i#1IhHXOfr3?ycFC`hsD2za^i9A zT7+#bKvGdZt}Ey}$L%1U@;|zCxar!c3&Oj!&X?~j0i@oS6P}_m=NtB_pd(?rm91MH zU0yIKm7cvCZW3jT4(X$zdz$SF(LNh=X%mzNykm(fo%dMBc63u zb#St6tBnOkn7_Gm$!IMAMQpnsMWyd`5bL0dp{)q#58u9#tYziZMbuYVnW{^wqg&wS=Hc*i^6iLYG0S>EGR!F}ZZI2={S=W$=J+)<^rh`;ph zg{oJ(>=BWIK?GxAZ%N#J&OP7L+$Odyi-S4FE$F1)C)>py3sU|}XV2JtB)o{qXzI-u zj^o)*Cxf}pWg27p<+tAEl0&t(3GHg9tdWM!msK_5A;;y8fGvIlWQU9&xw>>Gj%;$G z|FT``#_+~)R~(xZ4?TFjSe(OgJVBQljEBwmnQfO{Gr2VDMUOP{D61(mW=lsJW^Xs5 zIIjP@pu9i4NZ*YRcyYD)sclEyV+$+gmUR1>+kxX!s~z+6KlcW_;~no93)AVey{gfN z2aR8O6xMXY`gXjd&o6)JOZe0$KaJ-9eaWqGnIt{)N?|&5gC~7!BwXHS)Me&L zYP=*M{wHdc91$bK$2|{w5X+^<&M^eO{rfD>N!OX*D^9iZ|0MDW3DIGg`o#ZEN86SH zYew2t=c~)bfEh@6kxQm{`#BGO(9(aW5ue+_?V55S`)73Kv+csT)OfR$RiH|}O#IJ_ z5A{PB%KWC&ET8yXr=0ddXWukdJq;Br%m{;R6OMaXyNCWXjM=L%5Rt4g1R?3EXz z`G!Wj7qES0C4WvD3fyqtCymMDthBRA8mv-U@82Ku8Vzwz=e@?ZEs;`^I}Bw&^a0%D z#6k4K5g>WLjzUjC*V1;18|op56ePQ)&_Jgp?e#%}^g2lBbG)WRnK75Ko{etBr593% zb%9gr*Ma{H)d;2MCU~u(==7$!ait&QQ+`ug@l|>7>>g016#|af4%~|QJ;tT_bL!@d zofc`7j6LaBc=jAz=k^uUL{~Lxssc-S;lCSLx8+IUL3{I}q*#$k+hqpNW#GN{*7#Zi z@aQ9}x{UPuLfZ$mHOYhuqEAyHf}YkZ>Ck_+>FIOH_Y2<$!k`TLiMbFmR&?oWbx?Ey zx^q35FBfyXNbviGU4Y`$WS!u0GiZ%vs{e_8IspEW(m=W(K_hkQFJ*Q1Q&_llCDPiH zvkthDtQ8A?IzU*(h+^U4G6w2&=Fg(KeQd3npZ)2d#+%>#Cfxe^Exh$DZ=G+B!*Mm8 zRgvH7GNZ6ADHqn|emU$9JAF{D{Io&LXsauoTLpJ@M+CvI3Fsb+*JI&+VW3Y3R~Y_g zNA9-pOFG+*li_08&2|*l-G1MlXts5S^h;GhnH<^m!0bPwQLOEYBR5o$ueL=`(g8FU z{obA|*7f{;z3@43cfq?X%#ksiNXST}sZP^Q5YkN&gu#n+lm+{l{gLei2N}+64!}+_ ziN1vJ>jWGT{^nhr5gKzkGQul!gpEFJo~Lsmw?Mk%DhE+%-tAvSCbZA?#ZE^=qXV05 z-p1y-S$TAGM3>i&ub=*@pTzs#_kMi+*4NFU>nCs8DV)0|8Sfg{oT6! z`n8kzv)6p~S-k31KaAJE?zMQ=yY9y$k34E7f-S%|TKhOp2n)bDhGSMPHsLK=Ga>gT zXEQwNcrK$+2Ppt0Y*m_5a;6Y#Odg7by+y+y87|V)2%?OLRGXc?dpYNqi!D=}@C)6r zKQz~FbdUJod4vV6Jv7IJaFm%O|NA^R{V}a=MV`$6#z}S*;IUm?1WbZlzjEpxn?iE* zIFBA%|EBEoC^#_ALhc-MybWwcgi;+TT+sBS{2_68J{5Eb1C}+npJW+oM5^u!=ZjCe zw=utYgr)#=0ES46f6Do!wbS*#%NPN1=j_{ge7 zactQp*an*nE&-Bippq1rf($|fNotIMAr4I?)z#fKy1V)}@aMWl)qoIl2^g^CyCqw` zN|t2l`_7(q_FD6q^Ojq% zAn`Trm=#WnUlw7XcmEu-mS1?`MSSn~z7-$(p&!Cyk3BXvey=_sm9M~ZUjq_cmQH%X z#DyhwKp#=%8aYV?FUCW39&Vuq=ps6i2*$#=xy-%d&?%GKa5%1y(h@Di^oo5_%d`J*qk`>4X5 zwwHHLb#xlzxs3DwXwQq?Nh^`iCF*y5MUZgCZ?i>h7F-xiLuP8-O!$?$dIS|C-KzaV5N@%e9famd#S6^{sB< zrFz<{tqtazzXiUvPR*)woDka@VyL%BCD%C zb*BBew6w~~r5>Zh)he3c&4CDS1O_qP#F*gnd-}Xb_C^(UbFv4>zT{(pHN<2DuWWC^ zsi&gZQhxANn%88;+E=#&uU~)DYo+DYr#`>3H_e0t_uC}g|6JR?{#-1Suk~d1Lsk-d z?Tea8QWwCby5D#2iXlsxYF3jExJUm5;cg`J<6iw2 z7~cN_@5k@{-~J8W`FGxlKlp<`#Iw&mJNEB5mH-|zryjN?g52*XHex>p=C^Z0_PNJZ zY+@Zt1#da~#P{6iiZ*(_)s_J*rVrtMgK2$t&W>_)gW+Ol>_}P-n`uJIB1@ezw!zBx zT2ES-oG3{8XfU3GDT~=+N_h7remNU9L)k)I_LVxK11Ol-)4kx3xWS`ek(TuN+_#23 zZ+cJ@D*m?%h1TaBM5k{ZONeqhP|}D?0ej3bd0R;*2&};~A^1puM0?vj*>EI8n9!`S zG-un@en4@}SynMa2DP#Fpz~&_Tb%8aNin52lNJ-*5QUPepZ)2d#%DkOIlOY0Y?{jm zW1qK3V9jN+d&>PxV1*7u-yYkD9SP$veBle@{y+b6a*W+F!lr>OTxMes!#Qm8SPO zp0i6>&U)Q}(mP`Y)>)Ntso*CBFYahY*6yv-pH5s0*gh8OgyZ0)8?goMK09MLWHNzt+TwcDkazUqjKFf&w>FrMA ztfu!=O{I|(QpHyK4})4s$#U+Y$_uOzzAcw_C30k1-}<0F+YVS=8nd-S<*PNW-+TGJ z_xQ#LLc5x33cJ85ikjgJ4{5Gf<4LjN{Jy|0f1Q)e8X;6XOVRC~cCPf7ggf(J z1H)>;1T6~@GU;EsqHY>`a_Ne{7nhtj+~ZFPyas>A0MmMz3``Q4?0ZdAWDsH}61;wW zhl|1Q`Ch47-M4!agU#jIVi17ERZ!2?MgR?Vd6WJ2Ahr0O@qpM6zc5ctcdb-FRRWat zuyMIpoYery($1j!5Lk7@29*>mU=2W9gPx^~Vf6)B@1n1@>d63#9=6|D+BSQn{;!}u z@xT7>O(nHgnc?4z6m}3~gKuVzz#X>a;FYFmB+w)zJ{dNF0Z_Ll=Cky#V?SU;C0rLV%};E=M* z31FMmiDlKA$jn%_w|5^H<3*m}Cd8<^9vjWarv*HHf2=-}jPUHP9=&+1vv+Y z8_OeU<(bsoHK`l?J-R*i$9nEAdHnt#_yPQrfBcWe2Jc_EOJogNFNf$%5~GCzLF2j4 zRs5#U=r-5#FXhQ~&!#3VtxgQyeV*@#p4{_Z2U3@V6brtq{b!P>B~*|8wz=oooYhsZ zwWVQ>zT{ACJYyHG9G+dL>=~?ur;&e}P|_f-y12YXb-qNQFnlWIceu2Q=?=JH{lcYJB9${a6# zj@ej;t@z*vKZtic`6Rynjc?q&EP99&;qUon7k9H}{4nt)e2@vPFd{*_lo`M;{TqK~ ztTz!u&;3}@1B)y#jg17B8mxNmIJ3hpzI7s$B9v(Q0@9<%N@VCXM~PJaQeL3TS{Yx@ znFg&7S`=l9wnJS>SvbczXm%QIl@EPXi5p3)XjfRB+x8Y&EVMH_!=~-1C{D{!21E=~vjGcCF1Da2uPl-FRrJo{{MWkF z2^AbzbRd;j`Z?p_myJUh#j;ms+%BFjB_C-Aif$>JIuZ;WvujAvX@7>PaJKXr=~Nh8 zS`FL``j)WTn_vBmw(u`8YL3j#pK1EUdS3)F+3sQiv-a?egWNZQl3v8-X`OEf6@b@jZ=hS;LiX+Y)N7oY7HIMt67zonmZ-4u1}U0#Jr z_p7;;PDDp7Hc=h21vplJgq<8skVY)G8tT>7DlhFs&i)(gb35t3tpHu<|C`?QM*QM0 z{vv+;*M4>EbM^6$|8eYd^)QwJ%05@I=hc22Ck@USRyJl?#YXKOgY}U-IDR{qN_i#} zbdQ^gXkr$V;?aD$1MVkJF%nxg6I-?HtjirBgWN&iN`%qI){FyXPEjzIv}Al!ZF4^+ zmMdXRAOdP)ihSeWun{FRTb3yq@tyD!m-ezF>hE4B1acssCw(pPiRu<-HV{fKZPY$$ zX^+5`rDn}q3K%rWjhH+_7^~9*SN&-N&dIs0DGwUYlHMlI=yj=oBWYpFEHuwk<;q6Z z0NTB1dJMXm5MB3YIzE5mC;t9j!s&&Pbh?dX??KCBwxT0sK6GMGY3CBcIEdCZFK$fGMqZ5%)QEtFc+V_xgh~f%*u8n`zHa( z&lYQ0`A`RwLLM`h%J*@0UMBBkIpFH>RR1_bF$+1GZkqH#`&G27`|46yf9&%WGptgs zx3m6R>Y*o(w?(Fs0MSVv8kL+;bM47ny=)0srXA`0pI-u3;R}S$jhE@dx_nt$rgf~O zmI2j|_~x9EX(|sB~=2#3>^$;hlPvnO!b`lFjP3JF~PaSM=kX1KLhLwkQ(bio8>z!{oP9dxt zTKNh9EKL^xc6Q!EX?5E7wU$9@FuDY*XV{SfrdLfVRRLD#PtV$d*#lMll@04j zD_lU3xS^LdGUMt}Q8P(iwGmU%&;k|_p|gWnn)fRRqYu9*SKWK{m1VAZ-;#n<1y6D9 z&lZ`mg&wPz73oSA?xAMDzvyqf?`z@gENw>@hw9nz$V*5DPNB8!o(7VyIMJ)ahcmoO zTWUqRYXS`C*;s$mi~3dr4_Q*O;FK01(X+Ax)Qz~WyyoM)pR`bKN43I8YHn8cxRa+Mz^ZGA;_Gj>$zxf*@82`in@E`D{ z=bxX6t38$n#>VUq<)p!5mR0U?H8!S>69)Y@XI||`nSB}zkJ%;1_pw#?1)&cdj*Z-p zM9^GRShI7++jg5v#|XU+F8ON>5+5K zDf$4o_*}xg74I0!0!?RhX;pS&R|4tjYp1J-c*Qo+vjUX^Y&*#feg77-LnLWtH2~XA zgG3eQlIF27zRykBYjbznhS7g&~m@^g6Ql~=~5?=8N(u$yTbs7pd$TgvKq zsSV)Gx||KVh_5ILMjxJhs{~M=;iPapCykn-|-Orm!My>SX-CSPkUesvvJU?=_k+R1$4(tgg#+}xzH*h(gA{_z_ zrPb&=_sjyUVN|@>+TjNQIO}W*g|$wNUxC;df2xd`M6tmvGZ~?nwZj==4qw_}rF6<< z&{1hXnO>8D*pN7{m)brx!k$jKS#C*gSGi0eI$ArsbK$#7yJfF=-Pwh?8%M~^x9@cN zcyaW^lTYGMI6Nn(AM1k2?5San7X+UT9z}~nnQrT!P7TEowUIpyU!lpEIqk-0iHFyg5`t278 zG;_v4Mk|VjY2bFk7p0UiJGX7U>UzK5vj(53uF$M420rUG`CR1sqMxF0x&lyT)+<}J z9^e^Pov{;c=~zZ1o}_Jfkyi?~Cg#d~H#J{+71)>5q1h?WyOIeIMqJY@lX#uo)$8(m zy)F|@AfK(_xmf+;e^f~04&fee;G&;JUs|F!jWeLSXsVZMW5fyFj<&%_w!d0JX~(LT z5%5LNbg;=m0yADs9g-ko@XapuE<03vzdj=@SAUEAt;>#jiKTsMeo!QNw$21vf?+$i zbrqMre$9&koPO4`Vs`nuMGaT|uu3GQ=*E{`XR(>mU%e!XPt>wKn(t;F#lWULJ+r2ya@Ir#5reMU_sOtiO*>iazV;RpuHUurj7UqZR$3M@MgLn7p;ZS!i&kSe z>3{La@74MDzyJOC=tqA8fA{;pAAj^me}d0_{&RTkwby2{>fvo}%sx*SoU^NT?sxTY zul=pKIrTpGz8afU^K`YbS^M~16H&o|>>i)OcOk==(G)gvRNiTa=O;be7y#L_jAYfm4(V7O9`|`R2AL+}+3D`{54{y?Orm zuf!6qvcU6p>-WQ`3-s!E8ZaShYbXD`h`eC&~?_q`G`S2F`Sd#HF@Jacgb z+j1f#g-%o(eu@j{46J586(66JK+}mxQU`6@*m|*FG_o1j1Rnbmk87f8r9b6_0-E+s zX-^Q36a3UEceXVjW&u~y4drKB{CN6O9B#>e+C>$cq5oBLE6WrI0e8ER@gU)_>UJcy zVqZF~$NPQuRUt6xv=zVGUTlThCEmh!li8+~kTQ`gsfVsoX z;PJEZyS^wF{f(F^!`d&)v+SukgyOo^v!waBS47(8LGO}VLq-@LDuW+ot zn{E~7TJREgb2{_VOsz1sweemq?rRW!c{MvJK{Zy|+Ua-Uz1|N%8(b_)`g;b?w&+jV z01>jGL*|#JPP;ygSS zA2Q=&rfl`g44kTk)IneRpuUSSn8mD{k3}9#b=5@Ov%c1`IK`^lVQoM4LMk?sMZ77i zY&*(xZ?@CPdnlNi1G&;G^tz`ai`{ScuVlQ%4;TGD;n&M(w^;p;Dah2KyK&tiNInkf(-GanXmdF*eci4xMNl39jR;0z1Bn99YZ ztq$f*p0nnh@zZ0FT0&FC+pN450P+7Z^Vcf@NSL-`-zRpL{nzJQ^21qTVu#1~BQbQ7 zwAI+KmK6ofqEHT|qlHsaIPR?j)!B3;ZTvV*?&j=g9l6=`Ay;+c+!h;`Q@v|&x<_)$ z7Tw`&r;;(!Bxc~yKv|#l#v~TYGgco-v8|S#WjQ})VExG0yXHtP4P6TT;4G@SzZGWE zH*n^xM2OC$?)aW36=vC^=pEe0%#0)9{DJp>U@R*<_N#m4+ppvaZUbLA&eP}%V(+dk z@L1y^CO6b~80i;f(Yi^zEJ5UiPBQx_-Ppa43rORhw3rpSOf>8kDv@86YgSey zsZlzd(3|Ko^aVz>lLv%Y&Au!<(gW1f!J&V!o?FA??z^m%}O z{W}c`+Z1Lr>*3czT8O1Bl0NEdO$QWo^BIju{Z=sBpu!j`i7=H#KQnPP#MzZ+55K7+f;o5>I1Yy=6;JfN0jea(@LQT3r)349%KbB$Jk%q%(DDi;ORN zjMmfqt|w!bEmZn=?GH%a=JWbo)rvjM@{2V!oPH0x6v=gqIvwhUa=S99Xu(GR{rdGc zzieTWzK~Fx&3kK|v?nw(qRV+7-Gx)`7z3CD`D$wDXBmtd#CC%+#P%)P^jc~gpI+`+ zFg+9EB zQD$4d9D7~;n~(kLG3)C0|NXzmSHJevG1&Hp`(487Va~WZ{$`?z8@10<2bs8HvI?;z zYMv}O;T_8e_u7nlTrR%(M0Z+i{Y@F-QR#rrc;eDP?jf_g4nQh~&@C*Q91Q*oU2P_a zy4==`3x!j!Y(E9fm$Kgc>e$-|6;Ts&7koLmqh4;In@2K`GoUu>E!3cZ`0s#oFdDI% zoUS|jsk85Ite&-`Ml`=sr?#!qMt3)OO58{|<)9}vVQ=~$&yJZCJCjX)*_OWG$a@gU zu%g_S#saOc(Vy2KJ2wO8V9biYxr8wJXo>T*Yd-ffvJQ`mub!^<-uJv`%!vBJ7rz)M zbKYiRcaPtuE^X=Lz4&Q;1xV*Qa^yc<-r&6!Y+6W3VNWk#Ix*|dFYpJmgnX70qG zpAgm*?_#X}ec!$Zsjr zE596xZ{K5YF)RH~oV@u7&rQ~i;?no6GMlqv14TXXLC0SiM@LsjqFnWqZSsW5nIsGR z%{mm@K?X~H9UOq0E%#jGD*;M7fr6w>Q^p= zI?LxhAhWzBNkbE*!kLCEWF2nndtmW#opf*ykie<=rr*{Fa5-bCIhszOmYBKk5+-N1 zR|1BD*%k=-*2z;DK*h&J@x&v#Tg{1e&c=9ZP6L4H&^GDO9sn8 zYk^eGR$jYIqweSObrm5B7m?plf2ngCaa-DwOMKKWEDlJZIBld$aUCH*u_Q%o5$OmZ zXv@18=)Kpk|Ls?Q!Ep5)nV`}*%Ivxf#Kw+q;g5>X66}Ud<_ta&=Vq&|biCQ6(C>Ax zrxsz1{w;Ae>oNyzPn?S;Z}YioCG8iA7N^--xTa^)j1Ae0LgeJ}rJu6#8Jw@MWBG0O z-M8hI5d`>p&+}JWyk@uJ!4pqBf&c#B{deQ|?mzyMKOLJuA4`vpfiP!VJ&fgpyXol8PA>rJ1348ZON&{ll%Q(MQk z1Hxl>rz53ioQmak_FrO$m34D3tTA<9vDM0_sca^RAi_G6N0#l6#A=N4Hr2y88a`vp zrJpSTE(mdw4_=$y%>HCwu8LW6V|UXRGwM@k{fXWdGoR+3Kw}6yXFP2tgE`ukN*Lyg z954Emjq;og#F!!z6mieJr;#v};-49e(I zu^5PM8An-eR(=?TAN=44@s_u|8P7iZY%U=jda}n%L?Av%uL<~EO6W=lMA%j zGVs@nv&mZgAABu&#>LpFXkWJ9dfoI{UdfU>VYs=;BmPjcGX>@;Gegja{s(Xtz`6Po zNk({uXIYAkYR`$UP+~@~c76lc?)^lF7*0hY6 zEF&Ezo>*)IGI<^^Bjz$?vqmfWygm~a-A^a?>XSB2$I7|qAxzE2NlsD^<+6*f8U1_p zclZtRGs`u9t+N9=J~R2gHU3s-J-1LeNfTZ(!IBoP_5hXBK>4S`{~m`!y!EYb!H0h6 zhwk)!E-6%$4b7rqy-aZx#&kUvxs{XAO%0|c2cc5Om#7*OMi+8Nf6dREcfR$>-@|>- zuD4a8VE0#PKw5Kv_jV9CW9x0x2~EeaEq!#tS_o-9C^)hYSi)C>Ur|1`*o;Q?0lSwt zS`C-FXe%qMWl|-&T%zW+v#fL`MFAQ!nDu9h zio&Y+DR~ShIM58Eok2Dc3E*5Nn`uAV@70j@yH+5Z2DsL7LOI8j*;xrmGhY)R)~rDF zQ~_$zAfKO;yozh%SG&CQ*Or+|(mu)Dl5u`+iqEcKXxFH3=qo_#jU9tl-aA#lPcIV` z7t^QTA{dZ+=cEwwS!>h0cq(NonOR9qwhk=l%Lx(%BNkzeFrT`Tw6gOc`ff&1VmXHRIrX2KJr-_^=(4 z49Javy%3nQrYe~gcgKENIUrQoiRXnrjo?B%lfh5WZ5vi}z+;^qWwSTvfW;PDZ)uYC zKFjAHtQo>SBg3G{qD<1TOeC*No~Qo@2bjL>kA-{fstH*Npt%YDn90FeQUm54*B58d z%^6P?P9R?#im(RhF_#5yT~u-G&$Z2=fyDo5V}jSU0lTOEZO~XD`q~!%FR{f;Y=x3- zCNz*)E^f_qc?heiuXCUEgXd%B4415ly{I_W@SgWPh41^mcjEJ(|H4QN-!kdzu}S+r zlfGOv7%Vwo>_49EF}raj5mV269*{8MANu^vr=G$4-uGVo{LlSY__IIzvr1xRvzDEz zKJB|VJJaH2k9mC53yXxC#Y{TFYttX(vOX(5)rou^ma(swIJ4<*rfe}G#Aom>>tt1r zUFXf(_@AJK1XS=F&05MVZIrcHd5N>B=IfYi+sghn{DLp_+nO#iQNuFrfCWeH|D{Wx zIqu4~O=+_BfBrpm^JdHBFXJ-LmoDrmI}948jWbQ$^bU+zHyvk7N8-x?N&X^j9et;s z;z*m&e0lOz^f2Z1oOCj2JimuEXA)^T%uX=r3jJaj-}Nsl z0)_&5U;p!&w?6WFNl*#0B!nucxW=&=qE$9hLMOA_mU64|$flXJi4{a;aRnD7ARTps zO$;gNrr@byt)kt_6$vB;Em55S{G`08 z&gjcyoq`SEl9qgOl806Qt-ncX1{Cr`gOQ8NgeF&)%Bq*Y%X7 z4k6eE1=VmGd=nR_obgE;i5p5jI|n3YkQ+Fe&L)P!pXRu-UeI`Y`EH7N`KilJQ_*2O zqTK7(U;k=$(MyL{T3670RX2XeKh7U&iu3nOaHZVoz+6P0_Q?2IN+|N^<=;TtZHwp@ zLPnWfWG3PEvpa1 zD*7kcXm9SWCnI_FxzBwbpZ?5eM$mgKK^Pmg^N$<1?=^E|E`f5JgKw|I))<7>X47-# zMHvO2`eww~9W^V0PG%;JG!db6Ec|92rIN|fW_J>I+ z(k%zVGN8vUv$ELrNCF{g@zt+>6^}jk82;%m{o;83+0TAXW(A?+L0Z^4wkX?VOzcG& zUucnfN`uvCjqG=&|ERld-ERpmGm!(-hWUZ^wrPTjvz97W#z@r2Y#7+dmKMq8vu)c_ zKAF43$rePN*aPi2oiKe`@Fj5+T-#WN?MQN{&DxQyN71OWD#uz&P z!y#wv;HcSzMmw@uj&U52gBUum4%%gWVTuC#Gv8&8I+wZvQ~NG3r)XvUJ_6`AN;xHT z6dQ6}d|?r@xQu+5_S;i0N1`@fEL{5PxN-|JKidh#D`w{@vJ+bBe|~u4UOsGIue|c@ z0ndkj_`~CcR3@=-e(}!xT7QKrd8xsWpZOqWrZr%vCmM8hU8^g#FZRF!nOsv60T*En zL%sqonyt25?^l0@`&n3*+DB-!+On$$WUh50 za=o%y1NQ6;y!y}f1pM|IL94m&2WVBF+gW6wQTtA_8Zv)nYw4Ox|bcsWe*UUC=*uEWg%D-g|&AhEfCJ z>+3!%Q+jQU$Utr0GlQqbR|^ZKRiapdK^kE`Y;q9xD)-k?YpCciLSh%+O_OQ3_i_mi zdh-T_jQ7*FpKJvrc$Ib@WuRWa{#sYsKSL$4yq;Ae%TEc!)$3y;>@eh-zBd;`?=4}nIR7!;=#i?!|Gw}dv#=^Y@C>O zEFat-&Y2@I6Kl>SiBkuU`!TCzz&}nJ98SraXYxMNV;(94U?vp zedl02`hCw+PvNQeJav~e`uv>Xm@^uEBsiJOYW6bl$rqy{BRNAU%I7{=q`7?eOduP+ z{`GI*`7b|@kNo`4jeW76e)^db6YGfr1ii;{++*FDl@DR!tGL^*n(gMf%r5z;ns z4_@44G9&4jdTuRtDAO8ArbGYt*-vhy4QuxHO8*boxRY7w{~}Y|CoE5Uocx~4W?`Jo z#|`{*B~j34TjC$2tS$8j=hpS#-9_@suj=WHQ&hL0aXAy+41egqXClv!&E3mYE&6Y@ z$Czy;>jQ>uJ9(2tQJSIYD!j|qLW(n48Aayz&05>E3#yh7on6OVJ#l3MpD6hqdz${E zU)@dztcoXSSFN=@aoMVV^4z+O3HpSdi=j;L#!^_+l#GPR$5KZm(oSgZO1}E)s{^hd zK9X3+a>B7E7NOMO?asi%z_I;>~u^UMxQ7=ACbO;`boPC90;` z&~AL25R&LB=#%BpfiUenaAtabx89ou)p@@ms*bUdJ&jknFzH>rk!iUE1Z9kI`revg z5W8w98(bw)93GUBfp8iep~>~YUWA_xUTL5kODbiAe(r_;Le5sMi%l;$o=re5%FK3F zStz>H(kR1OfRhf^p=gQ^k&6yMmZmIsdU&I;DLkh(F0L@9iBrl0P)VOfQ^N^~ZOXPv z=%ZH=BSKpg=N$ni{(9n-C5wdV>2OVlYLXd$KuJgVUGas`N%ey{+6}m1PnFmHX@l%~ zrdn%fcz@i}uqQpbZCD2g$UR1o;G4)?)zps)j;-o|Y;!4V0#B7_20(0T4It*@`KC*60FQ<`xszTG78Nq)pm(rHneZL z**+wWD;s1IUmgjMDi>vr`#DQ#5>ZY@lteVBYvaK#8?sLt@WfJ|r|l)K0aUL|;toc^G41JaMVBmUcJ|H4C4?n}Y7Ej?FQDeFv+Op2+f+1-JYgr~#}ltidgx&nH1swa zTCx)1y;HJ9(K92s;9IXTR>F3LcA=ej9C_?_R$w4N`O9YPk`A3d4z)I|hFPOo z25Hvew?*~VhD>C zm$o?V0H=V}7EFb@v=+SHk$@fZxXg`$V&}-FcL$4rmYb&fPEZI5G zf?Ml0CgEP%I3>{Ne^!_-LJSb6OG23_;Q3LuZ9*(t`s-bt`Eid9^-5?n&(1Wha@J;o z^7$33(IeLx?t>WbvtK^Fqw7q z!5LTsRrd_6q3C)jmZ*ZIo5T*aPc5 zV+Pje?)2?pp4K^MUd2+vA$s0%65Koo`W~{n>%&kd&pqdcEbxRv;lcsaYY$$-XFm5? zy#M|0$ItxCPvhxNK8=@Od4+pKxh8{jT*idKoPh-quTDo|k3}{EROlC;dU?#iqW+Ud z6_*y@DsC#h>UG^yw@F)%WdOi3J8ktuXgWiOVp!Go>Yl@@&Xwf z7>Vj7eMoqf-z#+6wv6l9pOhTs(q`q-+-}NKKlWBPXF596Mp?|*OvE&Cd;I(DZ@+@K zz3pvy>s#J}=bwMR!MqZo9YP|q%+M~}gZN-ewba~CA8!d=FZ-@i>CYj)5~c~PCN7YO z=7f$KnkJWGI8rf8i4fhV>@Kq-thsoox}S+r&+dbhKt>Fc%6yG$84|U;*`H)kVW-}q zqE>I%P<@;BNoDj3HifZ;aBEyFlJxFpK4o7Cf3f}4xX8%j4;4H4c134{imzX^Aiz~( zBR%~Ilng|Q*w?)B6BtUza*Uqn`htTkop$`SZpw6Os~2yl)xo-)GJ{U7C*8Sr*lwKZ zT>RZoj}>Hr$^i(E=q+Zo^1RnV+%iWO8HWxTeMr1g0vmlJX| zc(bI+k1x#~F!)smpo32NQ~Jr%mYho57yeUb5;4o}h<>q3+Lhiqh?X!wY)bw%DUpd% z2)!>*R{QN}$tf2ZXVC_tS-YQ2M<8N`ljFBbUxU}L{~cH9Tm^vM?w|cQ?^}~Ch9<~% zw;05FcuR>P-S?ASmiav+kQ)gY*)V>-5r=X13<8d{xg5;tN;$%1ozB&- z%RQWu0-2<3!n(w7Rx-9Gc{rfRK|m;4!aM10>1f#l;o$pDP=2@MC*xQ4QNIC`U8Ffc zELbM}Z zhw38r%XD_tCUgY)z!qhAgYR#C)0^>QKl&s1LR&ji+-Ips}ndiZbIw)Q3{ zr~ES^HtGj2`CMmhJpYyF@%Fd99Y6nH9h6VQe#C0iw?o6M@rq(R6g z{g5V&g!V~6^=YLmc8V!@vCp13tJzw`6M=og<9Ep%YcUGdz638Ay^Cb(b@mybS<)GH%k{vg45; zmc0TwcFO&q)K0C*NSDdjsz=1xBrXvh2xZK#jZa=nEJ3KV5vG7<0xxanwBv?8ce&|* z)Sfceh-X=z#v_xIg%P=mMKH2m_Ug+2_Zl%!eY5z{BGIFHt0h&$dJ=s0|ZYOFTckdEd@A$pT3RXtp>aq*q`*SKI%UqE~ z4Bt}MrE)onV4n9rPW`HZ5Ctw#{SKEHRhF0On$0kW4exEzsY=F`SCw_y^P}D#X8#nF zlE?b)qL2ye`EvPJd+E|A({SU7mO^Vo6C}3Ch&S9Dz5=7KK#CEP$OM%gxd=RQaizh6 zkjpx{R`*U$=fd%=mpW+j;za=UEyWKYQa3zK;PK2lg(YhFv1Xe1DyhISI^ zf!pJcKaT(AU;J}?;x9gdZ@%#2n0$%_6+@L*{ z2l^hLD-4i(I`HB?SG4d*dY7&Bte;zAjW)KEc^_}&m8Xz_#wN3{I8X#PkPn;AW5RSm zS)`NLE|Li?PV&X?IC}6f%Wjg`T9X_a4{A~m?U{VX`8yK@MU$yio&(*j(JSk*pV_x* z+lia>U5Nw59T#*+_Q5WeIUX{@C4V~EiS{FH1Kc;WlocjDwm6|OXR8R`+3(h~i%H{I zV6#o?7PdecK$VsTO9vGmrU?w`1u+3*;OUS`Z5?NjUEoE}3Y|waH#w|L&Bs3}tWs4B+ zizAtbRsY%Fj1RW_ZW1z-yr}I<$-v!Z5{$@#q!2!*i7lF7Qyn2Ad4j~Bxk6*oeN%f%*{SZF)`On9U>2;EapI{>BDg*r+L=KhK>th+~=vV^F zOPrJ~O7v{^E`jyL@2w4Mu&|n*wW!+8bhIge7xH1fttIB@4$Vra>z1{4OjL#~(1=@e zRH}4K!UzIL1E`c!ogjnibPqvzt!h9E9$Fybs!%5NyCV!QKfhKcuo22PhPaI7{W zpQ_B7I8_u$nmD-2QN{I;%lA&fI=Z}<_CtP~0*CVvW?hrkmb1vBf9sWY$}Y-}uVtC6 zX<#`2e%zlB)z085;cbC&y@%c`q*;}p;#8D&<%o|x&z_i7Z$W7AG>p#geB479BPS|m&JcGuq&b^mMhfiAacZcavJsei4$ z_ZLyScAv1?0!!+DhmWAIAdIH%LPz6Eo0&yhV)7RN*vZG$AcWO^;Ugcxo8R(gJoBkf zkEKk<%&U>SdN@xWe0cj{Y~nulz&bW<-yh!PuKZX|I1aIz1K{(F4kbDF$I&uj=Q?R4 zDV6?GEDdAFx?i;Ca7D=wP9w;Ih`>W-h_ z>No|EZ33Z3pPT`7SN|RFc*or!@8GcjJ$yK3F>=}99{W~t79)wsL=|k2h6RT< ztIraQ35yqfsjp2%?yh5o#&P4>c9eX zA0uxZBWwdmgB*2T)fW6bmyT^g6v{(skK6vWl?MPEI)%6N56+Jf6JTSj5odEjpHQJPS&IXx`hd8 zI}hV}-P8ThQS!<<(7nFyuh>Ul{JxcPtfL4b4=4_5)R?q^5Xsf>m8>A&Po+}ea^PYo zRa$0=xFT_t&?tair;)kKt%^m zWQS&<6SJP=OYD-5Yng;QY3~hBP6tmOw#FT&v`<+WVn>~7Fl#p01Fto3^fi|B6){Jz z(eLS{2E5>r+JUnMB@FT@8*X-`uYxAyZ zTUKd19RoV8LY`CBy!YOMP$5@y>UPoaawSV!#2`o&K+Tb5T@7;VVwRlM+clu9pdy4%eYREm)yOF>3Vj*QZg+&RydO5e78!xbwDFY*hDNUhI}x;w@InuD zZoWR&c8-#c8R*h{I6BrmMnZy8|6oq^P)K%x`NQHtl$%mKaQXL ziJ!<)w>LkX zN&MJ53h4tX7QA}dH`!vx%oS&Vyvy!3Ouo!ht>P`Y+F@5a-94@jg63QJSu&SLVw`Zu zcvUR!K3Z*i>7bG;w4Dqj%BxuND?oz|JWZG5EZ0be?OyE&y)5w*{~z(olzXF+XZxGb z$^+X>fcf70S?qt(A!EV);$HACXp7|kv_v^17GHHhG&Xqm^7$MXa`^y}KyJTI;WYc> zM#Tze#%}RlmkiFCPm_>Gc9wj~m@nv+;~;T>NzAFoGivR@u`+~?AM>iKQz|J?iTcFv~8m%se{ zn1%J0x4cCmX>jph)2G%RC*PgEtKBcZn)b3?HO5k2*HbMuf5#qJ3W);j&6u|gAWNA7 zCLNWIi*t&y3*crY_|<}G2amkUNwYhhUC|XkO9}N8uB;6aN*XX_TiI%BTwD~PK~>*f zZ#@F1kn>PZeW>t@F*KDX#eE$hLdx~a*XL5trIzFV<~pd>g*=S7*r@(&fu)6LS;-cP zvoBE;?Z0)l$mvqfFK}wrO$@&;vzH3I29#a2nK1aOte2E+&mL9c-sktg?E+`3YbxL9 z1IO0xSw334brMNi8nU9Xv}en2T(=B)La7sQcCY>G&nsCbGPcxJ`+<{v zn6s(Yf%;013gASC4s@;Cpu<`6O=D9~evSLqbfOoB+7BgB1Iu#hR+!-S2M>-!)`PqJ z)ou^>+qTj4Se_(H22Xy)eX;S1+jiCik!gP4!C4+*gThG>-K~}pil}j>6kpUZiQ(zf z(xw~zF^Yb$wC61@42I<4Dk3pupQk{lpN)U4W)YwgOBO6w*|+wY7o+$5t-*O#7M|-H z@8jOFk@-#Hdt6+$X9A~3yDom#x>XQan)f*1Dw~v4NM4@*TTpNyWgXTRGiaV2oXJ~%O-&x8UVr!$J9%LIgM5KeqZ2bV+^srKX(PvAoz z{t%vddM+W1WxAOl4NcbVOEvn?}h4CrG5s~H}q=Es{%RWdI&jHk00G@8=!>Rm$X zo8SB0L;s{zpY_J`R*F z9ETO8TREOUEx33qGy9hJ{B$^wVP zLStgR#Qdg@r+ux&TJ3qKvZ={<>ttpb3)qcqQm2MXvpHEcP$+uF$)=Y61*sR*F)?k` zU)KXG3KKNX6F6BrO%qh_(c=C*r7>hZX|NR^4*ERt#N&AGxi1$i?J9j?0?o8t6@sJ5 zR6LPqTiX<6ZT(rJ(dga#WTxZW)`1JcDuWlpQ^Yk@nFw6P$!kywFwqRnMpE18yehAD zMzSM@6guA0TGbXYn@_z3$jM>BfzVt2IxbG*9c?5s-9R)54Hx~_FB7*3z}Qa?Aiq`m%k=~@$+Oe)X*p%!dA*{=e1R47Qkr?Px%mh>bEuA3ts8o z7eE&H)v+p;$?Yq#bHQUlHEF5ITgR#W6Rc~HS~@-)w%Iixo-Ib%t8z^~dY>(*huuzv5iIs3|* zZr-QgWj~0UFG%RWiic+ajdDJ8e6i7c+h2YH2OVG(D%P4$8xoKAbi@#$6~2fmp<~Wq z#p}Kayenqj)v&<>DU;@Psq=rfYt^54adu)u`H1;FbrY(S^&+HnrU;pDU`=LxhM250 zmheaT-EH1zEdo&2M%cL63==#8(jh&gf0Jc`S3=R80;FeAo(O-ZY$o!={f|bkVcEdG#N_iT=Df zu+L}P@Qit4;y$&f$EwwS=X1%_&2}R+=jpz{Y376I-fW@8PnM%v|`RWwfZ zqDW&lJ^79HZ6skllb!BDrD^EA-;Y>#`RjomX*HV$_$4d?Q&ve*cgkf9b2zc{lagcL^4B#?5E=8`Cz`>h*K}!B~H;7 z>&X+Pm|3<>S6m4vYJr&GL;r!^K13%2SWnwhV~>8(PTZd04LK)RY0a3ZbCJ392K40! zc@5f}@&Vq*dJ2_I250Oz;VXICMYi~R?x$DupR=iNr#%kcKgxXVPOsnlp7-K=9{V1s z(`i0i_-_$EK;xru4JD9Lx3$%&>8O z13I(UL2~JuFEA+41&<}j-fX3_v?I=lEo<+-!0rpp(-?TK+?I6aGf&~5@#+E5BD9VL zn(NDalauQfmm^PMP$ipaUVrySHp&?iz-Vvv+wAW2{CW**-3viDTy?~ zxCp}0of+@a^V~yDEk9t}mx3nGU5vDfqJE0=Nx2Z?T|tLXXc5y&M)}2e2+sG*5Z$W+ zx{^SKLiwLOL}$J&{rJ+K@MF+ie;B_oQ&?mNG2@cYx zFRqNDqc51ceL?De1Hd~JnLc)}&DY~01G`kED+92Iz77oQ(?rOma|!lN$#eFHi+%|g z{H%KM+<+#~Yxt8k5AxRCh=_+pR|)%R*?t@Y376;8bcFg z(c>cCnJ^lfxm0?@AVa-=CfBr%&6!c9m*odJn`)PMW7~A|=6Qc6n$AlA4U!BDaXQey zjnf#p43PVFCD+YzQ~FFiM4Mx29|y)Vf52dw@T$S2%&M_1Whw`TnEQ-Pd9j$CB&=Ho zs+_r@N&RNWf-*VF<|rFW&yFI;EFN9x5V)y)qwg74 z(owco05ho_{Dj2aA$vw0 z0MsT16fX3FwZXpXTggjbg6UrOb<_X-)~h{B9+e$R_Y;eUlNt3r=~U{Ke4MlGT=iV) z)yx-Q&epWpGfR^&xgVR@7s_jmmC^eHcLFHsSAkEOjeqij!kXNM*~sXyh9jOMCri}V$x6Z37W*_S9B00^xy?IB}c z!pt!m{T}lj$%l{;_sU)rjZ3zR3s7Otkj2W$g2}BRgK?-zCbS}%J)VW{zKtaIk+42y zSAOURf3VTZ76?j?DkfYY#OnEyqCy*f>q%Z)+Qr59x@4X!prdbZs&%fIilvGMFUPk) zS^-66h?CH+Zg52#BAB=+vrf4b5G~aaDF&j{?S5i?COyl!1el6?W0!j)l6R1hLM!l^ zHFYb&X~DS3pJPE4I=D<6yfLSN=ciy z*;Cq^t*U~CH_NZGpoW;nd;PAUd%%|J>1X+8YbC>-D{fkd5K8(u+zb+jcq1OXIL?72^t z+M(c*p%|2YN$miVhd=cbKZ(zL_Oo-pjIm_U^G)r;7~IAwgLI1K@m9B9Bu1l7e{MxM4lc-Oi>e`k(cV4cB$E_#zJFY6SkV zmzL+c&N8`999@I{O`t>8AA9s*jWfN)f<+VLJ*5XfHaRtr7f<11--bHTZzQ*5V910c z?M-ZcpPHQX@FgyAwe$3eo7jD1?8pk70ien?_6M?=RLtb(vTyAU?&WmkH&}i`O+S0g zsypN&H|-8XS(}JUG~wQ*$L8#lmb@TQO=YK&{71WcRM<7HJO1|iZQ`#<)!1*yHR;gy z7=ozkCdpf)9YES6HIbPdin}d=Bn|5+p#z`T3oG~$`{dll{y6)Xc{yfZy*86qGpY4p zEGz!n*S?BB{P@T5yT9{0`2P34H*Fuae6w!zbfC(CeHYI1wQHk|g zXTIbB`V6-zcqxle{q&Wu1dZdCbd}qo|7Oq^YeP??AEkGWi>+oh@+C$keu!?#7Q#*- z=rVK|Jdgwl@nOFzIfud(B_AHPLz8$FURe50(tjWHMQ^PAEc$xbJMM8c|e|EtwzRTK>oT_}@{oRNw2`CO?C` zQ!uo@*@&Yzm;OktwXJJkmOO=P948~;HOC+%GD6Y_geNb?KC zD?5;IPsb@RWppr;U~U&^5EdE+-uJaX;u7+l9+b_gtTeV&eN#R0rVr6<>+HKTamB0T zZ2Y2`OrKCmdS8N@L0c==C#GWZT$MDwNU$D zQeONVm&lbVvy?lF&RajUUoJ32pWX$u3TU89_@uqrjW?ai0}O%}ZJDIDDfqas+;oxMXWtY?5t7mHm0&DhmzN7@3t*Ze=EBy`;?`v z4PWW=M8X^gNpRbFr|q$cF)+3BKrZkHT092VrFAkpKL@9L7&ILTkadNHB#Dw{GmU!a z@f`5Z_C}KW?(;aAY>%acTuwMQc#m0Fue~~EVtwtaU>+KZD=?t&if#C!YW<6=&y# zeRj@1nWA2YIn>@>lh+4jro0AyV%gf<=gS12;7y#)m?~sk8j40=9U~s!YV+~A@09PT z@D!rg;aj$to;Q|_N}Q;+c9pZ)fAS>~qAu>j)4nwKu~+*Z$xh$JM=s?C{5bFNM0_=t zAY8P8Ol(ZL?JzxEqFt3Z*u>7vcDIng(&OFB?m**~KsIE=5-tK22E&vY*@nfoN|Iwh z=`?A}IO*2;(xBVc)D|NTt(HBeo~{WQfpfwaHHwz1{~rA5{vl%pgV`zUsPFSX&cx-* zq3nmKpwfNWh*db^D7)x76N`zfnXvXL15@w6_0mh@0Eh2;=Q}`M)@c@LqeMn#Y`Qm7 zsHNRIZtYWjDXhzP`_$8J>)Q0~PH-DSp=_dpATiPlv@HOKp$EAJh~n2k(iWw&Y@>)& z(G)D7OcFESkxZ^iyU2RTfWiel!4`;okQm?svEw&ks@(MEf9hXF_Rs1xLeXg_oLzly%?u2c3Q?@eVodu{mn*hj58Ou?hjmR zLzXm7Q1&BPNgjc*H(*xV-V7Nejv{m$`UcNAhaOjmUH57(&hvOVVN~ z&rBL_0XJ>$mM{l$Sd&iirNw=`SBb9)fZB3RO7YY=O-A{?E{j9phqS-D+ANf9;BU?t z(Q(Zd8;M5_s+QT}e62oto3lv(k-Z~fHRLHy6rD3L=SG zp$7Xq(#FiBxzOL67fL^S$o$A{1#Y#Z%*1IHrT~`kEMzh8bH-iK-mwo=>Lz`o&sj&5 z3nnX%*=uUs^D~6qq52<*TP}}QovMnHH~W-H;-CA=C9P_IH60Vt9zkTz37N|nz-5#C zaH5GYs?NP5mP1T=w`ZfF_DXrj3EU-h!aQ=@KRHoC zfcCV;F6B#FT6+-(%#$t4p`?vVJ((@2Ah^(gFQM4gEoY#HEqv+am+{n7Pl?oe!wrRn z5`!c;$zMR3KV0ie?5Ht7AJ5mHFLyRpR3qJ>h)#GL=mAh#jI8bn%$j|4X?`XikS&#Q zY8?wgQb)mS!Lu#(v-L#ZMG#3wU%Oi_O}N1Q#Gv!1r$SZlI87CnA|0oAFdbbmYu^_k zTHwq6yO~tQE+Ou%m@2X_!YM)zZP~E&=|DRBQf3A;YA6VE{-*Ip{%ArffOcL`X%j9# z$zsDhRDNyugt7q|VAep;Q)t2kEDe>@ZERRXdVMPgDVh#I$}2vsxHkvg+gGWk-Z%>< z{Q@u({g3b4DyQoJ6&0LJM%&|8g_nC|lk+vLed? zlIY)Ekq^HA{rK9~zdi=3x3@ECH8*nJ$GtI#J(5}Oxq)@l-~szw8fCEoc`l&~L7s2P z_ml3sOBpWHD+)us`*Cmg+PImxds5B&I|8_f=AMH>4?|S4Q!gpXg;kD{20=qF&}O~ZfPFJ2U?vpv1h}50q+IepE~ngc797fM!8p??W?s~e zC$yiMJS@D!#?t42Lp$LhC$i=8E3c$M*d&CloH7UW0cOcwZIB+z-S%28Wiloi8@D$g zFi#M>tM}xS@4zcBy&N~K#hv8U>?1dU%V(bUvA=vfnyMLh$io(90;ytt?q#&cUO311 zIm2?#8Cee=%>D2l-X*Y(B-XL4aD2udS)csm(|GPnU&6=!^>5?NZ+>&cklyxQYMaRu zZt~9OjG5vdRiNWGmf~exX{G;%j4XkCjdeVhb_PwNN-lBq#ojvGE*{1_sOVK<&Gc0> zDF8_{OumI_LyZY}TH=^p7Jg$FTBt9ii)6n^hy50`Te|30UyNnkoQE-ljK*(I|1UDV z&ppW+6Da!-v*ZPnCU95%hs6A=>=*yIjJ5lQ=z6-$(5-bWvc)pdHb%=LF8aSVZm0Mm zlTIjEn3ls+cur$jIQRl$@@s=0B+&GK%TsbGVv*eKayt{31{KI#&XPMRxym`xe{r15 zrICC1;5`%R$W7cyr`!1b@|_*}zIVK%=n0f~-Y zLF#GpK(DS9{W=9}t#Nx~{pzn^c+^!Y;H?iM;V$~7v@;{xgMeN(6+=6WFA13#!#;>z z00qrK1eB@QBdC z0}m})fqmUnJ)^zI+8QXOu3L%-`J0uOy9CG5`^qmSvfg>Nf+9)wYOk^D(O! zS?Dz@@mOj_*>gloA5 z6Az@;NHpl%c_8=ZDEvC%at4x(WJHGZNsRHarHmi*1?q&k$<#RqWAAM)Lgc}>7_i6o zW4my~1wKdFtr{RxNT>o+PmJX}_C^_Zc+wtWP6dXcW-Rm#q40nMv47b<_rsbel0F3ghCqD5Pc;)4n@vFb`D>=R!v$=#DDkrpI z)aNZ`%;cCcm}NJye9&e>(~~x}L`)AD>f^QGb;wT0ml01u^}w2aq8$z%i9n<2f5hoy zne^P~oH{f2F0$y4h$nCNlA}y`?Op$MnKtEBEt@0+J(uLlIF6gVr+g(EDFBHJZ42QG zM22mfealR)k&NNYqHc3rd~Vg{wl2%_C20&xT`4fdUIi~yH~SLQ_;lzIB57T$;jWey z)ut!fs1q)k91Xmo$thYTqr(Mq*5}^sV}aN6Bh4z#d$(=28ET(4P@N6uoPZ@54JYzZ zmZ1*J>C<@-OUT@}Uiuck_j|t=k3IGnu=L?rFR{%~&l$F4+0!tkL+rKM2H@PE^6mJ# zOTsW;X)I#Bv|}qC>5ucauK@!C0^ll{L{wCO*1E6~$|6tEw6h+`n6)1?VVRd^ytQ9% z@HK?m_p5BH2j zLQgZ)o0g(=8>}!83tG5ZU2l{+wcYNinyr_iIg$P;T^W{ML;~3j_oB-n$x{Z^8C896 zKQ$Ph@(}=}1t>as)1Z0B2(vUg-pIEy<lcuLvi`Qk z9<{fq;^_06ahPUpWA*V_4!OzGsM#1*j)k*}ENxH0qV*~TQhZG@#TBj-0WKIx+*@pb zdu;Pni*gAar#gtBQTIZ3r@OGG%cs4s7+?xs&hl9GU%HRSIY1)+wEd?47QUwJ#8l7u z#hdH^2ELDgX=Ei=3?Or@u%MXZoKf~x5l7_ONRKC*7y2-Tw`CO=)6#> zmn3S1V0w3Nuk=@@dLM?KQ)V-H*M1cv{~9L4Mxd$)#Wb zdIHJ%y+v+R-XL*CPzPgIBHQL{s3^;Uv$eg6Jn5>j-LcQgQDS#*@)47dQa-o|`#kQw z5<5w!G+RtiNPih)NJ15BeBr6iN75$u>^l0`I=x7rVHdcBmUN4a*s~w*{w;d2UM}N} z^qDR?OY*5s?H;E$ZYT>}^w15YseA?F+@O4hF|v1-3}iWgjm`Tj8Hm!wv7C69O`zT5 zghI~7n%`fIWrct8r~eV(|NY;O|N0{z8L;t`Mnl=StquNrvU5J)8hrJ_dg>hQsAZW&_yVBx-*ZeHX1d8tofeAR zoPEec%yPULCpIP=o}ZYrlsNu1^`nVbr%~?H6BoJun5>1P$#3>E zbj_VK&7z|Btj_~FxL*^UnnhbgK@-j7|C)$uepANWVI`o+of@BM+N;{Hahs>^@*oCs zI;nl7|Fm=Hem+FH*?*SjruZSp*8MB!e^7J{Y(;(}>xfLGg?-%RWmLRo0h8vW{kOmU zZ9M+?<7ISFaf)~3lJ%Oz1O#6|^h%$imG`BD(p2qIS`_0vZ}(F*_hPgXrh#C%r_1VC zjZ5BB<$y9muCfG*FH*3iZyLzO50ofM`>6z3rvkgyjRpQ}g+Xb2&o@v&`#j^XH_m0( zc5G>HD9cjEaX-!Z+|tNf1=Lm@>_I~slgk#%P*=ZUl>8oOlCCU!!i+qqKuPO93O6c= zE%$K2-^6Wg(?lUc#1cOhH+nO#HcK8{WI`cQP1htN> zVciX*7hMag>?Z^6^|_s4nuIZ#*?{uE|CQ3>$uHEjS-u~U1Uc9XI(%CO-W1k_LI&!pdp+~$%*7H3jl%RaC@Yi-2G>c^C* zrp62>`Zn!$v^~Ns@b8u8gGzLnn$ctGdf};{JDMr5rvIxwv;4269So`Wwe*bE+=6v3 z-CMGO&jCYAVgxW;;zuB#dg|SH@x>SC@_{&=$oIV^vi1mi4?^BL2j962!F$pGNf4J) zs#a&iVcMKgB1>h2fF}Qu!rOL}*2oqMm$(j8>*T^&lMFuwmAA}tjVHM$7reP{FJJ5Q ztx5L^u*#1?XX%Joa!)PT$sQhG$Kcup&S+!oua!%%CN5+D65r!QEDmh8`56QM&7>_C z&MdfXvd0%UK3AXYGWgj;iFO(Ea_QOC(ohrsc60E|sIs1Q3l^b2=1`e?JqfKbooXBa zU{<&tZEs~5)Rv7TLhh$k^yLQg$FE~Qp}BNUmI6j%fJuTeP~U3l*LHJr>C{XT5Tl*k z+ozIj2{Yji8S)mt6c07tV^YplrvwBh^X9-ecAuKxXEG`NScZGnx$<53e>7aDmw9gL zek>=9P2K&~S6_`8S+9*`*2n+okMOfU`!o0lKlPJhjtfVZn01qr?xr2v<6sBm*hOu? z(EsMk7P}qSw)I(A86Vk5%2gf=6Tct)!5uGwE@2-Ebqh*fiiAz3r z@r5OuN0}SSA*ky;Cy-;&IKgxBT?tAWP4cu;D#=&Xg>I?meorW!%tnJR+qT6Fq~h5G zV4wOA8Ak_BwypZ#ZPlO{1G{KWXCqMzQXUrjS;ITeS$HkfQk#RGI7$x5U|HcGWpdxO z^7kd*ewV;{6_3CDZPH@FV-3#2o&6RZ0#&P2&ofr&kK|h780$X27L_jzWURPUKm+~+ zQ){c0ZS_bzzcfE7Xey*9!ON0i2<#fbg>lp`7nr8&UI-~cV3u`(O`M@$bU*L)Hepu+ z5Ra_ttu#ryfX<&Qc59pnhynx&>BKYcVmlhm2lHLqQ|J=eGRAlW{PV%C_NX~b?ROfk zCN1(WawGgy%&4n$A)Z*kB;RO|l5d8SQfhXa!O}^>mK$MYPq@*^c?(h?Wn7ecF|_WB zGbGGbf8J@3y5l$t7&>1IcHx~k;3n6rV|HyZy(Nlgo)(vKKYq$S2<=+oHj>o8Y9=I!2h(^YiBr7yJ$J!}EG(6$CK07Zr7 zGNcr07$@adhp;s4y{*A#{?_~ByNgXJnMv{Yb3e4R^rxdd?N(lnHJI>@I+~4U7i??T z7VqN6I%Nt@S3|>lJ$6)kRLP*yaN3Kig;}bTpq=mx_)Yf0Q~ih9Pwtl`4OZd?sf+6O z+QoL%f)4(1Hp8s&_~TF91*@;j&06x!?A(*&*sR-wd9lHH4*a+o_BKbv*=G&tW|Cs| zvO$Lw2e3>+I1?v~)23~7i0w=tJV4poZ!Gkl1AJf^jl}&t)yZnmxM3YoX}zN_?&Z>g zbC(xK(#xdtGT4(iRtK7FCvjM0ii%^aUFBJgb8t9u3RrUBB=AgraduE}gs~RX<`i$Y zpv#tfnvLYA=>Rhv=cE-gfGs=8PsAvt<{k`DM@4LSA>@qgvh)Hi9)Q)9@cX;34a+&cy zW@kNk_|T4o*4W(r_ll2iD6Y^{>lI2pJ>~k@RCSa_p<-)bFUbQ!jzix;AsH&5R>76{l?3r^)P8Gc_8> zI9@M~mx(~?e;~Q;V_Z!iX^@NyY+UBp+ ze`LJ7$LUm_cZyCq#&bCdG;A7W5LWo6J}du7i>O0RrL8F%NU&AUni~m{au2MOPn18Z zv2Og`!FVhSe)F5(f=6E_@JXL#{ZX)$y#;vz6rK<(E(JAiNO()auwA)rBq5`kpAAU| zR-So!fdn)itf?^uHLMwWzW~KfJ<`4vyA-}O;HE~tn3Rga_U+uKYk8DVsKf374H}{I zi3!{^G+C$KX_GN2^9>flT~FLw<3;P0fI1k;Dr!N`Wtr%yexQ|66!K`2hNu~ zc7c2TIT>PWS%uL`&Va6fs^Mth3f~Q$qSn{?-!;UF&U7Tvt-K1DHUN!8 zNaBH#wE}4QB!luSu>{S8%j>>hY_wi&Ez_q-j86Q7Bln?kMV~hevaYKX*BNSyeTYGA z8tGBh&;&->X>axn-B}&&50ULQsmv||lK9>$CkkpGOjt@eJM&F#(QF`tJ73EzI`ds{ z`JzLl)nX#DtT$spK1^aN-=<7c-E=8V4-|}sS!IVdJKAc#VaU-e>*^=-9_pk~eylb0e}?6avkZc0 zTXnEv@vOybEXTpR?=9}h86sHrknz^3oP4-tpRuqZ#H{*cB50L2eety>=1P5RdU+4} zBN7WT`;G0L=rZwijXn2_wWKa*WbmE;G0;qo%L2fWxbmc<(l!zV^px2LagQZ&mbAd! z8;c-t^Y7!IJ!4`!;gyLhm}RmBNFMDm(_`n3-Chc`CIq&eS!H>G9|v5tuU5`8H^C1y zrW|o|^cZto9bhwPb7PTrsaa6@Qg(^o0LFDXJH*pRFzHdIY_+$@8DW*ggUHydzrHJT z+8nc7&N<^rw>e{D&cu2+Hg$hE_QHDbAojyLzCV004u$yaXFiL6_q)G~H@*2yQ=<*Z zOH=$a2InlL%^FDJ7bfgHHPc169W~ag8BMJ2qyg$>^6{KA%YOg&{{a8+AN&LS|Nh7S z58nKyH^WO*2mV5!S% z(ZfofMkl-C4Wz%=7rv?9FlNx?mD2y9{*juG#;H;yG1TN~P67qQow>6MSJDhPv(YgA^$%uJrM19bR ziUB>*yuqPAl<#)QhtbdUFydr^N(z}M(LzaAT1p8MC0&dbLGd&YMa&FH0^hVs41^en zC_q+?p4b>o&=6#hd&wlZ$Nn?8Gm%$ovY*{0PPPa}lsChgG|N&AZa<@TC7xTii`0J; zdWdHN<-Oy);$Qk;`q;g2i;9_vM`h{DFd8)B)CUMiSghRWygPRZfYPqXZH`C@hE-Yf zT1I7y#ATZmtV1wV=c7=IFeYBrUVuhfFyu0?D>9eS#~9E%a4I+Gtd0Qz0wGfVw?G<= z!nECK!?StXbq1x<-s{)mQ@!15_9cINqbZv1iEpmEsU!2d^#tolcC0%Kei|*V)!tVQ z*#}GN(|@c9s%3^X@ z@=<6e83I$5u$gFL@Sdt|y@96xL}S7?ibeklX3vp(!ZGt`CVps7)1Q$`%9G+5eQqK?8m*w397r2{vRe@?Ig0n>GwoK=Xbx~Z_U}nQX9C}XSH7g#J!h)sj8&Es z!Q%ZqZA~zc#0OwClgUtn+e!?Ce5*jEyv&y9^K+wg(zcmUFFIJYIr`daR!zx;dy|7` zW6X<^!SN?3;B!$ltr@BxZljk+zNU1kdG_9DrNELs`=q0EV)DTktjGW7|My#@RnAE3~zgw=pwEk`3JR z%DMNAj$?#|9(1pLruN1QPrFh&dkkvd^rklw{gfK9S27AWu@QlR*M{yEvKK1T5_>aA zj7SW)#F&+&;oe50jlDK6VS<@2Wy3ul({a55Q7& zHp~6Hyay4H#6tF|1jyM-xzw}NMMaJY)k-KLH`5QXuD@+2RgXP?zJ8Zm-)w&{Q-Jd2+a5nHu!Bu;DQWauRmX3uIQHCHl>t4{1J{_eS~kZsH)W^2!5DKEN< zrJoej8a5oLQG~ZW5ar+tl)EZ@2pTk+@BoWYen83wLlvmjRxl%FHT9Q#YO{dFCfBSk zcl9j-JAHJVD>=)@QwQqBOyL3AjD3kQ_4%Q{$7!MpXXj*k$X0?q>p0p^wXNs}U#m+S z$T%fKI7n^5jxHrU5ZKbxGV$3^z15Rthxvbkz?r5=$VEG+OjQYpSa9QXA^t+jgz6;AbifE@WTjXWjE4OAM(gBy36}DbP95C_o6ap7>MV~AcBe+ER8U|OH>@^KI z`sYc8S0VeZyn2#wH3MB$>2Kst_~2n9$P;)O2t!M_-0nDnHO(e`kYAzLrY_l)_SkDJ#Whw5wQS|)kd6}rUTSDsFj%#NIUGL zcioMBgt}M?JY~gerh=Dk9XcYLyPM*Hj9pwJGq$bL-rlIAULdG^&Q@Y3*%;)@iDpi_ z>}iKjg9})*?~@B#BCd&*(O;5luQnli;YC^7wmkL9Pcm6Cg6>~bFrvX|ON`q6vd%b| zcQ-w?%u^P|9nQqD933h@4G{kZ)CrYF<3^cMgM`StYU=1L|Y%D-N2u3H;m#ZgeIZ9`^9pRF6$2kxG;bAWYVAIUs$DdDkq z*uzL*%~J_uDPeqm;xGRSKls59;J^IYpB3GT1f%eQ4rGgc*{4iVhoeYrYJRl9WCp^P zV9|fd{*8Z^nmvM;U5!!e(xDnk!s<#KjnaHah!MELE0S7ScvKlc?h;Jf+?F(fhW{ zIJwFxVlEt-{zER&v5X^WN>I3Fn!>?ymSZ$4J5ex+rF3np+P64sVT)zgkhVN<=buac z#21q{6;On%4)x!?_+7A>xc_|WXgu+9N+lc6X6rQ*%r2g( zuMvGm=i3Q}s!?}SH{vsdz4f)+BpaxUCH^M6N1kfb@AR)&2ImWY9Vs-)bw^Xu z_8S_O;1ZjuB+{TsP*f4nQh|!Nwz*8*j|MBIT>&T|@zAJ*AM)1Q#S+9_6%J1ZvsD!? zESg?uWaQ;Qy&Wvj)!CegXN9JVp;JfL5`$_17twGmP;N9FJM?}>8kFP{F)R_rwDP5f_VFGrB}Y_s0m&}#=P#@g#!5^%v8_j zY{HpWZmRlgwpo`6W@|b~b-~@B$>Mob{AyWrz$WxE>03a7*fJ|mr|6|Eh)$(lLFc3g zQ|#x| z=Qei z&HL<6`kpg47MwJ3DNi=ehKM${WuPPtH+r#;Y3FL7c^iiU9EqP?s_Hxsi!XL3k20=; zy!4cT<(MgjjyG7|AgAvIP*#K38kCnFatSR5pK1$^J)m;`PTBZ4_Ea)R9L-JNU6vIp z4=s%N&CP`4SY~%5e0V8rNN#%Cl}fVBHko*8Nk-B{2D#%T(XBS`XYQ>VPvlsJNfEUV z$x9}Gb|$rMYboJ_xuN^FUwH+;|L^}0|KuP4BRu)U6D{uYjFBzuvK$8Bizx@u88K5z z+9c6A`8Z^Qzp1d)0cZ^e}_a|IDXMSdgBy z%`}51K0|QIaU)q3$%s5;k(ZUsZ(&;}`@%NI=Iuo+F^LuQPkS%+ zk8LE}a`Is9Cxw|{iUeEXKIMzcV!f<}HJz*NfvW&iXz6 zZe@==(w4Hk)^)7pwfZy(j?n!_-RZ79y;Gpy?43(0hWC??)rxG;UFqBeXCS{}?DY0~!uN?W)zSfoSHqM3|Ep*5L@baGzLR3^LuJb&(@Vbn5{X}qBn%?=0) z)5u)Oc!0A8FiDRE9x7l9)-+JSg#mGa#Ub*B47i&AkTPBWQF0?9(B5JcT5aIC2G#3# zzY@my?oB3C!W>=YucQQFG;MJh{H!`|D*e`;sq;YD z9hO}_Tb*WiJZ(dD;yF7{eU(%KE^MH$_Cp@%;QHi`AxY&`W_+;+`aK_&{}?lxSd8C& z891)CQB`Wt)Xs#n3*`tk6Ev4PTHY_)3e_pHc#;I=L*j;E(SJ|M@PNA#8LcO z&6t?8vfS%!vRdC3KX?vWtv{FY;uB2LV$24BH9wkklw<}w0EIw$zpt56wQ)Pd zClE%D-fs6>sJ*GdA2K%J>>k3zq#y@&;s1>@h;D4Nnu$gGBldxbUN8C_<;I5avG+_Z zm!WS%on|QU1_xs~_!WJhdBKVrJT`1Te$P|=Ea^CK*|u)a!^w^m%iKb2891_i3))ZE z-uT8hj>M0SS=w03IzMZsNDPo8>3I_?1u{O3f4QMO$0eiw(e+I?w3Vny7UVuc9FWiC z!)+uYZ^vw`k-U2NaPE!uaBk{;B(Yw7?EzkV;YEDrv!BIBfAcrSOtTQDh6_*J2}x4muP@VU=@9?yO0OZXrD zU;jPc{qA=q&uP5&-IZ+F4rjt>k|4(<9x~{n|0Z-u@rk;7$Cq+jdgc*MhOXV-&QG5+ z)aYY0=|~;l_uJ%y%S_4n$K|%=U(#-4>c8rZZDk`*c4j$Qu#J*!>Oc9&8I3JbCG@Sf zQTiWAaMFJDms!s&Js$P3#Y12@^!rYWVx|8EX+IL;k*s&2V=g;{H=kw_H1@<%#p1NJ zbybp497Zg|mK;R3yEo5sTAC|%%$tnuC$F_e8(CJgxP)Bm^|2Y-ahby$G`QUYfcROCG(>>bf!cK<9oNHBu?gPt>T zBwV$7N`|2Z$C~A2`;F}u8?=eTsWwpjh8S=ZBXiL2gv~0L74JgTQbE$>LMo~_!GgbN zlFnWDl%H1e(Zt%Ue-<&D!0YGwoLtfbB(FU-wp3+LIYrv$6F90Uz>?5|Iy4LZp~{<` z8>bLk|Jh}mvRaNd`w^_Cn9utg>{8Ak2BjQkw4?-OVr5$Myj{gS<*b4c;h?l7`|7r5 zseUI$c0R(zuo_9>SimER0OdOtL+9Oi0=A?)G`p|_ zm1&c`Y+}-u{(*avxL7~WReC=`FSZ#RS=@@aPix0UIyqV~6@$cmm zxX%h_s3poilZD%M6Z;d%pf7M|A2+ro-*_@$*$#=1!dOdk#enjemhihn>>lC0xq~I! zN-<$n@7X8u%(x`lnj3x3J%E_}s=@8nWGqjS19f%Iz8Z2N^+voe>a*ukK^sHX$@V>@ zV>Wc)VPb?+wj!ysccU!oW|A~m?a&0Y?3TjVR_~r{QjKt2-_OUGTi_boXPk!)HOTjYFy%2>N>-uN*sn` zh6Ye7%&sT`zBYJ)gbo-MaV*D00gig<#0_bH(m-9&24#fUy1VvQ&bx(mP8rn!+{M8D zqAvjO#R;AUI#Ac|7ws&4ERG@zc?BT5!s_?Ie#U{KUATKUR8|%CJX#YBU=}*9xRmpR z^fN6{-6J0Xogv`&wlh6L@D}A5!tXB5w(u=`PNOe0u`}P4evmR#W~!|#y`vl}%wcJQ z{~h<#kqACUUyBShSQ^Z9e%|#G5~NuFxx!5KZf`bRcwM%1KHrgn1O$TKrY2rV1JQp7 zJj*4HHrlsN3k{s^GmMo~Fhn`H>?U;T)8)%am5?q#20RGvxh|EIbNFYVVF zUh~q#TG%58DuA2!754VRB6Ka(TAP(GrB7)G8*S{Q+7+x8FAQaCCi@)_JCc6R6~@v^ z6Y=sDPVu#to`STCx4wqlq&x!(3fZcDyyuAN+p4P0 z_L&$N`~1j;UpYZ42U(v>mZD=ncZMHQ^+$qc4u$ldB zsiTcXApN2o_bHNo#an`d&ExM@HavHqGmXfFZ zdyONyiP z``&plXt2-y&vg7S>6m~fzf5?Qd<$E%ZDwt3AhgWrBI8#ze#yx3^O%`*Y=B;xZE4T4 zEwjRtwlT{jY!t5YUqWjaBWT5x+}NHl77q%iXaE(**Cz2i5${O+9Gkiy%Lk9YV`KNR zobWD*^+$j7$N2ky|HsFkSSlYQ33|&tpJuz`xB}afyLH$>Eq~mCSCm5tpD4%t!A;!P z{ruD)9nYTm)Ti;i-}}~q!!Z-<%U}L7KJkf9;A6l2TVp0xCd>}?i-bG-WxHwLx6*%P zED=k8(GpInAN$X1JCbU+2{!ym0Pubi)Wg$A`Oiq^G69)27M?>d^s@v9{oYm!)sxq=s%RkJ#uL7A%5RVa+>~s zlHGw4>A)N-#9|TFXNE^zv`3Z2NIaTt&ax`^hyQ9*tSM(|kga!>%|+m2t=rBh4gxYL z86C-+5T%N75Ln5ta^6+6A-@PpmM}5fR<~NFGY19b{Gw4@5xty`o%^?ICQ(sE8>TUG z!N!Ggu9&E@puS&pWzn{YgJW|o!4}{oC%t;BW1w4aICYqPAj_AS2>k`eN(@ztX|%79 zInhDdOB_&kjy4M-bKdD|A`{)9SXM4;BG0p#3MOWQ#i68mz*zVd%tpNILT)8sYjQ!u zP1#-LOvHSm(x3Mv85UiMO5)_p+O2xb271?IhX!cl_pbP; z@M{Tz@|1)~bDpwl?If#iVWNI8%^`AVK_5Nt-b)9kO*Cn#1|<2es7;%S_HC873$(mU z+w7xuI6FYDY zn62S!_YsZ^T{|A_dv$alHVvsFsoJxKj1paAqP1O&!GO6=KM{FVdvFs8q&?m|k7Y$; z)5LnhVZPrZv7 zN?}@bZ!7W(E%rdlZcE}E?cK;yNa071I>I*j-pKu&n$=OdMv2Kg+$#LWq z#GMY8dc5m_6hi`vXN&$5_N)gTcZ=L@^pn$HG1(Sy9Pr!eWk=9}2@Y#MkM`KWWZ-cf zzi(m|AH)TuEh~9Kyg(3>?`R$?bzl3XEN|(0$?G-?t>OqTA6Gbwn`uo?d+zh~xzW^F z(INkY9`NR8E79JQz?Dpzc(!qtp_L(Qg8k`IJ5$ZbOaJWe+(x5ynFmrSUxt;kO93_H zC*dx;RyU+E4tmvb1+Q8afhIumM3_kfEuOGwP_TZ_-lV+rtqC3%Ax~!*LcCrapl9o4 zWpQ{>+sRxfo!r9uS{#F6Mg z0w}9ffpUDJ;{(x|?5_yj`q4TQKF>bDKu`2O;fXf5R~Z&uI>OeT7z!@#F(}47>s4Y& z>L0j`C>>P(*msJswa&wj8oWCo=|{^ie$Y#<*w3jB(c@>(ChdRT?|tVjQ5U$%c|2QG ztQkc^qmLHrWbg*(q@5(I(gOKfQ3&AuUg|#|S@34nf5+lv<6g;};$KpRlPE##qyW*_ z#+ME$uOS=0w0#>%9}8i2=|j8Kr4BmiszC&Kv1R)_>U`h#>NQEF9>USyIs=tlx%>YZ zFl}}t;^P^tE2KuI1U?Q;jMprQqZ;==nFHi5LY1(Hf$Cm^l+k+(!bTz|W~$6VZtaOe z`1agelQX;oNx^f{XfGY(UEy^gYi_o!ERxk*cg}3NnM;eD3YGW? zJSB@UXouJ4#evri2j3`OW*zEao_-l8SptOveOd@8lXw;earPZErOKk^?8u^99a>=2 zv7`Ksb|N2KXW!QSnJ}7_bx>BxF0bF4CEvA7@>^tkY~cRzK{|v?q@@`*f|ZGim@$=D zO!Kyj9q&e9S2$D`Ol?u&pYb_;Mtr}GeU_@MZ19eLLLv9VI&kCP^Iv`*U;p~o@e4oy z^RxdW-1SO)0}NM%nG*JkcA`F6zJ-KTH2Dm(*3?>_5DldnUP9zw7^0H}bm0 z5Al#M5D19KsZAY9(}0?saHs$K+%N99HaTTu(y(4MjPi4%^L9pz6&u>cBq?o9>OaEn z;GzzY@;a6m!et*jc2rir^q(=gr7g+{V`=fvxl)Vjeyu%&Vsib2r!mO0cd!k)-8vAO6^CW@Qhqh-+ zU-`=_0#Ppx zPzoQJ*c|6#gjd)!>9)7Bej-8%xwA6bC}+h|4ZrvHsJ!`C0Ht7Kp=T35_OsGl0&S%c zT7N~Sgh*s)3a8vN5khDG*0Ifdix%O`;Vv20X@W}5VG;bE$ihVlYlCqI>0`;m%oMvI ztEj7DO5--xwA!wSB@5IwoAHLa{ja$RTfLOvmfA%g|t+?1#Lhjlg; z?W!i9PLV9-SL~4nU2f8OJ}YCONn3Mo{%91HWKqLUY!wZ>+C=j7D8365NUx@IMS{F4 z(U?tE{ph$3T0rW5=eR8$FGyT48?sKs(U@oPO+w7w03;NxDKd{Z~J+>j)mSiLc~`V_S)qjl8U_$peUFBL9K=F%0& zaqkrVnONB(E>ypF)QY&x6Hkj$GSeV8MBlcwlXnTBxiV)XzC{mD`CnEDq|ona560}W zL~ah4O=uo4%~VY+KdJq+Jo}p1#EiNS;5mq#Gbe6m{GZ`5PYo>F<2eXtT(U7n8zA@b z1M$ht+9Tn`xIq(o$ECER99Y;C4)$|@m|bQy1lNWP?|rxZDLG|lva~peT1FUkxY7L0 zjg8r5;SZrPv-4l^{@hUAE1Aa^p%oKi?636FG5g9Z7M%%C&sj!6W9JMgljKLAg#gHu zjBINYo92!lg9iV|Q^pf}z{~iy*`c8E9Ln={Fd_VPa|L(cw;yxD3A>_~#c zlD;m!m6AjKhm<3K_6X=Td0DmtLjTf##tNHkblXmPl_i-KhfF#JUFcY38Dr_jWJB?8 zOIjoCQqtQ@J}cox`Q!@>;ZNy*7xB^8F8t(-HjqQgJR_Api-HDHUK%n8v=6rz8EYGo>izcc~in)kSa#X7X6*l6hgQrp2P_yEDbh+ zu?dsaj3N`bmCiICN*iAs4f|&D1uUD6O*yMZs`HaJW*yLGNoOiyaTuv@-pXgfW5roY zadNH(XcT-$4Iir?m-bgx5< zVs_@2+|rmeG54}hC(1aWazB^WgwE-^q}cDqIpXvhD2=35+1Y5)ik>02zVMU*NiwXl z!Mm}v0(i<&$gm4~t)K=2joI*(1dC9t1JbhX_w(a#_cGBR^dQJ9fjU8M1kKN~(WQ4; zLTQrxw;ZhG-f6COesYn6B@4o*ZO8yk)WBHPYX+dz2Yru03Wv$(-u~lJ6l%7E_d38@8}0#aK5M` z9i`Wxlzo&-vXu9&ZPs4I$e9NLhsnn1bxNP0U~*bt=!~Jnk~ZdO_cr`&_}iq8W+e1P zJZ@;KVc%vF-me3d9F2IBi?RP!3|zKa5@vy$%hEHW@0z&R%dT1qH(NcH{H3M`-}t+| zbd^C5_hUM~9|PlKmRTYugTtJ0WtK~mb~#;&bRBI6yj)&sr3p|Wh$Wb|$w^ukbTKf= zQ@+B%88x1^_Thf3tBh+yce_#u&yB&8p(ryoeXAv$`NBar2uIE`iKfMlkn}Md&cx=? z{n9RR-=s>?c;TrDG8st{4xX}>c=~+jXQEecdgB}M^2;xQGiP?$v3kf*%*vZH=xSDA ziEF__pP{~z5RRpO&91rVVc8em?4H}arN7*2Al}AvKFf^6&pwy59KX0;LgZ^An2&8T&Lj&&(wXdCB>3<3i()MMd!ukt{rj?_uO8(Lx&14#K29%C- zG(mM#yS>wY^-p}Mk%<&^*_^X7ix!PoCUz`n-F%9)yCe&GdoP{l?4iFYf7sNdzSgqMfo)<<9oDky@9niX%DR0p=(5OFq8 z=!R3#PU{@Tng&M$aw=ne&&E^8bbwXxlaTTZRo@{XEtpvRlR_m1GlfY(5rGUNmx()f zRX$q;1?h|uC$E;$=qcMo2$c=AtCjsXG2nX+s7iU#8VL3fwdi!M->Vt28dxsReQCP~ z7i%k7BtcV?(_StI_-a*phb6bCfy#b@YEj17cvDh=B@=6l?3^x>pxR0<6yp|*Kn)DK zY{&iL3(}Dz1Dwvy3ve25n+$}I<#c!rmVgQ*)woxqq6iDmqz}_VV!VNFo3f;-snqr$ z^l|v?^qE)-k(oGa)yny>&3u%yyVyXL?G@}*_lYANaHZ&krzD)S7^s<8W!mM{uaGd07+{!*w2MQct+mwOAyni=H z7JsM7tD;}Q*OG74lQOu;ha58qENs{1ezuQJwtBn->^RHF{K_Aq|4RQf(xv}>TPq4d zBGfxEzXT#ZjvPFZjzBSKfo4cdB+iejTb{Z)|K-w*>zfjxYX z=d!RaSef*R-%Pr&LzB|9`=A8C)=$H{NEHEY3RFq#`Q8?8>W zo!kp%eY0KsDW$Qb!!9SL)&4=V?gpO5=CPElg|ayyMlK~Be8`00)@+0tG!DQi5R7RC zhK}O3e9xIln7mWmx%Up}ztT8VfAnqLe7SS^&`2D{OtJC(W~;zeXJv9gkIug_kdJZv z9(#p7@xO zu1p$b*z8F|wLuUYI+iXD{J(LRq2`<>&uk)@NCJYt>r_hJU$puG=yj2V(!)BidRFzlnPGw0bu>3^NN z+LKR6nw1TAv7@t{4NRzdj#bpQAo0{>GG~11Qga;-GcV954}kWtau_74BW0x81Jvi& zDVo(6OB3#OOi1WGDpZnh`iX55OOb+BG6;Ak$tcTXze1qf8LL>Ph*vn$HUyUnac{*X z`lzJfAqs(?*?bGpV);>F_oPi3a8&1j=!!$kPC(=W1)Be>gqmm~`$ge@){@y$`73Fa zcEF|BY0!@{9-5ui29%(kxOM@|`S)osWRj3VITKaR``RP%PelUvmR()~-)u@0ZtctS zzA(Xi|K(&+${=)`eQ#JKK$NrxNR5@I2=U$(omG71GY$@zWGT9*`bra>hbO6U@3f|| zSqunDffi^K@A_g3qQ0QxO>Z@^;|#We~axuu88BdovJE`~@Z=Z3Ryc3XwD(OTfuIEFEMY?6@RTpAxc?OOev3V= zY_W4pPK|w_wwM_fu#?1=b z_tF#B*x#GNdbD{v_MMuW+4H2VzJPQt6E5po57sdYlTV}nO3InM zNZQ=S@+3#jEK%9tW5agKMC9b;k@LLWtL)=%e;hBp^pcD#^aXc0tUPIMwT)iE&Q+%Jo#6W-p=y|9kW++Q1spojS5KmJqv z)KC57T>|e3(I2F(QDib+3Y)S=5?2$u!3&{R#aT?sl{vLg8_WHuhF!S({N^{lF=k=y z`@@ldyL~t}b3bNaz4l<@@VPI19-sfh7x1xv{abka@wX>^EeJUIU(3yiQb;$-2!;>Y zA##Vp%fwF=kBs{4oFZq|=tmjYssFIF*Oe%wA3*A3yQXoBwzq27h|{c_8^{aaC@<>} zc+iEu6q4AWJW*uHZ#k$y=xNID@C~kZ8`-DYgK0Azq-z^>r3`XBL3$b2GLm*N-r?*^ zmq3qnns`pA+U!(Jf1@YZ5|7d2W~aC@Ss}I;twc!_!HCxSeWU%VWMoKd%9)96fyQk4 zz@%48IX0y;n#bx-T$|QXC-B>o6-U~}wuI2kmZmghP=k8zmUhG19fL|`5+a?gr83Yk zRR$QnZ=ezB8d+dXh867nnZCJbgBm|IdFslCTT2{hZ>D1BjH z*k1=OnC<$9+;1T14#^}pgbi0*q@gGRsBDx{E4QkJewi&KHlzZToDobl;M%moPBamS z{Gxm5lyuSGCbpEaYC@~EPN|hAJSoorG?}@gTlaGFxU6RuT)(iZKJ83gWUfalmrvR(_P)tH6iA~^T zj2tJ%vJxj7nc?mCIRJ3 zG%!#Dw6rsQuiSC^912*#7;==h*Q}qyYE1Z`5n$liPAF0l7yImc%CI+O1elBnIBf2B zQp@4^Qg7$x!;YjvC30d$5@uPRRd*s$;I}vXE{T;WxVO#1_jw{A?VB{Z)rQA8t0ZFq z^!96-*&9+M?8n0L}1i3ggW(nJ=S=DA`1mhtLTM{CQx4z9KBI7Dw$#5rr`7*HJv z045A60|{5wE&#c#QBN(eSs1f4X@kIre&gU46M^LEpv|`K-hzx-XR>e)Q{XbF7rl@B zL!Kg_PX0wOR&vXvLdm8z+t!nFkk}b6Gk76dOFv8ztm@EogAkGa3tw%`fzS2V?o$r>`!mS*a}s&HnX zxzW5&xqKMQ@ow)DK(`O)-!Zf4#c#cc=bn2G|MJ&=t&*`N{;-87IlFEqo=i8xCOA}p zJ`Pk|=I2bTg=~1=iIEhjS_6YY&cnyj~lp6CTN|&wu_4V>Z^ue*3rl zm_=7HR+EuBaKg~&j*!V|BfDKe#yZyZUG+drmCh_pTIe0K77OjMZ&>=7Y3QNXE?~P0 zya5Ooacb;XNwTnAQGZYS#r*|&nrg{1c~J?|Nr3XjbWEPIPa9*IU|M$~F20Wca$l~n z$AKK}swQ(a(Pu$J{bZk3>JM+*$#~;+B8WQ8ld$ob9^g>20ExYot4o3kNo)5drXa8B zPpHK%70r|vo;?v3#iRZWUxluRw!nG*YVCe7uk|tSS4%BP7J8oZ7zsw}Opvs!RnKYM z6$(K+K#}KOTIUj}s1g&eRNiQ%+VT#fMp{Z2A$kgGmg`K1z?=c0>Q+jpLQ%#qpEc&l z=RL56pUh`#Kn-oq6M#_c75+0$YW(x9OIp1p(YDY`IjP218eae`_*8rs&dpyg-}Bzt z?4;6qzklC%Ka)V(seT<7jhHPemMJx;zd(ih~W*7gtwLL zI!7mRNgFki%|KZ%bE2Iudea5qq(|**8w$Yp}`7)MJ@Cw zY<&rsEjl`M!G+#dCTINg{M7$+7RgD#);_3$BqG)CQTm^sGRQ>zu7tcv2M}i(U8`() zr>FSQ90O1Xdp-PTzU%@%Z_g}oU*t6GswTxrYpXzH(aC#oT$-n5&(r<7&C8?8R7P#l zCsw)8z0`9xT4JkM%+~s?{pxQ_#Eh~HG@)rT&}^U1n2pQVTGChW_-c4odU=)O2Jrgw zAj$H-a`&z=+oe}|*joD?drXUGOaj4@p#_ki=lXHb)z5Gc%sC#~#mo-?LZWec$W4 z*0t`v-vMKiknWlHd!A?S`>@Vy-D}^6(SCogSLWCo?%*+PAxM-njA$vcj)Le=aaCQk z$ABhzh;n5X3>GfD>{Y~yFg~lzAU#1R-IjH+q6EG`>h`XRxpqnKRBx4OulSkJgmEB3 zP*FE303P?ec-~$}M5W(I$dK7KR?81DbKtngeLiUSi*~#0kHbNT9HUN?ngUFb79Ttp z+|&RY{GDyi?_92DGV{zr{{Ron%mGbDyBNenPGr#O zw#*t#BYix(F~{6TWWrt%)JX2WpQ`%#(dw9}v$PC*W^9mwyRNPzF#QvZR! zCtc{@zl43fzaCVmwB3;Nr29NutqTcE=?jnfJ;krKHJ8&co-#AOnT2`#17qUXGm zM_N$qSCUY$m!Kz|jZ57X0RgfRMe1nX5FtAmY_0C5UiidI#hzt?XmU{O`EY?6b+jD> zfAz2%aIu<29~W?%a#+O~A^nDRR&_g2xG$grwifE+WSD$L_}kxtdpZVnQfE=Na~&~0 zWn^Lz!lfDk?T)f3h{7rreN|-dhA+XQ4-nCAUFdzaM9qLW46KP`nWconRuCxQdP|sZ z6^u1GZl6)VTQE}&(Cdu(+68?@Gv-3;BKR+$A}8bP>{4j)J*=7Ho^?sArkFf+XT3t;Wy= z?UDMRpY=soO!-ETZdT#dc=Dk0ZB8%DRFdm?=Q%tP zMQ+vE=#r?jss?QQ9rfKV7_itlEj9w6M7AFyH{rcn?K(iETvs2E3C`qQX|?(Uid%>; zi?dFuLo+ddp~SHUM}O0&#nF*-5>qpilwskybi}ev|DcyzUE^h&8r2}buPVjoz04&(b(h_gHf%D zgp}GpeC~N1Nyy$@b042w?2n#$<-*e(bi@Ly>E0;fw`|VlDL*eYeen%mZ~0v^_)N%I z%}k95+0#qgGbYefoRQ?Jgi;Cpm|f)cwtL_*_Q~?zhv>Lo>mdPS<6Vo|%-p)&nJ@+i z%86HK!d}$VbcR4AkAytnCVPpjgN^gsURVzA=M{70iCu_Yj=OCs73_9^MjK^(9n2>H zVbNz0PuY(;E$}F|OESs2`bIuCv@v(Xw(ahY`cu5LdFZg(ib21TR13_y8hc-12`c4r zpD5=&pn|xXO-AAIhBv&yzVtqU^NC{ymMrZFi4}*Hi%KrIGT&+z%FyAclOgSDe3tiW zhRBqfqn~3*uSd#Jq3XSccF_ecaC%RnEGC3!OmbS%&N$N%Jg z_QOB)hpilh5l{H7nmxElJiRYYw`_$=Qb3J&4Lu#=I$;$3dgZgP*y~>R1UC`K63E-_ z(KtzQEP;G<%*2`-yMORQKX0FXKTc%rE_+ei}<<7(&XDw78`Oe z>L1M{Nc#?Q0B(&1G=_ry*z9vlAm?6oB4=R@ca`&OC%o!9fB?He9VXBcnjL$US@}}4 znr+8D2Eotdsa^$F5h(3kxcJdMlm|+yO6Hq2n-Ay@9j=4UH5OSNj`EoQnXNgZSgKuJ z>)5aEFBifc8HbG|tB64{!mcoIA^t)=9#@^P+l|cHb!YUooUKN5c3t<@erzdS ztaE{+s2C@cXY%XXu!RbQi9-mlepVY5PUEKiBobMD>I64s9yAVX#W@oL&%7nhu#_lH zlrTFb70noPwLxQ|o-sb*u&OvCsrL~q_3Wt~?1Y;umk@sn4y7(^3&}>Ph%$D40`CKDR!$t60ePp}5KBAX7 zN$x`LH4oDVd5h1{HU#f>sEOY5rK2o2Rm~S0;ev*fX-q0<0y_0e8Q_aEf@%l#KLpmS z7d11e9rPemx?mPotJ(LpD!Wplb0s@8#a=QZ_slvS!kV}7@Rm%PJo_}RTgQyz&#@!hNg@J%C@NFY*i0?s$@jAD1IITzL0*g7Z>_J z21+9#hQ7RO={$`P$}*E=E}JE5l3&ao_va!((f_vi>Ifzcaua4QJ=(aRjM8lWqxkDa z%{mJU8h_>ww2GDu-Ev? zg%_Y{=0qpWWI5|0Xo#UJ%n0$LX>az@9mE)$Qzr?_e%qTIj6~3wiS@WQnXw_ld=+%R4uv zANyh5=JLl^UwxIQDjspcNtiw&#UuRC|4=3usNfV$Vl^e)a9Bw z?UQ?9W&cb6Z_Gca{!hKiy}3$6WG}2xM2xx)Qo9~$g;|}uVY_#Ydx13)oRBpyvbow8 z_FQIG_$DCHqpxvFv@#1Kt7Sv$mrttyqTS$oLoI{|_V5LR-UsGuA#`*`dQj>NTmABL zbLT<1B@9MbDybxL9@fSo9YhI>MK}bZc^G)41Sy@l369pqFq@l&oXu7NUn413oXW_xK0%PYz3(B$ultOmi_-wI z4K%-%^&vdl3Y5ZQi4P$WXXw&*okX=>WxVtaNEtX6Le{_0?!VR*!dVP%dg3drh@iqC zdX%S7mGPCX8?M1Yt0Pf{{bMj>LU7_HNhBJO75LO4r?my|ct3@>C`OI5@LRLZqDsXj>l9r1xtdtBw); z?;H&0ATIY3xjekrtgkSKp6+>4w{kg{P)1`n3aOlBXvNGe$8w1_ZTN{RqV|B5#w}1ob1QA6>x<0xWqSc(HQ)1;}pC- zajgVXPYkTS5VN*ia7FpXw>?Bra+tb_mXoJk>O~rg~Lj36e@c)$A;MViwRQ`VaGpLklA6 zq(=--~C9?2d)r1J_8e*EbO?-FRbRTkuB+Co|=IlEim(P25liQNq-l+d(7(0N!&RF(p zEa*%cj#FD5`WYfSM!I9!G85+6?k4_c97!R^FnS88uQ3=M80<^&4>Q#U%`{;0vT;pa z%qUZodlPwr&bZ2hrT%ZtU(RA~VsBhyR%82-_-)okazhq&@*4^L?QXM{xD&pwSEN5g zjI#QaWlT!_hyP$cgSst*ny58d=yDO_3F}_Xt<@*Kl+wI`n_A9k&ZzH64_?pjbhZEdfrJld}F=Q>qD?+ak(!@3M^aX-XQU`*a%3(@Hsg z+tEJp4^_!8K|hJ7+coWl=Fuv54!JK{huA0;Z;j|yy}PIlR7O<67(VL+}&GXL0uODbOB;Jvl#Gn#57a4T9B1x z!^&~FI?lW${2zZ(_Wuu;+JQzdv-TaA#EIE}rEf5C+GdDcD}gD-h~JGou(h1Cp;^>@ z@h$Z&&~BD<0#B&Bk|q)-^WkDQ1F&AyXSD?&*jKM^k84}HnQ+?L*r|`zpPm{qGu@P3 z?VRGq1fduZwL2y{HuF)KnTEu|{JxR-K<;zYe;56?dgKH&tZme8rT-_yI~9!fDasB& zmdbCO1xS)iDUeAaEv!jO{Qc@uKg( z^5(wW-Q8WIJ@H(40tD8<^k_Gi7;edbK9?k9ATCNdLYZ5g>Sb-leZINb}5h62`^4VArh80u} z85Mh)vfUF#`#|a@drBS42XBw(Y^-B5^k<)a&c5S2-jg(l)c>hZOk|}KZ@A>8Gl+^; zQA@?rLd8OZ*%xo9XDc4WoRN3v>NrvH(W7{riK|CrHr6A1`Lmz3pZv*x9N+TI-)!%G z_q%7}PO@m4d>b@MbHdXgb4DTERyb*kF@V~JiaCLQ@~q89T$V0d*$j;1+`z-Tlg*A& z#G*ZU3j zFl%OJe(pH{45?E#K$Ikk9w!odInW84QG4pGSG0y{pMA|NHJg|>M$1Ax?V)< zum5mW6nP}Ull#d?n*qO^6#oTt%wQ0%gc@qiBxLbKJD_)=hG5STI=<;Iq#%M)b zP1C*@1{f%9=SoFW6No-t|`BaN&235f(d8`m46)r0@K0 zFnZm#v=aI<0lIqH8}r7T13ZHs{){J0}admdSzaUceZmUQY#&$(2n4S)|C-!I`91l9{LzBm#)^8__b@CNw;SXWbyu^L<$U6t2N8OVq)gH7~M{4k1l*hh}2BmQDivSytf;_>1qKRK2IY6v-#fY=Lb zB&Pk?|LRC!z4Gcjo$&bk^rv6)fB2LC(7xxpzk8f6IW#SkIoqQDbLQY4SH4*OH$2!q09hpK#;#GkzX-1XSJ$Ar_HAKbD1@1=NM2NIOBP{fD&cYNGO?nwE(enVP)W1-$AFISXeXCrEqq-Alwbr zD8YBZD;Dg$Wfe{hTa%nssjNS$;O6QI{@Vl)L};aqxVnj>$a^aMu1-&y3TeZ%x(ixS z%3a1TI_gV*tCeqomUY!Zhhb(dp&Mm5!X!Wv2T`;t_`NfC5p=6IPAm|^Vr5KPJgHxO zxj!74wx-=JmS_Y=-;h0reF#alwT8s;y2^Patl?0G?BRD1L}E1(AEM&! z)s9=qoKsiq6!iYHycG4{sLVt6YCu!>qS*o7W%<(a@*QQjt;A&%s_K3+MrvoQf98FE zh`?TO#j2lS6`;ADY;dfyo5qswG2O^x;9UA_i~K$C8P(68w{oxU%sT=u^uflS`Cd&Y_TuU9X-K8Gu2WO6I zasmFOUe1Ko35RIO*`$(aHGS%*K(9+Z6n_Z1Yw~W?+njO9ap|djz}=e8>e~~{E}FWO zyE+*?h03mJ>{ImN0W+&l7J3{ze{9ZKRx-W7ob-~!*PYBFI}N@JdvU=<%0OfX-1Cii zOY*oipN}OpbG}fRMd3W!%w4lL203<)F@!gFcXw&>v9!`K&}4bc*4h`JhUdHN9ff{w zV*`IX;gU%+>Z^km5>wUwP9?YeMEPy2L}JR=PF;+-d8ZZaHd)d(X}$|g``Ao*Bvm9a zN|g?ko4sb{P){n6GiIyYiBDG_fH-ih=-W#^_9;6U7(02bgT`v?`|0ceO{UmWbKVxo2e4cB%rI$W!Kl_27 zvmg24AF?;S=}oY05wVw3_-8mIn}|-C=x3{Xb|w&y3)HZ$W}U|7$aO z$k;f*!!xTcc6`z~Ps{_{;!|dOQ8v;|#;@@2NPMGp{9u9kE5~W4dEJUwJAkeoeXrci7=Uy{rhpxoB zKVb-N6)zxXbC7jJ6f|o{4D}cQCoO91>|QY!VN)7f@m0&5a|RBQ7azrkuSr*vKKg5n zYOBFu5(7mQ--I@DMH{?Qry8(vssr(WK}oMyeq$?P^NYIm>(rq>dElCm_JPm2r)nkY zN1Tae5zlPqX>CaujnTh97W40-+{$rpf>=##Li* z-X{T6<8;+G_y=Vx|I6R#T%J$kEB#e-*2ua9DHyO9Y*NlwxP<4+eH^EYw(HI0)X0i~ z-L4XT(LAOqB_cpki8XxgHx@O>G64&Y7M@qRx6%(ZcWe6O5D$e%?B6s2!Yt*D4Dw97SEDEN3hBR_f)Jc+ z!NCh={S^6{BHjHbkkJWDjRu6*FYYa$2MAFw3|5_U-4!47fDYKyN4hVVRbLIfcbRiL zGv@*QZ_iznYterKfS|4`b$-1fK(J>J)Y}^Z_5a2}fWGl_)3lG346NN*SX))i+F-XU z)o3qx_>0v*aZkHloA1uqR5%r^x6%7NmQ`RW*_KO^?yzT4RW!_QKny^h$82}s_lHF+ zN6%i4Ydjn?H=@&Kr;RnrEs{ky4B&vnTozd-fws<7qU%hCx;@%Cmb~qm zxLJ(<bor-@n1|vRr9_M7%og~Nf zrP07{tL2^CKz*UE!~~v$dGYs|K*sE{qPsN(PuN0$hhJdgc$d9#jxsYNIHhHjo2ku8 zw9a<-TrCE9wLDMwr>00V^-~Kz~#BraibqZ5_|0Pbu6#F%}voC z<%xvHGQ6MpnV+$5`KI4HWX; zeWniX*b^(4K)(9;Rh~{bmqb2iAN$zH?2rA(504pTj=)D7%Z{+z(&YqC*p65Ne#A;{ zm57?Er3G@S3!$8yJv_Qa`)oH5Bj_{wwQ zKZTg8Y30`QQ<~UL1H(lsDQMn1JcHf`ni^=F5(g_imSl2m#thim+^!}8)Xysa+_S;Xwz#!BMJ~DX4E&%^-mzSUW7f9=_TMdB04u9?T*2kXs z#08v%iJ4;3$6?W?b9T~s!q^pQ0f4~*{@iPmbN1&74Z6pGz__U^0gF=isva#sQ@?j5 zONxfdMo8sQB~QMNe&vm5GlbH2gs7%s7xaUpHKl{Bz9?F6+Cu*h2cm7#ND8x>h6@S0 z{;%b$%vno(DR-W&JY8u_e`tbo(n+~Y#~1TJwlt86V^+M6=acO%Af=~fZwp0 zn%v6X6Gj9kXj9(vL`s#&2TyZ6kTHkz=5K)?3fzgw6r~0mqT=*t`T8yKH4X zVV236ID5_TifJ!)vT&R7H8`~|b_1fZd5=1y4H9aGna(O;WwBK#bHI^H1jQa>Wm{92gVC;LBU}GlN_8h}ay6v)z3GxBn zAbx0r%Vl3E*mF&EAtpj%D$2>UC4xv&v26?TWcHf?-X9QWv16&ZNbOr zz_{YljR^*gu`p0iu*yZ`i~BuioM15g6>opWUVQOICWmGmyE8F4`7}3ozcE2E;VK`f zOG3Bi6ZjGqFh-ncXR5;so-hibZF$YCn>pf=<4NW&?}H7;lDm}GWA@TW7$3>2Tt--X zVm-Fce)g5Ir1Cr7^PXjCSSBb_?_sZo{@?br88)^YDjQOCusKU5V;8q|Q0xuyS#F2# zupM$=GqLtsPI$onIF}Q?iaoLJKY!_$KWs0*{IY%T_x?eHpYnADh0Bbn3~*-bzNsxq z{YZ%S8nstERXUDOE?IUeH+AdMllYv~(-JycckI1XRi5u(@rf@R9FwU-6~nrV`1%-)<$IA!DTBi0jF^n;5`l#Z0#o4`f=H!D5N z8?nqXHS0F9=?q|w)E9Xf66JWH597zyrr}X51~#Z#8IV`3=;t1srP`R4W>Usi7!1dqPhfe~G%;g@GwTi2}q~%(@Uk zDat?s=CzAJK?D@+SGu##<8vncTBvs`=Pj}0nYZykJFDoW-~e2Q5aT=PU2u+S9;dz< zita4{5J;_pRqeFH2?xn~UfKc23AV$yR>j^LP*S#^4CiKP^tH_KB^sUkHzcJ=IMZaO zsySuiLcUQ!lfO(7W^I+~8H61FV!@Iv8nS7#eAeAsE5HmT9-T71e$wFtD|V2?as+*LC}TkaV}H;sysG7R`r8 zuI0GP6R|LOiMXICSZGQrr@tJ7;e4MrmQOfzz@ZMqmkc=44<0kJ=8UScn^>w*2_EBy z^2fF5#>1wGpmCa))xf|B3v}~J~IioBcYJI!=Ta3WkdI)*8QNrz2~W< zSKZY^0FDF&U>xN!!z7oLIqY%Cfw?s1^r`bca0dNDX->b9vaZPmAROJe9`M|9ggLrN z0jhRAS2_mEAK%~pd){sz{n*EHHqTr-s2jJJ^D21UtZhmjD;<|W5U12dh{jL6)nHjA zps)e|zQieIX9j<>-8-IeCuP0t%Sg6NISM2wu%8n)L_e0}9jE#|$|ZRp{Ls(0y|9pE z=!uA_6?-PE!CQt!x}p1&r+EOM2;Q71=PkA=dr&XhL+s6znH%qqWuM1#$j7%#V9gm= zm{s=kzxWIG_GjL1-}E@s*PO|g zagCayn(bEn#G+N5;XLH_w%2<|!SSdw{LEfp82yFW5*T#68lbb~bp)q!!#ZZB@{%nt z(De)Dw%}ku97wcqtSZITpm=Rqn_q+gph@t3)l)18uNP{wbqaFWHDo9wf*;zFNsB4! zVNLnW%7Lf>0E{qtMW0w&H-WRt5I$S1OY}a@xKyDPAxR9(wS zDbLRPEUdT{RTXqNMPWmS!5YT=^ravaD5S9Xg60@zL0|gv8pK2xErNGETc#RtL`ivt zEYhbhgq61D8(pu)u4oV!yiMDs0afW`CG-g6+Cr9NcTooBik1MVN(GIQ7K4MBBo?|^ z@eR~k4nJLiV-J;9Gm~S+tm{Nr4P*r_wWBK$c``_~HIqa$WrSdUIHX!wentrJ#bHP@ zaPxCnnjU?Ye5=7|GpctiD;HlueUl;02C4M)V=lPRl_I0wP<*=TFmg#v6uJ05RK0$B`KLCB*WohAY<49EP*bG?o*;80|B!6^JV{Vdo zp#61Qbj(HXeZqg2QyOH5LU=In1j%Qzg0d1@?qhZ&AK*9J=D&N)lM55Zy$%$sQxkIl zGfz4kTQk*$*Y4dWTD>?z@@V2)%6ojecC3?*}q}n>256++eBV{(g3rZ zA|O=0=xETcfL12sknwZd%HM*AcePI%PgL^>J7+#^$KGT-Ijjw7IO8To2Oz!S4R5e# z-u8^W@WKlmT&h2;c zBlb*t5GgxR&`eG-VVe&jPh(T`V>Z*{Ih*OFmtL|LUVLH9!ZP#=+R-3PnHYHF-8D%- z8seVl@9_xip2^3kzRK)THX?P4GfD~nF_Y}^`2Kjnf3sI#d1WN89^e1H{PJh*pSeyu7_mr5;!C*Gp8G>^x#{*uY$-xj zP{Z13kIa_p-eud*1X^#oGjTtxK4) zECMH&wjGrfq>G?Fw~1>r4p*(7&z;{3j#wlqwJhYW&SF}5)AV0E6aBBoPx@cWn^t?Z zes{qt^`F941i=h34mCnUHi1t}7kg?xA*A?XJ7Z~2bV6Ah%QJIZEO6m8gZcDN8RVm4 zy@T)9Cbs34r+dw0OeT8943|88&&Jz&@iSZDns{SR;^rg0PAJs-7#wXf_`9X=(R>AL zYNpM&p9+x4B${LC-Z2P1;MgO${|M}<`hQSv^Yb#CTLkYnPSk!*(FR1IpU6t#>qTpY zLExx5n*7_wl0S=DmM3B$^mQgSOyYm^48Os;W257(^@Z49mqh98GHW(GPVQ^42>X2P zl^g&w0Y8(DX{+WyIgpr z47%}$J+Y42SjWCtuf94qr~m2qzdwHDkNjbK`st_90hi*op`PqRSo;SR&riB(rH9Ag zaatyA)rJ1+VQr&ao2eG$tzNJ#=14_uWrGBmor$g4R*OAblOg+al@G!;IofVJRW^CN zFZ_j#G3dWy<0kPiDN9>&tshw%FeELxjUn{RCd`=4I1iVYkwEL$qGB!YUVFy|`JrQC z<19Gk3#&Qgz#AQ~uzPQ@k~Kf2wz6WetMUI;g4Mb&(l}1+1bjmkzp($kIirq4K4+jN z(N~;W8ot;lNZF{nDDlG=oN4Iq?4Y@XW<0zbLvh7!my%9r$R`mJ#0P}~o~j&HoLlpY z_Rm<^nwC3*)D_pjJT*j(A?H3Br%3Ps#i5}#YTPv-<|2F-&N%9HNrlT#t@vyC@m@!r zX$!3CJGulO8VJq~g+t9*_h*O=!-)JuV)qSxSsU-^%HL$Io&EI=eO5r0EmA>O<2= z+0o4UeCA90cvBGeTKZ`Vze5DiZO(+y$I1O>q>5T6zPLi8xC@TQ*X)ZWvdISr^AU{) z3R{8ToB&e$HhYSRzD=q>ILXc~nUUf6ZJ+mbVOsLO%$9;fY{KfTK6N?uugi559j(}> z$q%wrltLwrT`p>lez5#<6bp7Kw!lc>P?c^fdZBoBr8m|EVHs4GVn?5-qj)U(+uHFe zGl~s*dZ+7!MqyKS2MmqIDQ(g}O%!M(GWw8c5p=Ja$jt(9W}}sjbQ4{(^Cy7USRrZX zw&;Hu{FDC2Lkf}f>i*vacOkR@hoyebXKDFd1SI@{E`<(O+^YKauy6KdW{O#}(dnDmBlz;s-d>5KN>bHHYB+rjI%G-% z$vpNk29;`7+~87krQrEmPkciTrl`q6Q6X5Z8uEj+rqkB(m?Q*@7lB8_gIBJNKWni%`Y0?fDBjR&tWP@3jn( zq$Ciqd@u{-hVJ|LJWlW%`$^p=v7UYQS$pZzFWJ|8?N?9ucw%VT2TiC(o_0vPXVzr9 zY`zmtZklf86Asv)dg==YEc+5S&m_jy^hx&i3d|zI-dMorNNPRz-1Gj+zw#^gM}PQ- z3}f1DX8Xw}#uzE59Mg#_Ldd|lEA;|&z1{Y%uwi1a#B&PYtjPpkI zYVdxrg7r0-O+??D?U7ZQLZ-tr$xsu_Zh*(`c&=0K=Ms*jjIKClo;W zR;7eftqm(hzP&tXcsBAOW0e5ERp`q(cpQ2u+%S zh&YWEn&b)FQhQ7@%?L^epEyc7$3<}o2NWiGP)_JfCjtgSI>8|wT?>ZNt?G0PwPIqa za0`sC2#_9e;!`ZT0$NSbg%{brQ?`tE;-a0#6Ut`YD_I3Ds}Wb}?q7>PNei!FkWs)= z7jo8SazGYh5$c?J;x3>m46*z@RL-J6K@bsY3+h>vZ(M>+Rl?L6FZw(aVEz!1V^W|PhlW2qe4$+IUPr%cleVt0H*g>3&Oba67KXj|AR3oE?!{#^=ju7O|_=!KK}DrF$P634n7%vl9)OAuP$=LWY%Ic~OFM;H@? zJiRaHVEN{>|IwF3)JDZgotzCY-{faX$V`L!bW^jxT~0`wdqU-2EHhq-^6L{!92Gz6 zM9m(XgYh|Vs|~}QaZd&KbMV&22?@{KV{48S_}`pSQ;SeF*1>1;jHk8b0C^L8f84-K z1WkA`sb@w!kQCz#i;|fM$8mq=6xuK?OlB5Id+Wg0W*_yuXfP91-i%^Ofte<@tk9By zW_`jIcn$QapV<40d;tyfbI>T|s$S3;2XdgV$%*JS$P3Ew%#(X1*+BO(V+peCix0-& zIO%6)N^%Q0o)GvIZ-4ukfwe#0$42II2tg7q4?naicaYtQvL+CWv4AG%=Dp}`TD?q0 zQg`xTH^fNA9+7b*G~C7Zf^H0rX(RH_=@Fp6u<2rtN78jHBYZrUIdwwSjs9rT1KzJR4?!D!+u{@R!X9}%kYc5`TwX>`@JZdbt4RVi9&L8h zVe{(6jCb!xf8I=xgbZv4O5S*@VFi1x14Am{Wo!!{%RS_>!F~7x_L%TS)A_P|eGK5IZ*f}XmSnObM~(MF{r}3ktjzqy(ql*;?OB9f zHH9+bQO!+c?(hv_+pGqgY**1_xvaR4z7)aRS=ub5dTe^or>T^{Q;S7dV1dn_N0tdRQ(DFgDYqST}#FP-wj=Ss}#E7r6^>dP57{ zWZV{Zrd%v6R@)X2p++6DYlend6K#kOot%;1g_d>{r*1^}7;H^cyAAlQT;;%5yD!TP zU~~NZ$9nFKEN7wbJcJx!Z>AwlS$5cmm~El~gv_*b(b?nb$Rkeng$Ur2;?|~IgHzO^%gCZoB%ybmSKXp+rd~IYVQPU|)cxi=@?KMw{HH(+3HWqou0rN* zbuW0vnT28_L0@m!y3qVL(Eqs5|5Fg@2@~`t`)kYe%7#a@FM=A3r*-63z9x~~R{4rk zfAIe<_jPa@w2DS1p2aOFN1M=+C-|w|vk>xPusQ1%OS&$rz1x!3SRQqUWk|FQvaCmd zbXyur`eK0VLW|@7BN=ogN=BIPNHT4%Z^tn!Y8~LslhD%g09KpJhTzL{4$b(EJ%}_R z7FNqZ`U%i3{ir>R8YHEJWirfn+L{s+Zn(Set>x0E(&e$wPaU#o)7H84jq-b&9VOse z%@QysRCdf-nXD&$(B9;;Y-FGJxbLYfA=`B4avk^vX5`e2HiG7U{*&2uv*bp747JB; z`h4?7GYl}*CWO*@$4fYC$*Gn|OS)r8BVuatXPmt@PRe8=u{bz3N#>HH0_Q0I<~P6D zo_O8s?8RgMt6X}9L=I*WMb0S9WbWK!C$Ftd=MsCo&qEbZ@L2MwakSzIP&W>w^QOD4 z30koLj72#k>i+XItBU(#X-zBoCQXpE+cOz7P9)5Iu#QC5bI(6-U-p)_*xT=ueFN65 zS)=41v>$kJwuwVtF>W|?9?6GHuh0HdX0W0E>tFx6k$}P#B3Ja~mNSv|x(}VY?X@}m zSWcLy5*{ZNzW--_*1q=ZzQ*49mG3l7nywe(KTG|mp@*GenW~P{*!2`q@-fkM!AZwy zk!5!AQ5L#NqijtbqEI<87on+fn$d4)e1gUs>2ZIM5D$;0*mlDtHgG9f~zW|s+S zvEkaDk;K6hC}~Ti^N0*PvwfW%$V*<9z`mk9;|mwKyk;j-o^l4`fdaVv6r6lZuPyFH;R0hxE{1A(G=n;5?+QVo(%(!7OjZVp?ZV2L z%fP*eLWN%FQM@W8>hM>8sHz!lIONq}H0=bfy^JM8A`x_z=i-BCu_wJmwnBoqwcnD* z-sZJlrEF|hN-1!dEwb&_5TU%3aCz_OgsXO;$tBg^wSF`{`MIHn+40|QCnsfhR?%^ZrkSa)iU;fv zo@t^qTJUb4*QNc!Ty$83FIR9Hf|Yd8%9Mq@5>quAG583hu1$7CJ4r7@>RiPmS+Iqz>XN{xv;@hJjhiG&oG-Ja zEc7o2#2N0y+{4Jq9_ZdNh%*tV=}SBJ>R0{9CIip0f6vO_L?)7l7%4!OhFoBP1sr5A zAuj#PHs|l!;|O~`O)*~d)jJ2aXK;su#Q>yNKzqzvFEI; zAd&B_gKXz8PmY`?-~FDqKV#25`&=$H+nKyzEmxO^T?P&l@PggFPv z^QCX`L)#MdHs_*M zkHQaGo(UeYrltRzH(kODZp_BfvC5W9pr3s54I|++;Mzqg67C&|M$#KL>OKkgcrFDU z39Lu+bj4TmM8f0m<A ze!*F1lfw>r%DRg$GpB5&>QDMww3t$9#Tjg&WlL^QHpF-7ep_l+Fr$#O+froqh>QK4 z>buGTw59tUs~DzChiS4}{qE{lE$;<`PvS8iV-G`vPnc~6z5Zg;nf!GmF4s|y&~w*C-B@wEwP38N-S>=bqx5m%Pd$+B?;>P*=%F#y_K>%*ENlz@dH zKtEkx{jCapD#~EO%6QNqpwE@Q1yncgo&6E|%V2kS#~0Kqh!95z2)euyJ{lds959ju zppieM5oJ$Qanrjq4oKU_U`1K$3>?~E%+K_1atA?!f%WzkCJKc`^yb`;KeuTC1Wllqvz1MMWg zWrjmE4WoOpSd5v8hP$2Lwp7uue%hc4VBT}3%)A$;B|dJN;G+JAophz_jwbGw?(~Wp znCbR6B~}-_(gssMkOT=Y#o$Z{vy=0f&&{Mb0J^yMTfGVn^w(kVCf6&BDuZRwW3g?b zDoI1yQS8GU6^rh1t+^yqo?AI$r6EM*)UMW_6}$xip7uu^xTwej zTO`#57--9^8GBFKq=FlDEh-#CokUH>0%|qNE;o@KcuQrow#2Y-DEm1+(NEiyy_}>} zk>pn5q??jQ`d@;@#>##X+4|!fOV+JRUzl{AsK7Vc zU9;k5T#2E<*i<4)Y+7h969V|e3O;3TssVB?#q-S(3t;0}G&JSKf~Tp;;0^;>EjtIX zlC%)~oCC>_L|6@y_dM2p+O_PjE? zj5{_tP4O78PJ3bKaJ&J>Oe-$^8#xadI7wUsiP7JPD`t`eGZ?G}AH;=nhViE+h6WGs zIAg8Qz@9QC^&>Ge`rTw^fy!CJ$)$?5vGr_gQ_`lLo^APT+nhl9cE|YR_)eX%;8G!ATG4nqB8Cu`&X4$&~mol&u z_e@g#-f#Q{`<0J;gqycx@V@7U|Hmm~)FYU4iyD`SPg&;%Mo>U(s1NrLTVDLmS&D`+ zSM5huhc0BIlJtn2p|neKaPoM-8+AG&_8^O9fA(e@GHG?oSxeXpEC1#!tosDkFaNT= z``uq}U+^z|0sDe*Md*gzBF7hRd63A~goq~hkfS`xz2V6x$C5uJ_nQ90-nG^Z%Lu1^ z%%z0`udyk8E{i;pSg*bk&%f}39s6PZ@DKeF(f6K?04zb?1t&~2eN_K!HF^rGaXf7J zJZK{pTUNE zqM5QaB#TO1(ky2O^nX^9+tgJSO+tSR`;vFf%K(V2$X6emZo=-hubKRpfl<>D%4B|u zw70k{7XJ^*g;mV&gvN*`aqboAXBXx)Sr-*JUCY6K{DyZT+Ow;q zRp`GL#;u^WYQuXAp+rTw_9GprJc*Sg+E)914H1du0v`rHQSCNf%Z<2#7BU)BWvCc# z)*O11%isXtQ&C$zgJKK)6a0_?{wN-WLum*Jx5gA!@sOJkxZ1SN^G5%MdY9v9jzTmw zyWuh(+}?Vz(4O2*a4^~0^_xbq$}0_F_yqnar=)oE4V5WYrIRiOMTcJsyPfX!H-=?| zqqP-Hh7-Bgq&H~T!uVPNFbNc0Nnq^Zcodh`fx~zs8va05N zc9~8VGHt5^LpS;+r`m7!;3Siu--Y&}hp-Xu>zn$5LG`r{x?bDXQEOE1e9mYZGp<0d z2=0T`k`KP9B=jV^tvtyB2kf#-8?j8e4zpD>PlTeqGf8Ad{*E(O+^(lWYZoErshLx+ z=Mgmv3*QM-f!-2N?MuCdq>h*vnegggW+-t(_S6f_RV8~)x>dUCqAvNn059NR$JszE ze`wYXn&SfZS>%9W;RkzU($jd^(kzk)Q_T9OnOJEn>}18d9a`-uYNL$WN;k1o67*|{ z0wD^-7D$Hm7jR}xS@qLstK0-KY*5}4dY0qeEst)mfyJ2Bv?FODHa8vK95C;uJiwk- zAyM|&oIH*hO>-92F*v*1=7!xzojm!h;(!F3r??SziEZSBL?mO#zZjdWk8*c;!rE-F z5@q<^*h-lXCd)zwBL_Y2wvB#{ds`h#v5;^Q8=;%N*9Ou?+S)Qu&=}#a_Q;yjm@|D~ z&yb8+al&bPXwM}sYVp==Gwx(F?4#j^N7`)ARrl>;0`tIUOPl33HvV_>n$DMNMcUB8pWCfqja=OamF(oOLw>+Lyvhdv-A zp+~v(I{XK`3Q6dyU-hZGtKFI;-C9Dzl3&=Ds@Y$N3vJR&{M<(J>QR0^wpU(x#XkL+ zPush{?(0Ts67U@T-t*T{*Rj+UzEAWsvY*-;u5f`Z;IsSx-uT8h+Gk(>tTDlWcF0G7 zAF^C82jsb&8XLJkzU9e;$9`CkMl#Ef`@j4vAGRl+c%A*h@A(6x{&t) z&P)}%EQvo^wj08_C_9@UIpL0Ua~)?)n#So+F~UFZRl@cn22i`cSM-x$wTMR))>N6- zvEFR5`=bV%nT$=OoIHmf2k)pJSNt`6V2gXK^ucVNq*2W19kt&LhcG*p@x`zOzZbIk zJS2GmU{k?pcoQbZU!=vt0Oh1Y7-tycTx>$n*5jkTnHuSFj{`M<;i4byAB?&z<11NJ zEHa4MmRVgV=qH@Gd=d6@qQKyZ?3yCt->y*eEZ_yvPQ!1Vw-@zGcvs%RTGXt9X5gj& z@bw;o0-2@ZWy~vJ2!TPBrl?fPN5F)j;JyCR(MdjF zY+=T!KpozQctEY8$7S5YB&ktW#F`FMs&;9oT5)N&25!9_Z5f`42@(a>#i}I#7-Zmi z8d{#FmL7X10Ft&ICj(ji>HXlROYm4SEA z{g$sqwNB3vEAxA4PSpw611lL{{NwyAnboC&ngXgxIc2Z>B+J=n_T}g#3hq$)vtHS* zrVOesO>e#P6Me4FFRlmesTpT6QEcx2b_5?9j2OiBn(4m4?H76v`Jc23!ybX2^lA1_ z<<^WrVQVq0Yz^rHAxE2HBSwA*e!Tusq zFHMc)sM#ls0kR(U-P&b8m$KQ>%=&7FbpNiIMDg0s$cjHqP9=Q@P6-dn>{z}c1J+6= zc%v){raL`OE=nb9Oynv1WhBp!%5g=3~H$ zSqzx~J)q&s9}Eb+5|2o3;8=Uk_TX~2+;i!MA#!4IG`VYgC9+RE@kGOA%krGf0=-Mx z=J=Vo%y0*MG5hLwef2nDZ;#tJrEJfAlki!5n8tO+`8Auy(|#TZ9Q$428qZ~mi3l+P z2{RITK>Xy_vS4l~9*LI3g5H;Tn##BjnESxpX9Cd09Afaz6B;Aiv!RbidCb6iocl=q z{LlZwJ>9;_u@@9(6l&s?x)<0R4|Ie=W|A%}mp}&XU+MpR{^XOdAG4(b`fn!VO-;y@ z&x4+*y}%4R;Bm|-8_Nk_eRceP-%tINecji6t-bAS&xpS(+fcqF%6=tvkC{Mw;xp%6 zm0mVKZ_s}V&$Q7#br*Y1X>vD``A8t$mSv>`V)V1oy4Q=Lp5)!@v`7#TItTkb zUQCES(?(lFi$6xQ=U0Cq%sT$ZZ`w||*OGYRg2znCYMHp{>5-N-6Bn`a__xR5YR7#^ z=$jYMBFZ0OyjlVDy${?Lg(uv>etEeq@q(3;PkC{%Qz1c0;ZfsnwF%nCLh_bCqm0=3 zTJQBZ(q()TUe|>&dvu-h6O*iw$i)HlLecu4cD@^CmQ;MbXb3}-tmW^j zY35osZ+L6nE`LEzQL{@|!O&`gS0P+T8$$h07+P{J9kCA7Cr)B@Ap0Pf*I?aD?1vkZ zUg!s~1-+Uzy8`|8MHQ&CaM}e*mzTt~f)nHS8dNE7R(s?28P-%-@9|$A?dOYt zXtJtoVYT5WJ?`~P{T%EBd6R9s%!*0F!WT%&q)|_o1O{$Xv`oHWPp9@3|2vFjlZ}_d(=!cY!Zz!+UCA2VO+1VoKa{x2cLCPUH7J;OLgM(LNC~7 zxY)-Wgr_RIx$2&K^Fe^A`bo{*J0y*E2kEylvnup7$7rKF<7@!h0Patwl z1No@7!)2OMChTfYbg?}K*^_viGI;#I@7$`Y59*WZp=7QZGCI!urr-Mw_K}Z#Bxhgk zV|LD-8@7*4z<1SGfZZ)f%8AbO&-f2ar^wD z_(q23GwHc!f)Xzrm^AT94C7?KV+Ph|UVb_CDCl%UZ0Klu@0QzW-+~+SBO!Ot{?%8H zeXw4g%L!kd`(gde&;FeKp&$5ud;RNP4}wnmarv$*&*@vXOdR`61nUJHo)8}IhE4jsq3-R-IKmT6X<28&_HL+k60g9N87?^#+Msp&AA<2 zB9)^_Qz3Mjg%xXne?W5N?YFBr@5|WN)R&|`DcdP+E^=t4fB0SxjJCFtlF@VVN%i(|vrxjUW z#4JDKEOfx9vWr2e+9++kXhGy^jIt99RV+HQqY?-!jJ~vgTr*HAI(DW=adpS7bqMZH}9gFFF@Va_pNb|p%rYBDgBt@U2I^E^!85J6+Ru9-UPvg@ni3~K@I z2|w#FRQrVwk|Jwjh)FCns}~yhEXc737We4FhnF3h|5qX-nkQE7MC-@oiQb#GDS9m- zTZtUvbET0Pl0m-UM_*>JmAjQ)R^pT`tz<^^gR=V)w4dx_-at-)ZOMk|+76Z|&N`bR z3B-OETL8b0Swh}?@)G|gLyo{M8nIs#7 z++{`spZSH&mf!1<^P1petY|5RMF+=>q$FgT;7U>qN#RD(&9k)r>Qp`Os-3_$`^gc} z7+7x`lN#j=aGIp-5uI+-K6;8`8;=(*LY<(E3PV z9m%EO1il(uNv94Oj6&F)PTSeX#9=NMeRS-H^$4dDJ{q#{$xnXLzV{D)PtkMmNe&tS ztozwE)XTbpP{$I(9i{;7q0|bKEKlvPHmy z$%?Zm8kU@3EOsQ-TKwn~-PB3%xrsh5QzfQH=QeVi&Eg= z`l498 z%t+WGJxSlfA*I!YnNn^R@uKIc_w+&dp1!RfhY7)rPLF+<8jlXJYn#jS03#Pd=v6!} z%!*Jth_ApdtQ#W;4V$t~CtR!1B~jT$Sc`dPB|BYyg@d=pVI2ktKjF_hs=TK*3vd{r z27o3Yt}YmdhpwV$Xjg*{yOr=4kBYBmS}zuwME{5@p{z|>+3sSr8@m`6so~Mu-ujOV zTwR#!ZM0r8PMspaixNlJImuEpt{VIqx6yvP*bftkLuG=sTMvXoX_UMxH*F0k6lw-3 zu4$vR?CrtGEsh;EPx6J@%?d2fwdby}ekymCUk(_fenSRZVqhu&m#oQdF2+HluHU6S zO-e+k0B*Luu}<&``R8v)0)dhl;ND0iL-`Mpq`AQKSHHK##vqQWx?8 zJFc#y1!?7rm*@U13&J-&6}p z#|JD*(~*U!ia_A`Z%+U1A^kU4J10&x2(?OfMe4sHSaWHo`e0jw9u>HDnwi-1Zfkw9 zh58cUWQ7wZv{Nx!w^`#;5+>ze5)aw~1mY;~CiCEI#vVrdGoKeQ`;HCWd!Nb=4pbrp zU)VM&mwOA%)0;{`Z@IineYy@VG)czO&Sv5zHwZTwl+=>8lQgE!<3{C@jNxntXOiS} zvSPQrlQsh%@x^;i7tn;#u`koMdFKZbAyO`6bMLjB2Iut_zc_&zZb2T*BvwF?1=nF4 zb~TXJ?zdCvblK$iJ>^kiG!B15Z8YmwKTNzzdv0A9vF8s4)yga2S_A$G>r4_FmnxQa zIY~!&?*E>+yK}a;&154RpG-6r^P``;nTV`+s{vkGOQo}ReMW!6?YtL_2;9egWwApf|3oVw=QLpE6Tyz~p4S`+O% z<$LETp(Am1um5{)h>qmd@%ih&{_A6@-C6&|mfdio;p~J-d7qE4X<;1D)vnGIa9F~8MD^^YH6Q};Q;>=%FW7ws$F@eX_U*MEH< z%j6&J2h~4>Z>s;Ev<=cc6S^Mq<^nGeAS3Gr@+s)q|Dyl!N$xH2nkB#;FZ*P4L48lF zxbRO#m}VToSw%jRpfxK^{gToP21v*M2KTX=xv)Cf)x@4?5sm#aZkRF{IxHyrBK67< zmyTjA-E}MX!~z*Gwl8jsfA^J7QTmv`tmzDa&6^*B&Jbv~lTS-h8nkAQ7HM`+PG3MT zAxK!`Kg);GZ7&~TWly}ol=i(&A*6x`)sz^Wt>;-y+KCi<;EGna%0@9RtN{|Iz6%{4 z6!94Yv{@2+H<-fd*5OzLeDcdVIBb`n4R}kSEYDRS@!M!jMM+GPAxodVJ9SO%K44gM zm3Z&6{Biw*vM4Y2GJQ3M5@J@+t5X=OUt7wnUauIQ_8eRE1@xK$i**bouxV|!+Hrok zRA3+LJvQd1NvqPGLb?ax(hl@?U)qP>de3KA2VCczxB&)mC$}4=6QY_x`xf1laJWc7dQKUt+jCN$tLJSf9bY!U z;q_M{A$BqroRue0_6V@L!fjf|FS$T7(F9J3>n)K}0_tUJtbpi=i&BC~j#!A*HJ)v| z)t*#*6ld5%zx48z3^G&Cg(Q^P6ej2}o3c@AwMzN>QuZ;}T;R+yih?hG`O3;k#9)26 ztJmze5^Hc2dEb{A6JZ<>)^EX&0pgycy*_|u5}d#3tbAX55eC6nf~RkZnRLshcB#YV zRW@~Ks|1g$Z#}^rfq_u$GJqP%wMuX_!t21{xHfF+ZPyp*Sw6hO<2iUc`rLAJZOmLc z{>4dZcbOc~nNt&HGliY~nVszQe6}|jG_i)?nt)@%E^_&er#JMP(H6@dV>OeaUY`20 zVY>E}z?SyU`$zI2-0Sqn8VHNs&9-jG5p-%(qh9Xj> zvG3I!xVsDJ zw)l11WHzQ17{@=af5Yp?351nwNnS)WtBfU|wmDtzkSEb?&$X|&TtYbZ!#eiBy3G>_ zU(K0VFTe82*bnP_{=j$H(@#BRdX;U@B%cLm{JG5dJpS$q7E(SFeqr^U`VWFknU`26 z2O^*o{S^Az%q)7cl=?5HM1;W)nQ4R;)PKo*Tlp+V4sheF#z-B7ZqURmzCt7okLJr4 zYhzU?3w@edv%#3K!M?5f!$BhI!TXpn#c+Ym78-!J;LYqV?XXo;qq+&&`|y=%qO%-u z0z8Px%IDY17U)rkokneU8S5KylGr7>`T$i|h6=v&FO{VQv3TTa!3&q=JMilZLGy|D zp6XVCKM9P9$e2AChglClO+z*~&B25Pfw)TksIiVKD0;u%YolEn*oBbe>$Y%VfeDN* z26w_K(aR8+aJmdi`cEs72|MB8R>maid#O?J=86UCK$I@&a4YaZYiBajnHC*XaWCFT z3*4>FQe@!cP$XLdIdR-c79@?ltTUwA)~jwig&TvM2~W@|cb+YckkzHo8YE2sjn675 zHEaGd;zUQ^I&EmHs8BiO)lH0Vs5Xnk1t?x{=O0s(zR*@o3@OxzP^N4@Q77!wk<{zM zMPL41<^5b=4WBhAK_k%s7x~WF7OVoiT%|nDN|JTB<*9%`=PU-dgCj;%9eiVU4FcS) z9qR>y9Hpx0<3upcHn^U-AJ1bS~PII9BGyfF^lTl3Z8|)S?BaB2(ZUuha@Oh z4>xL9xWMDRE8R{AO&GFM7ZCR1ZS+Y*q^FnY5n12b*)!U)6;oc3)x`=d!WDBFg+) z38Ujlr&Au3yAzfQJp^rz`6P+0nq90Xi#nI%6nJQBE$K{(e zv9*3D3|kIE)&IkGB<(T@G6xghVX6dDF84z0v+oRyJ%Q9cc|bGFFj^C1GW&)SwZQL8 zrdZz>%N578A!A&HC5ijagETaLo3b6Jcym>7_;n<$bZCncx#ocWhH_wzYD~nYo&TZiDNz!}#5YVXM$sA@lv75rB&=+F5SGzlEl-3@A8-LD zCa-SMt0rL3jwhbDGsacwLw#-(f53b9#KwCrgU9ii_#ZdE=!@PomZm-X?DO|YjK^cP z5NGGajs0xUx;;8ysLxih*)B0(RG*Z8UwlHA)fs>rXukO(Q`k7)U`)!wrTpvo>5z42 ze>yN0cbB}_aWZJi+fiW0UP@8>PTg*|oXND0C56BGtG{Mn^{%f1Z@uKwME`|VUa-@a za0B;BwuOk%7yqu`WuN-wrzm$En~9NSjHOFz1A6JidEXyTefFeTCbo}#&yFR9BboK; zTuOK>BmC8me$0O0`@fI0vJ%O0VVUc&nOx3S`hU9>&kpi$HKvhFqtgSaJgWoTwwiIH ziAL}g`VZZi{Ew;s^8%rY59TMlHYs|`)yKNDkiI2q7Ak1Tll)Aj-Fn&|)Z-f6iwsYgUwl32@65qS0ZTmcY4;#ATZ#7-Y^6zOpuhp z^8zzOKz0gQISb1=DqK;YqF@lD2T68f9=w@42Kll$(TCdsjz%L0#Zt7J^73BryBen^ zAdBA8kXX~@67;N#e(3y3%Y;*HBSl5{t@z8PyWJ?}+hI{WPrz1VWP&@5hiRj#g!v)2 zY0G!38Dk8tI}NVrLh^zMO*w_`Vu0pPFFpxudqfM?>XFL#{2k{_iJH!M(|#Z=ypk5% zQWa^*6h^HnCxsD)fm{gO2`N;9f*Q3MyQr>Hn4L80Y7x?p+9K;buwYx~gl)GI?Uv{# zep)v;<=L6AaCgyX#+|=!b&DroGV!-FBPhA zaa!d(v}G%MCXUkw++fB6FclTuTa|Ht$)Z*VRn5s{|OHUEFN8r|fvw&5U}C3_|ARl!!7Dsk!J^?NTh}EY5ZD z5V|LUqCV!J&EhPh+6Dei+QK6kKdXIjy5cnMNWPBX+Nw_%fTD?Gh`IJg3)dyfSHb`Y zy-K(QUz7)T8Ms>60LqP@^rC!PFbOpW2qpqMzaQT)sM7>djg6d3?KULFWSL)W-oDr^ z^%POd;$WYr*!i_iCq>2*IT`eao;-(vL{yB1!QGylEdvjbYgi*^^nt$R9yE!jw^>%BgBNhs3Y#9zA!zq-AFJmmognVj%OHza3~ zq@3;TjputVMHtDeh@63S8=Ja+{No?DuX^WKN_=3FK!N^u!ZWTimqEW7mZxD^>y%-$ zr=EIx?0+@e&QmLOKPt>z6gtL28_+)lhFhLUIA+}Ctg<7C^#~^u-Y2zw=@);=o_^Dt z?3=&oo0?w0Dg~EYmn1aV%*0dLVXrYn+31?BIE4%LUuR%VpH}>D`k!ru(2Ozy-PvK& z-CUb7A)Gs3(&Fb(b1PeWl{B3FB9Xt_0-#Bfn##<7Rf){I9}<5?9`1XCA3k68|F98z ztopx>D{RV1;;}LDY00ll9H&y$OtXT%Uv8LvhZ0d{z0oUi;lMTo9uv6Lx7pHfw12Bz zfreFDY^vV@lkn875_AnN$kz#$vwhtV_%s590MH?wgoV+74ZLWc_nYOFtYm0%p$sA3 zNaC$vNH9AMd^KJK&=N_SB|uVRVp6^*skDtWdSxo5C6_k6{!=Y(M32^Y-4|=?)pzw_ z6%<)F1Q32RI|=1_#RcP4m;v^-g5}ify1W7f(!HPt^N3YWVrjD*ypuEW!Yzb$@c=Cw{n6AK1PPd=0W20RtJ4?}zY944 znXA8|6&((-aq5@Jz0S)Z544nOWW&>Zk@2u9pnBt0yQ@dzns(LnKddT93=XsPYLTYgp{U!LBVu>CRy(QCYhF!d&k0R-Mt`la z<9k?NmlzivHAWi=qq+gZrofk>tF|+t7RnF7M+YlqyHv;57eykkr_wdM+E31@3^oQA zn*OL{*g}O%|8Gm#kl!jut9)9wF;Ox*YAQXWcNqzHsltSN&K?3CCjH$y2RC;ne;AOu zNf4Yz$s^$q5+`AB5Hi!qW`bZ%7-7Tn5QN7pk!(X}g5>}%$2A@QNaM8U2~0}mIePSRr#8-02wgfW{U~~xeeoCnZu``yK9$SV$WylEbf#d)JO*FJ<0Ri)rxVZW%O0vonoCB-g8c2m7lB@}~T`qc{`eYzk_sMHxs zg=mGOn3gHcwIY^GH?}63Ro87HW#JUsky~#wZ->Cw??=OzDisQV*-ATK0$O}i1+Ijv zHN&a+MG~cAKriJ5{}yM?W>V{uQGKSUg5)htN`uW38Ox%<)*2CLx+Oo ztnRPP8gIrWyz9-dlcG1m`qHlIkYAiMDD?}8PUlue4W)cYw9@NZJ$R^&L zo}?@0(~t({O9~VGQLwC->Vf`ew#ER?a)jdqu$yR9dtUKEbVuN-K!pe6oGAMEN~3_t ziuFzX5ve0pYTqj1m<&j94+$tFxGaO>4Z22M3B$m+66vnXQbLz9fd`S_F$;pYpIdz(vWATfkl zaET>x=;B=K_;#xqb5Thr&UV|DL<-uq#lDBmTK2NzTYvG0Hb?oncT)hK64QzwSD!U! zy5y|CsJ*W^ST!BAhCTiCQ)BtybI(8L^Yp>m$?_2A{MSF_->E8Qy*0Z4GcjYy$YFo5>?F#3Y`T_ylZ~>yw%>HfGM{?;G~O z8VR4r_Ue6-=ebXO!rt}Hcd{={h96DT?3TUszxkMyZ_{Lr6U8t8@-G_+EbKd{ClJnC zY9%KSv`sr_aysZV6Z(VKF=v#`Ln>~00_EJy{n!s{CbM4r15(l!zw|aa-?zVzQ%hdycC-ah2c-*7t#O;o|!y$`bXr8c9WRj)E~@~22Z+gO$8I5 z(MCJ4y5QKEsAP!a8&64Pd}~hM3H>QL7GC1Zd#rCd4&BM8^oj|WLT+{*S(=HYnZ`}^ zeX+|@i>9OzA?a!*t1Zq2?7g`ue_6g7q7zs;j_O!-ST{gB0cy?XQQ%G_!9dOBPb**a z5LUrcoC_PBv8aUxl>E)^f}cS>b6cHr1I6`E%W6N$*2(C)8&<6Abb}ICr&p9y>IU)F zaS@bK!9ITKiGoDcZ3$FO{T7v@88uonIJe!@G1>)YrCBP*yeKO3yMn(oY`2-l*eCgD9u%f_5P{{rsM#1~AS5 zMfIiix70rBER%Da_9%g3rGwn>Ce6Csd+!l{nrxnxl8}r3o5`#clv6vl@V)wWi;s`Bm;H)_fZ!%r5);()x%+=_TWdh9V8`?9KYwsc>Ah^)% zWL}ccq5ZQ-Z**+S5Mgwq`We;JUT&k`Zd;m+MqDrZi$zV{tlL6u&l(PZ`DBI{+V!!- z13Idkpf@|4<+Uu}qP__LIz5eb1u+pm=;IllruhlpVgqUK2H|^{sv;|pNIDv)NzSz<^S9m`}f`wEGZ zO_F7~S#o^MyWVvqug2a-Vz#`oJy zY92|SPkiD9d)wRIT6}Uh)%2Ms)|o#5ea>8R@;hV?q{+80`Qk6WPhPz=5@mb#X%?lY z$^);&73930Nx%6Wxco#CJGXAi;qNYHuupGI<#4UK2ruNW+Wx6I$U|q_$r&>gjwvYyZDSlTIa5Ho7f(Fot`jajSnhu zHv0kLkc^z4d+v3%sR1qWws@wVl}-=_?hiNR6gbr4grw+%Zh85FQBM6m&~N*%Y>`Rb zYS*qW=(5cLNKjo5}tnMO(9j4d{xcf3X(3tmmAT@k&wAW`DXPs453SvtO;<#rxO zs{?d8_(lvk59x{C3Z)bFkRIa_ix51kL_xYRk@RruuBjY*-SowH=06L6Z0Rcud@yE{ zr&7Ww&O$WMw!ExFLt=oCIIMwb8c2bwv?YH@fC-DnKrt>;O>*UIl6VMFa3%X8a3VLo zDB-RitU2lSK)-09XG>d2Cl_||4Mg$z2gQHKJ=;Nh;tlynE2bB!)O@e%r!AuaYP>@uY2?K1g z4u|vp!3xT+H_IAI6Cp$Jf#7PCfTEeQ3l#7oWvr~fuxFqVzXLytL{wEMlmZ?hw6U^F z&A#?-8cZfMAwNsyB|4KmqOAOrx(eL}=NtR67lMj#YT(cLt8s-!P?66{ z+3oJmLF@T^BhQXb@O!V#*-RXanJokDD1Mfiou}-1_P;)#zqf8flLzFV&% zNm0^Q2FOTO948r?%4=BD|Du(Pe*>B&Pn$S%;DKkJJV)DjsI&h-LN_x_dSNth{M<9i zQ78KuPne!;b^nHUe|>!9BfmP9!5y=Sj$ zy6tj8V*cJ>RAS2Me74bMVz0Dl`c`y+zPXv~3+FVuc+UNz!pcVf$!jqV`Bj{cl7`UD0K_<`ai6zE5Di^wLYYS5=Ic{5pdO zwzFLs&-u9&L-~rm+>y*Ux&Cd7J5 zA;~@dkCve|*yn^dWj-wp60&}GSGF`A1(Mw%?G!?d5n|&dfvL}2cM6%(5eE~9qRQ32a^sIrd=FEp&M7Q2?AQSd{I(0 zu6mXtZ1*Yyr~}nBa&Y?SpLDR(6&>3L?$>~iAVr6(9%y}aidBxr+)M=7Sus>ofUmXU z;{0>JN9!alvU-DP_Eo59;D8_@6h>cg6+$e!D`jE{MvTV57TFtiu}QG^uj6^px#K~! z{tL)RAW1J@ihy|`{2362UM6T4pbRn{g>=^Wxba|aTuYN@lV zh<7z7dsP8Od9w)esVaF-oUvCelfQj|jAT^S>Qm(b9J<2GdeU;>L7XUYCB#Fv{ajQ> z0iFglh_x(YqAULtsVPyEU7Re#@o=)kbLp|GJ(&NXb%F!_35RSt<*?xuBKm zvPF~AVygFhE_KPL{`SsVJIa^TV_)0Umk|;S2a48zCiV@9+6b{;>PrEemnJIzijoU$ z7I|yRAg7+GO|7JH*)O%rYzl)a=`xn!nSO+}M`A3WHj_3t#Jcj8FNf5@!_PMkUOFCI4QZK8YK_Aj-YxZ017iQ^gn+xQ#d+7g>utQ(Yq#0}%?E?K6 z6Pbva_PL^C&rR=Ne);9`?CGbUw)I-a3?pn%JBp>LVVvQn&)@piFCR0!c7-9^Mbc^N z##B~4&>>AtqR&Yn@EY_`XzyMY0`_j~hjnb|exJB{_5Saek@ej3&)c*2GV|VV|8~ae z!$#gRv6p(q#CXzI_~$rzRqzP#ROuzlEver_R?G1i1q{Yt{43kxUSIR+mRW4rz=W}Q zq<>zq(Q!KICZ{Z7ydvg3{VOXc9A%59EKPo?T%!plv2jo2uX#q4-()lcdzx{ICi6JP zN-@vbZB8HRf_#M7k}yRN2YwiRgXq7N{PuVv1ma*H>j4`|_l$#UF#*Dt#YWgdj{)Oy zpHIWYFJF`hYc?f`-zcET%3;I3ifhQcX*dIQJP(2k;}Y6xqy)eIW+$qMto62JMm6hq+1Gab3{N!SkWRclFGNb=gN>N`!=zk9 z7dJiOEEIuum5nILFB+*~EYkMCX8Dr8j-YDQf8zjN>tG)tm=$t5tOoSLkBL(SNi^&& zBeDoU2d+Lvr!(-YM~gz18FqzU?A+`Nft)pcWSrOZ^rWDG$4li%d(b19d?cuJHEO8r z95NY2Q#uo+m*57B+Ubwk7G)}|1G!ff3FY7UC3%~ggO;81u|KfPgGJnYT04~no^i!ZxUD3FrqT#x5m4PY0ZvwG+& z&qf3^H|y4(Us9gQ1c- z_`TIWJsj|2AfhvzNNeGX+NqrbsH6N={fW=7eUWO}A2xDUEy0Wdi%M>gd_MVe$Jt9q zhnwI^0h0lV5pT@S(c}fLz0Q#r**Nas0=9k5gqeveEbFM)C~9fulDyEq293smX_KWt zMo&x>tY(wRN(3jL_5NtH_)9+G1U{kP%uPiz89JL~4wjA~s2ldP;xz)%1y6 zCS`yF?nx_W!lQV@F-7Wc>R=!dK4x$UZ|=saj45#m&oMx+q*S!TBx#vx?z6tk3%nN_(i4YW7q*4Jnnz=e_dD#5mNJ2!-}>cWKK8#t^0w?w)n}rIq?r8M+rT8KiiaE| z7n1LD53EB$AP0LcE8QR8+8`tb@3N|=@;#5zUE!`iM6*jKIyE>8bg)r!k(@A zk0jErHf3=k4nZIGagwO94857aFIGAL z!oJsfqv0#>B*Bz*+bOqE$$Jx?o|5BH{H+rTCyq^iea^Z&s5|ryaTM? zKOaf^K1SFXD3rM8BqU4yk6JQ3XBS#fXR<3DtL-Yz`YEuvT>>qiak{&rcZzX6$0}B` z41Es9GK|nnJXB57_C~ZK-fZ7XQ0Egmd6K{te(wM~h&9XOcf-g8p5{SgAyg+zXfs(P z1or;0->+oP8qSm_nPk#%^9qUzc&xS4znyBZ{6+ti)Vi;K>{A?E!C{aLvcngEV{w{S z!b-@Krn+(E6*{YtgY$zDx|O5Reliv*(ODHmM5Kl-)(nk0&)#;3Oe}oyq8kPw=p)SF zrJGUHAh*8Pn;4c+u?8&*^g_%RnFPE}Qs4pMmZM}JyjFXOt_jC-tuhVAF`xNGsgQDJ z@*h~1tN zMz{306DGAmO&`o!n=bN0Fv3oKM01vD!`e6`1hy)s3ESd{Eii-D578-3a%t|Dx~=|b z;I8r?7tK$BWSidbwhUV9ccJMg-NHUrEh!i^;HY>hT6;>{Ics5`8)i!!DQ38q7FzjS zO$ea#wj{|iadz;e%`hoEIiPc63^E3ldTL+JL_*9`_R+XOd>b_R`93Tc%q;gFdVDBunIR@AVShv{`6PpK&W(~hRb6VS- zQ-^O@zUKw|jVH62*nY2MSL6ozce2FSIxUYJ#o+t>@Atgt+x#QH`jL@%!JbDrK@2l_ zY%fKgvwz4!fn`$It>9WufPCVVRdXo-E9#s$((S*@#Ubz{-GfQvoVPr0D~PldxvJ8k4pvP}n8!LGCsbm$cb zYOm?YNGL{nY^lKpzW|{TIW`#BOQg`9l7%Ki0Da(!i?-~do{NKYm!JRvjinGTZTQlL z4o**yt%16!F<%{dl)({t`qG@*NCto+crNHuDEY7_s7!i_2c%RDT>E_mpn)b<5Jo{e zKU|!RRE};06S3)7qHZBOTgE$VO$L?HXRWX$z%t710({Y58Z2tt3(pp#a^X5x^eoINokgLwT;8Yg zOy`sT$zfz{f;7G&I&guDQ$uP(oGJ>V-|v%vs&K(}f;27+%Y0~Hg*~zG46uqE8f;J@ zR^bucSGl+F<2e>5c@WGCs zVqBF@EAzB$DYdl(m07d@6+}zYr`db;0Roei-JU$``zv+eK=X~_;NqJAj)Jx4QizA> zngOZE4-9-!lkyE;CHh8Q2u`GjNSOM3EDyt=qXs9Fr;MQ{#aiOY5?AaAbqw)F?|aav zmD#CShKZvb_!Zn%cFn~Lh1ljiwrVabflAIK2=0ah!1+nimo3vc(BNiEFk*fM|i z<~P6DUiZ4!+4Ijm&lyDX^ueMBVn@v67&58*j#3)H(>1VOGvYS*vdBw6EQe1UI&|m8i!F+cfvjOCi!Y9CB@1LSnJkVdc&&Rr@`Uh-{?Gd714Uey@>(~q zo9mL$Q3sCP(Y{{0=mp@@v2uU5T#GH#*ubG9OMkPRSL|WMYrR5|bEj=|)JNNi)$#um zg^UCO5{%I>Lh#X<3NHa$yki2b)IJS~l*`e^U-sW{GS;=~O)JhtfI1N$Qyf+<|w{{MDf~^L^imcQlv)nkl z98#ceTGn0k&|7dBLI`UY2hS70q{U|CK-8Ho@?eb&OVhYZ>>Hi`!B6~Md*+#E>^Hjp z@?ZX+>`(vLe_&1iltOv0D4lTUS1*GkvLd*%T95|$P(M0mQGL{^Lcb<6L9M>P7R+#} z@rak4Ishsgttl;xl6D zN8}VB(Wz_yMv@5**7|PW7ts*W>wFY^7?e?e>-kLDCeB*D`H<>2z_SJRkRM0{U1mH*kk>pOqH{dQl!a_<{{`QBf=_~MJ>`}=W`#0PeG;1+FfrFwIic1eU_G(#RJ%_IS(nP-(B)Pd}1y}Ymb9nB_onL>MrTRPLK z4ccJTWgAT@rJu>Hdf`VBCOj3n0NZ%`XK`g zzMMlqFQi}$Byb}@S9=BDK7a3|U)7!c>6?EHm_h=7UCK1dEwekE{Utp!pjZ9~Tx0eN zmL=XD8@i9v)Hc7}56bR;I|dBh5)t;BH6`j^#P`Oo(mA zsdQP7$r73Ulmn|{1`TG?WVt!0m;MJllVfV)PrBeWgKD&sdqN$X$FqD=^qBp{leB!$ zF^)uE?frxAW5(9xzZ@)pxTq4OW~+e3Jl4%UV=>?}6H|Ts<0%M(j!Y`vl`N%w{I+lV z7W??eKW>li6B73c0h7&I%tF?k15A(FDcK2{eE9=3+{_|%MH(O_b`0= z)1R>~_?N!Go_z92d*zi^ME{4Z-eYy=d&0jVMjtY9yO)hS&eYrYxg_-X`Hpvdg*|_t z7@M2y-zSsCQor3fqlGc2+v?y)vRG!(@iA;FKSk}oU|)>BTY+tDK)3;6NrBQ-j}67ce)``E9sU?na`g39H^M9d^n%1wSBQPprQ z?mU1&99!8G5pmHXGZ*Pi-GJ_ytBm^mC+UCx-`$`^Kc#k8opiX<@^|pTeDUYjV65>& z`i`{SQ8cD+G+X+z5QwRzM(|TWHOXsc6;JfY!HltA#fN6%?;`BsOQ2C3Wxd}r@NueL zSFisBgvX?wBj7a6$=cGe2!?e*A+!BVToA^?yP^vnPnk~;tHj0>rxoY0Q`M8;YFS^N zmw0q^Jw(8?PrqW|Lp^?e*V~?Xn_1=x-us=uuRZ(w|M%aszxCJurv0rS{~IIGbzE?$ zmAHX`UtH82{DWjmFCSM#(<_!A!k{8kIp8uHRTnbl;zZk;><};)d85HLV`2eHd18|U zRO_Ykqc>~d6bvE(kIG_cLe_Dw_DDld*-tvT7zvY^3J(Z*H01~aO?+M644F5WI>TLz zxwmdgYvVVf&TC$w-`c)8zT6XokTXDn_pJs7!h2h6f?cVjBA-gk!8v#uYU;a=pHPl+ zYnn{E)(cM_?pZa;A;17e7e~ee&5?9osL?MGhy{-M+#3$D=(|>_wx+Ev{B;tLp1LT; zTMCquo$O7wBZUwZ)(?jg!DxR@|RDGY?0mDE? zHE{owuOq2^l~_Jre*9nm&)>Bl|M9-et4F9)v?>ufwZNrfoK}bEuPpeDmg8 zHU2Te9F0z^+kv=lOJW8v_h8uUB5+AKQj>u{Xc%F;fk`O8Njz zHtc_vd`7}E?#zSRS{-tC=PM7e=h`0g)g5TN?>l|8CEaVb|J*Mpmw7r9tx1%VNr}$l znUC}#(oC3n>CQ86d&Yk9AN`}TY;er3x!wBgD|}BO0ojfpP5)DdHmei=nq3RLn}J^C zNXaX~=Ad`-de*C?DCKk8cu2rp?&*Xr5?07uP5w!oH=}KE@Oj_W79CU9gdHVID%WFn z-l6~5(JluUjQz0glT626Rd0Lim)nPa{uc<(Z1X-*ed97>sCmk+=zl5(Z1^#w>nHxf zPvi`_A=A?v1UV$O>3r}*svhlL{V?)-6M2Qo4DuiNZS!;Pt#-5RKIwVL^b_}gFMayc z_UyCI+joEWciLb5t3N(%_FlHY({9YMQe>Pzv#~h*;Yga?aSy+N9?3RgJM4?>*XXd> zIzuX#J>mr{k08HY=s)EQ)9@2q)Um8K{fe$4WCNpkXIW_hyk0FZbq?eTH$A_2ioug(iW4VJ7`?!S#lA#g?4ObT5f5ewzuP@|PkzrWzH5OibD8C1BHB`&x^bSc6N-b=n~&?Jxo z$dsm7dk`I2jREAf(ScQA#ns#O0gE-{6)Sx6<}71{B?*9uyLxH_f)O1!&KAAeCih*Q zmf1`~+Hd+2Ix66C8u{n_sCrIl^R1=IlZWt$6*_34U^oSX#qvv>;9b5JsYcXDxjeBg zP94tx082x#1gC78>EOW}B3eO86p#BJRTKYFMDPy$LqiML{RC#XxBJ^l2bDozKG#R$ zWONVnoWwV8wZ|UjcyA zFh?0}gH3!6y7Sw3J@wR6_HX=aKWKmPzx!|OgCBUm{l&lV-`X>8e;Z*U?PTAp`LoN& zR5_>ph<=QoSY$6A;J4vmD>IiM5WPdK;LHkcDf*oaBGXmmvKir|3$)UCO> zxTU^sVsMx+u}VCJ)tg@M%tB^ZVPJ!0WtP)hY6izKJ3y8q^_Np~$;y>+FeWD^TzMiF zUJT3;>s$`D$-YQf>gH_2u?&)2;~?IN6Z$C`OMLhKA_6nCAYtS7AZhN0h26iKaqa`G z;j7oZg%%nhNjPLdW<;s)fXsx_)s4%7XtP9TbU<7LsrEoa{XOV>Y><2qdNbi)@&h*3 z^(CCmS!hx8y-zsCX>gzI;{`}faI9HC5%8U}Jd;&&e{h7npRi*C^u)z6o2_q)6y^>% zjP$+Tg8fcd!lKoi372=j``u&4)k`nE#Le4p*t9!!1@5Wv24A-G^3%L#=*l$DkKJ}@Wh93h?k)uCs{5|{K`o2HZ{}?y!GAaDbeIo2LFMsAfQS=#} z40+o_l7;yXOnYEWtsrmD#)glKjAW3n=?YO+5eI7JeCr^dMqb=^vFK^ zk&oDyz2z2veBKPOfp%O-`z%ud%e9ZtR;7lzNozKrd2#SUwqAb{C(s%pTFoB6bH4 zhE1>#x#+E^Z3Cpi=M(R_R~+nTi^SW38Gyru*_z;)N!yYOFu&}VQ@5}wT(Yjos}a`Z zr_p^GIMrxvrL*O7>%J52&fBopzA#4e;+<_`jauMNz!|iKwGpM2&{G(_5GzGiWa_Fxg&NJOkM>sauO`)CM=|n}IlL9t zf@Hi&feb@{cYaqXDZ@@UgftYbV69O$4N)u9qC++4xceZ}uC@n<4j(IF;6V8Q}krNP>W{A3E}oN;~nAS*s?W ziyVOzA*cJf=rRj|_LTkj9JJ@3-u0t@^53$5@c;h(naFzP8Pmjew>Dww7YhHVSyEOw zm*kf|I=_?vbU=&0PI?Le5=R`kdN)k4AFHjEV6^cSK~w_6&vsw%;EOe@84DG_!#BD$ zA-IU2jNFg*K>uaZTWyUDCS2?zYyg5zwA1e!2U2EAd$UT2Rbqn>W`_BGIOhebGhRS@ zyB^t&{&Mgh`IdR+r*;j}9m$NS-J6*>FvH1n)z3`$fTzCD)w;hQzcZnev$wXk*^U_G zq;be5-8*N8Oc-(99^Yb39GDE+s=YuQ5nD52Oys%eQo-WwUZ720MA1Y}a1$IcyU5hu zOj>ae8{|*qsg9_ume+3_>+x5fKaPbjxJ_&#RDWWRwuxLgOiu$7mInLc-duPN`@6VB#Rc$`Yb_gf%jCtt zm$a*LTW!2$W=mpKc;ChW5wxYS{OgvB8Vn)!{e(l%Vul?FbIlJq2dmJYCuD%BT9-tygg|e_| zHpIM^x*pG%$Vq_qR4BFObGhk#B5NeCWt#x}+0GCn#PRL0j~cH)Z?;*c@COo=Y72?y1hYoJhU?;A(PtUa z`l)u6Mp@cN9~g^l4Zy6>{AY?5X~sWM05N(e2QN|2(g^KJ&KwMAm<8|J&dBYxcIcztvRGA{~|n#|VVV ziRB-7zQ_~#iL%L0S1!01vvFtdh9t^J(jZ4ymh`?UTG8ajmf(fod9OrLgZ*b@I-^yi=QH4<4r@%QY%_;df6J$?Un`?#QENXc;!X+1Fudyk;E{QSHs zh*bK37RG>ZevhVOYA3^@@sJ6K`NPN%xio;SiUND`y%IaVh^X9$osY!`hspQgS0Lx! zZIil~kQ<@6ia*+9WAhTmZZ}-)5HVNhColsK-~<}y+gR~w^=!V~pR;`&aBW39z+6*SxkZ80t(?lT1Q*mqL#^`1b z#&K%k0JFr;N8cs#zvn7!msizhH z8+9M?)8O^iZ5R&`5>nr7o9Mq~GVZMZZt}tm`;&3muQ*8{<1H7i+v(DOULrT(O2T%V*6Hi_AzF9a(^{XUPhh97hT_QqF*-YNIH$v z5%c?zOnW?LVjU+EJ|45NUiicdBkA_d-}Fs*!y@`$vJU_cy3dn5fj6jL@F1a9@|ZT> zYKF|>$}3)Vi3hS{_ew&E6`;THjDOG{{Qji(-h2s`FPdR5JDiH!eP27-(y&yH?Y7~$ zFs}R+?UHrdu5vBfGijc<&i-3BH<`Kzj5j&Cu9AKtd`FjX@d((6`7bTVK+%vN&MFBkYzlJf5Gbz99`+x%CovP_~5%kG63SI2LC*l z5T@uE6faES6ktOd&qw8)CHp55AB4(FXxzn76d{y6t?SM);v3fQD=FPk-Fx}x>Y#h)sb5t1=X`zryT9K4*T4PO?BD)V|4tey2-9&j;Ee-0*E0Rv_?3pe@GYa& z26Qk|IN8cxW7rmAW4!lTSzH8FR-UPPW1Y?hQ2_O7V$d`w1#b0Oa^WJN{b*{HcL97Q z@3y?zgmjACETnNqq}bQCg^ONQMrl_Q)U?u|bUGA$Ezzeb@#-(Gwd(R3G|c6KG=@6+ ziZjC8+8f;QSn$3u!pc)Z7j|B$DcFFVe52uKJ%BpU!yFgiFi)h$en}y|PYp=a>>ZQO z+7NjiU==;kH)dH;Z!}N^j=15f3!zRyIZq+##7LY5H2P`gUdaGbH|(M=`d?UVZd~3$5I<>bHA)OD;$z!0|(AN zvayFy&K4n05PxC-&cO)wX_AO|G|4@oYHt?=?xcT&44n7YM^Zjds=EJt;)xmA0N<#W zxPfI-i7%2vW5$sh$-v-U7=b}f6uc6EIN4Cnu=FDZadaW|=1iBfJn0@Ss~_Unpu}Zt zs*Zj*7(4J^SqZ)%Mw*+}b4itWI??%U(f`y_8EnqPL?5fPP%h~{b;P|T%%BK~SJ5Ig z{A(u<;^atLhWw8GZN_eC7);;G*Y|w)cljrt|HMc>%+m*R6Y@v5Tm~0qm(pH=&lA6z z33imj9#ANY#HKfXfevN6He@=yjKaaO%lLre@*1dgjdEG2JLnIkCXmSQgh?? z)Q2#8AXX^e%+J}+F*^$Udik?2+ZVp^3+?rOg!C#NEjb1Wr1W?~%& z0F0%CuRaJn4d=wctIuuIP3+6I?r}3~u@)eiFL(efUIe9{ zId}lrVu>?mt&MS>7ipGDZ(u?|mgBPj-wNEXP^miFJc2wQ*<1gc_c+njcMkXrXm zX<+Vxcs`_{6E7FdFgg?MT#XU|iV$I_I{H_D8~eux12So&08=ML8EQ5%-~kk0?Za2q zkdDtf&Hm0R^*iT!>glKKKmK$7sr}f0_+xwnGp<_yb23Unq%M$lim`zx{MUt$2qtVz zCU$DoKqs$DLaI#0WkDLvSe`|PJrZYkoryJ{tph2%aR}8glT9_Xe<+$b3_?a>o&_TD zE*eIcWmp9UA}+>bKJq4zXFfUgp=J_Xma%mPR;Muse6iO194_pagGT(M?InX0mZ+i! z8@S(4h;az&CO03y6j?8N5T>{&Qy2nE=fF#kKhN?Uq}1SR@Ye-bb~W2XpjFaj;yi<> z>vPy(?7uZh>JS~lC1DoYxjgUoGODBIJ*v-3E~_mBIbzYbX5{m?1R<@geuo~iZ7)J7 zF&?PvD_rfJ#<__Q6HITSCUn*0<^|FknE3fF&Xp(zuA&Z{;6GGQ`SU(6(`7 z_|PS3Wtt*#vuf@PJ_p_j4{Z6|D{12%Q?C3=8OA`pNnW<^Of&)BV{kD?mP4CzZzf5y z6~~s@M8_;49Vk@%)@S!&KPN-nvYgh4?{G_;wXlit5;}6}D8)ABz-Wz)n$b-fTe_=V ze3A^_(f6^0>s!A0n~QfTUm-HqXn~nP)M1o||D4F&ZNP0a44UWMk}%-z4D`KRV8#+i z0syr+z;xO@H*0hO4d43Kx7vq(;TLi*qsN@tLm3!&no3Nz8*MXqkaNpq)7{1-QSN6X zN#g`N33ap|$>+=kcpIR{j#ChgF$w6`miu@mck9-&f2S=DK}4Z!&P?(_heDQZx(Oex zWRQ9fn4)H29m(vMKl5@t`Q+=1ib;lfdfs&6byDSIbc)u%;YcvO<14VoIAo!<;Zi(dk8?l9;1Qj0P&C|f>kI)S+gHK?`)l0G z!1>a(cN@e0q9fXn4yALwC8lgTAGNkl=tns<;{ri9R&)9$U7ytbDUda|O z;?5`Yw&C_-{Q_^T;SsFb2~C3ORPcVq#l4fXXGu6h4VL_(owISN?^K(Gg&e-(pX4#j z!XBFSt|b=(t~6-A*@dtOO#q9p_n?qk^+LGCnDD7f{k##j=$3RBR>s2@LPx8gxY>#l zO4T4WE@6G(q8y1qoJPVbI|bf)tH=ZcH_47JBQ$vRJ9J6m@fB}3QrS6x*lN;oIknD- zNlpY($M?PZ@mhK_*RL;jG=t~yt+gE|o0r|tc0;{j(4lHN{a%NwHM6IJ4&dC>n?$iQ z4Xcx86WJV%Ldlu~aFgdOyZot)F7WsQO9+lyeMoS#JJzmCsa$SqvduXXDSHB1ju6fZ zttJ^lhw|^CfHveI{(ikq_;=Lx^!*Euzx0>>d;8HJ{gVsn(#DHL8J7mCEa}BJ*o`G{ zN+&u?r+`(k*KNUhurE!8Ozn^UtTCUg?(MslgKY6<>1;!=J%jn$SVZ-r5)EO9g#ZDm z1%+peQM#OMF;hpmoDVj=}?%jmS>q%misV=n!hGKID1TKg#KJCndlx}Kq?87 zN8)8zj(kpeZYSi?m$RSoZO+1KZNK9yevkd}KlUT`j(2=T$>dhE2RGSNf0F@R8&@cu zlhM13OZZW!XmU+4$u7zCnUzp^oya=$JMA;A4dfxyPDUTs~8$zJav zfu~-*tN{bAdPWkq+b*N4Dl)ihWy)z>tW8RUG zHp^m^l-VXBgAq_{?BPcQsQA`W&-k+3YFe}QJcIAh6vV=I!u_}GmlIBSwj6Wx(KQIR zV*a0Pp|l|Igd5|FXlQV(udtrelo>fOtb^09;1zNcSA?!1H4<4^Bu}z`=H0lT^l6(3 zP8&78k$%TqdA_Mf8!wN+|E$iHjPd#WaV<_&Wxg1RxT+k{%o+~bw%G$Vo8dNW9u+2e z&_t8B88C&uYOK;*rH)_a{+o`{@QK3DFlXAksqVTA!nJFsFj$Mf_fFuQ~smnvKN`ihkW->aLR6O^LV=2=ruG zbjB1t@vCU}Ew2k%&>@gQ;j#P@UONp?=CCTkl}1+FD6ycSxg|(6xy#mIit$qZ5ggVF zL4qv;XB%)MGsxrj}i3`uL)bDNl#}c-N}RuM+Ow~hqXfWCTmH8q5KJs25ZuC zaI7XB+pON(`T~A$whw;bGI_<>XQjM~EyQjN`E@a)pn?1z#0k<18KN^G8~mR%mGqv@ zUpiXoh+x3)=2=my9X#Q{k>1YleP-dr#y2rQZ`5ahYnfNpWQKN=neiOy24mYRChj<9 zLk38;nc#pNA{>JE%bSsz$nty08^DjiKEun;c%i<+Ve~Nrj|gV@cAiobi{)9j_NiRM z!C@5ST8le*m{QJBF{b6KDAS@?X8`*+*!mQ(Fm0(uU#M}Fc<_ElU*iZA<l<^7WynmD9An3w7~e97Q~1KjAKGuA*`RJ@F9k_j3U*IQ(*R9< z%b7+!GF}(xjaGac0(uC3;b2hURdYVY>3-@{o+4lU>Me5aYhEKyeBwWra26d$!B+14 zy0fmG!%Od3VPgAV!%3sHzRP&eCS9KR6&2_ttIUu5W%*9zOVx2aHxx(3|}XCNv9WuacFHoWCODCuLxv73}^Tv(ma4 zjS>-xC7^~nSS5({(8CYQ?O(g26m(Y)LL~od@90O7_^~g)5-`)+#k|@6 z*Y@x=?O{p%ulab&EWH{H<`98@(%Y93^~DAXPQkB^lm3k5WW(9$XZ#Jmn4yt!g=k!4 zU-}oJ69(cW6EoGdE)Zna1<#!KYJV#~Jfo2<&0#jbb=ntci5_{V7}xUy{$(cb zLQaZ=Ka*09bgJL9T6y*_(OERrPzhLTRbB({lT?Q);oHYZ%PK|e+(%3bQ`zW08eK$~ zp8L|}-BHHE-zUtg&VX(bhh zl?8yKez0K7NBIXE%4^l*1U zuR2(8f{4>kv!HFQ?ns>n8QeTaP3Br-4FgZ9b$kK(W-$Q#nZqWXf(O1GX8g=!vQQTj z&b00&o^&$T89dgywy4PF7@Jcy5+H5=_ne0TDCSS^)_6$=A;N*E2?iMtWu*4Ti zb0^uKG)go;IzR{?jUI_ta6iwbBYX*`gr<_~6Z0ln2wgN5hGwG1x7o$~@dJV-(|@C+GZiMC8|}HCLl2i(T<@#ae)0g#pe-9jfzgni4adlq z73pPf<;Ydr0)y>?;)Ts?#?_c~YlQ01>y}%=6x(gY3o4Ir@Wh?+8er18MKJK^utvS7 zTu|V;Ww$kWbrxU?XQy+%vrSI1wc^g2bgLvpGy{_*Xi(%;EeJmaBG`!l@)QIDx}EM( z#}fiD!RIbtQS0UC$3I@4@PsGG7r*o+Ie74(y!O2FU?+B4HeHLX8wuy)cVK2>^hOM(nmTv*o`(~Dx-zGZ3z zE#~Q#<>WZr)5a#*8D^1b(1UoePIb-vfNbgQeCuUotenNEkqm18 z{!esh-~#i1@rz$1fAyDtH3fxMnJwoTf}A-jgiGMV=K5|XM{<1{3zqLoI6q`1_`e@hJny>X} zgQpuZJfSNZAvL*NvjkTj?9amdkjECvCXM*Ig|nOrDH-HOa5M4MHUzG`jvOS3(nG#M zHT1g7>^YOvb&%UhQw@eHHoy>;loT`{RX+tEoqVTyf7W+ zxWWNpH=50D6u@5E5Dyc4-j@7Pi)d}oge;a{}x#0Y;!$>7MU&Z4DpMOrzWwdjws6GT$U2nozUK8;#$1_Ka? zbBQ*4r3VFFhwITh5TM^2M9s#PVp;*O#MILWozbSxRl}$xwbLOuh4AwB$tyk~pSa@V z0kh0;A}L$&`PjY3$%!YQC@(wvW%AO~PnF{)hvm_B znMoT1rALTwwMNl7To83Oh@exXr9dH@xHtM|hKS^y`5NoWPS2bO{Jo|?9L+!Fy zG>KN?DULLSU6n-5*y`&nX!HpZuvljZ%NEO{;97UGUBbpes`@pv0rMmC3FzLe7qo=J z!!C79P*O;daW^L)xBp{a9SB0#VSJ_E{gq=t>bMb+E)a(6Wd>dcDv?sVUxNzB-%7ko zKS!alHUbUd;Buz}0`kk^#zpPt-}2S~9&#XtSICvVzmrcsss6p<>@(%;v(A!7(@HSx zV;}nsdDW}Vk$djD*Xf1EW_eD$7NpsJ%x1HN4w`U{O)`3JG;z?X&AZnLpqF}w(l9t( z%~CFQdc0To1eXL4);pX|a-6(eJ9rZ&Q-U*i)DnJUr^p<3g2|9I>ho5O(=vk`J9u~% zY#r~!Y#9KQAX@|g@C0@)0J;Z{qH%&8jJ0AZ589lVs>cR^Jv3)o6;^%7I(A~)$z>S~ z+SwW6gr?F@d7519Zx3=5eO!Vv*!Jg1F}|GXM1d%4fC8sNAqb{)&(Kabt9st|DTG@v zsDy7j(pmv8pi_4=8mh-`fwDx&;D`QM=!iP^VW&FOoueZn?9>;Wtae8Udqu^ad&?}V zaIW%w6v{Gx=n`uz#8XK{C2&>xttG)RPt^V)p257^iCM`5V~}vJFZAxyp7ykM0^H=B z-*LyClMl5c=biH!`7i(5@6@e$<%W97;E?tZ&ndTVnrASXuMK#=T2cWwwgQ4a60a$z zbdAQ-_5?kQrrouroqpP>^0&9#QnO@Q5pHZpYumwm%KnOs3(dKiN$)FjAaQJU&@8tR z);SvmbKBBV%scrP`p!CmA>G{A91e-x!OOUE8(y)-N%!7Y5i=dXSQ|m5>8t$>!VLk=>&X$-@snB)8sn zo4n|SFRH<;a$yE;lacvch#_&SfMF;2p8zLiQgmIRyT<=ME6sT|p7FJGBy%D1jXK+P zPx-HL=Q_`E&}*c+ctNw0fhfN-rZ8I6JtVaTkw^MdW({=WaKOik9|Zv+h#Z342Onm^ zWiz(fm3WF`C%*MlajlXNc3!{(@@gW5>`lEvwuA<>PWwiTVAj_=v~IbRf+M~Ix}EF) z&T>j$Ex%Vr>)N&W#4(qy(c)koIB1LnlOYCU;so*p!ps=*AViDLz+Xm|-M;gSls+_) zg2Gkpx}Hk_BC6Cb9F6anLT58iMG1n8tLbw(j}%qJB%~MmVB(x0<6|B%UDnM1qc3DG z4HK7Ajll!^56I^}^I3Vvn=h7s{^EZ!y}n%z+&{gr4kIsL8J>_0e0=9$)Fj*ttOJrqJ`4x zre^CpU|o4j@{bA4$7TyGYsOXQEQk>wNPF-1!z^gur=XDeQ24%UxO*<#X`K3L>@!ui zZHm(nonsSU; zRO^ghM<*I~#?!*_5m*+uAcw5(j zmO6tpT?dNEj797)!_Dq(AC-Pgx;2^?^1>INDnI|`x5%v}lWNOWf?#ia(;Mc3mSDiQ z^q!0k!MBPhe;asT=DgqmG15(J2&WFPq-mk`6bW5#z9vmCjot69?}6ycB({QrXH5J_ zG|fh5#D*ylyuvUBog|J}PxJ$Dpf{XuWh9GZJ7GTLQrO`{q{S(8Zwwik+>hx!c_%6ON+7iV1j_>cXV zeB&G6s5O2{2G&>i-%@}1Cuf`y>asY{Sf_d)9_&d5dAkQq>a^$ImyDAUb<6y+(F@dz z2sx`HGqMJKEu+Uz&Kq06Djk38aq4K} z6ROt&mrgsNMc}-=7XBQD2qko;z?}V?OjZvx=30j-pvr34@zsFIT2GGWF@qR+N1F{E z^s$g%MPR%g38EeUI1q|JXS*L6HNc6lr9S-7!}9pYKR&k5R{rPU#~S}9T+e&%bLEb& zea*Ldjx~U~>!%QoapI%Je9}~E-2N)JElA6mdT9X0xp?$C$EMO0rDc#pu z3rdnSIvpkaP@&1Z6e83Q=-sVB1TyM3&M)BYuq!0_y7E6{w_qK|E(qEB3Q)xQ6li#xM%!0GEbSPDIvvOGNS0W*;l#WVO;qlrR$i#y3-Z(q@ zQsJZ;8MOFUMPP8RcSH=Wo4U7+?TW{Sj`}SQWuYC2n^5G9(F59+?-~P6GLZQsJK8CzrG6`Ri z8SmC^m<~IcEumLb!Dp`jHTfwV55FeXhD6IS^R(R>kj{t-M_5wbgl4$)|C@CJI+Nb$oC%D%!`mBuDs0N&5DP7`0rso+($+>^CnMspm6052j!8Q}*7XCn zz&Q{tvr98u%ZN52p((SW0)b95X}G)oKt`G6`UK6kaV%uKIL%rPs(F{gkOjKInN>&O z)GSQBI67EwYxr(F)%qMd=MOqYqn;6p=(lXZoc}OjOI(P8nszcWz8o+FLw{%r`uzBh zJ);!Swu28JY;~g!9+JQQoBuA)nS$k|AbPpCFH9|grveJr1;w3VPKKjg!7ZC-A}hp@ zeT6dsfW!3z=rWTIYhaQzRor5f3^?tSQ{->I`qf(VYWGk*c~EO+k7xCamKlv*AQmt> zo--Rz)|+K^iw;T@)%X*(dQEuTQRhF%i#{7iD(+U%gOF_HT7F~FhvLfU#XPuZl%3dQ zoJmMZjqxyFh&|EFumsv<^ze;Wh7pJ{xB;cg!aY#Q&_lCjN&WCPdV6 zN15qR30-8;>&!Mx3yeW$1|FT2jD%t9FJ)$;HWWqTG;t{0jQO8}gQNBQ-|&`v30s3@ zM(C@y(*C{wJDQMD(L-Ylk3|3J%U}%6{%8(!u?D)xI}Q_fl2m`eBZ8Bk8KX0#t&MCH zY?_S%!JC6vEPgyKi3=q)2b8yV_!1ClzJlNrF~Q_6=s*Z_!wJaZL6|{#I$_tvTytED z0(N;D3m*{rHcfGFvUM^HDS!|H9oYROKe6xQ^8a|{1zQKPe&OP`$}xM6*$7>Z!(S@_ z&A?|AAFUH>{%`zDxW}A13f)~2{bt0y83mH-6v*)#bpu7S5n-UCZVEyyoc(#18-pY% zAmc&}Wt~a|e2u52$>+Vm;3sKoL(t{xKM*by;=pENWj$=gb5hwPKWGk4mEEab3tBF@ z<~QYkj(E_(*m9_nf>CEIyYZgX!2xq9vrZtp(h(R=xh8z_$=VcpoGEOV2v(u;X%TU_Ij zlrA@UG$#=rRt7j+y?(ZtV8e^a{wa|4AKv-P^6!4;b#m{$_sTZygCD$1oJnS|=mr|m zjqii^!+}%b2N-z?oJ{THz0&+57)ZJ&u&zW4Cf#XKDXKMX2W~#j=sJ!A=?VZDSeXZn z(wPZ9oZV*WkyAIsB$_bddZs@9E&G#@OE#mCbVI2R=MTt`ZdUFD%^UQzjCo%xa9y|i zY3OQ}H9jJqA~*SydJ+zLb&`-BRqpT;&Wf{K@1x(kg4{+jTw0K&ZOg;;Zcv%E?N~I^ z>imu_uj?0ne7q&%>U2t=#zD5H(pc9ob)h; zzU0L(uC*K~*jO{0R;w(ukKhvgOOd204ya1VQ|J+ic@0#EJL#sa)2h^=(pZl+ugb92 zGAm2HEWtXq@7igW4dzzReOJEqci*b;JnLD{40stI*iy(6XdF{WG&!ZQLm-28y&TDT zrj9^OEW&TBW95HqSwYx985zzQ2&nUK2Qmz#Clk35*qR+8aTt~n5FXQC_SJqj$)FR1 z<1}eTYbmszEL)wF6uzptz(nn`990A6(Xs{}rf;+Bt)ENkdcS4_{|B!iFpY<_$&Y|N zI&}KWBJ||jv%I0@iEHKvr~4#FpV?8Nu!NvfleInj{a+AzNgfgqN9 zCTSbY4K%)JE-Q0lhoLq$=!_UelSng)DX}oBJrS!C)l=36qN4cRV?t7R_`D!w`+jj9 z;AT8Q&>Kx@0}_tV7~kC@8Gc2}r%E{|>&7qb)+u=PuYc+lwXW6DR)SYQ`=;0VC^P7+ z{~SgXQa%GZq6oT&`wLla{dF-{{z3C;V#30o1h#52B0iX{jn6zo61)S5`IK#A%*}F? z!wS)W(`fbP3>h?w@wm70wn(%r7vJvM~Hw}8Y0`Y ze$5Sl6GDX+Reb$>rO|vEoYd)4qA@e;4nSC+jmRc)zWSQa$}3Aj~ZsUx%3k13A}_t}r@*N54O=Amee}_SBB70`!ny#3k0M(uRgn?Zg)*!1h;p zU6mk=XXI4a2IAS6Tiy@Rhxv3Y1vGIWMKw-N!*3|A&IP>(azIc!EBeB^xX?3?pnw6o zZG9@aJww|TE5<8=+^sPA5SclhO`Nbcb%Jdwqx6p6Fl1Z+>pCFl#`M)Lz$tY#2%_ms zNALp0kOzqj6xc>$i3d3HUOYPaMDboC;0G9RUpV&uJu z6Hh!rzW(*E*Q~3OfpzfVhwC=N5(K*E-h1TE>9<$B;_QGAg~Wp|DKjb+N(SCWY&%qq zKoRf>I%&(4fr_1@cC@3bG3$}4W=L+;%-{%^&=6gMsEHWRq0FIN{mPvVZi1 zeT2LFa4T`7Y`2|*Df-WfrF>sDG&^}-R@yq z3iB8RmTB8Z)!5xwM=MZUYjU{YZ~=Vl0` z4z9ka{#NVLpBF2UhOdoe;LCiDN#f4eJEU8i%#=8_Q&`UEOa~&f&pKGa`~Ias=Q1oi zI~dfue$Dy=OBl}C$A&Lg-bS)_gHja}6%JxSM$OcTa3Cv!S++{uB`x?SglG72Ip63* z5u|Q3Jz50fY)&@_j1e5(mC2a&%1uT1L5T1>jSFamydM2`p9vRc{ZL0m&jXL8!LXqK zReQVB?^9?>mc8UnlSXPnXS@ET15UQX+gOkQT(;NP&yBYlY#IGftHgPdZVK-+O$0Y6WMcv;yx< zQ^4)!8*h^9ue(9+n;fbT7M4$9y4;Hx-g=Ci=9)k-@+6o**^mZ#Xg`j11fAXRS4@NL z62qkeMV3!nMb@G&N^tq_m~+s0&s25Rdyd%?MVe1K`NX!pXVz}K@y02rd7E5&-SrcW zZ<=F^L|g`paEeI#z42wO1B5IOM#k37g9k?PKyw^+k`mVzXqyYS@^6{bOoHWtb zo;`bH?~LZ}x%WQVzkk16ckT7^<(qGoTMry)MH6inr~|!W-#=osNl-33hB)b@-9t}B z>t+2GLgBHZs;%=((07~9F%$ehF$D-tpZ@k9zqi)c0N(DI_@vY?y0*;YrkkdD_^EK# zp4rVM5BM<?ZQswEydAqQ{S~7iZoM`UGn{KXj zNP0B4=o#x8^kChIiYC39!IyCx4j>U;qt+qIQT1{2^hygHl@t5Q))mIp)t|ZAgFA!_ zW!z>zm=sMTcnb911wu?Zd@X5VR0%zu46$Y%l0p(0@iFUFZ(p9)*Q0P`uI{X zOTzWVsogt-T_$BhtQ(9;~kb_NSA=IJMq+5*HEx6bW?kO{Bg(0X%o+$T;(wHZEN>dez>(} zM;G|7zy5|q95Jau(<$L=M*KF{!J71r{*>>VTG6>DL03$;EpqZ1&v^P2G&rP(4jrsc zQla$%Uy(6IA7AUZtywy&2H7}{2_cH&LY57!;BU+7S=H@55%`kCVasq5Yuo=4|1AJx zQ4DvO0tyI3;bc2UQ(&w9H+fwOr?5NNhEAtvVQX={Q}vGxF4Y@eBr_3Q=VaDH(!Dw@lt0uQ z5_f`2ap;OGp9t(HWVr!ft+;!h9*G)0IJt4PvKXh#cx4%|pO)RXb+z6~R#cl~&Uep5 zi$C&&C&=IY&3~_1S0$^Yo{m-v@$b~h6dHW)bDtwGeaVaD3t#-R2B)?yQ8FffA_z73 zNde=?*<;-*h7(k3I@L@;Kn;5GtgJ3Gn#RG}m;1|7AAQWx^0cQuRc^T9PumtqWMGY> zmaG}`fQ!szZh<7L>A~iaP=ry?-^B~=3PmUxoQH1O849nAu?}^8*ybd3AZX?`37=xu z&U=RK?RXsML`)PmFTWz=1n^^PoS&3fam4&BBre=>hV+-Pbyw!Wqap`(D8nioZb4Az z(7}i0u}3{d9vmO^)7L=P?WDcnf9K1WyyV4t%PqIq6lB!hx?U}Cg_8w2%g!|x@FJm6 z!*24^Q&n)%WF1povW5NOw7TQlt-*60J-{ZE7Mu6=DG?Q43ybWV61W-;4RUCbCp$Y+ zu=nn}Wjyv+dC`krBwzZ{mzo^W7NoTmZ3i8rep(F9xUIb7>$5Ycq-ggCJ1&FTbz>)I zYz6vh>pFxo8k_9JkDVSC!gae3PbRAL7!h2jZR!IKGUyX&aGm$F#=FMv0HbHQ`YLt! zfHe>XMEwMLI9Bm9Xl~oXiI;fzq5fO#--PTjNu;v3NH&vEtVIZd^*D!i_$=~_l4~1} zDjjkGt`*Oe)*bYtupg~a2N$RCF~Jf_W=QhA1^FuJMw5AX%Sdmd|JhP?{-3gQ?(fr5 zDgi7E&T9pnK)jNI?4H6wtg^!3Ye+B=`-e~rZ7m|aoS1}YC!#}ehY%0JtZM|DO(nK| zn6SK03h{}I#)fxZ96Cd~Nd{uWh&0U;3Jwp@VZa13-QgOPS6gBM2{!NniTBRfE{5nk z-u$*Hh_z3aw33B&>Q9^|H(Yx|8dB!^(`NXHRmoQpi}k-^Fu(pyua|Q!ICoJH?d4~` zJl zylx5*UUJE$HB*lTJ58s1KS+l2@}#zzgSDgqm&O6YM6UWNjW{_YM4MYYerxdW@q72m z1?QhDuRZ^~je)yO?dRTjVSO!*?}sk`i2TXqpdC1HTNrdjlKUY>f+cN6Gfp;X3c#KTbIzs(D2aLCCcrxgE*+kX@QykzTqrymE5pJ)&{<>Nd>y1uVM`{;LH2U5N zr}x}*-`X5>MmRA(MJxkH{`r_G5P$aBXHEQk-Xht_*OV=gS5I_RYJ1h78W}rbm$;wQ z$SNPSwC~7xbs5Eaw3}Ccs(;0SebbvRl=CM!v{VK$+$Er1VZZXqR6X^{W)_s6KO6~T zm)G1x$W0WodgZLM&y)+NbzOqjc`G{Nh8u2>eUp5-ev&n@)~aqGyNv*Rxm@&93|0JO zI1paaZ8P$r)61n%7e=zS3Dz)9U~Gd|hc2>&TIN-Ereq0(Fw-_yk>2_c8E5M=3_Hp+goX#DQLo7zEiMcXf<)$NJz;P)YPCrRk$I4>;>Ay; zt8??f7EVZOChgbLtY2XfE<8;u$Gg(IoH;$NM$X5hr;b24530p5-6U_0d;Ok}sHyUau;tffI z;hQywzIGcm)zs(EoB|)#pGR@FnFnY6DIo`EYw&s?y)iVrl(66E!K;F|Dfljr`@YAC z-bV{r@s{V4fdO9f(wEAE4?HM$+;NAN;_WRU)V6z;Y!)OxK(4GB@?1T1Qq|FzCri3) z(I7pw&bBElhm-tr{!YV={0Ih!2a6^}HTvmu5m>1(4<00KHL=QE4%~Lz^ziM(>A}dC z<)H^3YS*riGExO|1|cKP2l@-e6ELx)8#c-rf0$5dapmwgWVOKIh!G@N3PH-8Kagoo z4|ROsMp?I$(>1J^hgmQKTUy6fL(#M&@cv%6H6ut1{geKGsE)SER_kUdfI3z1aA(#AWlGlBqbUq zQ}3ug7=x#}XC8{0LxezMkv6lHXEr>Dt0C1bQ=?lU-CXjfkKat_V za0$V>pfP?!>j!R`XsqK(lN>jMq2{#8+s|M3`5KT~+Ri!OooW#;2f>2d(6tB=D6g1S zqy89q%M?Jm_Rp@XuS+w)xSe*!sdDKDFO}=Qc&(f}1;9WTGpW?ScY3%Lm>s|LuziQ_t~fVp>G7B#G=e=Hd?pZ?Ux z<#(sQGMB^R9OMW7=VJ@!a$fm+rzY$B>Q`sm0E0k$zez~Sr7(Vz6vJH9GzhvvJuXAm zf|}mJB~w6ZX+5lhuM)^y*ZB#{9PZE+zNF@BQi5h*nrPyK6F)whAWM;f=TCvJPk!>M zD%VO-5_k!n5xDP(+SPX$^XdecIPF4cBpocQ(8;I*`(&(1yf9QpVsuB?A0$lmOe zQP`LcdssVXIJformN_^Ynuu@P@i0I9sm7dZ*4L^%{cc-4ZDt?kdwgzN52e%LO;qQ@ zOv@XkWklumCH^%aLuX7Uj_v+9$;vx)^D$~GiKV@kc#@bG^C4`{+Ap@^4J}6}GZAox zk_Y0(>;vD`_b5(22b#umK-a1@OG_TA{tYP6D)BpVT_e!ovcNJs3)k`kO~Bq;;S$%C_al3ml0wc{-dWOR!SAXDtwg$q9wNc38oETW z(t^53(BRl^J2>)#N7aK|BD7V{t0h?`L;&v9tdM_$aSGl{^zxX;JXW9>L7U?^24tlj zJ=q%1ea=bp)m!#Q{it>V;VQNxqBfa1gDXW?c4nu5f={LMVV%|~sF)8OL{j;i*ap)f zX=3D6tU(!U&uszKvEriye-HUw?w*3d4?gtJ6vTQ?;5c-G%3)8pL@+wQA-J>dTF?KX zSS4ky8BT!ABI6nelbLUBF?O@bK=?S3Z;Y+5Sbqy7sq;Syz5BH)kuj=4{`^qSbq$12 zrx)6K4xvA+(;EWln17iY3;%k~EbVh>E*J`N z!A$wL?==)NK1NrXf@K{L;#MMn5W=JsVE9DmPMjRnNt(pM_CYpGgXvU#($+DAGmnqo zf+Q4igfJ5*mwW{^ZqY~&@lI66t z6+C?UlOLb@JimjozJ}}pJ_h1ZC=Ta=aa=rR#lqBYS<65E!{4s~tUdn#ekuLbz|iDO z>s(pRji0Mq5C*h59^dZu`^e;Ypb{!$r!M@MNw-{Q+b>ZO|>OICW6M_N%`@ekuhM#e}mE z$}GpI&!lM=dO)XsFPhG$NvyHkfQ>D10+TzTB`aqjCt{@FP^}wZPi*rLEVhDM25^cV zsKu8p$11n`HZlu60=x|~L2L1kpB$F>;{fq$g$%bI2O~~%w6v9(#j(W){WnZ_Aj=IK z4rGl~FuC5NEqEw43uKWDu8#J~$Um@|9B2W!lTJLb2C7On%%R;wHms}T&E zob(dt`jH>`k=UZnG}gB95E?Nj!V&-G>m6o4u8(bG?$Fas{hC?+e(I^G$lw0$EfGY( z32|5pV|%d~krAY+@Od3FrQitefvkxwfv#5gk zZLwzCV4Wi{GGqb+KeT{t4*$t4i=j9D*}@TH)M(Q#z{53*BphFfZL8qPisM?y9eME? z;Io7?O@!&ofASNj%bj=JDfi!hzm>XKCE&P101Nf6h+(?mu(qwZ_#CGlHUZY+3`5IO z!}ZOqGTdhp@(j4uZe5sCL6;_gAsMa0TKUW~uvVGDSZZNC_v91h`@Zk{Iz89cf&16^ zK4Ww#|C%q;^A76s!N&*Aom|`cv^5saJR?h>heT4W>5ubJ3`LOy!vC~a_!Q}-MO zT`S`6L9D!wesk70AsK>Kb2{Z%1Aq!U!ANHb#X4q2ccVc+r5v`0V+#SHq7GFgPKrc) z0b>c|6>)E+G0>k;#_Wi5ZZ&0srSO40fjc{)68Pz-(&oz#oBT(tdk8k6b#?xUzy3do zUuAY*{%!h=X(V}qi?|0JTilh#o8=dn#B8uM6z2$ONa((-eUM^H(1JnuFRsvjEa|#s zEhaqz2+L)pw)+e>+)}#QP1t%^Usmb{?Rp)Q*s=QZp=wd z0Qj$;z2~H;NO=4g#a^J7dg5I7r1x+>o8TrLKT;0G5e|F4_mf@`-pF%5#Gb z^Z<=gUa!0MI$7FE23FUNkISz@zondOTVPA@>f~=D?Q=WdgY$*PQvWBO!T{!*s%WB& z2g&QuikvJD6222UuC$UpRx-&-Ek9j1PC9-SHng2SOC7G?|HIEd>Wr%;?QK&4>+MBf zkRciGU5M0RNH`%HSy*9!!KinqGmZXqm}{%Gigse`x~)&sCS@CO$G6ChV;}UX-9@0P zdFROb@;(fG5Ps}31` zKZ9rl9ye*u$`q6O{&XNc@Z{^bvb`-X5)l>8;?&AEcsv8G)%y_M^b~`(n z3D5#o`7pSASJvkAQ%;%e(c9!;sTZ}o(nE*5D76QI>S=_fnEUkl@S%gUdvI6&@~{3< z&N}nVlxdP#M+j~R&5P~*@_EM(Ywv~y2D-5D`3CU62>F~AYtm$uOmk?oRg1ar`k?{SJW4IB2Wl49 zNe)Lsf>Sj);MlD%tsb(qko8sz(vPq+nvR6gp15#(gR(wD@6KquBO65|Ag{y23=SfC z;K}jS^KOMPf}g;1E(GLW*g~r5>M@}Rw&fYS*d&kp>{E~oIz!?9sL@vcGC&tWY42h1 zEwo*nLv#MAC)@Xm6J0m)KiQ<=H{lzcmY%vz8^2SgnBPnP`m$K3=D`nqegAG9A_Q)` zgoU+xt-GiDaV9U?-R-|&?u7P{y19}|A|w6|ft=U33zA?h_?scLq>!X$B^xIU%|r#i z1k@0!H!dsaH-kz37{jwJ8E^N(|ut%;vbH1#YCN0W2lL27o^cm^wZ! z1ysD`EyD2s{?(tArR~Hj0JZA_FeLE+f6YjG%f%N>e{YfRWGhdmul)3twP18_2q&O0 z_O{tZc-{r)`Ry}Bk8aB!4%i@EGrg5>OY!ZcL8j~KwoYYTEgdVDb+eYC^9NJ#>f8Aw zeN!tzj~2x0g%Q>_4`OhtGldGzf~7rsIM_uv1l{Lr+P z1YlbaV)n=u@TaZVAHNOjmq5zi@4&j2AXW{;NrP28onfJvC9V)JP(htcb1A`v-}~fu z21afL))LSNQP0Y9Mk|d(V2H?;P36;5P-E-hgX=i{0^*)^QD@xvZ(*Q2-G@VIDqFLT zG``af6Ym1P4x^D#&@H(oO|x}UV7vDE>%BhNky|NJULGif0k5h5(*cl}C(!lwi9So# z)pxoTnfZr**n(t`?G^!u&MKSnx6Ib2$)S>Y#MwvRNw_~b$%gi@h72t@l14yQq&6F> z(Df(2jTyR+)M^mx9d8T!kWUT^8Sj6A^R8YG$;wc8lEDtxfy1DAY`B&{O!Yq86&9SP zRz8h>U-M&4A_GJqD|F2sEONWVGwQXgbRswlrv-CH8|i6yz{l@ZB>fPLES%m+(hBG> zq%#lLMv=~8n~&ixZ)Ru}be3xBlGz`lrPC+SspaEH$F+Ccv1lAs;Vc7WYSo%H9ykyAWUB|d9R)QL&eF~pXW2*WSR)RIl2c4$Sksrk>}7Jx6cCw$2wLDQ z@Q+h4ZsZJ<>NtA{yxQ*#N!(WpVrD%}{1$$ZNbrzfkGclQZP*^B@ZIo(ukY-^8fV&+ zds}v6ExaA{h8kbt$4Xn)7z2;}{`{rdeIj z)gtZ_4L$a;kIiv3gKGt^kN?5P%PB8?Nv(NW3hW<>Ous{(#Wgll8(ThIPei>j71Z3a zk$lLs1e2|mMWE2OO{Hrac4R;dg^Zp~fAhWIwJ~|Eo=RAFWOc|24;`!-Wvg1VupA;H zq?1L+2B|D;{o2fYZtw^m-V|D>*+NPW4g~x^N`{ss0x#yUV@@%zp6UD=m+u}VMBvsR zdPLvKGFhk_u?V^gt&5PVtN~BhJ(349%<)if8$>%;HT6fFS}HChBLl3>7~2pB59IB* zB5Cv(QIx=)Xg-{9j!Zn6b#rx@)yAXWP;x-YAmum?({jUOgRQ|o00v+5z#w6#-3%P1 z?!*o@BI9mdBw$FIL2`s{xUyeYz%0xcfhU(!>Pj82ICESbf%)`DiCZldV{%D?y9Pz@ zktDOuKvp3mT*KH521r?+cASBbWNoq6z|xK$hXTWT&|K&3hU-2rOWO(4)8DQiES}B;hcnVIT>J~)@!%C&smXEq$38q6 z>qkp()MNb{oaGe5Qgn7{pQrysGmJpy#%q8#pc$|L7}(ml+hj=X+jpf1ts5J^81J~f z$4-vSmEWzY1~lO=F^|N>N_4p z;Z_{pk{Jc14`oG)Dz^@X4K|ZMM`$G&_nn;6n=ZVt{&j+rUrTet1!|>zCpF8dIKjX7 zsZV^@Xs-mZPCxCmUVd(nW1(}lm9ti|XD)gaIG-yK`s5Ycb#^&)26(3b&5cMg**^H2 zV}>Hv*;DQrUu}FJdR#)b^TUX17s}1j%F|vLzC2VLqF=xQ_Ql8${4TXZzhz5d$s}ZW zGz4zis=Z;Bt$hF83SKeXpRB>wJ!A)@4Nwh9Y-{)5-}4{e{ap!Op}p;G7u6!x>2wZh zi-i*;L7U=+Jv2)g?#kOXW^{zPlKiT{8ehLSJrIVW_Z?5%skM43euZlHH-wYlcnARw z&1<#kfL3#*8qZ$H81^Yl5d;)U)|2{guqki~7@p7r7EGeA!88g7fvUzq7Ko2E__6Qh zgu|KvRWrrhd2y$+_$VV~e1sS?KSLEkC)y^({7_zZj%tOVGN{$_Qp2G;LS!eWsA}@1 zY#%IvpB6}1)gac&w?(z@4z_Hp61b}MuntBx*5CZi-^vT0|9pAe;~s}>1mOqE>_cEB zK|?hoh-j;xvNop8*z0$!2evs`_!?!fk{vnWLvH`t9Uc^Efw&bFaBtfPTY+p#$2n*y zk=Nk!l1<`t5sNT554BU^JW#Ce*gMgg$V|2go9yw&ZS-0_gUb=5q?xr78WXqfYZz?} zRAf%_j+0pyF#AfXS^KW5)nk%EV(9M?@`uFolt3@=jha>1+BYM+I#!XP|K?x+EBWtV z{i@vm!2N}WEVikx#@LP(j61^*7AQhZo&f{%wVl*yVUl1vQ3pq`z%_sByJJ}l3A){iIuJIz%PX{)JGP^!GH#*|gb z4=rfZPVBVcf7J|%vi(teaGWZwKZRuz8NiJrv;~>QpdTEF(D~`HTpX}M>_W*rBtC|G z(tO}PDDl5>@YJ$DNxfv=r$+oD?Kg}CnOQzzD`J1DrR$LBJ!RuKVgwT-{tuf@`-cpu zlP5DB!WJdRYk-y48?IgMl$?0- ziD0B2K9Mz}@SNA4Tel8=H(NOh{GxYUBrxRBEa*ZjrChT`))}@DcFc$uUfUT{vvNP{ ztcBYL_uuNlwKSBvNVd06ewUu6b9>KwniJFu=Mb&V52PS;IiV+CIRbS~Q%cu0!Ts&5 zyR=O!4)3o{4k4Z}k74+?Ior%YOW7vhGpz)LVv80nQ=l70AO57hmKr+0H#z;^t>6{f z|MJ22*Q}msAjn;ccYmYfblGaKU-s)!-Fck;CPr+1iYa7l+ZeMU~HG>)?6c#=3w@+uPpZ>#5=y z3?lAvH}VWe%WL7RaB>$?VA4SborXR%&}FuGYFrw2BudJ(H0muE6EOKzY>YQ2iGmDn z+s0?jY}>XaYKT5+kjsNuI@1YCx&m|+w!-A$BCChsu(|F~=X1@SW?`orea4A*=2-?P zB9D{Usx$2;B(^Pm=%<~>hdGu)^@0D<^|Jc`1xG8?brR1m2^=Nv+sSg0yyVMY=JJ30 zp&zQ-?r#6u?QQ$hYS-)dpmvmb0B9ApiCS=|1s(3W_a6Dy-FM52Ui1P9`37;=(T4_% zMt`F_q}WntL>~&6N7^}}5+_pP)U$HUX)k@L{Pq9&*It0WWr^*ssQ#71(xma2g{XZz z<)T+<11W+q14Rc{S*$*{RQY^{vbDC{@3p%^PbM;?lXRNdH3&rTN!#IL0ktTUEor0W zHd+Z^1r2nFfJTgMmVqX(tu_WO8l^YgrRn>G4(Zr38rJlo2Op5f|KJY>>_ifB*2`aR zcTe96)oJ;|>mu@Hq_O zbE^jnjb!JT{4ePrAVd)`gIFu>Jez8ytRR}PvX7}sHTl%*u4P!N*9nd>gAI~8CAMCQ z^|5~|F=N$ zD6m5VMu2SexvcAu8LROSrMD3kyoU}|bKXg*Bf2*&D;8YM|C&a zxZxsNIZ|kTLw?`&??7tL!0|My<7yfL-NJa06v*ue^4Zu>G#HEeg>w-g^NfZxn3DJ` ztZ(aplzv<|BQw}dC|bK=A&=A`u<*WX%5dbDMl9GbNv0{|hI{Y1ubwcq#3|)d1LuK^ zgh{9Cj@>$Vb?-ebGpf8|9;Kghy52VJ^%uTguKCPovsgP8n&7-@-^buh?wkm1TH{N)2^s;Bqo|;a)O+O`o zPzoTw@>Q>)Z(-OBlFqtrmP1Es-96T}MAiBmI09UvNc=nA_SQ$WZLn;C`V$Wjmf_0U zoP5$rTL;2^?!pV}G54Rj<{AMG8herYOOH$B(c)y*%5mX0e)+~)lvB0Ur7QKaPUeE= z3)`>0=U3#Xv6dlUG~_Y9Z=V|v{px$({U~VfM)`83z1H6kO)#IdCC4WIWj4L(zv*Gi-#SBuYA%DM2<;5MGM9}iXc$YS=U{6-SlMn-cZBsq}T1_ zLgAqgOaanYzv`TrKRgkf>r{fmCv7Q7Tvq=ihXj^%{R-_p7N9$7`Xde_t+2r$Peq8XPqT4dhrVv_f@uZ zojyJMx#5P-3o@`8X=&O-8K`NNoRtii7Eq}q;y1ypuct{_W(K%NlyyPGX?bi#oMGny zCrA#~wl|R2K{F_0U~83~qdeOoPI5En-LwlEoM}78!^4rBRd;Hy#2TCl5? zJ22YW+vQpWC)AHeN4=`DHK=>yUbAs>4K(0ub0d?OwhI~RyHI9Gj>qFDZ0$OAcRHt+ z9nt>OvgXiE3+j%rI_?6l{I`60>M1Xsf>(F8qSJ@4l?z3w*-@Lm)6s2ut=I1C94heJ zE&KQD3!e8p`Li$mS9$p1hnqabnE;yhe%bOh44&~Y+cGum3>zJIK6SA*NE_qrivZqS~54 z(d3bI&RgB6HW{uTB@}pS`0)TI_NG?$@ES(s7qu9fbt+d`hDxK8K~YlO0~7&UweSEz zMQqtx6%Pv_Gr+`S`gThEUh%6X>!NOXtihXu4ma~SB9-6p3M6PL2UEzoJzCW+t1R!^#KX9nyd z;qLcF*9^!RZ9TP)5P}XhF%!$~628f6f8RQhF4@CDtaI=n zKQ-qj7+*(OwH&iE!Z0Wde=iTnqMx`kM&;s7djGr(69lsOz*@fr_=5 zNN0qm?j~A~%gnGUK!wTBedG7a99@U|Hs2k^6HiX$9x!YA&Le7TQB*Rh@YcM)B(~_H z7Z!8DvFSG!W`V!{DfV2z#`4mf@T5cO2MeMT$w1Z|6zzl+KiSY3th04|Pv>q4}% zTl+|rba5L3g7`XqJh1;j&8|99E5<$q^?W7~eVtz4^7glM!LCPYH+}ggdG|ZtEjQHK zPguG%QjaDFxVd-0JkfeOGy3b5_$Dys1vp#mgL$;^2MgLzl~kCnu)_KHLroSj)STg>&H> z-{9K=kKE3f=28MjCD7Kn$Khm%z#`cuholSaI`1jHH$q4$T>p-Xx69TjC#e1B%Rd@5 ze41vJV3I;t|3hq(T-JX51MinVdGSl--uv$DW>O&^KnFw@|A2OnuVtCXJ@?%wa{*M2 zurD~-CX=YFWyv79VqeyTLy`25qXIlN94+lX;Jy4K)d}7t^nPLrOrL-L`HTB};}kUf z&maCs%~I@W#bw+)(_v|Q)R~N(-jnWw+6H|I!^YSM@F#a zdRM|0u#3~D$>|Fp02RJE=QZcb{^_;A^y*jswA^*qH{~1O_=Y}o@L~DHCq7yE^&S7O zi)Cp$^Q<#NSFEun(^uI1TAi)(1Q~{Z1ZV^_leKJktDR!o4!)ye?DdrbOsJhx-<$I* zShk&jRbMBk577(>Pe+NZDCmV6PYC2RV25y$DhLfG1yuEEdCOeUs1-ysR-M@iA7xuw zEBDm}$V?+uYld3?sycflo zz5o8dufgmWzVHQgt22UD7!R2WJE)z;_Bx!^(K?=NBGfbLM8o!t2gE)`+0J{yv!5-0 z@t1#D=YZnv2)?a6D1rf=N}b-?!1ktDoD z9ibYO6VDJ59MsUVPD;kn_kaKQ^E~856Kx!K?33lc{kQ*r4Kg08r}Q0?)uFa^u+>8w zz1Vv>6k%0&2B&>W`am@tcnzK+{*MP)Is2j6hRT^!zO7IPUAGZyhLZe1ODD=#Z@ER-59GjO1P37>Tl9kD5;8_9i&Qm= z{Ff;rvr_?ByHWUKWaApu;fwfzk^apqqAA)E>FNEB9m32F^L)4~^y8d&bV(m+} zO&FC})`V5a@DD+*ELNGwT+!LM!3JIzREKSrL+FM%@%MEt;)DWP;sje<$MN0u-^_YC zay$08V@2o*;T)dh_8uqaTyU-|X&;?}D`)@ID_ZahMv=1Ax9SXEb;ZZ!yjPx|Sye}9 zC1_N({1@q2g+ZN zVTsS$>TxY?g?4`W)vu9XeCNBSAnksEGmVTQ6dk?w*8TGD-*S=shhJKbhmw)@b8osZ zjQda)Ahhxxr?PB=i&-mc^v{3tW%6s6Uh09!^;S~DfBqNVx)uDT{hXijhs89e@lIQc z{0|F*hWjVl`xg_umlSv>XI*V3aa@s?Ot_za^IPQCF1b{ewi;kOjQHdycmL2<@cfyp zuaRGz@cHk4=4a)VuRbULUiBJz)%1F6J-xLbEZjcm6Wau#1-+-6=-o*!G|nVeK60^R27FbyUfgI)96x>xZWR)4%+eFVEoB z8jf3#ZQqqw%Bv^&SAtzjTM0-Z3%S!l&Jzf}mG|ZFh;88hg*U%-3N-z4)3fLYhO&=S z9;m$Rr(Q1CT(f+8`vp@#snhqCnGfZ=5)4}!5PQp8-WtJS*E%8R;W_-T|K)#`|Ih#Q zpJZt}d(xXbLq1gpwZp05r?)sMFt>-aJFxx83A94S#xxvv&u&_Cwy@O;TNRJwWgB=eo-q6I3F~FNT`=nJb{|E zL-tXc8@VkmV3s6Zs(Dp|JS{-bGL7JXqh?ff?tpuj7cDS_+BWEO=xW5QcE={+eau=D zN6lfe5Jkg~83TjYY%0H>cIqkejc?vnvzN-LgR8cs3)`S-g`QO@tnJ0A@ru(4SBF}b zQwc~Er~C!af1don_kW*+z2{pVUACD&yf(@2kU3&=8y!K;79h=lOMchpecCB6mAmi$ zmfU~;1GOes-QKt=rzRe(rw^J3RZzPKXE#PcbkZ9l;d-`Y71~wk-#a^MuAz5R=_J;x z*B>EwWkV5h?Hrj1u7s6m*7+GNJ81|WXq8jw;CfBHHVplN_7PY#>tyWU0bD+pj|t)Qn3A*KmOxhw0$?Wpw{;ubSy!i-QBin zugQ~Eakb!W7zRdI;4yvmFH$gfu6jw)Blck z@W195ZW>T*q-8TApoD-E-ZvRLXg=WfekJ1AW*v+%lB2ZOU%*q8DN>!AMuPfe5n#*j zHL&9Z89dj%&KO91pSp#|L57`IQS4-a=51?@=NWcK%(!p-dvs_0H$!@)5`e-44J8>6 zne>n)5<3p{pFnIz`@&N?$1GA=gJ#9LuI6;iKeAFa)=t(F=v+891!A*tee8K({fr%D zU;^ogJa~M=y^qv*te7vp@8ALOmNyjVbpc!c z{m_Jm5(rw_$_aVp2{O$@I%e}zvLxAMt5$+RWe&Fo#^RLrq`GN)>ra@Pk^G`CsO9bI~yj^zMcQJ zps`|hVV~y19L~_FAK8@S&)(bJVzUe)Q$zG+y9C4=M_rl9Upn2)L3 zaZl_B&S>4Y$>zEqr{AiG66wM8ggN}%ANwu&{0++vektP@XUR~A7LL`pZcD+TgM+qH z>UfBB0faE3C6^se;aom8R=|^ei@IR23DP#O%#v#3R;i`5UI>oCks9${5MXO+syb~A zh3=$DtV?-Y<`fT4VkUfrq%-B;4@l?oHLVVPY)k1naCS?3YV?2>vI5{dmOxsVU6D1# z{h0?2#!i(tr&^-_3boelZ!*t#!Zx?ACRWU^jaz8r+0S~G?7!vKTB~Q*g9jsq`FB9v*ya?fH5 zkAojeG1 z!v-6gPc>3ML-Gqd(XrBqhEOa`(=!(mvM`k>Fgk{AAH8UnQjiG&S&UKB9c&bobxU(M z@q%5dC7=zs6ou*mVCbmUr)RUJ-kM$?oB~+i|9#&tkA3Xp3WqwH%!cy`@z-!GkQJ0iX z3&Tw5j-v+g+7b5Ri?dg?XU5zDC-TY1`?E?W-|) zLJ{ajh9=OO+D}^LI`F@0$2aW%H@LNn4eM;(VXt(7Ee)J##wOD2$@SqZGIZ-1Xd~&D zj@PpmUEr^AQvx@CjjJ3X@YPtisdTm?xLqVORuNDmRnRrI1IoMD&Mvy)YMPVG`)i*# zoF4ZuAOJLY#|gDTpC<++CFBZ(A)-p)II|2AL}{$(&DM&bGvmh>*8ko>AVs9sPgu1R z038=PHko*^h@Bo^yM2aI`f=0ZJ#w2xQd7ZY|AIB}3sibT0~{_hV5P02ZX}Y0u)&aV zIA4DD%a3?h*|K;U*Ody;JH_g+_`S{JqMv{3qQKL6=bxK&Nem@EPU)j;UtH447LyV{ z3jcG1QqLuZv71J%aV4% z1?LM(Iw&d8In>LV5nU?rW9=2&8m9N}*uruAwaIb3sRr>v2#`!pV?^RfQTzNmle76D z-b(ZctpxH)U?+JG0R!#j$fIZ_m{Nj4ZOf52!tVg44@0JX{+)gM7QIpH*~FvZ zNUm0IrWLDR(n=;@4Yq}XcJW&KwA}5b1o!k;0;tzscij>DFZe$Bq}f(yo#DHFx4k^8 znPWfovYHWA<;#5Cl>4R$2+Mp;T}65`WJWiC-7o;@Llu#&Ub((J1Ocgce7yc+8*h57d-ORH=(T-q8AjTXA$CuH)%HV;;oHjtrO&uViS z^9R5G2eP#N&=2h?89#N^l}-R;c4}EYD{{(4TkY;zJm9n}1V6o61ZuQh8)V_S9<^B9 zlZq{DO0-k1DOneQ0d`{DvIgoxF?`s%Iz%Rs`myfikF%i4I|Otp4!b}Wjb#!6rkIZi z9JrZvC$s(rfw~PD>o5;9+3WP{=xTF8Kr4cKQyXVBu^LW?UIv8YMjWUb<5d4~H1ZF8 ze!hLP1UX{9A~pN!jyv!4?5kElyIeN~6m0a`J)=8o$hwJO#cGTiSrIf^9n!CT?GAb2 z^Pd;8aJ1fMp(p*C_;h|56LH|5(Z>URhPFQ{`h3l+UO5He_LtyUE86Z`)9PHJ?o|d1 zM=E#?dPrwmBXy^9j$@Glw6-idnn=g*+KTI&j~4@pgnmLB>cIgS;AGiXgGib*VI~Qu zNJob?04TlPKDP9?hO?kymAO-2@VSaQcCA*|Zri>m@NO)!epbz-b097DcS#G1jCp;j zf%UR~`IA$i^apDu`$G>s>?c~bg6$7Kd@zDn2w+wIM^J-o+_nZo1k$lSkR_NG)`GKp zVzwh@9Iyu-GB_a}|MQv}(TgkX-cCUvWNce2Ydx^B*08cDPCxO_@C!U`qT2kOS^v1#EFT`GHnxE^vN3HcjS)SPS5L0Jonaiqt&>09Nc_c1t1%LX6qlUzy=01QHZyAiMgcK`|YIVMve$_TQC? zu4VLHMAi%h@x|mP8jwLLjI6BFSQ@SW_@qhXutB*aVfaIr1n({UMckgBB%8Vg0>KX<^KZ*Zdl>$g z-*?#Udh_-Q6zFF~FDVcFN7=TOAk=nNohX1UyYLHdu|n7D-BwRD zLr`HTbu#kovzKM2mR5rD_uYG6)}jC;!Dhf2$zeCPN)YM23*}llTp$8M-dE>H78$g~ zp(2+SnugwoG0sHFwpiFEB|G?<#o56%14}e?Wy*o=0+45%;q&%>5^M`vZcdTeSHAKU zx#5NzYBqHHyFUI(#%np?0)IyzeY6d%gw1-qj;ODb+pYa5E~lU7%nZX$g{Kyw9VK|O z)>=Uoiy@Jkj-E?ooW=$;n`J99Zvu+Y-?(B)U%kmUo%qSZ*(z)6YSl! zT1dWZLwrAI()Bpzn$*u7kG9uwq^v8AEr_wLr#%2Rf&nKtI*yz^rx*dKv2KNfyfXe1 zBd%+6Y1;>V`=ewnun6=y9A%egc^L8RXFp4Bx#bqyJ#;X(I+Z|Fv7+O2I%MpaR7bqc zcM3F=g6_LnC#z-BtfZVS_rQY>$%!YP5QXW*B73UB!vV(8(=#-MWvG^&iRP+<>${&? zF=Yw5IPrvMPeGE$)a)x1Y+sFSI~r;#o5Bm=hOdI@!Nyjm6 z5TQV82=AFJ%eHC<2>2%reQKo35g2k25U|u>2dKpZVWVeXHL%B;-52uOam!oE%}?#a zXJj2Y54QD*EF2VhSJe9=;}(I)#s@n)N7by>zxd0)l0yd%MyB3DWFvVdU)!}3wJ$@BVBt; zH^pg~g-#DmuXo=0b$RA9f86VJC1cn5tTKfsYS1|;jI6UdQcC_tpBZ#-G7Z0vsA<;l zXxy1W#=A@f&PoUE;YHh$9{dvsag2dkMb@(o>m{Ji_KoLk#ai(71N;AVi>S_QBcXK# z8aM;Vx)UgE=7hpNOyH!G2PUb*c&rgN-p~#$Xu1p&5W26QkF4=Og50^r5}uL~I2L+N zNJIhWF^9Qm(Y1@E$Ci=l(`?25e$K*Dr)!-J*6)Hs8-$Fw9`UyJ&Su|}W~TvWt8JQ2 zg0;`_yV3WM9vEeQ4Zc%?1#8&{WRuV}Bd(z#j08sX>w*#tWV7V}e9R=H^@bznsI<^a z8x%shC~^{lKV z!JAei464_nPj05zOqi6czNUBIb5A`b>qsrK!E~*wFa)=v^`Ko+rru92&N=;e#%ZT5 zKDq7^&tOoF>iGTvY>TLYX4LER-vLJ{JbuN#eT&8_MeXaBO0zKRV^TVw;If7Q9EqaV zs6U7XJd$1;-@(?#MnfM|J z0ghlByK%=gSAR~HwzF!mmi0f@tKssjEovI>tA}zB&Ui`3UWbweJvm+X$&CxMgG+{! zq6=tyYyH=nRtwu@A9!EtE7efD>P|r|s9avBAjJ*We_mdD?*CmbIPU^E@0|1GoL8MI z=e+tnc};np0>S6J`rKL&{=C9e?XI#s;JGIMy4T~u0Z*|T+N4qJ?T%Irg$O*jCj zmh@DAAMg|$1(Wldu<-fl*=?yg2qqDp=kZIJTB~ zwOY0Ht=TgrV6?mPQw$GI`g4CRs=jm7K)mY?=!io8ZBA`FQPPmW+!m<;jtrEl)}r3t zU(uT{eep}`iK2DfgS%cV`%tCBdZHa{4cB)q8A1scxvd7yI_lAky#9glyuJl1TDA-V zq-8J!>{e}lmf3-JSe=r!&srtkhb$E*SieV0ounGvwHBy# zbOc?`oo}ZRb-&9KL?*oNC_HJEAZ2|GJ4Yk;^fBV(1Mp6CU)u9$-JhX}v zAZ6!{m4i;lDZAD6MJ{EfLDVZ`S?G&o5&Fd#8nD9V(s1+pT93Wf$r@*aXM-YG zhX*fh&BVIQs2Ts;40i}7YS`v6iR@cc*X?Vfe^QVtqzg3TDEJX$gpAY~d}id$S}bC> zMzi-=he3pu5V|CSnIQr1S>fcb*4>*5aDJz3=nVj9GA&J_DStO7?oTVq-i=^PYIWyj2oUTzs^=FR)zmnPtH+ zY$L2-sdUb_L)guuUB4{ga`p7Y-RNE-$qN6{%%d;QPDZ-hnP+ z1A#(T-ZKfbFd#A*qI2P)^kG|7K}@Kj5vXJB)TjXe5vY=0_I5a!O=U^DC$_#qcjj+3 zJ9eQ=s|DKwcGCaW!)!E{bXr@jkeen)ruMU-om}bNI$h7Q{^W)HkhL09phq1io{RU4 z6~la9^XhZtNl!ek{yn+A9_xS8=O1l<<@3+}% zcn05An1$?#?wkj?@P1|jWDxL}V_NO2TW-0f718$EJoN;>8o)|iNngJ@jX<~aYki;5 zYhn4;uy6g{x8z5E^ojE1Cp|gFpMqHmyUhc0(H#PKEKh3De#m~{zt+iWG+2s)Klspt z^7r@ueXD(i`dwwaR?B*cz(^zE=A2@rlrPe)aRgiGaREdI_^oWS!T|uFQLH0m;Lz&t zXw?7Wv52<9U$Rizq`gv(VvDb`GYkHw?<#FNm$Ysx&pH3YRIxndAOxbc;NqakQ|>P{ zzhLk_GutEs;UuibG+&EU;-&Fm$YljiHHuyrE%H1swC?gLL^?4Uc6u>qf#2jLoo2wVpq zKn9J@H0h6)-RaDto_wRDUCJy(cBo%Y2PnA3M4ze*#vuh^t=0!9icCNw97E>1on;g> zPdm?C=BTE;S+l3w8q|B$18#sxG-3&g2NgC34F;xXe z26UNh*J2XcNrdi{-6f5&b3IAGkdaaG5M63@D3-Re-=EPE!9rOc2;2ARe4<|a;2*_SOXpm-EsuAH8dpSSST#IvRV-Q^$tXo$2PP)VMcUe90HXK}2` zw#ZGhYqHT6J58^h#(c#rh&V?h-t%wV_Ab~0TH13bm=4@_AdL7Hps>U6{Sg|`HtUg; ztR|DYlpqvOF^EvHu~{Pm5$&AN9*Myq^R(QO5mdI}?O8z6CCGDyCv2%v zxY**P;H}yfS6(R*PA_OxvYm|kOG*?=*;}Tve+u%JERZEZ)RKV(c(E1;IGwbR_R8s$ zZ^EgD9elds{pPkbSa$qzd#3 zFxK-%>tynpVIk7V7Tbn$NEf4{iko=wf$w@4Q-iGIPFbf{b$TzP{-^)ScEt0xIQXLIxU*b`+&n$Z_~SqNW4ZY&Uy(m8 zh1-ptA`6*Q+BotA(w>5iQt~7QjaoZpD~RG5TyFit32hp9C*wMuA~#yqk%FMYpm~Hj z?8kcL&}xBCK1|)d)`D(B7RmK>%IzNhoy zm%EZ#w%Fzy4-#n20OhHtoKm;lJ@CK-QAE3KaT>z`1|$gnp_TPR_8hjp?buN3OqJk7 z&E$IAD7W2qyFB9=Pp^kLR6MQVfXxL`b0`r|Y+EYF-1;?AmYFnuJo@Nk?CDQ?y8gF6 z|MOOV>ku-0YG#kN3@i%J`WnIU?RXXX7IVbzEstKbqWd1S1@F0S6x-HZu-CqAvmD3V z!wD{-NiVz&SO=U0N=x1x%{0GPqXz|WQk)l)FX5EIy>^VFGYRm&myd!Yml)Ox>sZ;u}m|DA^2ZY#;SEVVSEir zazYW9$`eH!O%1Vywc~$3(X^S-i7Sv@U7Na%P%$TWbIngF*Hq_1G$)PrC#tM-F9%7K zVCzx4J95`I?y5CK>&c8$fG_2U&$o|yl7XT@vrNmtSp*wkCxt2<>E5w!3pXP>TqU!r za@k!h`I?L)$(*J?huB`)#*6g^Pl#68qG|j{iszL5_4$W_UJJbpvhI)8^|z`&+TPuu z1>aeq1a-y~M5GVQLH0<%qjb&S$HNwRge|$SAz+h@5vL*Ysl*fCYsU~^80!sy=)R?bfIu^C zuyZ;LK`%=po=v-li_v`KW@|#igo7mQ8cv2d=@Hb zC!T!b5&I}kKsnX#yU~t0W{;$i+FBTW&S2MHe?xsry(IWnGR!W&{G&vtHshQWc3W*9 zG@?5ZW~;jPO9O)^owO_f@a&mTn(J23gr2 zIJjX_9v5jC(&7SKQ(@4P?l=)>`gH65{jz6)vwi&Wd%GYLKM}F*SiZI|mu;LOXEn0O zBy5P7h2y@B7v$q#l}xnPo_}P#J?A+mh1hM&keMLIAGZwe&-pIW-rlDiCpX^Q0$8m$ zJkj8m_`YePmvFFH(Lz@^5gIe)yoFxLhd03zGJ8Uc%N^Oge!cIpZX7;R3r9%8!4(O3 z(qLnUis?xM{-h~9eTVMbyF~!2))ONc1}Ceu{^BctA%F0>KdAMuzWnE3c1JqU)4(eQnRn^*I=?2jDT!}G zYR^wg>yL>S;N8(=t*|dn#dCu`jAS@^^*w?sK8~O$yX*at>scX?CGOmS-mO)EAl~7v zD≤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%0D}0o zT<9(k1_=w<}*#oa{o%g&FBR?b~UE?Puw|{ATH;i$Vu^Rg$$h;P5S!rAyLI zhLRDZ$|`!;0ofHlG$CXry+dqIPgY7COH?#U{?^`Oev{PSRAs8R^&DLAf?rfK!N+(E z2Aq8Z4GG?gE6`gmKHgyvQv1Tf%v>;jelzl#n;v@5zgCaxlghUMQf3?GxNHu zCr3E=AR_svHt&2Ar(~4ac!CP#gORXQb2km7L#LHyvjUooeN{c+JvkWh9g;slNEx@- zG8jo1kLyaI0Df3O2s#vSjvuECa-fDL>>NM?TgjrvpCJg8$N-5zcE3v`gaVN+fX$gn z`__eB5{H#g4)j<{FE2Ux6Xw~9r zt)+3g!xi^}0vW6T*Bfst1+U6Hts&#GIhBBqx$RM)-mxQewFw8e=cL*OLYor_;MT;2 zCNoyX8xY}dhLS&Dr#nuY%*1uc7Oa{|u_vGKjnWrKK8qm0OPECa<<_zH%1>rp(aHmw zH3SzP5}0jVHX_n5={O+*DC?w$u*R>9cQ!sWS

x!)Oi6I~y*T9w}FJYvEl*yQoVg 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

Sdx^VTLk01Ouvt4!0@otR53zQ;c-5o?h0*sF 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�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%0D2th|u*@?mfC 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

;?qy# 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

pTM7F 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[mk@ut-6WnTBd(kjmT~eWFD*~%C`V>4p{7o9VYS(V|G4^SPJzj*G z29gZm3AQY)8cAh7gz?!P5+)6lJqsx7E-K)g5acc1C;hY4HN} z!opU<^g!S@^}bgRVg+Yv!XNq7>Azg7UK;0?g$w$BFTr0l|E~X++lvU+S<0LVF21U_ zmM(jFrD}f#Ws+tzvTNAgpySm4#_`+h#RdH&Eqs5-?xB|4JUuh0<;7$Iwj`(N(isZ)s%U`V6z;?lZ$<4VZh`I9 z!m^21&U$Xq@l(>1txL0z{3_yqGyZR0mEMt9@|tMR>q#_&KM#pqBeT z{0|I+!5#7?sR25UL0KdhsIqY|cQ=ExUR-lcKN?dRV4T8(sWbp;4#r@JfGNmWKZ9T= zp{hu*!%Wc7s!asF`}sPr4URY-f(?f4h#uejXaRY9_kcG}&d2pz(m#SF<1_ikAuPcaaeUBNltce3>9CkCw^6Hs3zI9UC%zuZ zWTt1R?&SpB~I|q&#rvxGh-);2Y*2Pq9tksb{;W2#ChFc^fX}H&2_uPA)hmQF8 zphY*_j*Bp%@0xT;@ylQ7yhc5&O7#&XnRv4m>|{Cyr=EEMttbGT1CU5_SdKNi9k7N! zS&|<3HGmc+dm(+wVYVDCeXfvR$8a)r+VwE_dQipHWiT5@TfW~6z6<~X;zSz2z^+m$ zBc^Y033h^njo;&Bn*L8VuUi18ED&i(yhh(?!%le9a&W{QE~aav>pkqD-R0WC4MUk&-;d7^JV+;=?V)yMq}YJ`wHhJqIi~x;vBmptTQ? zzh^}F2-%%ZvN$pU8+|~R#}iCzCmy8LPRWm$uCc2|Kj1MFWWcFn)T&~?RWd^#^tFCu z06u(2a%8U*Ic!+lOk2IdtP1N9rA`%$=qIG@r;J_H&25AA)Ok%9y3qT!{j&8>M_jq( zJ{fq9T+Y5nTcOHUH<>;FGpl#Rl?Y(ReM*qGHGND;Nudta#)n2Wg_DvC3B|0Q*tP{o zpE$R@$goLaNZGnRvFj~pOC9R|{_M~HEPnZ`UoF_bSz_x=cFbS1cz5@HYjxUs4mKu| z(e=$r1>yJNA|=Q&-|6`L_jSz&q)a{$C(-$yTcXw<4g@${)%&$j4XOu5obm|!^~^<4 zfF9dRu@y|)ZtjtU!#2v@eARPGhZ(d{&7Ga(Li`07wrHl3A+W3KS}PQB+ABpcIsVos z_8}?QvbfqJ3GMTR7_zc!W+~>hhgRL3w5m=R=eC+!4RujITi&@U(dEk%kI;W?Rm5q3 zL;jJd!FJx5aP4^Rp7>O4-OH^WI>`@7dg$Hin0}TC_}D*>lk+^j3Dw;LISsGE&KBrD z{6^E)^nZ8#fd94Z;9bNEeU@S?tW4dvwF$nD^ z;8ZQOJA8gty^@i>uG=Azzg9uEq?|O5z<8{^qWWy%F@&R_#34e0?C=0Uyk6s&SHc~k z#MKA~!ap~^+P@2$7<3Es_2`cRZm}nAhof=$ed3Wy=9kOR7z1&dcyO&BZhNZNA0Sv^ z`!pR@DV_;MUmHQB-{+K$>0#XYv%e-FlVG?m@5YbRcpoc|todNTp!HCy@oGct0n^0E z4Rfij!-76Q)rvk*Ycg1qa!syJn9>|31MJZK1S2###y$50n{=#-F*gfCHBu-M%fnV# zd=;=tT>ns0VJKfq^YHx;7sms%^ubdTQuMV0xYT4c_W(Ru&}0V8r?@NRmEOC&+3<2@ zX)BlZuQ!(}e}6h>N`|d^J20tPNd0lLr%HrPT-|Yj1Wi=n&E$_+wa8?EODTEM)hm;I zK~*1>qm|;Gn#EXhKHVhSb zoCY%xZv~Y6DZv+m-Z||-PU`PI^fYbTkqx5~RntCi5R6&q*PJ=w4A(M^`g>o-mMH`J zU5Q~0Ks&b$UBD=``Uug-=NhI@Nb&tXTPC~fBt8GwpPe|`}Vs%=KbwSda&jf!!4}V*%i~dT@(GW=#lY&nw5oCWspmIWrbZqjnsi_-R+P16@nGmJ9Fv%iNDv8`*h z6Kz=4)d{$q+w=erYGBXcNw89E0;q~D2MOA(hH!FE-GKcsNx`m?AOm;8gH&9mB5Z?@dFrlH;w?7k9^5jX+xekqx-`|G0ccSGs%0`=eG zJQEA7PA;viViJz4XQ~E_u+_UB(=MXVZGCM_l|Z=TvN}>5>^;eEnQmRvZV0sV;`C#3 zo}J9@)eH@!Pj=@zbCEEZ|Im|J8-tBtKgx5om1JB=1Ugxja;G8!Ho8=CiQndnHfPYO5v2 z%23kpB2BM#Mmkb!sIC=Iq{l92WSAUn!#b@FaHtD8tisoUmjnWWI%cb~oW~TKqb;L<3sd#Oh7{FrzK{AY47Bp9;6P9!4i7eNw(* zK&>w$cVKl_h#FzOqj_=-9=P1&i3or5F>^W_$YzqZxszBf8z}&km;u~J!_qjXEuT|d zyJl>6r52BLFXUlNsK;H9bxgvhDWG14>ZYa3b~{zdRUJ=M-tI9QXpDk9WX=gIu-gBd z@VY+vxRBp^Mr<2@k2 zL4TYiSby&lHD5l_vG|eKU?-dwgn%|P-o~ke^=LmZI9c{l{{1tJ>#%u!JA+=>YS3=T zL1Aq3m!HPMwjIh^#P0>J^bmvkoU-rEd|x^BBmS64VQ_x>6xUsi8IAvkm*LLuv;`d@ z6#*WFrpK6ukK{)Klu2u*EL3&izS?wA;zqn!sGP6#k3MKNP7teO0XTt3?yGW3Tk+9GLuJwBE^@QGK^&ipxNkm{Q zj@j*4m)AtV>j9B7=7$z6R}9;Vl}%vtQ~rzX4}P*<&-bx^_I(oi>#l!wBXJd7ABj8_ zZ0l6Q1U&=9Rs;B`s;--}+2aisMwenbCC*!3ti}@Pp~?K7B<~Z=lCGy(c%B5>)os8# zjQ700tguznEN${j@sfLLAL6=_IpYBvr%zf-B{)PMOt`TPlg-ck zoyq3l{A}Ac#Xjr1o!GWw_3L8d665YM#q+g&&TKuBrNB30#s+)qVTOff0eSLR0K8wN zK&;UC^LpK%^#6h#+$Tl$psJ(S$v70i4|~AZ;{LL2+*@yx@^U8SZq^Dj<>}5wd}gsC z5^yCB+QWe=*5c~9DqzX>51D3OD`t{5O0o>UMEMPjPeP+`{q6csj76hO8;lFv z4Buk0XyY{!Yr{{$HZvfRKd&Iqc%gBE?E*d#!#z%a)BOT2nfC%gkNeVkjWj|z^-4E7 zLC3v>Hxz-zaMHX6O)d|ibiWIj0)=P-0|o@g&6&0g!%<}lq&6Tkh}pl+iJ2L^j4@fU z&gXUi4P(jU1P!_wJS>$2Uz|2+#ufr(KCTrj!?~-!m6e}3-sN;z}kcG@R3pPeFxG+~4ov3jbK#yWF z>rRc{GEs1}!vAHpZy=s4Z`X%Z*< zRb1iaCom4di(-Ng#VUs{dvNl=a8Md@w|`L*u0Bk>G-<72d*)c6A@qewt>#^FKl5RO zD#rNyQ}0v%X#z{K@9mwwZSN>wWe}C?rGmvg^*^X&7Tm zym<<19CKOf0%@E%bkFaC|JBWaBh3ev{hULz!tFX}Hz9Qt1-c4W2m#`%%Xx1s+g0%ggm;DoTsReqK3gRK9YhExsA>!jq(k|YI) zfU=8@E-3C^nbI|P%KX5y3JVFJwK{9j#S?=$YW0GCUtRq9`HHQd@WiVQR_(+RWvx3n zeKJ-_q{9v~>0)yP!uk{GV3eu%LGa<0Hls(1V5t zr(M3fM26%|HQx5=lx6+}{-#ElnU~iW)V5mrn!X>rxrEo3*Y%>!7M}1~?gJ~6iDe}g zBf@kI_upn8n#>JI=#@w$-gW?!e9@c}i^u!GgnRI6>j7$R1#55Zd#wJ2b4YTgk1u&Av#c zUM-~evy>FJ+}_jRYI4Q+2prB;$y#*a;Sl>}LKn@t=R1P}f9tVL` zHe*I0?#f4`!|tbDpYXiFFI;Iv!W@smp1`3SOO*^Z%0bCUq+n*?nL;EDj^M2dY=Bmp z(BT@bqkVU38#9sOh>^`1chCL;6oX@Z5lSvBeTTkFBSTB&{PC&3M za?z%lM&pc*E6C61!z<(j(e^6KQm1qo0UhXh_3vv*BlV(87Lzi>Wsk;lI?70`rfOz# z#aA_C-RmwI@}Hk*=Mj4 zN_rp|I908z-)o!{0**8m=~`idnJ(%>xebtE*q)?#`Xg~3_lJVOb~*h0G!!X#)W-T4 z%`7=deG6_)NZ0?-uifpzm+3#vOWT+z3+zwjFTs`vu97pe@WcKF0SBsup3FW)*pCDx zpp?PU-R@X0>;a}Hkzn`XR}y!?&r}T?!d`~aXc{x9x#v&ap1R{YW;8VLWG1 zNrDfvaiVAGBtq&X%N|rMeuv2*WWQ@=CFFOncuewq!P>-gpN!()gweN3erbCo=PFfZ z0+RBM6^hiO4A87=Z6SFRa39qF3T@R}N$r4K-euxPdlRAhdf3+d=@ies)gd`|$+faj z<3a!Lk~k-Ad1*m;>7XpyUJXPVd(yYseqbAE>s>Jx>3cxJi-x3i|2toP@{>!%LanOO zgM*!@+r{`5pSDbNQY$~`Kj^~*(S6faC_akF!)Nsv*@ft_3#6F19QuDV8P=jjI|=U`Y~36ipz4Lo!J z+Yy1S+d=p1gzGXSBKEdux(~ni;DZSmL$o4Hl#Tin53`?+S?IFL8`(`c`^cV4_xSVu zR)V6UD7OGEOz~k1@m=i>h-pY>@@8aaaowCRiN*Jdu%G?u#b{S!a0_z6fQ`Y_G1+9m zb%0Xdg_0N>1hr3t?Vbp>SC35*F;0$iG+tC8Ree|Pxcx~gRAsYHBK-aa)=j^ ze@1$gMO6%f+xXV1qY`bN*VDERg~RKWWzM1W5A(5=zpd$GY%b` z3heqH-bV~oowOLbfS@tROD`zwZkL@|$2lBCiWYBeLAV1J^`foF=Qcrhk;8rvZ?nMw zfIOxyl|(3I$8}`A@jN}bQKpGG;W^-NIj0?)7!uGjSPugw+LUkzgT?W9qtS$lczUoh z^w4Y(;ru9TVd9v4hYf*FuxZJbsH>Av{h7ak@4|i9KZAL|kPc5a57b--F$863^ldcv z6nk192*fXAOZkKYtTNk?ZYwh0&0nf(0^Qlh1~` zdTWhjEQWmtkN5k}e)iM+^>2QI`a+3<)q8V`inC*N4*37{h5AzwbGy&;;(KOZqi$G_ zf90qr<%S;#i!YN`w?Crov`yO_Tw}FWw`($V60-Sv*+dd6lu%QLR-uVa)jY=x@MKRJ zFZ092B+EPButL$ppn1M30qhj38k*f z>6IzQ0e^~d=7Tk+ja`OII*`O!28PPkmx~5HLJqbwX=Jju6{4{D(`LDrtnoxK;^0SY zGYlLdkFTcj?KhSXk|$6SYA2u46dbf??r0^q5DZ-9{j}enwjwb38{6{?cwgOwq@4!` z2tv6`)5QqQN^oLgcexd$GuVA6je&FttKR&NG8krvdJG7~+vMFG)@E37{4 zeMJoC1_3QXbl8BBo|F@cd=J4~Hntm}L0J0>=|Y~07d2#$N}RGg4r{o9_sc@j=-BO> zmVl3r+bPN5NRxHl578hjO((D_JBt$}u6D^v37*4@Y5I53upw z+vgE=V@w1vo>X!h5585Lax7ZP79R5KaJ{`m^?^eO)}dn-K%8wnuyvm}C%8HF&F&v+ zVz3)Z0slp7mC|`yiQ)gjKTFo;#2b1xlVC|hJp-{9Rqt1UyE`03iDHbukLQ__2>xfBgTm5~!0)PycK3 z!a5_{k7Uz>r%9O|dR~}xaBQ>5ls}^ZSB2x!y`3)WUIpOY!N`U~^;`G=;0)-RX^3I2 zFH4-OYE_WY-9i%&v{ z?DQdC=zk2x1DKUE63bWgm z#^7K9ZQ~3bBCy_&q}gpR?gO03(XAtzBwuSe*&41Qr#)tMK!x#S=_E+=>f! z!esNdcbYA@U$+;Ug01X!U+XkHvlAxgEd$v0RU^*Os>BY*pB}j5+DQ1(pse^DNwN@T zckhDymD%lw$B^}Fp|K4ZU~_jx^*5Qp_HDfO$#b1di6h(~f0D@&{e%^gxnUwA*bQ)T z?zsND@3Cz;`jj5m|0}N%+jwHi3zUzT<}!Zpy5Ww5=cUz3)%Moon!Tb4ej~Isw)r<@ z)a6iiw{TcN`wi`Ku{e7TuvZ3Nc(6;Hw(+DdXr4Y`ZSqQvBNUq;&b(T{cam!lhwX78ELq5DS9^U#x51%Z4@KEE{|7l30L$4$2S1F2@Q!kASR(Y#<=I?0^kmMo}WK~8Zl&H zgH*bHy~F8^2k-G-N55s)x7}YsRU1zRqA^Tgr_e|P=K3nH729&B|BDM|4nF!%Mejjh&*UqGk!yo*u z^aJh1X#wJ$m#*jZqBZ$c@CDHEnQFlVh%~6(LqktLg0?4A9>8rfnZbB_)p5Dv(<=?t zs-sQjw2Q~@;B}f%zVR&LjW4?;evI%yi}Lm+grc>2@Z`1YdAws;N*0VHOB!XUXRhpK zQ~I4eO(j9oWEu9@yBSF_v*V!6rc(?V@L0$(#Bb1RwlTj$u`oC2VMv~=4*TsG=R?R~ zG8>;?<^x8ekMW=-MiaULyOLci@#^0n7lU`k1Fu=gtCJB>@-;+Oo^hbZ3uh+MA z0^z0|k~yfG`v|ZFd15e3#WIyGU2)R0Wby(h2Z+!BlbBL&)cb|E3JjhvI$U zK}f6iop%>~zpk{NHf^p*>XWaE^kn+;6?W`l5LOPk?|6PkO)wyUI!^8@nN%vFRXxtt z`mI%X`&T53uazWwsZLg6+@EkeF#J7iJQ9z66jI}WWa4e~twV;O==~7&Il!S;H1_np z?bcpxwht$ey)P800vynPi8AHkIo)u|z3Mj|vD5mnPuMI2lM5s^S+eT@mnC`I7GLDP zYOkU0TF^XYN}oGH8TJ4+lK7<6<%&a=k+hOTgmCPq-@E1<>o%qPf5Zk#X!bjGQP-V! z;4SaT(7^<74mE8y=-y=duG%l3?#VGXEuNPr&_O>Yg39$Dnx${3{3*0UTzgXTwWO9b_Nhg{f$ z#7x5{hP`2Yk`u2ud!>3;fCI3>pI)?p_m3i+JUS=v_FLLDe;-;9GK2uyKOckT*{F$$ zfQ7+UTJ|&JO&CB-{64aPsY&(#yoEP$&1nrmcR@9H$}gJSxMADfC@2=FIgPR#$qK>4 zpHCPfMsO^2jGlrAeMt z>I#GkNgW@*c7m(acKy|MZh-0TYtIYrr~Lb2Ez2l&XYWyNL-zt5-Plt^sny1eeee3e z_R6l?@#^uHjF$9lHe<FKS@ z6^N{GD~B=N-QS``;}LG)?dAMt;wX;^R{)NNChaK;6ae-n4?|{S%#njmI^C{A|BYbV ze&k^@HIDS36ydSkrs2E~_QNOc>_2_zazcd%UeL`fO)8uX3cMyhWqMS!GYvz|r-AIQ zj$pxlg$;4j3fXQV$8QE+{K$9Vb~l90Fo8Ctgfu1pGvm{7-BSi9etZWVy{N?} z06&25E(sJMuX5T|sjT~y`aISTUO%GX4EU^vl$+}gBz09VB>)1&cp8!TWJl4kU!}$LvW&a+vTY20Ef>rxFAd3S|dSV^$ znp<<}WX;5YXU&W)P}Zbv0qUNKEl~bQEP>*h}D0J@u5%C<8^TnQUCFJQH+wPj(JCPK~px>}(QI`#dbcvaZWA=@KbA$Ey}5 zNliX8_frmzgl?0}@3ZWDl$cDeBahEKz7gZBD^Yfc7bH(ryyiD(0bPVAi^;~wOGDLZA&_W)$j z{>c}{ct^C%#HF>xdzL{vds&=YM((N+kq6OV`pvB7JtKN+S&F|vdT%8yf0D3wos$Ui z3%Ve>p+S{=5ec6dK8uv0EZf^l=cK@h@{#jNw?HB1Pg~ zE2k0hPDFO~63nCAm9PMB4Zm<*yMNGmMITyb$W1zsU|sY`p;a^^M|)>> zjPa7Px=z!ZY75CfY>qM^h>lC$3y?G;DU)|idc0xRl_G`r^MB~X)z+!MI1hVRI;r%& zwO>PjJ!;ZpV?sUw{3juQJo!QUdVh-azc!T%Fi&YT*|xUckhzV-D|iNS-GswWBbr*- zmIV%7$x+_a9i5Ldz*Nt8ephz^4Pa(EkKY(rtA4f(-|wbwWRO}wqM#yc=@ctx2S1VY zZa!x8usTqTFXTKy$d&rj0t+E%inVf>2T5cGXqZ6+94ibSg;B}7DI9v*{Rhg2>IwlM z7bJ~&YoZPnBqqE#7Ju;DX>QJfD>0CW(bbk6y zd~9u>#^*9sS2C`t*X2;;lICF11T3gr$U7zgqZ&*Q@J1X_LYWJucLY@8lN#5NP!>5n z&{#O+3nk2+^jdb>&yR=(lS-IAN?j79sNPE^`-nawFA3}bfOjPJM*G%`#z8Xm&IQ{q zE&bLpC)Tuks~yT7#%h5vPMcs7QB~UXAE$g4X5HC2c{U2|I+pa)M&ww^U;4a;G6#qt z(A|r?;(`n1+_`gY5sNT~53`&|@BX4RZ6k3Iw{N;Fz0P|*@ForJ0MMK~c!lO@PQEfY-r9f{Tvq0xDg z22bYFHP&H5It_pknM}MPC;P#=4-@INbW$vhJC3WXWkedc8}fim7Fyueaju1|++WL5 zv=MD^VWED2XOA+6767NClnsv*gG>UT7;VW&x$3L64EwkZuq?|+u1ozgjQd0jnU;Sg zU~?4u2f3fdI2>VTIw}{5s4YQcvIB}fticy!j5OrVqaa)U*QP}^4Y|{zDkL2TI4jb& zId}5L=HtY}=w6KTk|;a)d&)(Z<)X|Or;v~1wHF5Zqif2)A8Tg+hyL9IO^|aO0N?Pv z29I)+I)WcYXTZ#((d0P3R8$tRFGyjVfI zeA9~b<=RG=fD*G_YTIeVyesXlSO8ZhkT07EqiNaiywA#(6kV-ov-1Jjjjr7SC3BSl zz_Z?zqA|br(wrjYmq_P0n|MIFZY;yEIYF~U>gV})au3c-pR*k_+N?HdLG^PHsrXAR zSCQl-@jc$EQ^NcryTYVZzDf^9+Df6@hx3Fje68C$l_^yYJ+J%j_cMK;*4bh(?j)Fr zX_8hM4qD$fhsYLDt-&laGArEA6kZGij7B_bWq#7b$NyEi-+Sd%SIQMvUQso__~MK5 z(%F~f$tRzzHUU5xWLDp*x~_ZcC8dO#E;2E|YKNfW*!_+eeYDAxlq4Jk;*h#Zy%J!?PGT%0h(az$B8hdTIsUhvL26*Vn>6cD>LQG>7wWjr{WyFx}cm@Lc zfKoL|o>Hsyp2zy_`>#oB<&nME7#y=VZPZhh=92`V;!4$5vAQTOUmWTTkw5FX9N~XU|V_ z3#4^U*0m>tvZ9pM8xwuXL0MW}yD}<_8BHdxI3E=YF$d71o1u{Z$UP z2Bb^<2gZgID^FH)q{2wo#3NSq9b-vOwzF(+F3qq^?3_y`bY0Jh z?v;~4{#%SVn!WPwRNo0;$~Rb;U}CwT)Z{>ffv=-eM~Y=5L6)GEgAfA+tKIc1 z@|#p0nv?vB09q@;!K=g0d4?sGlGBdkq*X?bEc9Y%sHC-Zq)#$@xmWDiCX*fpPxj<9 z&W-30|AJ+V8ozS_u4~D`Du41n`i}%V5Jt3Hg9BK?G-!nva5PqaUw|iZZK4rHE6RnQN$EA{opmsr$x1dcuO$G3d|we2mM=)1XHy5y6K0iI zuuwa=2?LtTkpE+8utrNJ7CkDREv$F5&y)NE_|zWTHFscK4T-45m6M#yae>YnvedaS zYd1HKG+Q$Q%<{!?_9%DPi*`l?)p4wb$Yr_U>C#jFx5l#1v14Jj4M16eZYBR69AUsLCJeUZW8eGK4qS&qKOE*bOK#gzB2e*+Z$@X6-&+ANFvG*U#5~|tvyrff?i^b!0|#L_V0i26XlPIBz|>OrUUSVga^p=m$aSx|PEMab zE&BsSKKaB`@~KBZHU2=am4%}?d*-8V)71ICr)5wO8NW_+Fs4|I$DnC3ahF+i)*h%* zCit}J?linGFma+xZQWy2nFVl|biXFP*Xm@|uPLL_AP)>Kb`2~cQ7W_TBPm8H-o^xK z+GS7>!4>VsoTrx;CjXdG^7ZD|0F5$?+Z~+otjbaKrL90rRN66C(@DS=Yqs?31q6a6 zEP$(p#zSdvZKsrkc|D7XI%lP1)F=Pu3ilio`}W^azA1*`Hx^P*q8d))57L{Fet_{_ zd&G?=s#Rn=xICMi>IT1mWBC_WwzDFc+PN#X>6>LJ`bpPuzwS&Q7tE6Yn<`UsbmR8> zAGl90z4Xku{QUFJ%bRceE28^u80$$~(4s9#a8F=%<02;*mOd|}EV_JvO(@TbdszQ~ zk9LMiq{kWZWH#$0Z5^UX(@ruioBq8~-g)OctD5)U^ZwAY(|DS^wmkYuF()~KnczU3p>O7O$cJvFcMc7tWgc*(132b-%!)9r2b(Hi}J-Ml9=&m-{ zS+<#i5wr#f%b#Cuvj29_4v|YQyHx(s{l8Z2{nR6$lE3r*Ulyh(k8hsI;fGAMUO~H+ zy3jy>o!IrN>BWv$57`VZ9moN=7ktm{qC5Js9f;0czCaY`w(YNTdt|DtKleo6v1?t{ zZe!*DkQ&F~T%WUZkYDy^1#h~0=a6J))qeY3ZOQ$65&4h~0>OU5Z;}x`j7i~sOeYT4 zq@#A5e6n$zksxFkr+SR|6E6zNcU7qg^0;?Q!lK>~*`*wQjQPxO*|bH=jveI^mXQ}J zC-+Vj?DpuBzfpFAI%ATY{TVWw%oFW}{!9CxWyhO-Phjo1$ujwB1GqbmoJ~bR*kz9R z@c$Bst6j&Atw0pmr7_t%-gx9F+wC=O&%FHd%NBh}P{{Jdq)4?-+g z1Tu4!%ZJw$Il!QwwZju=Zmu@$?4rcWUO^v32D;4y3a<9OkAHne;==fph%9|FtBsdQ-XrxN*@; zixZ;Z8b|Tn0N}SVF8MDYNy}+j$%kWER&AbgE*vlO2k@&f4aGYcJIDr%2j~f(0x~ez4PNK5cS1q4VeBeRn`3Bwn!cqAgipFM{$U|nc;OyK9E4eKBSF+{h#6>GR zz==I15*TSdKLD|m+K`PnRp*$0sN--7*l`QwRLU^cd5f+qId)~>n-7SnL}cy&NI};W z<*V%+!gO3#I|L-GIj)*Y1Oa0gk;y@4V2m}T6@k&`R@f!jdG*Ytmu{1$cgQu@UM=6~ z!1(xm{`aQa-Y7qQ*H4T|sM4SnB`7+i>A(f%Z6$0yRN&i#%C+0w4@wy(3`LD2@l`#N z_ZTW7=G`l(lI)2owC-J{QC2^F%PlvL91i}}m(QM+hd%zG7&Cv%&jgYvertnH<=uc! z`cY9D$96^I2mypiB;J0yG%%ipu``b*TLbuFDq;yJ z>Hxn^VdYW^y@%I!vS88^M&na`9c?TAoF^Hq!umO#X+ zP0f-9(PTD?2lC(GAdC`j<1Tl>TD(?;PEnaNFvOj0a*)E_%NzA8=*CM@;mq}0uyXui zK&*?NyBQ~o1BhVz_G)#eX|O_O*Z|T|U{O~XwB4&I{;YcW86t)qD2z#w6nV|2e&KB` z+I98SSIgDcTwPsupl#R!`5$@cAuI^Jyr;41f%{O`gxaS%y=s_v&|lD8?KUoNc>FV; zm1mxLM%V_|7)d*oMZ@G*t&&Op*{OnF0X?PdilxqFTa&ek6`yGH(vDv7F>^yZzdDiT z^>4UEPG5X_)OGg7v+{|DJ|TFsX>!PJ<(TSR<#gX}u#|NWv)R;c*$Ist%Kt=(X3?VY z8kA#>A)c?@vivwwk7$7I#00J<2cu7GKpwRsF8i+x_?T3LP!cE;J~uBoV1ne&?Bj*} z>)coBCgkgQO42M@XHKjsDhKt4nzG!0rU9lRb$%aFSz--hq)v>;vzW}b=wPxfsgn?? z()q-e06W?YY0@^M6huULGBB0?s4r<&n>37r@~fGy>lwUpT+n*lE%NT+ql1OL{eP33;OT*2!%6 zRV!M2MAv~Amj;pqrZ~nwPB{-)=yS8)<+J4fDC8e{zM{!;tcUz9O94t&Jcd=dlW9%! z-!^4EcP^U0kUTDjAXS-eoYw##*0sUwsF%RowR6Tb?_yUsoouI=HJw)032DnVI-EN` zPLDi+Dv4-U=qp*-myt2Pkblt`&>MjHU;&+{V6fT9U1-HtsZ(^atvC-hZkiK-7a$E( z?l|)0mBL3uH0eSS;i`u(jjMms^+X9;dK@oQ0le@<)v48p;9VoEr0>Oy&tTxkTlId!^bS)FwHwOO|wi9kM#9-S@sxdMVEa zVC~1njP5L2A2!*luw(-zrq{US|1*lZEvT4?Y@63AGqh2GfKdU z$)_a)P`-1crOBrzsV*V6iDu0~`gC%*{dbLG_J5ic>`RKGm}?1c@$+8-r5W+&D&wZnES zAVlk3dncNmw_o5{8DQHRM|Y$b+YNJ3aR4K%lV|SOzX+_ zu}JKFxRN3o`x;ZsteY75d^r4O$Y*0Eqm!&odRQVEdRD-CDVG%?>9yqx`|(_Ed!Ife z@>@}I$FA3SYEpSS@;?(=Vy338 zddRf215q=>PHjc_qwEW(F`Z`dKv0F~*XyWtr?c zQfV07rv<95^Nx5nCXsfuBzMDJj!7vJi?`4NtW>$- zy?iNcfE^!CFBx0srhZsMC>Q8VZ4+G)eX(ofa8PUhk$@1(ROh*DeS;--IA5}oG@sI0 zM#X6ome@HkL*kaPgb+*q;JH{u9FEL!0J{N73;f`=Td}kiyagL19ni3y_DpeOgMl@G zgo1Wpr#yl&5g*v?)jCRsmy~woU)!}Y$2cDRVcYu!&D>dL<%qTYLjSPJuRw#+XS3mo zlw`z#Nk z*1AegD5K}J7;x?OP;ojtKyr$`8f&jccp&}s(&bfSN|@%a2aT2*apUj8wwYg2eZ?5E&(Ov~p=0`E3`Zkx8ABK$aFp2O+%KCO^fSr`&MU4f4*r-qGzz z`uJPv$3OG9JiUFs^x{iZzURfd;l|gF+*qKGA0EBslYyt6coP1`OdNwUuzIetyQHHv z4Zdm`z#g9#sD4g_j5PH@gs?)QgU|#b2WK{N<$!g&xDU)jQ`w>uei1{Hv{w<9U?UF! z@B@ZyrD3c449Z`YU?yv$YCdP594Dm??mvoP7?9VFa*yYBi5r7$Ijn;Ad&!bl%xlC=z>SK?{x zh-ujdWkICAK}VbI`%HZ`qMMd6pA91q>u#Kc_;4mb_g@dL&dQ?X7(^!BB{IttPiAKa zao~vN+ zih_1Aj?2;s+Wn>dQOnEXb%auKU-01v2<}C zk&>(v6UNbwwPdH46}Fx9=dd)efqB-WX>~LJu%ldJyBfTmppk=DpcmQ`fUi}qE1mRC z8?f=%8f8b{p%rw}3k@t;@kiUE2G$0N7ka^9xxy@Y0`e7Ov@+-R7t7uMDtan`2woD! zYC3pxR6f8f$iFIWkZ?T7Sm@Jb(g{QUkrNF3m(>qHFe^he;27(*qxNR`k2a_Z`=DCn zSDkHK`q{{17Z81d6o{Too?M)JQXa;10hTstglJZbTZyhebJY5GIVHJN82yTST^?S3 z`RjPTUnFSz=WK`5SBnHtoF`6NZfzwV&vw<)PclC63C4eEVwQz{>53#2G!6Ve`X3Tob{7$1wWFz$E!?|e$&`BFBMI4MDY_~7cm+lYd@*teCjBYG4rtB)Q8yDl zFOUuypHmX|sq7kn!#eo^ort=>OjK8yh}8AuX`PAF6sp$GLZv)l5Sm^6NrqD7igB^Y zKyxsM(@7O@Bx4-R2N$8!M5H#(-cz2vqCbx|6RG6zykM ziekYnLkYrKyHPPVJ}BF&9?ANLNwWBEXbX~>j)y>FsbzmqSp3EggHa%fe^|CjM0k?B zV98z@#Q~_5>1CrENem%lSgsiKAfqQD6Yxd6%=ajtC)vajPbh5LDL+ZL;JgF9A$LYE4 zQ!_y?-QR%v_B6`2qfKO}F%ms?G*;YS^v{|{cycFXUlL|P-swBopQ5cCsuYw3ej*|h@I#JbirI-^ce7Z_Cf`6Rvj=#ddw90NSSkjjDfHwOhj`2qp_SR{Ee~n$0Q># zR?1V8KuI!n)x)9*ot>fB9eraB{-G}bwsH)!tekwb?n9qIhl-E`2+GOp1Vu)YeSlX5 zutijnvYgE?K(r$Qg=Jc6Qk$unlLia?Vnt&2!H=1P2xVEx%?f=$aY#}d+VE1kQT^JH z6$|9G#AsE3xW~H*p39#v@zkB(P~tbV9iZk><~YK#)Ja9rWSQl^CeuepRaOjP$p4VV zn%HNg8rDtwXy5mRAYC}q|`_(o{@k7QY5f|C5lM{ zj7=<$ma-|)Pgd+Y(pCo060b_zPNZ&7B6596wT}P>vjYz)eYRR6s`UZ`GH69_GR+vr z=wTUFd}u}wcEnTbJDKI*X3$^I1~KrJLWeaXd8ljQI)g7uHbvU6PQ5gydsdc18kk*6 zF5(k*V$JBg?q6+AQr(|rx;JY;H%;LmS1v)4|FM);`lVXwfvhu@V5ZF~e^Dp?QkiXE zRgP2b0F^G_MHfM4o8+|TGNpin&un)}80t{)$HHE@sT(YoagH-o%^FLQCSf|EG;R5i8fDeqg^Q1 z=$Qt%hC#{l_P4Jj(@;Fs*A!?(JGARyQ*>D6#e(c>?}7+|tB|tKvMQ(6C~p>gIKwKm zb4e-}C?dswtPBKTSBGJDv#p#mNJ)H$aEKpH*G)!U1l{i^~ENKp2xSU2Cu31vpXHb&c;bH06j7}CFp@!$y@0~X*sNc zkR8}#bK9r49MH>rsCE;H_MlnUye~;lR-$YSvg~H= zEUx%SiApMZaxGx%^K^pSBcvmZ>K9qg^VohDIjR*MN*NUTEj!+^gMw?EcVmEDJ#2(p zj&)a@O*I(ZTQt*lFdOL9;-ej-$f4wRpX!di^F&8avUWu_1J#Ee@Q0N>Dt$qZu?kV0 zS&8*KS9D0*&;iH+#QqPDkmFM8!GJ;6F@DY7?$pLTKx1EW0s87v z;39m7S{Asr9-y5NRj5r%EzJ_hn1T-TIF#2&v_*snEweICWg)Z+p_FYJAY97npuc5X~MIcR+D*v1Z;WZ>YJLDoSV@a4FE zyjGNs2-}cl@;{D-{4WQ7u3<4fE^(b4veg*Dk!^LV4*cv1$lQ)BH*BO6iB9 z8vw{+yvYPIeaq%&(sEroub!9h5t#wF14v)MUmbzDn-`#c4G{Kff`}~K@k@-kRU~0M zv88WI{>f{AzgT*o`Ud$G>a&rbf;^GXBcPcQ^E)4jv!Bw5It=g82ZjcvM%1ZBKzqBa$%b3@muAvDRSKI~b{AY-UUm7;p` zlb(h18P5{nG0ATv*&ck8=hmdn0-7crkHsb$4LT)#0A@w|Y*K1byjEdW&l9sj*=s48 zQ8t4IN`_~dc5TBzGS7rUgJQ#QV`ih%@X#AaS}F%Hpa5Ts$g5DQvk{i$FKqlgly^Rf zT^4Jn2{)~)Sq zavj3p81>p(J&Ml#P?YVpuOc&xX!F3V#LBo$3`%@a#I`O=P9U3Rd6mRpi7x4E@V%+I zq($6lykw$h*VV=r5a$dA+SEq0X*Q5DwS}E;rd83w_6@Pp&r{o!^*QcrX)T^5T6U9g zvN;>N;qW-2fc=5S84pffoauqGxN+aGcs=>FH5gfAO7+8`p8+#e-2jzNgu*!Xq-T<8 z(g$<!eFWL{DUar1q2#CC?kDeq5y|Mj4qvfC|72TW8))Kg%bZ7L%}! zfU-C`5xG(ute)+HB)XmVYU#(KW4E^S3hRA^o(P{FbjqF3=nZt}t8?eh)r2Kqo?7SI z>X(AB!^I7nlT8I(djbO*M!Nvm6!4^~o#cMe24PAwWVaqWt8(IJP2NZL-vaRm7u2sA?J=Wu-Yn*PE7(=D_gB96;&gG2$}|Q z{2G>dDeagi+LQDIMGd-s*r~CbK>PVC=p;tV_=q;g$Fa42Mb$;yZJp^&Nu*84hOx|I zr#7wv3FL<*)Sh@p693ht_%DE@_7|jje`Yshf8kxSb1rS-tz z(Tr?Ggez8H_&*Hrl>A%kap#i&3$skhX9gL>v$#JyBnxf!0PwDL;Zg>_^_EUA0V?Xz zZBK&1!A?C3Tdh~MpyF7Xs8x zB&gE>gK_;>tr-L&_VJHDICdgL0(jr?$d?tq@WKn3|Hux?WQPs3@U6-(zUcIL-Xp=D z_vck62RL>Nil3KWdg(~Wi{ts{o|h+|dP;0+I6hPuR?&&E<2ZfMMRL_uR}N6md->vv zFKz(c3-au<&!l40dEl*;Y5XSP$=~I3BpT)SFH}b4jG8ClL?XFpYtyBdT_#svdBylW z+Oz?To|g=*kMgwmS(CVa{aCCbs|x_$Tfq>|)-AK4k}u~2#CMX%iGapmAUKhBZ3am5vK@g>oZAshMEe6*MU&>hn` zK1H{m-sp4fMkn9($xnZIqt7!NoxFU|SILQ7_WTb1t0ZC_P;Q68JPlWKC$95A%zgHa%tJ1Y*1RWoez1q%0rcNRQ%eyegL0D|jyJ9=(WMCS^2hsTG#|Cv0Am zAqLP%-Gp5GL~7+18R-u!RYN3_9_=p&IF~8YKsnxDviDFQ)Vm&rdT*yn(uy+4LUMuGxZ|joLR+$@10R-ed!U~k8 zS90p;lv+mDTP=G+yUC^)<%TmVYZqM<(T|zTd@K=+h{=jfOFM~j*eA;gbpeazvP3AK z_Z;b!8c4E?$XauJSGEUzXpT9eo_q-+%MbW&J)SpqsCiM!e=S=!oB9sgl?}07q+1Po zM#|;)a~m*wl=;<2Crp4Yv5`W^zh;@BSJ4>HWNHyl;BI+NDN1SZxMV^b$hK(FV)Pr6^ejL# zRSD(Pn|KmB6tv*{d$@-AJ9d5y`S0J5V9T){c0_7C8@!|_x+;J0n;e=}lEc>GZM%bK zT0i4Uj9EnHId&U3Dk6DpfWVMl$fRU1a#)~tGN)SeXwj++S<63}#Vo_<<xi=H~F z`U2oybjB-eM}nC+)sAX{m2ZUW>@W7G9+J0+i{O=PnNAI;f=+QEsFa=H8Z;WU^1*ag zI@M4#Ui(21F=e?fv%h)bF_hJ;#FZIKiIhqWQJIuK2-|JyTk+_e-)AQFl&xDxq2&G7 zUVF_HedUwY2Ojtc4YN*dDv+hhvMzi3^W}tBUU7L=sRNvFhkFIkurc0m-2dxiXFh+< z^Ju;6t{)#|dBoPux4b^ulMTJ+o)5_Lk9?|k~Hm27=^RPMk3BLi@1VehwU zaH_7p`f9o7{qHN1+`j>&-ew=?+i!pC;K7R%^klyNy^S|~{Jnh1enFwt+qmuT&9~kv zx4pSR*t_q3zdW+>p^xKj8#sIIHP^^VZrh_<`+wv92ND2MVZ+$(TYA!S?YCbu>hkuA zv>f5PgA)$U+>bJi1)0qUD@vPngv^T7>2k|0G5)^G=Tv7F@4%VY`Q!kGT3BNYTK;`m z?*k9~Mpg94Cm)sfzyAXRWWMvxJE~v%!^?mFJ?|gD-@zLTsN5+l_a;kQS-0NyrYLhq zD5uTik3TLS|Lq3{ptZ9rQyt~F$sT|~^5vkF>yEd*?X7k7!H+*AAG-HL@{Nw)xc}GW z(leJ<+wT3956MFhJt#aD(5ha?rDx8_uW!0*92(>O{kMI8ynL{E%wE5>$Cpr_hRp8l z#HTji`^Y9c&nK`kiYx;tB}=0F#~Essl7X^I`@@2UN=uw^T)crSF5~`p(yp`KKX2pM zQC7&brtCQ_&g>$0d7yvso?n#75O2@@z-@nJ^w~%n{rjNV)()rJpxML_@!^|-cw0Wb z{q5yhO3mWsL5^NINh<$%8}Bm-1kH*xzW>;r@7Vs{Ii342Zu_g_1q@Cp8~>_bH+y!e z{OBF;*ublkWyst9ci;cZu`46lOFYkq>$z(-o%Ma2{CwLe&+0CWfy>aRH(T_vZG83| z;=iuG_FDOcU;5iJy;!j3FSjcXZ?>px*!G{d@o%^-A~`GFR1?kFml{uR-~ZX8|DvAx z+$iTKWCorYyoxe@^}hB4{KWU(^nc9C$bL$H_gxfUd(#aAX#M7IzGQ$A+r&%&0KD+R z^YTwW`cLF{9{qIDV**F3PjT**ue>PAeBF&F@NxJMpZ%{Nli%Fz{TDYLIF6-A)=AbR z^RmqPNwW`Y+Vl8nSjIP=-GDBIzs8g6B_|DI!jQAPh#XRpX`NTi%>Dl6)Yyf``8 z*Umx3AX40mB-8Ag2iO*`yjr#v-^EOO{1Krl!SgD`Uj&sM9 zcWmt!(C`N+FITNoR^l_`9GzIEl)%%9+(|ac00X4N_ciw5?a>A`o@CDYPaxwl7RYsm zWn8s-C-s*m$gi1vx|W%##?seZT8G?KM@K2`Ye!XR@_+48XO>Yc394p)BAPK0^hcx^ z@>hl6BVjdcK}~cOj1~E)uyhf;JEEkvYp3L>w0`+l%Af{l2pXhLI-bY4c%5W9{Bj*& z*@~SA+vG$v7A=`AoF&b^F?Px7x zmENRn8Am9s^b$dYmNa9DF+jl@ci}00^PL4)1gEBQ2~{@ zT4`lUPS(yDh7LE-1U=BQS8~x~UtnzKybG{B?U_Yt$9}H9lbq_rOT{+hq6d2|&_R+s zYa`1fxqC)7vh^?nSwd$etsBmj9iHxm|IcGJ4O;n2RhP}+W|zDVdS zZ_}OIq|1StJMVl~z3GqQHTfcqK@wm9T9#34)~vE-d#<|T3VF|aetJxDTG`B>e%|SD z(~UO{5bM7C@1LUjAe7*ZrgRAQEgMkj;1yA=AIrnRkNdYtj)OA}cnMDkXxA6pmGA$& zd86BHh%B^u6!87Vt^LItIBw{C!^1EK&~deV@z%I`kez2}}^+Gyo;dO-FQV$@NxM{Mbl zi|>8U&m?Ft-;aB|Klk1L8*H}0|Su3M8>LvEtkwAlX1-dFeREus51@Y zIZgW6rfYAMw{G-0aoqE8`n>b5ca9A@etgq+0Nd)es&uE6L=Kg98LQaXqrRr?3U-SQ^-+Gz+{08t1AL69LqFx8LeC+x1De+t@qFB?&ADJkDQoW_cub0P0D%r{ZEy1{M-lo8zFCP^ z+dxxjXZ6b1?Ux+ zPD1QCMh?6JfI%69mH`NqdbSA+O0xQxA1yTRFqzt+0qj-eTt?WjO!W>9I{+T}oicGc zXu5JPU0&vl<)tZ4pjGon&?6G8ivaqulxgaeAlfAWXKmgdn;K+fj%o{)v=8N%SpGS8 z5~3DGk#Joz(6Xb};N+M5XQ}W&I&~7Fa-zGj%(dlz$-H5y*`lx6Z|v3zAZZL$gl;K- z{C*)Ir5|Dm^HG)(IpeQf?F+fYxO_|DSgo zl}3AO!?EoJLA}g?6>0k~MdJdPjX>HWzg2{)M-NUfZY^?}G5s-H<8e4?-T=K`b&*b+ z$5~Uq3!Rs#TwInDd>}Z5Ki~Fx|O^@~L)?iPCM=XFLW*$V$_W z&<$nJC)tqhV^xf2l?kHsx4U0<<>I<=1^JfUS1bAcuPt>slYqUw{Hr=yL0xurRzqCnj(rOFKrE+(_`6XgRVEN?m z{TmoEz$+Rrug{mQVCf3^K^wTUfqJjINtC?#r2=1dqMaYF+a~UB-+@;inc$H=FVaQ; zkX;8BJqii@V6d8sazN?gv5W{4IW6!P4shrMR)ktcufVGu2ejAe^Yk_b zPmg72XNBiLw#x6VD&|vrSprUbX4n z0Ix2pbFRxix4j5@iR=cBAKY|$MLa8$CVn_5^~MCRqO@rLDDz1!Gx~Ps%o+Jx&U0J+ z^Y{}ngx%5RX?9wTZDKw@k!o+tggNx!0`aHP-6}j3`=fv@(oz2TW1EZ=c$Llg+Sk4& zfB0|zt^B*~4;P?k|M%bd9rFD@_=7D+n1tnj&d$&B)9cQWGo_vBqQ90C^_~oCIsR}NM;8fX*we$0Q%9$=$mGGblT^n<5R;;% z{%SWm?YyN}rnlr$LIB(IO9IP!B5CkS;EmF_=JR9`l(#n z%Z31Rh14$!VPw#J=#C*%$@ePL4tluHc0Nn%)ZWQ8YbZG^`OEt_4_&UP$t!v6f@{5(juesSkjOm&PQ~Uq1G!oHe3zZ-H z1T3?TZNeG*B~YWt<;5FmwPe+uWp6Ex(xGN-gfm()^>XMnG2}mnjuFjeqLu$^_8C-k z(*3hP)jK<8Tlyu-WG~uwqJ=4ar5h(&?AlOW$N2Qw$xE6X0F~L_)oMjQX{|@P+-@I= z!@K@d<19r@g+f>9ExWawGWVey3qv4X#sR>j)xPckemCuj`TKd@-!D`KwSk|Jovuck zIC`r)CKGXuJFMiG?4D6-pXX?)cA1RaC)4dFt!Rp9QNRE}QlW~{E)v#B<%I-1>e&s( z_VcD2Z>ahmfO_Khp3HnFvN@A~Agz0BoA9RNnH}(4O!waV;o;olaHrlUX*b^Z+8W?H z?)Wje{r0~$a)_|tIN0D(RqX-jSlZ+fKVLcfQbpx>&ZD1x&rc1YXgqi6WgAfPdb#g` zSi<3;kWaSmy7R}U0lo9CJ7U6O0Y1FvJwF?~q5&A4ed+9Ye$i$Op9p&dQL}@|#~*x1 z?z`^+dGV!}#u;Dz>l0s(zQRQPvNM-%{eGj|`zs$V| z(>2~c>HgpcKO|2)^+e<`+wQ+?16O>^23V4Ocl!ozJhr`|4zSPjopm^U@lt-r#KEh6 z(ED}&N94t`k&nvnyXwlTy> z6xDgDCXXeNgD^Lsq9>#jTRs6Kh_EsvVJ>#ldVK2YQsu|d}nc}4a3 zQa+Ci^KzjM96Y*Xqqp92;kk{^ zJi<0_kq_Mc{&Fn+xM9-?H@xn~YVfaq=))Tz@XXZC=W_`i`tsVFuzV{T>p;yfZ+!k# zMgseN4sN~v4X>B)9lRAZ@#W(l$rO4+>fT-^F;Q}S|2uboVCwgGkM`bBb$?=`!)G7+ zY(JwKU>cQmu>apBh2Y>tX4{x@^cRd2_{rZpI@y-E)_({)=^`o0j_{lrpy>kF` z(Bb2%Pt-53HsbDAG`mfQQoFpo_*$7`I~qBIPtj3 zU%%rWrF)%!e_`07K3?P(HSB20e5ka`$2OkGEi7EjukFp9^i1AMKEkVCbDeyr1IKxf z^M^0RyzE=PW$5ZZ{^LKEuYC2Z@}Gat|4F`Qv&Sg?yKemMjXxgQfW*(mqh>HK`U@HD z2cCR(d-3&;+=tkBE>lg*tIk|%xBit|^}Fz5Z7cLgeTnJqKQd_7Z;Qi##LuODu0tQfRW3#Nc7Wmx{{CWg)O9Sh8mWK#6vdtwFQ_PwHgqxNHUi@QEc*9?7t zl~l=7BlnUXEfg&nOKF$fp)DhdIm`}~P~}om zE&hZp>}bp0O%c9PF3BwU4_(Ck+d0P&S(^IAVpqC3;$@VD<+cKy*g9!RXT7tb#SvR) zgjYUR|043Y=9WQ|XmjYZqfCIVBoJP_=g)h|=Sys#%3P&P!$(dcA%|3L)Peq|u0j-N zY+z)iYrAh0abo~g;(RSJ41UlFFclSo>7@Y6;??7{8_81{giuN@>6kAH{5i#PbbwgM zgUI?8MO-h_3ZnGx?p&@(Xb0V2-slFx3x1?TnNyVd{F*_YC33BmJZ>F?Sm9mB~_gXhbj#`3;g!*+Ii#-oTl62$+W zpoyy=XJ2}8OlCd8#V2U~>B+=J1Gyf`X8XKn1L?3%*<0p0qa393HhKH8?C;5~tUEWr z?75LsCJv82I(_j)(QfS=7rYzdAbl2&UHkm{w{8<52LO-**+G*#?t0e%uT-=^9nS@J z|28%bKH<1z1HBx;2$ML2S5U^gp_dPCee%DUoW*_Knx~)syuAJGKO)aO`%IPM;DQ5& zscuu5u2tSi$DJF{;>#O78Trtyd9MRJclxp$&yAMn90c_7+{>SXguImUliRbtH0>os zU8w+RK$gE0c;ZVDi^sRmTSk;fdzh`%`fXY(;{2U;4 zt9cJ?Kz05k=y-GZ{U^dLBHp7PsM#h#Hto7yZN;E*1mC8qR{JW2t(;a_beBt@&K7Rq>?Hp~*ezoJlTBbD_berdn z`q=g|BOKsrbMCN6 z_U?6$evH06G4;W9?&qGQ>)W44A6c=DiSVb?5cNI#>(kN8N)G={(Aip}mCwe>Z@c#D z=^m%$=ScRjlAR#fANdzfagDR8<&lB5c0ckydjHhxoUpvo#JY8WVomM-1%mp;CtJ3A>EE;Q}IT= z!%%t|$5LYo9$jenU5`Kzo-mLlj@|qaITOAwmgkJwR6dqb5O`cea`^_+~h_)-yX$Ej0C6986rW{Jeh90gO?Mca;&{-|iK6;VlA;pa!0 z6U$Heu6n(Dq2=&Iv`p>BXB5SxQaQDP_L-D9$JN$E<9L#hU~@!FXb>Geu_6Sg>EYQvRv>+xl_t_*@O3|F@TaOtt~Y zF<(Kx3ltZblHpH)h30OaDzyv|%hSf>`sk?3G%H;LFm(Gg?3xGpFPW2!)={E;mTRqt z+k&>~ANL(4@ZvgX-bey3raCD;ZG4bp90e{ZBVNYK=Uy(ov!=7ix_FE?XyW`@ORthA zlJ|<%1~5AMh-gWaF`@<=urfrtvinf9T3G%w(k|%=OS#gHm*5)*5;?jsSqyGY@Q+y~ zVD}^Q;c5Gpt*hf+3t3NkN82s*K$eL*t@z10YA#8Jyk}ZG)?>Zjd?V#P`+?NnUg3%lp*p!@n#wYed=dSa7U(7ezzW|(`8h?*`@>2u+8GR+1dCwitd35A2 z2|U>+QCD7p1oB4o*Y02aX_YeoMVw2<8Afya*WcJ*HUN_VmAq~D-5&tOTDNx?r7!z& zAW3VmY~-c#XGav2u}KuXFqR{LKuAC>0cHm9766==>k~30smI$;ynFJfuy{7E5AaLc z(dogm>6^FPli>#d7KG|I5OL?1wh7qJ{LIhxl0u1`RlY=WCT@SQIC#|9=N*idPWaxg zeI(?+d*dIL+dp^x_1)@x#-q(x#c{3~$N{#bb(&#`r9W`VB^S#@r%$&tBU+Q~paZG6 zlpR0kfCiQ)K2=HKUr2|@COP+l#yBBzYCB%D^`pQV{Hq6QYuxW;KQrhwj7Z56{(b7H z-~|xDmyvmNPTv$1bnub^9#0Ve(1Q;PPlRj4QXYTyJwMmr5$lH&bgW7n&V4uFAieO# zFHYm*kt$fm$>Yq4w#TLw8x3$=hiH$TM(15l{cymtU!aIw`mL7^@Opp-+n<9%=qlR~ zl=zYRK05Wo>#Y$}n&jVt3v-@~{c)^8UHJ|93X9T+>Ft z;Y1r=7)jh8spl@>+G?MUBG}jogvbZ5v}gSDL=&nDkNlFuVi{5oXi=;+i0hTHBL1C14c@htzV zCHR><(BdEcLEne`tCZ|7i%tN6NP}Vn*wUe!O8za%n&fYv`)!O-%H1kb`j%99fg|hC zTWjxb*!ruZi?n^d(gi73Y4ygx4uZe*(pO_+fs`{mXC=GG>6_+D0+rJ1YuT4&8iUa1 z{USA^`G^t9hwB{%p+|WM*W$YXCYFrsgWd`~v=+VL4-ffYJwj1y%wTthYy+_; z`Co-2zyctGj>1M5kp(UK+x^g@%N~?U_G1m!zi39ToOPW}X#m32oqSA4SHu+gyt6$|QzA#Yz*~Y@SqD2(QfT zA_cj3&aAz~eik~ktnFOhd40pWS*zX?8j_)%RF=)Ru%q&g>V@*wT@~j&cF+4VD`pt% z{AVRV(GDKK5LBsUga-2QnB*8O(hN>B8+mk_n0SQKl66YDB&HqSdCk?|mP_%X?#H$_ zr!lG5GC%^wnCBdj^U3)YxlA&aOLpac&j)|yLp9c#^?QvA-{)r%#Cduwi3zwR%Df_? zDHI(g@=k)${8(X)BGqT`mxDCe3&o#upa;%y?If6diBcc?%;R$V?QfB6?C7T^&0zo* z%Lb(o1&C%fHvZMez@wIA$8VN}rQ)f2e1hvy0H<@w;Z;a-%{0j0Hi?xEP!4yP_Ui+t zluyzgdGwL7EX~h57;){j*UD!e`%F*)G6`a4lRf(7w-X!-#Cs(%PkL<1cK~(UL~%qr zDH40XO1`i?zi|I)1RVq@6Ob1$K29HxSmNA5FO8*hnr*3<8EwEtGe>|GjlBIH6(y6y zFYrKTq1K3|@Ugfe^V!uB%`xN#pGwI8sl%huSV>Qun$P-9m)Bg|^gVs?#eG*=r2!68 z*^gGDYVG^l10OVrrHcjZ`kpv4P=C+oWKV9?zH)#x4orwYynv`L@FodNUz@vP(+Mm4Kl|A8L%R2F zP86VMhc6wJxhs>-^Mg0n@MG*KE4_5V@BP&eet5d4ib{Q~I#>V9)6Y(KyWIc&#_LQ2 zoA_=g{5$3})5FX8SyxE^Ffe~|xl{8>p3DE*A1aft9oA zKM_HoB{s1F?dAq+~);-!Is$t*%9RSPJI{Hqbdb>WHLSmZY8gMSF){ z>$m3h%9oY|=9}Q!1&-ZeC0_$?@>TmgZgg6lJ3ePvQfAr_B2isW{+3))l*?iYxnVFO zaz7P25N{{}7g9-?8MG>p+)M!a4WEwkcttf4X%o>+x$83oW%2g;>7(G*F$1+slARz% zE?W~}84wy5Nq@d0(Yygj!j6?6>v3*PzX1T4NJ{|{ksUw4u8ry%{MdbvN%n?5JBnzS z?!O3p;*MO9=@`rDlK+Yi%T@++uer%!r1qjQ@MWS$@mg?1ij?8jx=)g=hdkA?RV%Q` ziXV;(9BR5r0AE{)tI%@7@`qx)S1eacIzZL{hK=P>!hrhVid-rvRb~uIL~%sK699*d zf=j+jP|W893Lfa?o!T}r#~eHJS^13pavt&zzAPPi?p*Z`^2AH>Fc)JRQ4wPa6bZ?{ z8on$f|EtszOr>P>X&XVYUSg{xO9_g){GWSyEN>iL%FT6<*Q@#KQ2raZB``9VDWe@F zSD9}O^A%pw2uA{WtuVw#r%nz1jb)Xn%fCVX@zS6Y*eCmrvQj6F!u(eGvnEqPxdUotN(T>wm#VKoeQNBK!dX90Ar zJcL3+A!N&Tz6SaZzm#?2q+7LH!N7ly5vqetmxGPWdQ5Z7viwuc+*S;M3S{S)opcl` zr|g`a|It~ecPAk~{5kbtUp5~pl>Jr*`YD|}fz!Gh06o;ZCe1!jl#R}p-kX*MK940I z*|vQ?8VEG#rAh*u&oJOs>djI1tr{pz z_i<|u$etyxy0VjGTb6$#zcm(VA*M4`xL7V_(f}Yb*Ou=*cqGg8930V3Sc$E7J6FbW zMsbPC%vakm(0IR1Vf;jXa+G5AL0^PhiKnt~f2 zY;V;+`}kw!v=`Tri2UBz9Zu#6S<-lvq!=Say`_MyHY?dOAd^9p;w9CYmwe*-B2V;;6er2Q z?v$&KgX;juV~rKv#i5}Mw)K4wF*5|2Tco>CGO^Jj5U< z>xcNgAK31RO_C&g%OZyjr)wvXDaRIo0_L&(+<79m%%%ybtM6x@en!6YH4Qlb#LxVc z{LZ6~%2zk}d;0(L`QRsQTlTL$_xsy~>fHESDaVL^e%mgJ^7O@*RL(Z?W0c>r`VkvX zKz1*ZSH0?0_QDHa921YgyRckCG8!@4FIc)#OF7Kn5+gsTLcW+Tim0D{o+mawzxGI> z%JpWg*A~i6lO4%P?U-EKh@7$pmN6klJ{ss(-kI=tECWMTJ*KkuBrM<6lL)O1T(Qq! zQ`^Sm%p*;X1v!2+!{svH7nZ8|-!PH^mUv*(anhscTNB51qE~@j1q4{CLx59KzN2RJ z2`5{g{L0}=m10d`B7QPp8H_L+v;siD+cuUj#sqcb3sYeQV42%yL_`ECC=4ta(Uf=3 z!*##m2q2vfkZ0t-Dlj4#MtWi>HReL|hFP&nP4vMdSmHRk>g=>8Xn~z3y-uH;`{e(~ z*h#D$OSKE00}2@}2XL{L&eo(klu1p11+o-5;YzpRvCIipfTuLz7=6v=U|DD;berZ9 zmidED9qD>*LmiJJx&%O$n04-{%9$oL?%+Q^5nJr7!a!1pRO`vnu0=`yY00FwW0T{R zb0R~REWJZ#j$O&WN9Sy^rfA!!0y(V~0}OtdvBjs~omr>lWytz1u5 z!)C=(v;5nLk{S_=wq|ataZlvcBHd_f1Nh6bklD|%J(A+%0Pz;N;DQU}<;@O23ZdUD z^_RB`bX29XmZJiD!86m?NPn;EsYei{$fmaa_@qJ78B6+(Y1u324EYamD>LJQb|nw2 z>{4myWX@@Z}J%#8nrRv9#U^9cSHd zY1LTKRM{`518geksY(AN|3V9w9&Fze!d>iqF#kF9uRu=QX*(m=z5PPV{$LYk(wAc6+8xiptAmHy`T%S=b~(PZvF-e#dabuG&? zD#O1#`Q%e|KPx7pd?XX5N_=AKe}@E@`J7M#i*!5?`6g5YXuEcEavdylpu{I@zJ$z= z%Dq+Pk#kZdk&>@Y_C?y6cv9?(wHP>v$gF+)+uqXnWflz@LS|dPv~sC2N&!ET*(sM) z8GDzTQj1I80>H`<};5yF0aX`9WTz8 zX!@TYzD&`}@Td{re84|TPwXkw`x;MeP(l#FnwoWaSq@@))R0H}`SQI>H(3~Cu#Ls( z{SJP_J2Fj<@?S0D1-M%(GXT%Ic{UGlmDQD?IF35==prpzL$R|gwER7@1N^!Y=qhIZ zh4dZiHX2uthV%(1+B1MP>H1y1oS$(-E-TxBw9m-RH^=UYuij|=P~~^iO&45|z;)Dx z-3ME*&i(Rn_wjLX=<+Ks-^TBfO_#iCjHCaZ-T@Ew>}(*YT>7DHC*UNW#8dsP1@VgA za;yBi;>Vi@AvZGao0OXS=jm1b2T}ieD*Vs z*L_Cim775hwq~DMmJd3kb0>B3X8PJ}T5KxQqa~}m{8@C6^YFJ6psjh|-budt>Z|4Q z4RrLVw^yAxQ<0VXXg%5YuAHszg)sx|?pNye&g7ri^tl@+0EE`Sp;nGrt@}kL^Lxl= zeY5W0qm?VGa`{X`GMX`n64mfV z7;#%n`bI)-OsKN61Ul6qeEsV$Q*IcW`NnDKFXfh8dLupgAHB*1=vlb5Bvd^-PTQo} zmsK9eGoXL^PZ8mgNwvpB>!|!(MA;!nl~34?7DTIz@S{N+fHJVnk#{U7nUxejz`Kf! zSP!GcmVLjh$Pv6Ry@QwZd__kDMS^se{V)DZeg=@3<5<2VB8o~^fOpcD;HVVj?FoRe zqnC0r6SN=Ct{H_AhHTujTRH~&?jHlV2w+k10uu8htBGZ_CnA=PY95IBRFIyOPWo8M zE9PLK$!s^r3)Nf>rrB2FiJCwMIIy;b(U$3aMvDf9-Q0|5NAfST{D&forN03Pj12Xv z6oKML=3$eya&#>z|EF61vuog2|8J$}98OxljHn(fnwceHAxiSUvnd082|@)f6RCPE zE1%?l#byFaOE6fCnQ-v&I9GIkBjA$SrO-cwGZ~@MusaqP&(`n*bj-jx_&vv&Ru6@V&=sxJ~ns;QLB%AGsqfnkyhSGgZuU*~7Go@fH zIq1LTt_*OH@J2?d4N2ruz7hbzh(O6AeX=&*7OOBXbXCf|Zkm8O%cy7*ZBm>dah5&p zA|)MlF)Lf8+(%rg&ENOesGd5v|E)3dH;i5N-b6{_nZP-qI-g2(sFeWqt~6Rl)2lX6z;~!b1ujo_-~E9BWE~Da5mU)964Pki7XacL z{^BiT3FXBMdh83f-MQVE^}yN0zhfMf3y~I5sz^_$hXK0Fcw$(OE7`tz*$HIMlCLZJ zDeHhvZoMTmlDn>!^N3MiL2X9U{ANjz3R&2KDdn1KUlcs%uSaJx}R93AI_19I6<)pM0_H|Ccr} z+ILg*$SdrKiQ|pZPO#<)8jf#;${2&;RXr{ww(>ANkk@Wc}grf!0hCq)nak z9}{y+GdE2_xzPZl%2!FcSF}XF?H*40f)ItJjZi8$qqj#5g_da>M!B`47_0XOp9nzK7Pq%{ghoy4S#018lt8~~HG zoP3m*Q3|RVsbjX=GF`R&)vv$&a>>aA6oQA6tnsy%$z;;vT*9>0Bukcz8Usw@W!GxP zjAl{{zt!9zc`~Gb(J2>G+}cwgv|S6h2;Le%ROY`L$=?OhW2B#ej*67cT+gj#69((7 zwsTE`$4B&1EDKXkuFP_1wX@t>yzZ=!5fd?y5$mOALeU-3NtLDbD${WEQB~$~-1>O# zxOM{!-MsT}55e!5=JDPsHh6kVtm`7BLBN|D9 z-enR1*r4_CN_HyvcTHV$M9W1LONk3)CHYTPH_fs|#k0R^6lOu#&7mU+f> z>7{dqNF7PO3DyT6WVuJZ6ubK@&F27zw|`Dua7zBem%h|`j{Jdui9}g0L=w1UpUVg+ zvylJ6{s{sXco;V(moDY1#hK(29fXnGxwY~NV%aBx2B7PW>?4+AYBg&Weu;K$$3ve* zuD|FQ1CrexOZ@;l(1#K5l@FH94qL3LXEb?|XhTCRlw>{oQ%k2cc_8FFmzbB($mGW* z?Jf5lES{{kVVIIvdN=xlKcmfA_&z&=?tbK>!hTKk3G)=zxm>?U`{Y7CDf9^Ux#j)T z{s9>3;vVgR9)yxU+0t=c!Z+Gg4}$NK@99C_QfS$YSs zSnig*Yz?za<&skH2`9iWD*+%u3jXb8CjZ6GO*)l-=Qeq&1o4M6k#Tq=j=%BsPY3yU z5J!G5rU|u&%kX2(M#h_ImHpeG5Wr~cmp9t@5~l)K@ovbh*9j+|W(tZ?l;;L3g-AeE zn$zy5Nb_@!)%Dk1FYnsGtFgNx8qH&!k0bw;N3@KIv4O_?u3slb+vP>en$)!uMcqFD zDAh_nSaM?h%l}GAWr>v}oTlTSQRy7`%Bo{nhLjqja~K8{Z&P<7qdnJ^9qy+CtzguRR#Zn{Czdc5oPs#x4ltbizSVv$h#s3biVJ+ZyFI>KYII*1h@^ylpF-J zL!O;pu3*kodV~b5TnI9<=jjnOjTK52h2N}WxU8v}dGC*I{PWt~lJWg6%VOa0?Hs2s%l%Nu`u_l`EU ztNZ`(U4LHw%>Vj-B|r17pOojGdrl^gZO0cL(dTqrXt&-{HSAQ#OjdtE5=&Z+2pn1Z z;q1gwPWF~eW;>ST$L?RF)W&(NbO>rP{_)%mbw zM8hB_4g0901w^OfuqZNQzMAc$WWVvZY%38ZXhw zr;og4p!75!#_xrqlO|h3@*nO@M4}?X@F?@E0Z0H?U+o-qOKv(qHhug5lrK#_K396& zQpZC6vw@{&Mtf>`Y>aEoqm2f2@?$X0$sZLB*P)B~V%2hGYK&ikx$D{+VQ`5n<iCn%wo(X2fk*x?2z+|VH{xlECp)h8p}lS2vzcbYYF58Y`_+#RMwK#cs3*_@5$)h z*ib^1qxp<%tCs#ropyjQjd^a0lhu;+^6#wq7J3!S_ghQmr_MviKgD)(AVjCMkJ;%- zNk?1YH|#JVRHbAm@;CI$sk)E`_0ZWW;GXSID5sT;v(gi!kjuTLHz`=wCm|A|JJ*cr z05Mp3t57?^P~X6rv)%2*GeX^^(TLxvfN2I}R3JO@e$6K_xAD#{;1(e?Q;u%q4fNMA(5+SS*#_`UTLZx`w1KQ@FVhwdS z-YZu+dkp(%zegc)2|j7fJNA014qv8)9TU4^qgJ(y)Q)<2d^vMT^)4fD8X_^dNB3NF z&9x($`&ApCJAmhrS+bLbH*Y}KlewE?8&GK{o*ahe@%-Gz@t(WiH|3$?Z)L*@Awo|{fP{UOJse1ZJ}J`JV9H$Igv41N@JA z;&U2DO+NFn+Jjdf-S_Z=508kg7YE?*(v++0Up(?J4rzLD*kp@aK3cICt?QA!QI4lL z(#^q-U%ux9BtyyP=V^tW_#1jG^{<_DhwdDT9@~0;Yp+Mb{hh5nAKUc0M_l<1a=!V7 z?=%>j2K3?J?oYnwr{r&Jphhpto#j3KN1{o#My+(g9{lJVNtuz4aFUr;p>eR*l0#E|K z%h~L+=jogs^5k5a*!dcTdX(yr$RYOk?)hc;&HFz(mgPD?{ij~_DtXn$&#!ppH*o=S z=FF?)z3=-4dD~z4FADJPx55HOB}LYaNFRV`_WiI@^el+ zYlk%<5FqiIF`=}>NhH7IU?50i40;>%B_bAZ&zg1ljpxpti#$0U0V4C8YOBfOIGsAz zZ$Okr@BSA-IUE(BX)oa0F3YM1!wH{RJ4aQ}858%IyZ~$x_T%ysfYeK0d1)kM#snW_ zW4V;~7qmftU{h;%vmBjRg|?P`$BU)hYb$7VDjHhRL>W0%InUO1_+Xxt)}A2RCZc+l zZm`Tr?W2TTiUW1y_pMCEn6C^zOdzGq-AehV1k37rmq?Stax{U~;vJ|-?MbHvPiuo{ zYvr}7=&R)CF>aYey+unS3XfV)b|19EvMIE$)bb31#5h{Xl!^f~$;}69hslyLU!KN0 z4Au)#2b?M4d+_cu-B%_y8D@mJV6+No`@Er|(EFsrP#@1vAo{F=d zveGik2J$RHHOMT$9xeX`JNtFOiB58IN;OxcI#_y2p)>vO!dJXPzVziU_xwA@GvwbW zQc$EOxT%v*Nz6;?p45p;x=btLyMWm9-XCWHCT8Qk?(mQlAKncE8vVl3ClLLSkA@yE6 z!7J0oS&CnHewt-Y!03XPGS>c=wx5YShdk#KYdcqOkn*{2bQsZi26@xI@BB`wcF{O# z^E8fJLO4;V8j98#uiImNTCMMEg>+g73ySGm^F69{pSwd0R(8Y{oEM#hB@4BltWKSm zo?K5tfrjfGw$3!-QY4)W9)Jj;wd$CEc+z7;9{6$k;)~>#H{2`_Y!itd01wILI{FP< zj!msvxaoB_R=x@;+DZMUmumf44AnpszuEC3JeeyW4j_ztLn5*VD*A1mOh)`9;PSRN z&k3aO{gn^PgAY9{42tm*z3P^p+(i@FF)v@SnIBP3+ny2KF(SMyCicFh&7;1A>PErJ zV{6SfGk?qu(ij6I?^6l-&2>3h@(`@B3&_kb^5V`nA8#mNWlYMKKkqAcwy{tW%~gX zrTU(H@`>?>MtStp_19k?OHctiX@H$0nYps6BKjGAL&ZdE9b_5hTw zW~_1)T8A;nX4N8JF6hx!*g5dJ>;3Zsa`n~UR&Dh5j@?740*}aW8Svt7yy+(S)q6j@ zfhpGtAHJg@3?b{C*T3QQQ(GMz`@jZ1zjXGj?2o;wp6t_Jh=?U(#o@w++vPV>Uqy4j5cL&)#FBWT82eQ8B z=GV(>U)KreeQBY$KO$-;E#FS5=&sfLIX}}{LMI;IA3L+#eS@Ain?)t%OAekpv`^pr zhMW1a{KF4^SpL~V4+-}m>N-I_g?ifNrA>~W+-4(_1SfFcuIRT-<6ipEPUzb7{LC@! z7s-iBB-{QsPga|@Hhj@HTzKv|IsJ-n8gl;c|LEV#rQdp){O`W=JLI+h*-h0k&l&b- zHy>dDf7v&Gk@lbJYpX8jp+9)$>8MHDAu-IP7OlnY86hmeUyIB;$Pr4^N+S6+$3)?amv5K!I?jk5pq>S;Nb8W2 z-BK!X(P(b89G&XtMA~;C1d5y==QqCkk zbG(%U7_eL|QE0_32i91o2*cOlFYh#%b7q_6tU5Xw2t+-NCD9pWMSLpK z{S(M|+KlXPL`*3bWD5Wz43(F8!3C$}zyJ3yP5IuSOBf_s!3T)itbQfmvTvO2!R8k% zgLu&zn*jir92#C}T(W)V7Cch{uJaYkm9tx%;o_WYu|Q@lXkbX$*(j%tY^#%#hmY8=_WHi56tn}aAVov+)x zI)D+%vI#TN@^rqV#-Yh3^ys+2{=d~(CEP&htkmkVJVmjbT*LI63?P`7tI|W{EQBNm z1k7Nm*lI|CV&uT$KP!gL!A-&{50LEJ%8FCUn8IGyJ!BmHs5S81Zt3p!pOFq>rCpDW z-w%HL!HM8EZ<7TFPZT#zf+Z=`WuK}J&m+YNiai41*=J+Bc-T%L?vr9mgTgK{!d{_7 zKEHugRpIt`{cB!5eje>;gSM3uoX;%O0npR)O^qd5`RtRw_f&vaLPiEOm*5SLHfr^X zF_aSIK`XEb^-p#zSoaA2iQY$2>8{|04Fm~x(-y$u4c!Tm(WTON<>aizAQ|Rq*1Wde zc>VRSt~UCqyYKlxEEy_2VATom>ZLRZ>CrP*#4?3mOYG!#(TJ?l5bUJMDp=dSlzL)+Us`)* zF4w`De>nXv(dShB7Xe#`ycp7Y#m>Mn;b|? z=uuBBQ@J+34L8P5gyfD0I~_K$SrK-+qj|yW7`rcK{VrG7wGY%+g@nv?-RPhM*(s`k z`eQ9avPvr^(v6c;nmqpaXR9a&t*+UCsA~v}dJ1wz6+T6>=Y6<(>%*&Q2Q=4b&!isG z9o@hiXu^j-_@TiUW;T%rX0gV5LK0UF~ba-@?gHXPE zpnqb64KmIHVEMQI=Km`nyYD0N@IU={w{g4W&u)OVmgB4P?C0l~VA$PoQZ?CF$aksp zY&)U{{B))sD%))7mo22{{oHXbGeVndDVRo*bSz<6nhO)GGAsv?r6Qu5m%|1v)#vc7 zmef!1Ohsaw^mTv`<36LL!9s7g$As>9OcDz4ib<;BeoS=HuHesJ(gNF2KwN?j<-d$b zf|z(LyIs?~OaOom5RB@!dprWmC#2!C10ahwVkbZWzb(6$yEe-YY_KmeihMqFJM3f% zPv({)zoF%zmW&Mo$3)TAwfuqrYmStcLl$_8iF8iHF{Hbf)(YFYB#?vlW!|8ylO|GF z|L50^*8&^XY#Vrdt&G|t@RtD~SuRzp2|3XaWCWNLZCDFX8^B*hGHTMP6RG=%#!i8x zE6IPaNxib|i;k}uR0prSwGNq;mrJB;9SMlF(EYhIHYi^3p^h8=Y|AOvK(bU7ODPX ze&<(?Qn!rp8~}9i-h~%>0{1WNEV$O#ILMVeZ#<`w;+xT5gMHo~vrQ)XS1I6iq$y0W zdjbE6m6-!R5OprJ@7`qw=K z2-ZDbt9~h+jHo&#TQDL}lShUXa(+^obToKtw2SIMYf=?k@W@)e4aU55s!ElOxj0es zgh8bGh04@2)pQNxHoxrWq9(f|TH{r+PtPqUcvM{y2^JI>69vqQPN!Cbfz3{kK&GlO84=x7b!1tWU3Te+K;h%jM?NKpij9_>C%QvJ!9`MUo6h6# z$cOQ^J;!BCNH?dpcAt?VB}g%jU%KZPMqc$IHCp zmrWUHC?Vg1`id(q-^TFQ<-YrVeFHmwL*C{)7Zy*q^RC~m0Gh%?nR!R+;^xZa%i+}eeb};&ybu7}mT=;M2she)>B{dG>JT-Q#oJV;-fx2Xy z48Gx(n?(<Kh{GZw0;@@-6FUj3^|I+w;+wE_SaiX^qLcM$b zh37XpdV!l(Jg>6T9r2^7X6VOEP5(J$6GwTGCU{GJ{WcN10?Qat#G(g9wE_@gdw}^; zpRK4xcFMDqknR+KM;ukz5=(QT_`B&XrT)z~Ot|j)>!@%2!8)y;wE#CU>TPv;5{=Kt zIgg*jgxUYl#K#_goT`myp5DNz7hmj%DNo+c%Lku&;wdzy+P3E}9M3=h+`&Cce>W6g z_h2x&t&NA^%ru^smTX;jH7hQcK0*nfEtG&+obA_3{gwo%w}(-Y0+Sp7#wvt4h^F%KB0|@Evrv6$Y7BCV^FAb5n$hi_Pl_Ifo z_D7HM`&VAt0IXA|W;?aCbTi(;W5;~}*nm7&J_(H7@dDqsHNXDN2vN5PXPbiZX35Z#Kk8_&9h(uCy z)k=Im>Qn$b156oZ*>Urcrf&}VMxuDDa)*z(640hn0L|d>Os?*A9AOrpa)QW|=o@Jf`GZ35{j+w*d}opv~6V?q|PpOh++J$8{hC!SF5r=Z5mxCpB+AB;TpzpZFuk zt2bm=q$lfW|DsinRJ2sd|4QXKKl)?c`s`L7o9wP4|DHTjShnkt7S(;w1vCf6#8w2K;>B zgG#+H&}w719c2~3lY9$#_FY~}EoQq`>Tl;t6oLMzmn@k>EWp(!xUIDNEa}|BTx2&k z^n3cOdjujT!q1m)WRq`Dw-^(Wav+uC+nf^--!-6pGF7WUe&-zL)|-->n{ zD$msR{jNLSDVLr(Lu~@>X@JKw;2r552Djt%MHg59VlpmLU|!0eFX?>3L7E&t2XO{) zqCyU7R;Q70^p-c=GRDjAbA&=|NVN3Yz$G3j#w-&fn#xeQN z>H1f0yH)z>JhT(9i@>R!?ijy3@0u^MTcvRJB-1k5r%CUk>Gt=?n81qYuDnBTk+E~% z6<1s-O@7F2)a7}&?z-!amSu??S4tA>yPgGT8fAL4mQS*auGr}#8RoLVXJ@K8zD&)g zUbizNHfzyvh-@%S)mimkopi@Zm3Sp(gRcjF*p3u7Pn;*3k-QiKK&AZSrh|#M_7_a} z@a&_HJW?An_~B#ge42(*KKS%6n>eDj;AEVNQm zwsrTMPGTIVW=B*ePEJ!Ht*`yNgTD;`>j0;I=xuN5r?piXo{Qb^E*qeP-@jkVeJFd) zxGoEOLth5Z0;GW+^uNmgwBtiOh^QU3?<8Os{pQx-8%q$MmEwV&j7&OI4xZ&2f__R5 z6Cn@Plkl28e{R3j^gB1+yEt=yO>(Re1?Yo8f#W ztcD`?|3JH}HzM`4cUnVv03qsau_1CVcLYmnE{RqV*k(0>WI#=O)d+wcfC=E8K|j(R z00?SQi(Mc+x%kXtg6KIcB?P^Z)2o(nCee;K89dnrOd25*md}YIK{k|%3IGxq_sWwa zN_<7U6Un%X4xPtoDc}xtuO)m-Pv~QCS^*RgLDBsoZ)-g}*nUl$PIj~8e|Dxc|bML$6rpt}CrgenI)Oxt8g?P>uMG&YE?|+Qc+e zsC8plK=~XjP(`+AGftNz&B!K`vsWFZ!4?`wC}WhQ+M$&Uh85!*jSdk^MGyM`Mi4o0 zP?3M>^Z)JV$a(u_;DF4QNzb3cd`o;lN`6R-@3kQ4NusNc4Z*M1mY5S|4 z=<>MtgC8Ed0M(j&2-p}0oyS6?oeBssb5RP|!w)??5~}0y_IdrDcdI8#IzTAjE$+^d zR9UOu2k!sq#3N@jR}PMgFF8Fxv04_F&GSBg@PmI(Zg|}d{ifNP*&|81RJo%S*-b<- z`Te8(JKiy(iac5VO`br0`>f@fd3gRYKH?nYZ2k7J1!P2D;@S z)TbW(bQ%}*b%TT`fmbXgr@_)N)=xe4RLV^pcWkuybARso0VrWvgiq*izx{0^B8iua z)?t~Kj@^n)4 zRsWpzbQ|}6r7*pDN~f#d_H3VsIP$w4%*63*?j(q3x&hXpm-@26e#ZI3K`*6yq3eA- z0~qS#op-%+@E6nE^`@VH$6foK3Ssq$`fYN`o^_Pd+Lqfs%f7KB_3&!LRSV`Sl}`=DW9Y z9H8>$VCcZeb)^ccI(8uZu{#4$5bL+VF26stft|HO;dXrSx#x@KJdEs5keeZ`@tTV& zS~9Qv<;})9xN<|b74603=Hz3R>&f<-9o(~j4$h+6iO7;PD1L`w_Sa; z{QRb88~|d#n8@By72lxAUcM)Q|L)DE`S^U-jjtVJGvk zM?EnaJ3bCA;H^4BGHe<@_^~l5&**NCP?C6yJ|?l&OBykOob#0gjhh~^+>PJpBibuL zmPn!vcd#W?16&CJ;p|JXgb@9XdxB>5_MPP)a%i1f2TR^^7=^*5k>6?bGy0~qgbInz zIj@$~I7&rh1pTZ5vEx_*g$en(w#PM=a>0ZMK)dk4q=_Ntj$?;K28|+WY#EVCX^L}+ zS}u2#h-4Z&ttmh^Wa6kckA5C4k$_{E3R?cCf_s}5u~VT4o0$M?G8fj-Qn{4EG$s&5 z3D%2V>5t>(OE$djspWn-(g1bgpI{uZOWlww$X-UF_dA~#Y2s&RjZxS{Xe9LT@s^v|#XCCD?7jdd(5 zjo(;qi1F|-I6imWZYM=wq0K7*J&c=R$zkv-mQF_WWCI+?y;NYVSndQFoe252BH3E` z&kRZI6=Pc7ivwH+nX!^_t8r;CImTQ|clno7o38lkSHCjKE7^gZiq_NK=39rRp<*jqZGeS<@OoJ;z%{3Dm%n)wIO$5lGP zn#;wKYcI1ODPlR+`Flw;EL7%f!}gymEl);YK?loE2A!f`E8JvAS&B_sDtgg@MnV>u zzoAcHCpl_M`2KhpOjP3q+M$xke`VLKXd#D(frzsoB*d4~p}U9kB(S7YqpfAMdV&n@ zq$1SSDlhb`!3?$Ihtd%)E-d&`(4q4TL z>T?&uRjl|;Q@X>TcH7WD^u;4wzP!D)bl~SSEopFo<<<=lx>cw^?uY6`kPqDR{>VY2 z+SnDI@pkmU^;ivu!3-#+1qMDpEE2ZhGu zlnvGP^}Y?%y62v2FgOF4^T@5IGt$6!=JTEKAYGsN%;Otic0>KnAk<(dlNs3Di0c5^ z6`R8iHR52K{}E4b;MDu&(MNwrVl!ru-`m>xE5Gs~x&7^LEjIP&kq>?7AB;#3@29t` z^G}t*mG{2q=XS#arL^uQSn2#Fo&A(AU%Yjj)LnL2EFE=V={-O5(<6zzgDQyf!ttCh zncF4<*Jfk{_@1{!U8emQVG=ahcrHB>l|*MNlktb0mDH ze%Hh=-^_aCmV>2da?^n`8=w5z{l6y9WNt9e$;N=GZx-Nvzj`cTvN4|Qv@&b7QMPGp zR3|kuALLMvveGtrKRh{jOw8kHZ^Qrj-oHOU$Y(zP`O%hWEAhp4{GGc$AX+-Poeebf znUQ0tpYbw&aM0hX%};H#|4H9HaQptnjX!^L)63sSOV3|Bz@rdeE2&X z82J}Au<{Jj4s6E{Y&`at-u$MKdurtP+Qt%k^0)5$sC?J!GH2%AC&?N;D($y6!1V{- z{+7DO0lZ(n_wUIoF1%3wyFd8v6uR`leTkQ9h9W^1)Bo7r*$$-bpRhh9`di z>1{keu$6(jT~`142Aq0(y{%&jyaLZk>rONKel1f4@v+7u~Zwn>J&n1Bor7-%am3u5B$v`oHkycu)TgpyL98< z!DC}@f%ahssD`MbV+9f8{G*DVy%EzE!_0?O~2bEelPa_R7};a-{UE zj(*Sv9yLE@`9~et;6c;qXf_f{PgmYN0(L3KjCXq7&l3tb)7q$`^x6Q}o%6B$&Y~@~ zqpbA*$Dunq0?ee^(>q6mok0{Y`;sws36RDkwe)#Zoy%xT7rTrcV+TdHg?&tVv}(aM zX9AqEl9kd~dNgjTe9rhj*Bxicc}vP{zc-O(dPmSDlheLIG2YrFD_b&BJ%)zDh0s z)2spjdVFu@Z|4MW+{kbUeaQiOd;@5H`1ZfHO^6?#`^bv&gh{ub^Bh7ya{G_SCw!4|>TB$rcOC(0I`&k-)$>CSJuLTr z@I$5K&@Kn(t{uD7&C5spZTy{gy=&~WMDH>r-aSRqxKN;o)qt_lGPEe;xr|IeDX7!I zE1Yxs-*xAY5AX-~j-oBPDgeprD*Yygl=BH~ ztao53gC0flv+w!Yk#u`HR0f^)^!GNuYb3tk*Fn(3dF7_GAGIa=hvh)nX|QyE_V@9O z%wU}cz2kj&^2sMBy8FZa42&7m4feq6`uX?%Y(;nA@E!E7xa!IoyxQdJC+_@lnUu(6 z3*vl7(%5_*{Wh8PmUO$?;9KcfknZ7!9vUDPRXz^abq;2ATcd36+fQ!o{hUW=!ttqQ zx7GUn?fNGke6ZVh68EGr11&$c>C=yuF6hJC;L%UfmYFsmz3+joo`-4p0Onbd@??%` ze(|p_YykWx9(+*Ff1Fs*d5^vM=imG1RA=h=cL$Ds^S+Nv)%$VzrW-GZp2@?3zu!E8 zZt)lZMw_br=MR43fIrXIkBSbEwhv9gXjsJxZ9mU``K4lmv_%K<$VBP z^ncy_gWr1KBWUb_EoE~3^UV(a7DpuK=Y5?CjSfh!%#wg zpOcO}-IDz@kpr6dh6e#KudRqsx3Q0JH9sZtV%e>>2ZD`)L!8^zqK^$;!K!F2 z?XM?ViZK*8Q8sIKuTfv~s7&Kyscvj4uEvR+n^PFf?1o^2hUuZCKpQnVjM_>DtdSrl zuXAXOadZ$miu7`7_lOc60?YqM9S1^rJmHS z+HV-$@qF`b-#?b&-MYQKzZB6MJGy%=sRy>n&Xf5@xf~i|ZvW=dSw5NeB=q~`gMOPQ zcfNls=ds5>8$l2?CJ~)BmOr9rI=9;an0IY&eBZQ{{pUQ#*6GvDV_ijk4kMXN=0J>t zJ>JLHTz`Ee#x+uN8k0-U4fgSEB6fC{M@3{0B3b9wkTxvEpK2rW!NHf?Zo73XaoitX z--8c6H0t#Fw3L9<1S`U|b?RNWK#Jx*F1OwKrpWO`*Zd!++sC(h9vbz$Sar0_VVZ2R z=M_Ku!FxZnfqBo$t+x_?(C~OvnS)#pZsot2<%iFprJ+!RC**bz%a?NAbmL8t=Sp_f zT9o=8OiE#B+-+(R$%C7Yt z_NYA#B)ln#RvsCha7;_WiBqFc!gAJ~{l6+kbfMp82MfO&YS`S*MfJ z{3A|lx zip-<~z;eCw-6P-7HB{zo)jS%?@AdJUxYJmh_es?TUb@LGe}4Zzy!Th-+0Q>K-}{Ew z50K@6=h>-Q?Lbry2_Z5iK13P&=Ss)SqUL~}+c#f=hiE=NoCg1VvkRZy0M*kM&%liX z+k0zT<7ttX@~5_!KYwW(^Y47kbrT>a2hB4f%RSjV{PlgI4?Jhp9UCz8*Y5l=`LjHZ z*~haZqUxgql&Yc+RX5q^I2<_oolkyxqsbdb)Rs`Ys{HMrfBm_CCBOZ#e-gWGmTqeO zhe@rs*ZJ+OxBb_w&eHU-{}2Y4}5IUeT}>xihiR5IEQ8SYi6;AsQ70@ zYAsW)C|j+3lAi3Stg952EBd3@wgt#4QF~OxyL!bfi*y@OFXVQCIKS3X!_EUWJEYXF z0XXTD?`G5&b?dp~bCyZkqs@pg$}z1z`UGwa2zE0JFMY+}NXh;PZu!b)BTjh|_eB%b zQ}M-hBRVVFkL14wr3nB)v=dbOwVXGOgky4SmYd?u%a0;@suL?q zwQE7L^R40)`!0>ib-4{WNfzZCYpY;KRc_OekaPn9#tpXXq(h^;Q>Ow+XdRefZ`MBv zOX4XL;FLOP0qBG%sZm}Qs>OHOQBYNI^Y)@-o%<5EBUuFOabsVh*rO)fR&6;8rPIwdMNJ-Ie@AHrN~ECD9xzvD0i?N zD$;j&wtKuA|fZt?#kje5vLjb^BU2 zaM16vOaEtv4yVNv2KP|7Srhx9@){qWn4EB&@$C`O`1Qy8-J%0dRwCywI$6w;53}yMZzmsgt-Xqa#+CR8LUu(T*>9w8Ks<9Uk!p7&@-DVkX1*|NC*@O_l3z zukZ3rp1j?ll}FMcLJQA#sZ@u~fErVjzo@dZwVggasXNxXTlR8ilgxyU>^Dnd^IIm^ zoxRNZZ|CX%_{z(p-xf;-z27c7RdarsTOm~1r0t7Vcq7J1ZIc+;MeCo`O&H-04F}0| zL_4{BU^l#Hw{aRv*T_H@t#?$Ln#^r6o9v+O9*c<8*(P{CBL}{GxfzCP6{JkM?aUw--JvFt8o=W|ayaS%Z@ zbI3`3%jhGCDBOe80{;Vtolx#1?-LJqYh30pzv_yLWO8r|OCd=^h!7vj-lodo*tkt{ zpwaV`edX*~JA3vk`lT1YB)`9bR)6$Ie>^5kFMs{z0ZJTu4xv=NV_A-90VZQ8GNQxl z@Mx}Aor$G`es0L?e;YnTw;^0kpTuIBQUO{lbJ>H|5hAhg(26#+lg@qC-subs+rYiF z9Min;p?TdSl8z%!m0^+-fKg17Z@S^N@^Am$ACB?(`q#fMFTecq_}hSiG1lInbLWmj zWoO62f3!(o#)NU5d=!tU%XCl&<2Kr!(G#`RK`&!06JxAM z2Sl<&?kqh}G1aCV|NZ0&N%$S`b9#+DObLXsU#+w>h}{$(%d$gzgP-z*9qj;AAa_=R zSaJT;QQC&ix5N>O!IRoiam&spGC>;#C{zH;aV-7gd_4vHbb|N+Tp%K){0!JDr5C(e z4%-#y&#nEso{PM6v3yY4p2`kvhJFk*H^x7gOqRcw_ckD7O-G7+gFlqffrh1p0JQM( z3-yM~nPBBo04E{;yfQ{<^M?W}Y_>->l7cs_!P^K%+p$6|D+?LwWaD*E`Tq4NBh4WH zsr&3G!7YqqL@=I;D8{Yb4s5&bxbVUY{kwhhH-EGKi9hit#xB!Z_NC|l&_}{^Qs^Ag z2_o%h)us(ajUqrVeIi??JNe%O&Aro}5GEm|>kE`T?!@_vYURH=FdSurPf!YwEktOp zSjvcbdF!WIB}Q_n)Q4$~j^E@+DBG(nFP2Vg$1_E@Ti>!(>XEfSkvSijGHtc@&s3< zXFr`yYskmZl(iIv<5*L%g#rTjAuVII!xRvG zrBUkj-q(zz>AzI+;o#LsRPXmt!gsVI#?m@ckgw(&!JtOm?~!x2<&KDc`0~3)9(g2r z2>le9#l&{4ot6Hf5S^qDgq}P>zUvWf#Ra~!S-5w$pyZQ}ZU)I;InW{pT@ZH2q#Wet z5jl|G!%p<~{r!91;kx%UmJ{ljK!1LmoWUrj`@zPJ0jE~=vlJcF%Vq5d*8PI4?i8pn znfE+0Uxo8j(X;eC*F2x!w|%}^Z*PT01GVA5puAHPiPB@fo zg6$l-w$ISj&6E9nmt}TR`Fy@*N2oruUuk%25^{o^oGb%}ymQjn>16j$yknBb^9ZVx zy*Mw2^q4mh_KxNJO!I+Fmph-$H#kmEcY8J`cTjFo%=lZvUzpa7LxJ*^w0nK z?Zw%P^2dMt$MV&$eO*q|wdYLo$-aN@t=vVh6p1mIojMiRt%@*_o&?uq zFCFnQw5ro2eUxc7>!_kzIPOUCkdaH#lmdB3cF^_oA&vp)tgXX5vIXD^CcTL0K_Y1Y z4z2f?wqa+FD(a>61d@s?tGWEXCLIAn_D>eU3gxS*aR-AAp2%E4qdWjb-mi6~WkR#|u-J)E+e}6I zOGao^{;j-)K@$L_J@8V1MYN@p$d^74n|8nCzO#)Ivnc_*pl)rT4)@pmD3{2M=I#MS zX+H=cT$K%fA=}D4b?D+Wz`>JwJ`W(aWMhfEVu!Y+g{Ei#z?_!^F4@lkY8_Rhz%S9e zloe0r?rYzm#0CvqCm@O~<_BY$Unqc*{h&j!)Xc}0OB``6+gzZf>SU|^Ttr<(e*nnT za^Ok+dw0;40x$}sJswL)RftzDxwdQ=hodWti%WGPwLJG(w#48M){u*;g)j1a>4c=bY1A>iJ#|}2+h;h zJVf#jK$-g$_DLpw9=yTpbMuCUBN(Oa65F1T<(>aSvJ5Pt|+X}w}pd16z zdLU2jm4RQpt)~*ejPbuZ^(-z2~LFaMh!ys}|7`^HlvTV(hC z#-0XM4&5#yqH_L2Q4jhfP#8)0Hu&UV;g4$LC?+HH7@a^P`L8;OKiLsMr4=m*&-djB zR(a(>wbCv}z6{+=kRlcw5=}utNAaOT>s@ zIwj4EYrr$aJ1hz1(B^6D&W9sGnl=T#X5mU8`eI7RH= z?A(+5)F90=#dH#K5?U`Q-6v98*;H9J=>-;l%f7>TK)pp?Hf&U!l%75A~4J3|uupRTry=+6B|anMZJb;&$zlmD*M0AcKeUT2C3V8Y@7X+fuqorAQ)( z2I|&Md~NJBOVc~6b!t!1ow}o371QISvJ;C*6G%G>(m>O`-f!jmzQPIclv4s9{EWgWJe-(YEo>Rdi5MT?YOm zXM!iEI@!MFD=u^5$McM9liyl}N~={Mp@kRI`S#y08T-KFgXe#cP7V8z5+v~nP2 zSw2sV<$n%Zh5bLOs4&XwqEbs++L>Q>6A2UD>qq7BZka_?LN7anoC~)tCTtdUp?{!9 zM8)}BJ0@pqMztB+revoted$YMvKsw6BL7^fZkAUh$<^sv@ATz|FC#SKgV6@d30>v^ zDjr&T$2-3fxqPtW;@Aa_CdNxnrs0Mw9;+nrm>f?lEQwOl2L0_H!GGePc^YnddGdN|C(^FjKX@kA(2nAQ|)l*WJrc zgU$i)NR{8Y#VB`giIiX8&XDL>m zOmd~&Pn(#yd(vN(2#5)pWSfkgI1=XcHtD&pjz8-G<9f>9NPTDrZP|aKZ|$ID_Woqp zaM>i+lv>?ijWMHc(B!|aMeWd`R>P#F3`aY8J-rX0;?^$7MCnxK{U+u;#Kx?FlK=2U{II5REo~3VH~Z zhqP0o+>Uf&c?V9W$1?t#I750n?}?+SOwbj^R3&n^S-08xslALel(ZD>7ip#0eMq^K zWq#gFcye}d5bX=lU`OTEHTyUEX`4Mf{E2unQPLxr7aMsu6NnFkJF#d<#zj({x$kOvtzZ^W|UANgDQj_W4tY39HH;LBV-EO8*^OQu8uJ8GV z>tlYyn5KAF8O9Hu=vP#UEqf*Etv_adZIbjodp#ouwRDU7J78+qy4hLKs;Amfr)OQ= zd@m$FbNlrqhCJaEPVf7nq<0ED#2q@T(bm?7y2x)sGG({R1Trp$0?0yri|iJop-83J}AjaI_!H25bwyPG!`KXbL7_A4j~ddSAuu+gYJ!q zUi#N~bS3)0A3QpWiddIn^7yr{eQms9?+OC%rR*4(I&8$N?1JM~W_H@2X$bug>#)?xa^A`_ub8=hN=|t*mTj+gX1paKeGcg)#~!J(>ug z80ZC}{j+bslN8mN06=sLzOy_@^Dqa?ZCjbKvP34D=6tc%zD1UGRPeLbe8vX^JSS|2 zHD$&UTO_e#AZR)Toztt9oOjq1fwn=LL9fcT*K!uM?#`C)FI7WbBhKy;MH( z;g66Hrx{S2-xrd3I{!D@9D){ejdZ6M@ij6JL4}D2QQ-he`qYsXIy$*<@BkBVf|n84 zMw@n7@JsTNNSjYy&=xP~16NuB z(2@aBlW@gL2?k9G{S<$LrPC6zVNgNd4!Yd!>Z{@-|^9cuAR9tMj0(If~Qi>zWw_d8yA>s z{Kgh=)lZDR1cFggpv`Lnkl1yYt=^dJz^6sRDM(fVhiJY@nW8Kp*>PnxXFVRNrX$j7 zUOB^I16vVs%^(;wPL~L__RmE5M3F+64@mqe=09>(sI}3rh1Y33$r^#Fh+1or5j#_W zV9~0~MeI#2V02cdmkVw#rWmb5fF<{6pGVHk*6iQ-bFMw;szas3mkmjD5j!8vCV5hV z|E;%SXgf9_gx5YF0uk%ON^rKLl)DVvOyU8}Nc$&RZE4};Xo9wbG+=3bmhF5k7FpWE z9GoG{i)e=#^6B{6Q))g$cj|Mlrdc0PMEH%2$niQR%u6YSR9eRn97C#oybj&z2Rgrq z?0cxD<&d+|?ZFGk(B31z++e-cpEF@{kQ1$V%u@je;9YmKAsatsbvCg+zxrpy=Th|9 zi~o=#_y(lnOAAI)uQ<32tIU~cTMmRVD9W;jzO1Ko+K z%9N=L0jmH{j!~DF+nMlG0HNs=(X5|kC>(#5dSG3v>NT7yWINZ(1WkvO4Rr|}=_dgO zi^bRolntmbhpgWevz~2M&gkhG8fye>COr@yaPI>j_<&sc;O-W^C(;% zL7bHJltr?Ck+a5j&o%5pWE)LeVXXq$XXj@M7?!LlCCQ7JYbh4ZIqd@~M?0+qLtAbW z#r$TlYz-RG;Qu)Bv20@0hw|TYoD#>G)wgD_&suI z9KY0>&Hz`^DFsMq4V_J`PI3$SO&RU|%|SCuhvX76i1GwaaAVBR1HIm_($+V~yX5`! zVL4L_<@|FN*^*D*k`bb5A-SHyW%4q~lVY!kKvTLlnadR?e1dJ8msqTl!-xC8@|haDrazb6wWjLE!YjQknE&j3k$Ozt{%2?E2L{n|XPi zEhSjHa&>&w9NkH%e5X^FNu*yBbOovI+Ez~-*f`bmPHvHca^5>B6GFHe8B2Tm!+85K zS-9m|S@CA;13WPwL8|YG{!Ymt@Tv;Iyn|`iUn*}F22ykdrEEJ%qbI3Ch%O1@+6`Ev|X#NqpypEnt-KfVuJ5+(*i@)@$*z?%@tX;(1jYJ6^li=6FuM)e%r7 zR-|ObK5zh@XDWuw7CX+yYH+i>#v14`mXBoKDaDLlyQq*O!E0SkWItvNl#8yjoOpb6 zOXUDQWm}Py(TyIov3bBGCjq&boY9Nkv}68Hnb6lqPvHJ|RwW%(PV>Lz??vtVKp6c; zI{)?2^E2o_z8CLu58T(jpWWO*=8gaTzt+0i1@!Z$vYjl_6*A*VrO7dD4;mMORe6%z zj&h0)G;fD)njohkFBH@fHvDUH`Lc)XJYKJrPKFCTF}5aI*-O-CWJ{H*wVV^=0`QGY z4xA*Y3!fP1Z{agYg)K+Y*CMl4!cMZ_Gi2&a_zx4{%*4pj5VTHM6N`BYV>>?ZI?U~q zu_O!O3V43}@sG_mGw^~fZCmT7Nj7KvV_$3Y;#yCD5LaT(?yneDxP+j0Gk&wUy@(E z2jW4IHs9`3X!=AwXvKX*MxK;UWQ3m;+tb;15~9r${GXFG$!)rU+v2;B%}5X_ocLGP z3bDU-!nzWTm6Tz_K@$c8e2nkfB9<5E5A?$-;ndaEOURy3t#t}qFJ-8q*@<5HK?cG^ zE^6c}<^rJ)Vm4qlkW>$p;;hJRB5cPnO7~M>)0^3Ju5`C}3@hj$(mkzVu-Y$)R4Jtr zkDF2!gcO5Imo=d*+Kn8boPJAUT~jFcbuL*17=wYCiD5JaKIbv(c+QHs{FddM)?ny~ zv)pGcNvI4!@lzp1b6OQ8Eqc|;G}9z!thNiiz=eYO#G+Vyt=TFp$m7QVZplr2+VnuM zH?bp8xz+OsHef4SZb{32TKFty03qhgAM@@AOPDxdrBWd>1m3V7dwM*{mk@m7#XyTG zV+o_rHiNy;M2i2|@NwlPd#5a&Vh&9g>gDRXm(bL3ht9Y?5{1{yl-0wG}c z8Jy54Fn{m>1e{B@^(vTdi6iKd49b}`{{$0PA>9x*oM$Q>g8u0_&>;y3t|QgtfX`(j zJ8J5ra|Fd5M2p|E#vqCB%;bzM*-dw%m^j}XZAZ2f zGBQ(hQSflqzB-!)-F2QuxZ!C0yX>;3$iojm5^HX$+wtrfPI-)R;;;+nJ7M#w0!8C_ zuawn=oJ-HF<-;fJOWMY{b$iI4gC&1)&?&n0f3($o;5^yiP=60E5Q<;1wSKJK zVFnt*AJ-nJN`Dc*p>L`F(r$_wr?ew}Ha-+%t%Edl(Ifpoxm_iLdnR~^Q@C&ZKj|ud zTP?lCh%>}Xh2rZn=%mfT2MMI^tQ4%ZNy$DH>FXG3%Gi`TMH4AM>Aq2nByKO{JG${n|KcLEO4UlZFg(XtPi^1uyAeRCk38(hL@{>=9S%cnyUlB=% zrtBsJ5U}?224u%zhJTu(j$oXzp243L7W9II+uBCT2gk5wR6qfa(`T!EOB z$m!SIzA1Ry0X~r+=}-zh;(pt&)i{lxa{%r4X}x zL(am#_oXzx9{q-AJH3ka0PIB}Z)>)vh{6Pdm-|^R)UML(dmHVPn{cOwX-?0MXW|#W zcMSY)o}r+f9?*k;xCw?GEUIlqiXJp+E`QtgFVe@%lkM!7Pn+zpi!hBH!%=dxe#75A zHMwlw^&h{c%(wm^p37&I#)@v1V6tY28OulOD4|a&-_d`2$_Ty+D#vJ~zshmm z`yFzCs>P1ygxA{$$9hZ`HB(_~&6ze)to4+YEG=hwe`&&t@4V$>$Noa4Jm^`;IwD18 zbkbMIy1h8U_NCg+5Zg_(GC(xtsQ+E4Q0+YZFaD3Qa*$m66*R2awsE$gAoxN~xwlUl z0R8WdepVg;9bk<-3(Ba5P!$iy_(c~eUadJk^a5}%fv4PNMGLUR-bE#Sgq*H3ubX65 zt0}-m@NKDef?UTbWq=cFlYuE!1ghr!4}S1NbDI!?Y@izyRF8J9oynGkU3#E;G!Zyb zuXlFBSpJ6kmPpH32M|uJ46u};-{3Q8pY{%{2xK);47k+ z(9vMd1pziEwbX%Aejuxk>>Ct}M=&M|*eiH;26|T51Wsxz!z(3o=X`VC`NbmJj2d{FBu4x%HFv36Xn_nhvYYa74%IGCrC!t< z0X@4(^MdqT^v^bd6t9-76zazccC_1Hb`j%9V{OuRzv{}rW=?FoR8x!=^kNKwkU}2w zRZB)IhrlXblBo%OnvpfpAkFbrq#1cWX~Qgzem{9lD}odgidEI028-?>IRRGn3*#pY z9ZuE*taf#p1WQz-eU3QQxV60*malHb8+V ztMAoJdDP4{X!H$GQ|T!qXh&Q%Ms~69Lya&dLAO;nRZ>@I6o#MdDoE*vW6vFo=dIGu4Te3?LHY#a(q>WLRXrB z9Xk;`in-WMChSEF^H-=H`hKx?LZ9{cyGa^OkYDxd3CuC`@fz=X_It-O=$GwyZr{&d z2JLxWQt8U4gj?hkMT8!|i0px4sxeIDNZ+-4vukZ@Tt+dv-3v~W?%dIsJDG9Zj}XlD ze9|7_ka3%zwSqjy>TE}+Df>x>@2=DfyBUIP7Cn9}*^pPwSY~LO>Jj_z#m&V8K*Fpv zm)#ggWW(#oLzG@AEO#6*NeP2?Boj`+dyz{CtE_iK_FSrgb355fmvPec`4@ct=gVV{ zJuV;m&q;#%%VT76!J$AO zVl2-~|3)T;_tSKR9q9zKmX%UCvtbizvoA%q@F*gaaX&KATxtU;H*16MzFwU z0e5n!C!LM#4Ah#6weyiOxMbLZ%Fe9@41j(7v{Hfj2n^;NCXMar9P7?6%JLM(baVp` z@g40~E|?ws%C>n1v=1}8PT{b}X;cmi(QfB|$#p`Z`N`7=W+(saP6c;8nsW@^9DOu+ zg7>^ek_gvRMb=z?KE?kt6VJy%5O~nW$Xpuy58kOUtknfWP%HUA_;gHaNj+A!1nBG( z|DyrZ5MBZZ)>Ar9*IYHTtA}> z)8-)$|HJ?IKa%XyENIR)1o}3j0|dtg?q`s4B^+Q5?2qqtzVOuyn^tQrX@l)8;Ja-V z-Ra-ps}dJCfuBV5H!zMv85qXFOCunD7W}`|F}SG3M$hf|KkJ)G+J4&X zm6Bl@OtrEAxWBknmWkozOxbT}hYY#_`}wx^g9b+6@=2FmGS`0md)m|fl04-pm&)7T z_WL1!`(k&T;$zvK@im)teI?TEJ~^@BIVh9l-L8Q$=SZIC# zu^Imu8%845zcG=U5j4d%PvgEDfdmQw0;Voy7}R{1Hg^bIW58of2#GYftXkC-OvrCs z#RE&+Zp{(8V1Bx}gwzEY$4*eV29&Ng~r082o$zgT!Y+41Zev~G>( zcFU8qj)&x^BVoLCepG%0J%eYD*fx4l{(6iLR`d#(i1!$_96#hpevc3QMkHkfJ}dg- z!oM2E|3V{Zn?tc}zhC#52EC7?;`O%XG`+uaYjn}u?N9#XSgVLaR5yAml)ufWMLK9c6=n2h_Dr#vMoWc+V#y`Q;Cb+!H65%t z+0mrx7p1($m=#3B_RHvRKD!40&w5!j9+0Zw{}@|yUSYRyw=Y~cSkC(lhc8ItFY7i1 zj;ffvl>8z72R$!TsLO&bX1zBl{wMAXIQ~Gyvex9v0o*UZ-|Lo8H zEcJc{pwZ*b9w1WBacT>;S=aw0mzoYtD3kZo4v6fw)D(Hp75d%TYEoMY^Ay40|CBAb zPqtOaxEUCYAie>z0fPrLBde2iVEK|WNSO8g03T|8O&Jii_B?ovx_-VWIk%-=uCbr% z8H@h;Y^ehv%=&lfT+TB?Qevx}~U zbcae?K4#^HXKUYl{+TQ63d)JPxwL9zKoY@WG{_gIRl}Mr`8m7G&()U`tO$$}QD#m{ z9Z@7sgt(hxJS1hDsT9{@I#%~!bbwh2F}k+_xRyXXQv!C!n1M=G_?X8eI@(iS0U2u; zP6ADY)|@zal4IhY(sN2b!BA8}zeONMAqXV5w^s4KeCd*gT&C4ay%_;~Wmu5p;(I&B zOvX^HV?f#H4I=NP5w30AUmZfCTT7aB{6|W%urUt<%sdm`Y(F&YFZ5;(;Y*%X{pRwKi z8*n73i#83g^udI zBrW+OHyDC*X@1-Xlx?;~R`r@kj9a4~zT#oo^RPPnM zsuUdY8dqHWnROL1j;hud$)G%xpzJ&@Z13OCvW*`A;5EjUa9BZk$Uv)-4?f44$+2kh zDQGk3Vsse+Ov~(d+G@!7MxpO1BO=qsx4wmpiW3hH7cMxxug51TCfO+AJOtzTyi(BC z;X6d_Gk2nOqv#&)!1X6735Ciw{gz}WigEE&9MCRk0F4RHEvJFZe7eNFksKIuZm z?sKh|Di%&P!j$MQ_@@VHAYa$Dwlt3GEQ6GWAWM^#zV;f~SHa`US+0xMt@G{A$)Qe-fC6up!tI`3a)16@3(J;x-LgJu(Y8t-&j;eTkJ?5y0 z!?KMT66rGSdtNmSVvp`_3gcof2?@Zi8e84l>c z8h936^=)^8`4WSbLC2!W)tRZJVTL#1)+sXa?f>gruo!1NCQz11iF9`|y{*(I&pnJv zQR-!?KG8-Ynr&$`Q3^m|?!GLTr5BP*l}?8Lgp0RDs?aYra-MXO;AxAzhlZj#l}KuY zwqJ7)lGggmPBxTLVnP5&uA=qQ661cAQ!ytZ}hVR zIUj(`)He2#_~17pB0FcPo}mBot)hv>SBa>L7 z_gTi~J?V324bE$&z%5Ov8BGFtz*ouV{gkV_#x;|jlZXOsI3XD z0rREnqa|?#XGu(&&XS}@Dg71yI-k-wz%lE8qIcbKo6=fUu$*L~cDf)AY1D)1Y5^-I z)^QSgTB~8xADuk3_1*bDV9L4EivjEKM+VHS+5&xpqPK=u?NR}VR;Zfb<)XBSzpNcn zf&>{BFtZmuKAjDYGuBrFxk^q5U%-6^f5K@sTF9#P72A$ZM+*30oDzKF=Tz=}qWhel;-HD7OVI&2h>)Ia=8TW2+5nan1S9=OpQHp*mtp^nrR% zT=@Tzvva9hQ40n3YTZi)JDv^^99>s>sU=aT$k$wRz1KP=5J4?Ntudxyt?f7n7-3z` z{DeTAg|Z_cRy-#mm%}O7vcsSQ*Qh%M0Y0;FHXNRxpDTPC)R;=n4<3XZnf)KuL@IA* za@t*rcSBY|Pa(KDU|(YY8G=}IDDav&jZJwK{GUDx^M4ej&$X#N=EaJXVa3~eQ+I+c z&nobs^YZzwo_?412(OVwf%??nWZPkjZoarjO|=EVrZwpLFte|4avjT5(K^u%_2LFn zaEJhJ!<+PugC*kmte59#`WU-uaDt&rA6WVC5!KKOUnZYz!Q#FO*$QGJ?i3p zd<$+r@x;f2j{{AsH62UpD6_2qE96oJL!|g`uUmYx4;+h^AtMO#5bxw}f^M96Uk4+Vh2653%{Q!XT< znq}QN*v{bpv!!Io%+75l0{cV~d|;L`_Dr+-U*ausRq{SN*y%Xn41f8503CLSNJ;a0 zMx+@kmexnfYtkc(Dr>f{gv`#_ccq`oE46DlG$|bYwg*$RPQfF{D_TdRN=i1tCdo87 zRCb-zD%50PP)I7rCareHODfSa405Q3Eg_Oh31Gqw2@JIyQW&|`##6xp?-ty;5l2GU z=P6jwAg)zP8i@z5ytV^HFAc;`Z$G4jmn0p~e3v$SCjke#=9suu>B?JWe`S=l#AVS^ zT$O?ifwbftYJ8A~CLBu3GuMV-!*~!5jK|`LbqB4x|%J^*P^IitV0o8<~-3cqaq9&6r>sYAQ$8yR$|FEA`GtvCs z0)`@4PiGHe%4nm{7=Ar1@B82t+%Ge7S zQ9lR+S@9~e2WCH(4&dr@)R}nz8DzEgZOa(x>MUj*GR7=Q|60$K8TQLZKKfC)?9!)r z))pLU3TDOB=;c;9I7=3|Us{$MB&|C}RMUxc(|qF}{Cfxo9N8##f-69)2b?@--tU2G z2xW%d{Ne%8e359eMypN7Z{TFsW2ahekS(f3GaQuUtT$xT@N>NGlRhKx6G0mjcIqP# zQjwq7mZTCv2GnEfvInwbWYb(YTR!KXJNLb`EF;yr~#Nq9!u<-+cb4iv`NgI#_0@ z)5H*nT4p`Etosx)#Z0OQIq5zGoso<-`5y#g61C}&MdtJ|vaZg~DkJNuPkpNV+56w` zW7J|wQhCT@jf_Kox!|7}%`KIi|+1`VS^NoPeJx71MPx`YIY<7^mIa^8E*k3H~>!t-g zO4C<&9C zP2LCb7E@>_Q0+Jz$cDu%jR$J3WH6O6!SgNyp(d%jMI%#3*<=eqtQZgspQL9cFrJQcNzj1m*10+yFaWrPvy2OA7|< zt~Iviv4P39dpagc{23rvh-GEG3lvG=L4=({r9UU&lzqU9uR0B`xGrEei$d`#ta;@VoZR=8VuYN^19OM7rpRUC)bQ(30#&dX^HGA1Fvw_x4_CM|gVX<|D^c z1K0}|a-enpl1cwNdbZ#bal*2wb)E+)B<|#l>FP%cdi+6A2;WJ zT6`}=``QLC`JoM-({xDS3Ok7@H(mNgDpvK z7)uC8$p^Yazvj4_0#g%Ts(abP@G&1svW%XcR62Gih=863$Y}^t5f<=`_mL&^^;hZcWkDh2wbiSz`ywY~f6;^2j5efigT14m`=ysYdCCRRPs)wVlEQnBMeAS>`XA=h*!ckKMiIl$Pe0XBPXa%cugWj3R+A_2jO25yi zmz=XTD0K%h#*^JF))bz63LsKDxupo}%4KG0G2b|ST7O3C*`kj!RDE^Ur1PF*1+F7u zAw^FeuE1sVJ7%*;8GFb&$$zPoX$+rOYd3F!9!wffW#Bbomky)s`3i5%7?-t9+)LvL zK~`B``y&UKVU~Usy>XHDQU)pWb3E>+cn*d!K`Mm(&i_I5%9sd2oQEnHo*l|B{%(k%GS=2So z7u~%H62hBmTi2ou3g(vmBrM_+W>GrvhNxx7rpLHry;Lt7Afu0|N=gUqVCZvG+5e<^ zOe0+e5L6~@+z=1PLy*&;-apYV?$RLvx7#n03SJ zh<5b&FIGvEb$+Z_LlS`G9{aV||9X;nh##UY+4EDWLgvj@R;${BW;`a^TU$an4b%BC z2}e;#KkY!1ww*;wmzO-o6~UzTw6=aSTSWb@-_H}8qVb}g3N4Pk7ty}OnR!Q*WObJ@ zg?k16E9lUIpE*N<`5SAG?N#Xj#JX0|Wes^sG#~!P*sjuo|HwkZHmg;n0wq2#3uh{h zq(9=B2*#Kf{B_6Ix0|4?D&YF~$3HF?KJmmT=B`}3%AF$GI<~`GIm_{O-g-8e2S8w0 zAdmsPMop{3A&DxBqGQ#<$%;S;#BkarGuX414RBbixPI2%lpa(ARlsq^_D0xL>5T69 zvMxnt*L-GX|EXq1MU$hzjdYs8kK^lVbONVDEuu3o4*_|ETBW(IaAxFDMx;UiRCY-4 zaBNNMvIkqDbk^-Mf+u)cHHw#896GR;ebQDqV9eype!^nWq$T{mh0#(phRB%s9vLM* zzaaD|D!tD#-0Ly(;zEhP;?v_Gc%p|DLD+jK8~U-T^Ex14oHDHfhrrvO|Hq@Kxy3so zP|wL_tz}>ngH;xh2@V$kU4jX4AAvP8qg|#%nW!bUSI)Y4vE2;oJA9?HsCniYmt%XV z%B4?!vONB=kICbYKOQ=BNtw(F4lfvM&Xth|UWo8)BHhS`9)AyqUbC>XTi9buaaHMM z@PCEK5R~=#kv@#9#-vNB&zbQV_?8`Qbsb)FIOcy#c_=9(rL|4_K#DJrotWEDwYEIUk)x&~DLc7#^Dor=wsuw!-vd;n@QQ~E(OtD(?wmRM1ErTn5hkhtMoAO%- z*H)|;GbTDBnJ=Y&cP5DQ*iJs}K&?xq&u8TN<5S>@s=+@J+!OxJ4gMb4G-dsn~+2Ak&m zU{EE^nwG$dEuol43UY!GfnIi|n6r(ZnTnJ^E9j*QH?!bFNxVYgwz-ml$26_P|6%X#F8D4wi#j5#1 zyR&gFB=?|Hz?5Rgc-w)0{JYVAiN`UoeFyY8X~jekbV=ELik3`>x3Cl@9I(xWK1FlH z9(yUhTh`=BmOWUv{M{st^lGm}4_Xcy4CJ&`MB1Xo7|a???rGP1dd!K(-%@{ozjx>$ zx+o_>2{fX+C1tk>*(OWO7tXE+2sGu*8Udtb>2i_nB&`1|-Y#Y5)k_b_8bkiPOVIjGYco;XwEebIQu9?Ips& z87aO{HDo!(lGIi`ugO$41GZ10eiS*oCS(J7F>Htkv*{?R(AxAz9)9El({aVgTBBx5 zZf6UeS#S0uJeBe8Uz`cM*2TBf9gf5$tRLq@z4iochRb+b zwLvzI8VL=l)Ibhg^dNzRfR3lu3MMI(H^UJegJiE&%E(RS6@AucP2w*HKbU5LlTt!X zSvgAqs;&Qm%^*}EXqJ>%u^^hzF}^1A094D_#X?o&-UyCKP$7WQNw%(dDPNpeM|T38 z39*{w!gB-F_EX}4$X!F>fWa`O&Q`|(q5Pjp8s)3-+bIlqilW&m2GzM@T#kyh!zm;s zF6AoZ8@xdB_>L3(vRLa53OF-0jtc0$b922NET=5)F9kO(mUz7@e{cvV);XJF{v9It;pN&x^LF2_fyS3dxB0xl)#`h9n3ZVW@J0F1HG~?Wr^Z2@YNl zYtT7QvP4#bE#b6s(%Wx)Sgg}EftWWqh!1#k-E230EDdO_6yzQUG)_DNr>YEb?ew9% z<^{_U|4K=Ya`Lsw_akx=Ig$k($laY#CrbEDdW%~|oLC&Gon*LctohDx;WcrYDsnMM zbDjbiME0$fsHgb+xIf*?1d*NL%TU_B|t=zocJmi7%YmN<~N?oY|M}H+G;J(LSIQ76zMySZ^HO>a zbyO@Xq?hc#HZEBWFxEUt>13kxIw5i7m3f$FWI1^~ma{CHK3@{f?V|{e7-(tsw9*N=)3J_I;^-x@c^?*i`Kf{9 z3E#FTxmBq1w?^^(xWCl4ngQRmI&mtZYGyx8B9~fk6XH99IcR&GXVKb> zR1^oUBIrO_M;Snb-VL3!M)q2+=~CP9*29`MU-GgdpqgS*Qb;tNq?O?zlJ=DrZ)adE z3lV=Z>>s@*w)|lq7fd5x7jP7_9LlCj}-`5wVzxMnOv?6;AFc<$X zAwSA5A>R`cHF3i7Kk;re;5+#r>)z->v86e~&hz<$MIE|`46N4qAN~^hn{|=n1i~~- zRi#chge>UQ1R^gc+@e39R2N zxRz+_#zg|49n;K=IbTu``}Vk^EGW%KI*ujj^5}UVvxHZ|SOAE|mOKbdZ7oPK*m~4E z0%C+Ish}EZ!xPW#ul$vcZC!bL;rJJkB*wQp45j#mU{@}tZSls2%0g>mkY77h8gp`a z2qgsO@J_LwmsEBlCc7|*z%Z&aZ={U*{n4wmw%;LMH(-pvI_;C;}9;i=!PA(a^g+}OubphXa%0~f*ciT^b6&yytLWg znp|!2%n&{8U-eb}NbAeGXb3#EdFhEETStC#QEhFI5mEH2wI(~A zm+~tJ3v`w0OtrIin;?DPFNc9n>w&~+>bjCQxwMJ<-Kv|lHGym?TGt~nRW=zqUkEVt z35OK=lU{noFmUqraygApk*s-x7FiR=BA}8W1aINRjX+mM^2Ay^oWaHEl*K+6TZQW) z&GEB7(c0}0=)x%6y^?K^4i077Bn`Tfn~oO;1bq~*CuO8hM(`lzsN02(I%ENX?aZv; z);g-39CeLMim`o}BcD!8Ibndt;g2O&w`tatk zj@ma*e$tcld^)t6FOG{A$|eMlC}ouy1t-v6WVbV+8H0X*oaD&cS@yEVhoa!y_V0XV z^3@n4K)1x2&zfjDPZ~`9u#is1wyDu;?pE_c>*njBjXzW>Bg`sDB^Bhc%*L7XjXFj7 z0w&fPr&;1&o;2shmX))%vS7DJ28u$sr7bp|$^L|RVqNq3T)Uu4IN57#r?qv>qWkMw z{tXUSNWDum16-_!p4X51aFZ6#ND~zeXL*@`RhOl|%*}1HW;19Zf%D3G@r;|qJ>ZXZ zhToU`w(bkr(6+GCsCkY96#OX!gPdQ?fCfb}R$t8DxqS7^jIk%wP%l zKrb^Oc;;cBq#@M`5`zCtT8$(FZLVturGf`2BT?FX-A-U#=^1Nh=gTPGt{?p1hvf0c zKSmk1T*zIj6WhOpF*+?X?>fzz^xDqxoAZAZ;TMSG(nFGVYRL|B{DjI39G-b*-_%`k zfZ*hRvE-MOAE+akHk*Q<4d2ry355-NBM!C{1ZP24?WDz}*XBZIG7dw5ug~=nr}SFN z3u73Th2<$;F`=ebTY&hpCLfgk=r544EjYIb#`<8)S$YPbX z#i9?N@jTmUOh+UzEE>$VR^tj0IdxebBqJ7bYM!+`OUG+8QmG@Hf`PTaZIwOo3t*Hy zNv_7U!cWu@Q-(dKTY@A(T^Sxjvhn#W2f1nyxdB3!b4@sqU~!FZO0 zzUV0hsdG0$&{13Ahg!!D*Z2ci=pM~p2m^qvaLTlTZk-oy{Nfws<+pry-hSwzhve_w z{0%|l^Yu}qNv8Sa1+m5#LNWn!`geEzyEeu*Y-2DjTARD>XP@$=sGOu8wY7_UG7;vG z>{-*vg8<^%3w?aq&AqPRFNWVriE~d!;$=s*$Mh;k@U)h(u6j!0m^A^C{HQ&Y0t(9Y zRmyy$F@EH>ACv2@zdoP*#oO=L{=F&2=g~XFb#Sls#h_{MqdmY~b6`1&IkPj)L)U3h z1WD5a2u5{`|Jq%@m7gEp==7U!{zk%sb{&Qv&~44QP3cpuDex{S);0OYaYyas7+rV| z)H%k4r=};yWQ6HSxQH&Kw>AD{=@aVcfCda#ce;)bdXO-2_H3T z*KLf2{`qKK8_RcuDbp^|MXApi8?fw<#d2I5`&$}nh3_4HwB$q)sva+h?VjU%xYg_& z^eN0NREWL?$fL@)|9!y=o-fb&+tsJ!kCKPOMW>dM65Prmji7U8du6U|^{E3gx-xyv^Ogqf1yRyTe&kb24R@pAVmp|`WNuZIr zBHCrKJAkUbrwnyo}8Q3tR?X~{km^0>f7^fR*1Xm9S*}s52^UR;wAp+EJgtH($=zWZHRz;@) z-w1$NBphZyG=e#ReenMXM3gg+AW#Ip6+v8`q(4vVgS0TmOB}913N#662KWva<|(Es zNo&$-Zp1IMyX2+z)??0DHMeTIyqWFml!0E0Y&@EQG|hD|JD5ch-V$}lqIm^vp zMIbAl_c^acN6X~v&i^?li+=}SD3h4 z4n@2v5Y~sKR7X5=E{sKAqwg8zD)87oEvAsfRpHYEWkN;~=zp-KDa?QbAq`v&7*OAV z170C^1t>K#^rq6#VumD$_|Ht?!y-vH9Bb?vC%eH12w%`2|0SkX>1(1yKq#KC7?Tag zO0}$cTJWNC=?;8JcY6q>6z zE~>vJAq({;H*d}o1kz)VJ|=g*`OSpmaOmR(8##c@3#)?;0b>s_8I5^lZ~+$WIARPk zGjB$n;KZI8B$g`d2Z8N@ENqo5XV>}C4FLlkYX7|;h|t_=8PYH$thBbffA#9C<@qwH-ETR1u4AD1 zy8<54=(3GIr^4`7s~+?$fs|Vjj10V^OLqfF&O<^0?*QICT}HM@QF?O@&}lw|HO2fP z!pity16_n24a?^d&P#r6Yu~{>B4GW`yl1C+JZh5iMryZ0>DS#5iCXC|T%e2W#6neH zCx9$PCL(r{hLmt7N|G@7!1XBBjSa<}iaCh^enC+DFBvZkts<^ZL^!B~z{%02^bE-f zK>y5Zua(b!-scKN_=9`iChvLRffLYKlMB^HH^Nf%rwY-|fO}!PGx`YVeB{)e+Gm0# zk!(h5Dk-bH==+||EBO0=`-(4<8^8QZ;texpDccY(>|Y{*&AolGYTY}X=Ax&!te#1 z%%I5z=La5n#IAh$r|HPz8i9l1U>{~+K<8GY3l|R4vAl3ta|};@vF30s5wtlwI}0MN ztR-tSF`Ys4IYa)Bx>zWDFD)oG*U3^^3j!Q77_$9-KDHxdD4(`u;s=xW2;YqJKLu{1gG&x_m~&5hy2SeSfOX(m&_m$bgPn$BI$>u zonw+gqZ%{OTDCygv1x_{okq5gtQXcQb7GeDm7K0aMh?85od=Ffe;yEwj5#H3^OixF z1i_!4DYgCYe4E0d^NEOWiPAvs8mWBa6h%G5cD-Gp?l|dkPHin)V`SrGu<&d;`Ks*1 zLoS~!zP(M8=K@C@XaEU24RD4b+YpeuZk8{h4#SHv(v{!=4$|h@P2HryOPX0SGaz>6 z9x&UlByZ1<%@;aT$!4pXdJvOydvEZ5oI1MwebObDOi17V{`Xhb58zs=h8^hM`A3ph zfwZyo;Q!LqsNq%X6f73W@DwDo(xJQ!R!F;(@Z4wf;sijR-Zz-45d#-}kCKrAC zqzS(;#{b6u&*A_F_U8u(*j<}?YSgV;stu2k0lQpzA=ry9pivDr;zjJV;~=9P*-}T3 zVf^j)a~OmzXrKsmNCHqyD``Yl1U3E+IkQxI#o*v|E#`oLR<-h#wf8K{$8ut$isWG`I0 zU@t?|=9_89tM_up?dAb2y0Y((87ikQC}X2Gd5`ca)+HDRRRAXkrKw@{35iH2OCAL+ zE@E(-?w!91Vrt{p!eiZ6hz03bcSU&lWtYoKiB9jo?|ym9U3aHkYR)~&E1E6K1WXfO zave${WCOfm=6NNpfrfQ2aTNm*kk^KUZ8ri~N{gl?lnUNrsK$Yr5FOC4}xzoG0+Y)QmBwP|4F_otIOWlN{ZPage z;am1U>xR!g28rg9a@P2ST#}C=$MK+l%;25IQYPR^R9Ic31qUtJ>^WxrTk$D$py z87H3E^i3AY;_&g`{SqkVW0`Sab^=LbnE6&+4m5Mg%#ng4UN{9FvKaeHFthweKM10Q zn8fL3(X7!996kt_3L2NA4gPkAb5X|E+z}D7Y|QCHAO5hOUve%_deS9Zkm|w~yz*1Z zRy}yO#Ok3C9GD`QyNKHz`}Cj&bQ1cT zzhgVpS~>_@LYD|iVN2*nUs!9v58iPZ={Hs5#6Zyqv_#t52zJJN({7)qDIQ2a%FKpg z{?A}a*zukOAeEitL@%&a_Hqoh-F$oLnWmkRhJz#ywF$FH+#b}zcIy~_;P))+U3pD9 z|L%XEcE!{5Lm&BYWf;X!`JL@pDLSjH!78YZntbpz$9P;<(c4U#SD-?GgLoUay@yD< zUfCwo(xEH;#(K%uw9&W3sf~*DL8gvf5?7g2pEy^R`;7oe1GTJ-~YwX>NXtUKkk#qeH%fR^j94d_mRQ|Igwj ziBn9$w>Et)1$*hs=41s$Y)xwHRI#cMc7Y|WV7`vx_Oa}YasB%-PAn-Ph&^|ge9 z2^s8KL7xcDL`~{s;<>#}rH(<|{dFQKGiHf?=i&xJDzhpe27*<|P>6XMp?EAXze#bS zB}*s@?6zz36$)@b*b5s_<%pX~b5=kYK_~5UzSYc{vC{SVJ&imoLYYFwq;@`~Agn>m zlXZ?RkM2eWPbwV!u#;79aYKscdl+xmf6TbF>IcAy4mgK@lLls+>#MN3#4w8xb=kpGN}x@H}ekTsbkZGDpzS>H;BMY8+T z&}ejE{9Gzvjo+;64%S(Avd29s_ZBIGu#gt*Eyt{_cuKG-!CFp6$}i);eeBNXtNd4g z<*&$p^=W^FWP!>Z|N7s^qaXd~ENHw&R@T@~hf!8PrO#Iu!J{BZ)U0vzIqyE>+G`rh ze(4Qw9N9m$rrZA>d-PF(&Ij)C!mE6lLO9bL5RJmdM#enq$569IFIAUloNQ>viOGsB zRT9qKN-#+AdffT5Xkr%#UE%)cFS!I_YpW9QMW%POQ>% zvnYN$v9U50aJ}z+e=MK2(ZCZ=d}3>Q!GkV~*BP32#{BH|+qx^XEUZIok;*2HIz6CU z)QuU?jhaFuU<4Xo=e99P`0yi{6>cHwYqC_3Nv>Jng*YB=<1AA#+E$W+7=5G=i>s+2it3V6SJ-L>?gpDu{CZ?CkM=!a8X|+aBAyd2x+C@6}91^gd7$sixG&@-WKg)qMC2C zD#u4tiOnmWP+!pu1n90;VBgAdB;JwGR&8xsrf<%r@Ti%2ymaGL_Cr!&5v}5T8lX6( zLFLH6*V0XGEnx#1HBQyJBc{Y(PQgD-=9MTcC=}U_HZE)$EegLaCmU6;y{YCb%@}V& zlKY`cvvf5i_R<>|e~CAvLV*q_@kyr<49mG|GcYqSkua5mu^(*U$hZ1UwVKds6!!z| zO`PuLY(jz}wg$%2ZfF#B2?wF3qB4fh@thfaTF~Bq-+l7quX$}oyob{g8n60}^-n{g z;hlc3N8~6tB+}?GX*slBzGdfUcF)7`ip7cNtYA$zDU&aGQ>#DMbi0|D^Z;jdfoD>w zGGQZH&0@R}y$Dk?g94@71{4uC3)(4A`<`?sV~#F8aYvgtsGz=@f#c$iEQSa)? ztKO15Jvg>p8LhPv>~@StobU?PA<;%RETQr~t^W=svzKf1*J=U*OFf_RKHS|6M{KHdImILbh4H^cJ4SW;bG3c1LO*Z zjBzU-7bPus`p4uWAO5iXjlcdkw!a_oqS9MXXJ%o=>2()k+nF7V#1+=Vv57Uw;K)*p z0Vj535Y0JSY=O#C)NIyY85tpB$RzOlWox16dez|=Q){(%0(Wr85K!^4Y8zDCGh~8U z*aK39leKiPWlVE8|HJ*yElBhCbvpI6V{ilpB4B8eIM5)->9l6xMrUT0R>`ECXRhPf z;&qcy+bo>!(W`F>s(@k^F9*)C9%iABRG{ZsJuE?Q6BeS)`OFN89HiMa+jV|^t`|1` zch*=WPhiyY8QeGFQ|M~Pg)$vYL#K3p1>+)+yAZv3FxhljwAmP{wdMl;*Jjt$dtwjx ztP!lq%r*-o1uc|~zO3*7a`#&IDmR`J^U-%0G zKW2va8VcG350~OW<=rUO8YY5?d>iwqc6^$IZy8t=PbQ#wt>xi*S%D z=}XcaWbr6MyU>(sOxcMzPmU!~14}~KS{heUjE|9~F5KIekwIfcbQAYhlW4^x&9|oI z?`$=h_c!T9rTHyrn}HO}FWzEE8vk0xFyKstcH@?_3qUlW)RDR5Fwp&&+nVrfH3 zx2v|I(c;BT2m<^99J0ZONT}na96upLPip!CXkf5a$PIOV&~bdGd&n>HAy+A0r|ovY zL)3+8#yn_2h~QL&g91?STwiBt1YU&MFsoz?xmL~jYtAL;Mwa7+2;>*OQQ#eGyX0S0 zPEkG4NrFm_lh|(VF;i7?0Hr`$zhHPA^i69*bT;3n3Y{c1uEqP}-!tH76$C3IMFg!| zF2gPj)jBR4jRB7QUNSoMV(KZCJ($S0t@}G%nl!w4zkSU?TM0ux%ed*| z5|O9OUwAz(*0ga(jl)i5>Rvk`2SScO?!NcI2Wy+25fWqMqW4mqQI^}G$szEPgJAH+ z{`rXi+oVojOfOi!nsd=H%OI=R%%RxoglHfg=dNl04fx_jD5kk|EGR1n+nf-5S(+0l@tmjP zXCTm|InW>c(1+zCAN|P8#`xrgv5oK`cD9Xq7y+^fCLHj0B}csqs-MNyHUuBAUZ~R* zFwdaJ8M0(}`&IDs+-Qb?;wpiUIPuH-)~fU37i@9_QhF^LZ*#~kVSb%OhE?(TlJ?|S zzg0ZAbrudc?4b)Q1&#vtvve{+G9{1Wl(S%OE7puQj-Lwjf_^3DgAx}W?DT*lPGi2{ zr(&wxStKf09w`Nh@tc6gH1Q{gs*UBic6yohs6t;?;MnED`FRxL4|>Y&tz-Dn-&xcd z!aBv69;lR=akrojm2`Vx*2anj%OnY>jVzL$;xs0g+lY5MY6f~la~tH8mws|5_&#{g zt!`wt@it_$-2PgDPSMQTOCL?Eme&kcXv#Cs>RNqkZrl1Q#s8Vr!~CE2gi`QYlhmq? zpH7_PblycOSmkxE&S%!)2(*vWN1yuCr^-A3r+1|;HqynVj6q>SGTZ4Px0GreNukm* z22E%ivANvd35sP-C zIkRvb=czui#T9s;H34~Rq{xwtEo57*##V7ifP;g069(ETi0iu#`%4R=CcCnNZ4)aFyzY+vn1|u$8 zc%BwG)+6RhSRh=B)_e{s0fB)91aIa569*6#&!`Z#fy@%VVR7Xeh;+k;4f)iYSL;#+o6*VDOxo9QF#orZ_C~0vEJ24stsix4i*zR@eQp&(eh@em+V!i@S z>+s|=GijfMif9RAoG@gF{wu+}qop)3MMQc)O~60UAo*NZ`fJvR@EUJme(-|DoJ?G- znX>a*uy7IHRGKwV7t--8wMaUUz^BF*3GK*_zuNCN0jRBg7u@~1riVx%RwJf==80pF zmK=xstiH3Yoqj$U+aPl-*0*Rx$?&+?rNo*kZ*=z#Boqj@*~0^;IOVt~iM!THI2c>c zS^@!i&SIks$C4SrFiG2n30eJK@=9XO`rO1Qctt#Y8fm3J@JRO07Cn7G9mkQ=KHL?Bhb}S55M*qOxA;r&$wDzv|FGz?!46;EpRQ zMqF|9Mz^9;Y_og0eQ$T zCmo-aAv9~oLNI128!nA z7B`0>6I(Fn+O7w>Uv@GyY)}QgOnBx#qAk!fP5S}cCFf_F@{VMvg?w~UNBtYZYt#mV zz8$o;1tc_W1FLzYGr82(poQe<U3j0v?y(J4^ko<%GsM&F#5C=cqdsJY%WHM>fu3 zErn=AqZ->VBOoE7&4!rxf_^|iSIP!PV5ATu86By?w5Hkz9Xejll8*`bMXxIL zdwj;a13x2kX7c}1fhF+52zq2796S-iec@nd(CI>%bf94&xp)>Y2hv+2S>t@RrYw=j z&YQuwc!A)2au(YmoerP;g=`Vc6Cmrv)QD1886!LCr~b;p;sfzLo<7HikrlNn znN|_iTg!Zva?&;XwjdOo3@Cdfj_<%*YH>vIq?BKqr$5`a9>%j-H!BsCloAbvF#GfR za#Z`7jYp=ORE`O>Y89h!I8yPR- z#0Or~h6h!`c-~B)uDa?Pwcx!7hEG+k$;fAs&Mn9w7 zn4=%Ht+T-HgWKEtk8W`BHq~Wgm zV~;&5_uu#Sq^G>B@GlV1*0)z`14M#eeJ(|30Z$gJjJI%BbHjXLm>G3D?u|@aPymOj zIDqUzDBkudf?te3&7)*95G+bC7J~PIq>%7(auH^mqLs1E*Iawe#xGaTejk18F?o2S z>j$~gN~nb{q+gXkROk1{51|aU{>A*KF%DYT}H0L)MJiH}81+J8CT$HJ)~ubHI#obIkSfO};#H>kmiY zkN)2C;CrUrXuy(D2pme1jLInj&^;dF`@(uKz`5+Q%jG#kZiT#mc%!%XJn-Ozr>%#| zMR2^o?8soNHSXUT-_O|O)hJRvo*nXP@Y2YB;z2b4F*2H%2U21<`sK2XN3Y!Y^O?`O zCUN}8oZkbvt_Z;JcQ(dKZWTQy7Omr_)F|;%z&CWsXFm73Y(L<5*Zptrq>5D~gjwkF z35%V^_Yv>Wd>p;y^p0Ckzw#=1_67_1X~6Pu@RSzeCY|(v9uFjyB}IGJe#?MD}nPd)s&yyHLK=co0p<&Xw# zDeOYe(5a%h<46)gaem+ z>)2Y-Av+xKVmbPVEn3)eC2({MC$j0xmKk+(d}oZ~>0qcKI#)VqPV(6bdN>Tey=i0) z#n!#BQ{Cw_vMYiz%qplLRV<#feK4LFz0{SNsWoZv;04Uhw;%2uyujBP>2qv-Tw$Y- zk_bi{ea{T0v3<9)cqaIVgJyR z9e3joRXza2)~ZLxBGI=ku0#hJOjE887Rbo}m3s7LW~*szEA?Qow2NK@G<`p7b#2H# z&{i^8dnTn~t8n0b2Ckf^Y;5zMxK}U8Gz+<(pHCjYVw0!u`{Vav&WS?{n;oc|nTtx+ zpOPg*vJNbZpicP=u(6P(8#V%EazS5PtRJ%E@Z5@10L`gp7>`+ljrfnQ&l*tAw@Dg|OX# zz6U-ItMG~JGP3LN+z8TwCL~Dni~{>ky@7h8^#uxwu1ZJ*d~q*rMD5nOw5PJ?#BF|D zO4h=+gngEFn$X4ieY73)bJdl9t@%<)LJb41;;C9ygq;oE&cLSKx-J6cMF=BWnGkBS z47lM|tVT1qg}RH!5v;*9Scu{7MA#A!^0wm& zoK6#nQrIEg!8-8xtj*DR*|&Y`7NDshTcJWHoWtS2uZbbZS$-@VQG#+>LE zzwk@u@7G^{o!oTuP4h4MyyFdb$n6`PR1__Hx_)!4#|d{FpyTVFd+wFjzwY%DmOdSw zIDh#DhX?_t`-yjC+ErIG+K@k!r7J zvVUs?0mz0NIN|TS%Sp?|EpVH|K|4k{VjLBMSlFY*Cq@vzxCzv{2O1; zum_x%$kLqE`25=2Zj;}>`?s55|E;_JUBR%?)i>V!4KuL$l`sBEdGSkLJRM}+<9KWL z#tpv%rhd_6X^b)UWtU$zdF4fa=fx2K?bl;laO~c<-m~?4hdli7Bb_QJurXjCbo<}l z_Ue50w>NtEiH%+gijrgXyvlFf^;_BI?Hi4J-!0#pFn`@fQ(s4?4*us{zqsMxO@n7J zPiB8PP42e){uP@%8tXV@(q43p?;{ZL>v#UzoMV&0)cM!m^iug+g8ln%{a$(dCLi{F z{m5-Ux&_IeoA=-sXBo%HMRj#i^}6`|nq7wEaz+ z{2Bo{U+d1_zq8TJFKu#m(9u78&5y~muPduJnrn{W7<~PQn|}DYpZ?kH<;!EF|NXjE*ckNDC#r0L& zdVj&Da}YG$U!%^`Z*KfF@v_&!JN@aGmHuz5uTrYR<{Atfe989jV)E?|-+Hh7%I&{6 zZ2@-0ur6P9)7NhBJAQ`@o;6Iy30qcMwJHeUpZ~*Ken)=lwx39Yy@Fv>*G4>m@kN`R z^6jzCeQArM}GLW|2A)pqV)ftH~mu9Z*mxxw2_CS@o85+U4HuZf1L;!H2s4w|6cQ5fOV|< zv#+PVx1WA;!~5@Uw&JkS248&PhF@O$|Hl`9xv&9%nn@$T^<^8KeBnl?Y2S&Y>~fj# zi}HK_-g);~&w7^prN8vFnU(R0Pkdq)rN8jW3-XCiesc5s)>-g-WNlbvBcS+rIda}P zY*=j7#5%8Gn4o>tQGxTR%_ngB+W8n_Es$XJB1~jgi;IFxwBZ_E^VUYdh-R!~AXA_(0Rw`R zPX5(413Nh$9b%EPq2q|{F!VFNd!c{t^L(S7^Ghz7Z7#WF(8rUuzvnYM?=L;=X&aq9 zMc(%Nzb~h*oe5mw1{1RRj9`a{U9u@{8a_w(%wFZ08Aw zK}z}Nl~;|S+3sJl840g^)emh!kLwu3qxK^Jam&lUTW)yX^W?TISn&9)Iblal$2_ju zjF4Bq_QzV#qO^#A9>&QFw*b;}HwW$YulrfK_ujYF3++bJz=_G<`8zL>Z~fM9K32|B zhT6#1xN&nDh9mz^UiII||NOwa<4s#-U%7H+#5m4wy6Gml>Fe21j|I>^zX8)QqF?!{ zAM{|65g0qr2EJ~%;dvee+nli}KozO4dNfq;!;bs4dUNWe;)?d>ufKVN|D{bx9j)Q! z*xh*bjT7cqY!22#lvM{|1LGw3j#DS&^Idn{)dE;IeBSfqXI}p^E_|YHg_%Z_eU)c! zjvLd#=|2>!P`kV^hPW+~lJU;$he%a;n{Tpvx z_uT7`^e>C2YqntaKiY6TaQLq_8B(IQl#ki22ix_fc%#OQ<4*EFy!E@cK+|<{LiNqh zBfIDC&LGehGNNoW1sS|3ZFgqv2noK;$$=NdK4}KRbsa zh0PaW8Cfa+bn?>0>3#&FzH?jOFWZ8lp2op z2sAx1gC?h-JayS|vx~6DH*R?T(kYKi9Tl?qBtG0mSBM(0!{8k(_c07ZkKfA~EI|Z|8cT7)Au?~;;OfDz!M`J@)p|-SBex zQ!kUFD~w&23I9mGW(yF$@|J%*U&M`F10OyAs9d-(=DW--T4(F_>V5EZ0&=E0Fg3;%1kpod`28o}Sr`cH}fKTj0bFRht*J zv_{)`>f9L$OKZuH@xPe2$CO~)SY_nIAq5GaSso0a61B1r;E8ePipJLB6}9}xM^R#j z2zKWQe6Z~X{tm&%QY6s)*%|D!I{g%+;+a=V1}0UCo?ufi!T-(=wcXbH@(M^>U@Wr6 zBz@ai!zeOpR;z7?V@ox*4lXl@wakpGk?lHgJU&0|iYxSefBeTplO+oyAuGlo{hOfJ zI^$tA9G+llGQ)hXAeg3HXSts*0~!y9Jvs3yxh<_|xa0}xilWb0&&mH$Yj7vZllKd~ z>tvQW|3Iz^=3^}rum#muI;j&nn(GoOZ8w!pFNk@de)b$^1R+`)&DDLm*HlwZiEMJ|65?)#-BUzZ}Z}VjRUM={!dcMoH{GcTt zAt#dm%^cBq=y_&Wj?FMHXyMt8NR6asY^E3ba-t1D;`3o*8ZJUIG%;K2gGJgD-@AO67! zgJ%0!Uy~qIm78zANxpRiPIeah%(&X#3Xar#Cd;d?zIqEb{OHW)ah%uQdJ!f7$Klv= zchlG3B>l=&6s~SRw&?xz>woGfc$Ij=90_-$?-y^5Sf-Bdiu!%Zi$FHi;7XoZW+3pU z%reo0WoBI6cmKpaUt?`vy}jKZnLm{)6>os044x`@A8Wk*{?Vx-l*_NUT&kWogoURuKW}qn__}*$1Xv12+tGmHe-zBAOskV< zJieOX21ZCkZ2v~^>M9CeA=~dEZ2O|FUb+PnUoe9NBp3ol7}3{0>stBI6HffxehNCG zYXp72dE?j7cN?%)5zKQuFg zc;u0xGPbt8XNQwV3DA0%1Gs#zU^Bmc;);wGQP&YYV5Q& z+Wpzgl^Wj?B&1wvOTnVGI+)C?5_d$H+fLxb?ZztWH4I`Xa|4ko(%9O3aWO~pv|woNbt(%`;NJV5N6+KKk)LZ%|;pYI_te?&sNZ6CLXhF zqqzi&>OR0XgBm&C5^?KZH-N^~4cUbHi$#c1_OlmH{j2c@@#mWXj4L8UV4O~^gtmt&|O$MC; zs+CV;qo4xWUX_hzUiWL(+=9+qlh$XjDYNROpY?qH~{VUC7wYhlo9P) z^0}X$%1J7b35Pmg`Iydw3T9SZY>%}-P}=^BcD)w#GU+Jr6U#(6p7Km3?+XRDC^&}2 zvM#r|7HaV(?M7zL&9n{YgAwBjzC#{; z>`|XV_VqGl+iVw8+aH& zuF-IukoJmOzNctz``@cK#}2p~867|Ts((TPVQgD^B!&fk)@^NWZj1lsJKrp~Z@Br` z;~$Gal+G0YTW`H34a%_wFM08c<&HaiYouDwSkgpI6v`CTjS#ta!wqj!yy1o$7!LZgu6fqn&N!~skQwE?%-b=?S`3^O22^Bci0?D4er=oo*un>n z8{194<=ehBTfOD3yEpoMOX7L_eK6|nfL9Ul0m*R|*_$`odt=ZZur+@Ffmi+D91DE& z(v4?+JH|=b6nGx(fAEz**qrULwQX$2d@$;0&2`#n`2`z~e%;L#Tpio_M&RrnZ-0AO z4lu5WxfvrYTX(-38Ao-mP&3+(Eqd>WpyhacZ2cM;Qn*G?=U=|=XG;!<_?B7RFw1q~ zw}3GAgz)@D8?RqS0rla){PWkmR^GweqV#xc;FrJXMe?@)@4b^&N-{#a^lv$llqV{k zNNsNM8`qfkzrFp9GYb&cSd$Tu8vk>N1zxoxd;UK=c< z-x2uuqS!w3%%@)4;N}@5KkS$bI>V<}Tkgg>|NSi}f$f;1$*9}*bFcdu`GdFKD~~x#7A|d(*-zGkIV^d9~;4ov5oB=_uU^d)e-nrH+`La zHFSf?glA+RjjeRJetx45$cHh~2OK2_|W_REVBg%OlRrDrr(!q_l`fh-(Gd=_bKK&jObUs=0|dk-}k_K4s_CcBcqLG|}TLO{h&PM% z$9BEGbr3Q?)84qDNoY|8wZX7%=7UfFb{0%O>~Rt+ zYmuF@c(55;E9d&fbMs_I4lICH*16ELw?VZT@UoKiOKjgl23uwd&LZwsF|?pj3tV|H zC=SrDq~^rK%zD*myY+I(2sB3k?d<$q$BBdE`v^)u^@^v;Lk~YBPkj7|^z|@@DT59p z<16HRv%D;Pl4E*tT*8V8{*UM-f~W)ZS({CZ7H|mBkh_2%b42akIqL{UDYhya`8m#a z=JlqS|NBdGT(x~QvYxGIfor&NUUI1+=nk7=fNd3=L_6S}{GW2Hwg-=}*Gey`f(ByA zEh@c9W%{brNxeJ%pY_p(%u5C>I|A~?1C$t#)=GCTc1R~qK0t7mXsscU^fG%qWk=V` zp8b99B2;Cx(bi|$Ks!YX%Lt#&D|yV)h_VhNZKn%!gLHKnU5*C4N%gu}DxsF=Z`gFk zeIGQoB{HH$Uq+y6t&s~ZS0hN|St8n%Sze)>5}AV7WC`Ph0pHasSf;cP7$HY{71T9Xc8#R-jdd1~4g9wm(?hT(i0}!PsOy~l^f|Y;ZAR>yH=}tU)tuY1g~J z!Hp3d8pYFJ7S7Nf_7W07`7lPT_QQ|up5MC73FI__RHLR9 zXn&2dhunSc^|cLb%;)l1H%gs;wgAi$GzM8P0z2&B&TKET>J;z@3!C^Bbp8OGID_#a zt^EkDAfP(&1c7Lrg;vkp{Szu_0McE^~@b=&;C2)i~% za0It_o^RS{<&AH+Bfn#f2dr9*yR*uY|=VXm4mFI84xBqU) zC23QXzkAb5sfL!#EV3WmWX5Az_sG{_tnp92_9tf0;A=Re^5~Ns-6PRnQw=3B{$3eD zH(X;)e{gP}dq}KLTYmG+zc#msf9K{b;`Y~W!Hpk$MFlZ^OuZ-^jIVu$2(A&x_@RM^ zkzJu>qzwH2@)jU|Wc&La6a@Lw4gTNQ^uy!PUPAW_hj!wN=I~RSe)-)k=mB+aA)CjT zuiSLfKiGH)nP?*eYHU*+W42kCo`kzH2k`y${Kh)ox&_8&LHx4j=5N2U@$@jvzhq<^ z#W0`!ywA-5)@c9UEoh=;M9ekh>wOPCID?8424S4njnOAxuYTn}o6qrjjR4=TZ1QIW zx<2cMYX8~Kd)^jEcyq0D5}B4vhBIMhC5>j^umxo}I6vxJ{mKkJHcU=B{Hfdi`IIjR zK#pF%VGCm2`fdL(4Xi;E;s#82J+bGeoH3tssAxpi{TiJLUO-gUIQB`mo$1-9#=W#2W_R)E#g zv+D%yZ?|WlM~y813_gft(4!8G83D61-;xqX%a5y_2E6_6*?;>w=eJE4|JW=4>D(q+ zU048;swex$YLG@ za+_lY%M?Meac`{g%#I4$&+U!oSyOPNk?oMdBm{XflWxteq~J~H8e6M=mydzkXIiBl zsNW3SMV%xBoDLDl!#qb{xz&eG@^fcz(F$&rql)cho~1PY9@;5)py3MS9HdUh^Ra!) zn)kVoKbSV4%h4 zP}NU^O#Tl<_pNBN?~!F@e)vG0swqh&v*loqqv4)w9LiM=_&YEkS%K%;Nya2u^Iy{WvbDTISE{wJ08rjsU$FvI^ zcxo{CNPTOm1wZ(9U&IY^eZ_LCBlsJ0WLpICdj`9?KAn>Kroe2#BVZbq&qw?p!9CPS zTPeT?y3-6q6+9EpMY7%+UgYBi!V)LCE(>SxRiF6+N?dNAU9z;_JOgv*OqlQ1nW#Y0 z51c_MJ~i_1<+LeR_my4>_tE528R)6Q2dv`@-e(vIt0kP0g*=$h0o}+nA)h!93HViV zB2#hgbG`8RI{i!*Mev0J2ajzGelzj|klw*5Y8D$PtH4TCcYBM=e5 zjf}24XCS6iG2SeV>qWboCSwkssa1j?R(AIDYn#LM(EF=^`wgFW!{)eLk>6KP%tf3a z&gJlEIT?x@0r)9++1Tq^&2_87ceq9n>%q2F>GD~RgN+OvKi%`OQXfxvN3gC6QYs{esgbKfpJ^J_-K)kB~c;zgtYfNU7cV56j(Dy$S^|E+MR)4pDGiz)X zD@VUu!1u=L<5VE3_tiO2Qn5f{of_JxfBE0&pRe8+1{Z$O6TfTXtJfEMPi|||{0ryu zckbpw`8ER)@$tl^9Ukzg?cwp?W{~Q2Ka)HG1jAT#$S{{HeZJy z{o(&6v-bc)>V@s^zujo;otg2qlSOhoEv82366j;B+t*MA*tj*a${xuR533#i{_fp( z&qD4P@7WtKk3$PGP62w}eeaH(H#kK*BRDncT0Qm{WjzVQtnzzrxx3+b$g5Elz4W=y ze84udJz|_uXnj7n(|0-lZGfNOg8aOdZ)6;e%+MnKFh+N9C;bvVJNU;$_o^ABjEv$F zH2E7lo%-x}i2`^*ZW(BAJk+nH>Dl7-%ddE9yYs#WY0IFJOxWf-GKN@6j1%Az7$H94 z;1#~-Ws?s$5Hn(UT<&Y7@=ihj5J4 zaaCCmWiz21f^}Mn@lcnhUM`j#8rKL$jct+t)AkZ=WE&w^SI)g;aAD|)-}=>G54Q2~ z#&%0w>%qMXTT3>lorn4-;S{9vAbXs;odA1bAGj-l;n_f#OJ(v%*;d@UnV9tg^3y@L zRrc2iPQLP%?~@Na{D`Ey&B0wReAe?mr)6sW!CT)Z|L)FTFJaQ=v;{K%?EUkgfe@ur zCVat-UnK8+@B8eEE3TNwzmH&sulJG;>YUpG8)r$HV22+B1KHU!k2=mZGq*-ipl!4C z&w0XJ+NYL!P{RqrmM&}w!;5x2hm(i>cfV(AIkBjfHm>tH!B1&>q{eniF`@(fCX%O= z!Kt72!O@OY{6WTK@m_W2igM{oc*JbiIt8tWf+M{ zIo;T5q@F3)xATcGXDnXVX(BGSm4%bdnPZN-dTv}JGwTd>sn#I8bn+_;%f~^{{gv=7 zrQejKh6%Rh8R%)!ju%PK`3me6Y_GIZzWMSMv}E;+i6rfV|HF+6-(G|NR|D;#)==UB z;xGaxv#wQ~YUz4-V9m47K=;t!^Q2Xwg5fm(DQ98}rv|KNv7K;k1s-+mHe8NfG!H%e zuzc*}9~T5rM^7^tEYshZQ(hyZNmME5Y$-wjmj^pE`Dol*sa6-{mj6&MO!QveZtigsBi4YtxH7!SBv=|sW( zymD*=(3LX8wDs9PXID!Ujw6YJS{7-Ql^Q*@B>GJ}!E^&*W|LNf5FsWu3w z;LE+bA-#)vDPv;aQmP;RPP`tZAm`psMb|J9qn1-3smy)vNT^d{%#aB&pdY6jS$rA9 zT1HfNDW!(r`W8X)xv@7{pzd#s-JS!6s^p;jljsQvE6N4kK!$O^g6bET}6h-J=>e) zhvpm867Gq!xHtM3+ok5ohue3YfLQHx2DKQAcWsUp1h^5d>)oQw?5vT|1w0KWVhGtZ zCQlIIfOQ0;QsF3sK=d!;WW~$ob~%vdz{%a=V9oxAAQhZ&6v}A(d(XXZl^4JG#q;|( zopBVof8e7JxPc;3Yf9}HE^~U}`w$F%_^2|n<~1_1^bX%zC_$T;_kiWKulezIy3Z^e zto!*3( zZ3NFAiLGW!@WAJg<1^VQb=fU?jkgnzvIK|=N;MKU^G>iMUR&7cSqsgz|`R4ZQ$Uge*2;y8U3#47#M*H?M z>BEJ>)}jj|M4TE*FES2bi#eFd@%p6}m6?UW*Ej@VWK}6CHT3@A0}sge-}*f%2p*&D z$94n<=vmUK(AHa@%zw8zNd=2GIMF|!W;ps8nUJg13yyI;dshVhcefzqI3-L3dP};| z5=Q1YjqusCE+83yfYy5E9IcFm?U;DRi;T}9UK|-uzemBp(nD=J(-D6T1(e4Ywz1ui z(Lrp~^rR{Scg(S4O&@;P1OG6169-b^%HP}Yz%{!*`}3YBzcsVme4x?t%XYP0oPSh4MAve)#

  • 9G(*&fInMd?Qn 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
  • KABc3zm2yhRFekl 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�zXw7^#Rq08SC% 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ⅅ`y{pk#+i}sUGKRs7u9k1Z66xB05SI;jFzPX(Rtpom#fASO9=gK-m zHR*201=H<; zDOlHIEI#g|hO^Q9A)eQx`C(`Au>$Ml8$DE7kT9_TG=Tw`pyOmXi(fgI5hGYo8cauo z;VDP(14}|1m;FDiaI00SjVF_YT*AdkoR9%#D}m9IPZ)Hqw5_5v8dZRfGF&^uaTi~- z;ex?&n&3HGkhdOe7pwA#uY!ydlWx%UP#lElxKM1z)k>j7>QEVMROEFWr0b*z7&z!@ z%@y;!TU>i`0|uKaXW7=S}837PAz&P!mD@M>-`0J6H}-lA}-dgM6{kGOjfg?Q3oz;e#mQ zA^X@DPXnz%Tp2&q!$xu8f=a%=1JXgfoEKI&h6LbKI8fNld*L_(s7(2tNjX91<%a9H z0_+H+mffV_RVP+xqnN~=Fe)ub@nEN}J^8O+FXJHbgH8;fnZ81637AArt{n8ec7S$B zkPtTW&aRUXl%KL)$S|Q}K3&tv+Q2>0@@#~_wm|w!-iNaaPQp6e)Jf23zc-l}bhL-0 z6`V=}#192u&eaC=2D@EE;fY{e7Xh0Ne9~6BY=w-~tPttG#8S6|rx!FMs_iHyVw?9W z#V(0lh=~YGuZmJL4o)vWDC+uF#l9{&!UCpXWapUldz=l;Lm@&wj9`gYnQRy(?-K<-SZE9-lqw&;ynQjQAUo->9ea&sYdB`=1;KCQ zI6taP*Dv3Uzv*E)aNe9gbh3|)qIMJL_rdls4jxzk?eBjlx^uxJ$Hpa-;l6Ee`e(_g zRi#J8_Ai(f0ZA!l4am_wRE#1Bng%!iR991J>_J0>6;+46D8!r8iD4R@4o*#rTdc;x zxaiyl5TuFB)DL)f-kH30IrM>6fltdTF5{w{4JJk#7^6J_fw3+ROJh!IALCFnz{MKt z#tk^g6ia!0pq)}6g5TM8mcM<_SScXK^>o^03>2f|7O(1o7J^5bbp)=Vc}{Bb8qPi0 z_CO>h`SrV3lYNB1ZJ38DScGvM69`>J%n6~nSoAr%!2z?Ckqq`sUFHQ0zjS$02 z3`((;B7$B|3{m8+H%*6kykpMgc^!W~sxPqyfFievEsi zW3vAZr@M0^r}cn)&HkZ36(_^R8SsJuhW)qV1^B7`Wc<=+4L+`|;1HpdWqvX(GLj7w zD9U|wF1WsSkk(Y*n}Ga5NWn*CxjB7>Id}`t`C$Lc6X>F%W`Ym4n(Rd29`a2n&*=I< zLK*$UbeL3{%VaYs{E*^R!h96}UY9NQt@iCXfQ!o{!#~F-LEA)7^{*5=F2jEO(Z}-l z|NFl$fBSF!t@t{jZ{U8uKDbv|)N(-|%&>qb;Tx zp!uT$+l;wn%*jJHy&rVM1OREk+mPEdS~+H3DLECYjpNGnz&`9hE*YOo+5xtu;-Mod z?1#nu5X|vNDCoy@$Wh-s4yzJ?&KnFwieA$J4kvK{oWrMdWk6m4sCH=Sb=y}n zEcNzGfB6fvBF|#dkFdffuZjRNk0DBI;C@?DLh#N=jG9rqqM)YfGR4bF!*d#V2RJ9E_47@c}kD%9ETC@+=%a zrB5P5kewZq(BuM(QGU+FCliu+p@MW-c|t?gbG$A}DkjCWMf$3hX|fdkiMn!JIRGA3 zu;9W;ueP>*h*_Vj1xx*ns9{8~>yp!l6r{Z6V91285udI5+1(GHOhrOCz)eC@w`n3J zA~=By2-f+5aVz%F(Mq4lg{4b3EtV%6;QB)awauq7NdZ5FWU&sHV+b4eNQ@)~4P0As zZj`}%P%=UEI6k)HZt-R7N3(I=z@`bT3HvSk0Ajm&PdeOfw&7Z6MxDAEmkX|p$75@A z8Y??BJ}-`|FmS@iqfDBX?P5BdOQ61~JsZ9WLeu`=50CmqzNPTqd@ZK1gG8ibET8opuq| z5Vn?cvf&LBS7cr0Wj@{sv@o;f5`aaSiF}X_UtH7TBWA6ueI{FY1fT8S!v7-deeLd|qtr zw^P3Iy!OaC|F7|-L4T$2SZS5}V(r%lU;cjm?%laT`&sV*(~9seaS@* zC{p7+_Qk@N?bvrW_BV-`F_PiW(@UfQON%3uud*v8(Q++06#cLmKl&#MtofGb?v z$;)&(ljMCpgViJ7aCOuNX4R&0PRVn#K&3NilfLEXzhRLF#Sgg=;#aCnAR8CB~h7CvE zDo#CZxjWB3I>Nb5w(9X=t)@Ob`1BQADSv!Fy#+|aqSxwNpMbQ37;RgH*C%U4Z zA}wUpBE@lcK6GbZdP_#if;?Pjb1hL;Bm*ky_XS?I|7}GsnS(2iRg1~j+F|lYb9y1c zVU>Pm=7CZ`^>E*Hg+&Ac&8Wn*bbrH7qb6&rIw4XEci_xeVqIaM@jgyn9bV8QjQ># zFa&&(RfY7}0xUszz(bdHTV3?vu)&_vbE57D*b4g|)I#7i>uL}%aAnf7!3G*WfNQn; zYW`*yU=gq2b@79ilB)+Mf>+jD>0(?_7p`~@QV)ffMi=K;*rsPg5^OMP+i)dD4u0p* zJ>{|51m@Cy2+YI7E&!O=t2{T#RhcF;j`ypP_ItvvY+&VXe=9z^wh=H0ZFr105WNIV zt||-c$3&{VVV^7B`d!0@3h)_|(x$+5AH}Mm+yY(J7-}jzEpUuz7ombhfQu^z9P%*ZHdh-4fJmpu-4vJyO`xG zvi64VPcP?3zI*I(^~D!IllRZ>#U41nhjur}MP2@bQ5!O$-Yb{Mp5*oGGkzcs7=X-E zh2y`VKPdVIIqF!%+6n_^KzePU;4Vi;?UJY}lJdK*oKz{k;wnco*3F7+i#-#qFh2Ut z6D~fu#288bKOerdRb&PaYdnptEpC7BLxnn z1*D{8Ky$$%6&Gn1DGmaOXwvH-_k)D)7#pmrW>*t=#HTxGkvVNkY)x9R3@0$_LTE>@ zbW5@F4tbEqY#ptDn{=H2_*l)@gk>r{&{oBoxxqM8=b^=d*3$%ig?Ge&+_P((2jOp1t`&Z8FfeGGA0`V6XMlWe4C+EgsQM)K8Mj4q}kG!y_5o` zviQ$-gbJ<%D8ow8U((OQ+H$YuavRExvEH2tdX=y zs36m)68GfnNVEr_N*RnJ>sZ$2)P=h4vflZV9MRpOrYp&M-kdm#9+ zE+E4*9_8omxvdu+9^th?(XBK5Z}@g$8;!@N!pU>-yv-KShi-g*GP0E`$u&^Tk_eMM z3Fjq&KgUQc&ZxH`Trq|vKgr&4vLquqmxtj$MQ~PU6~eIr+hI}5i&mto*j7^Cu^$nB zVgD&kgp4q`FaI4Iy`PZRxzi`9 z=Y^&-Yr1Lp`lE1l40o)ixt*^H>bcVEEL^?(7yDd|h5;8h+2p+tMESj5^NhyF zd;`E`+l`N8KAFwASW6Eab5KEq>U>V*b)TEXSOIm@;0@c26nkYKJnZau6IT1S;RfKHZ2dQY4Irw!3A`=Sqs1AcYc3qVk z1GGs(hkIM(#N2tUP#S$LZ}^uC+L*EJX_&|Jg-ipXK3Jc`3DB31?bO}Zs0w6oGw zE)LX_IzAbdFpmHtI@^?qM55J;Q{7plRP5ZlXygsjNhGjyrjg7zk!Ig8ACscmeC}$7 zvc_u@UIA)IvQkH6@Ug5L#8#76k6dNB`EtIDdzWe5R6OnTK2lhxNQY2^kh@&3645J^ zf$mAJT@0o0K#45t);v&wXiyl@j?;*;u_=xUF}2O}8AnFlEwf*RV@tf1Fi zo+&Q223LKU&|{+z6z6fOB3PIq-w46c9xykGS;qFCljuS>yQ+2=$P>|cWG^3JO05k& z>FZpCbMM_Han(zJmYSSm=U4Hb!^L>KhRaOb!f(l_>gTl;UX9P(LVHQx)#N;Vu?Rjj zt>d6R^e{gcMiB09C^2D?c@oc~qpdMcA2=uEW-_^AYcvV?8gBQB`6nLaF9v@LleZo-(pEos zT)aQ>dHcZ;oox?~MgxK-9c(y=TuzE+-FExGrw$O@#}5h2>1h3W6tD6QdhBBI4Up0{ zItL5zj3NB7FYt3p5Jb ziaKPZ2K1963wus3df{*Bu!9}ej5J5Aa_Ri2#)vYkZgm`jWLV%DUy9~{1p1Fwp_fS( zI5;DuB{`iwH4@KSy+EvwSnK z!N}XuQc$-3M0S*I;N=Ldq;ctRF%VFYKP zyl#UNCoF)7fahzYHgF=BK`C|0c=*!)0&E;S_64)Vb%P5fv?4Lgf3g#iDQ2Wa!qwO0 z4rrzvQZ8~UZ8vW5;ROteZU=h@%G8PU8?}fXu|UG5@OZ`kO<<)gG>=Jf_!x$BA-*+g_CTBK+5*Wq6YuK^ia_#g zT6~sNdqf>_G#*bvF@KQaP@AnnKM|D89TZ-Tv9nSzHrgdw||?QhDrzx^%w>Z`Bh zZ~b?FYw74q<6r;!*XQqV{`PN&9DecTFXZXX8~L4Yels>;|DBiqKmN&2c_$5!zuF`*V^9WLcp8)pgfihnStNoKzo zv6shBOpzp<+wF1p@AJ>ynvI1|-?%xxkq2W=(enR_2k?{{JkTzRPfT}p33jERlI{bG zPgi5L^WxgTP!}H6^^1%oyM(Uuy4t6CaKWPUYO#Inu>#BcUQ)6#P(nC`DuXU-^&loW zncf$4aC!p2TtTl2TEUnR_r#+YN``wbl#Le|4uZ!CxbcK18G&PnNVPEtaCJhD=3St4 zxO8ThEj-w^QlQIKhsr*}D3ONzN$_M)Ot_?A1vn`Xk~|lw0C}d2jAj&wZ#CFfS`W|Y>!<6}AY{Vp{)1!r)wS)IS_qJF^CW>;yOJ$O7kkSWYE4mc>N*KLNDm2ejgFh!mwNDs=Bh}^XC!}ucl>+*O?cYiCGLD>YAY#6 z)>0xW0t-r9AdN7}^3nnKB$k(b}))6bF zY+_7L;N6H>{Iclcet~JUAq<>)1q3*PTYS+luR9@SU6C_)Rxy(8YXO zd~lxMB_9y3cA1;-!8U5;1~}W|xJW!r2GadlVP#{9B>ePW3b}XZSD-btw=44(Wc9A8 z1dq8GB~psJXxlXw65yA9{{dHEHC<0`YEcH2shtQ~a*hQXG%Pm+7c#G0VCNjT76ayjPNzhPPt$SWeFt2sQ2Qi9FJXbg ziVO)G%QGjv5(%i&D7$Fk_L;gyu&s7oyn@fuRq3)j9JR_r8+&*R{6kSyFA>E`5%8Xsa&0~9 zV5wtU*G0N+7L_~O?h|}}{usZWUn#|;0|K~MWpI#EifF|b6U}rFbQriGG%hE=2UqXA z;EYs^`fmBBB_4$i+cq~%<|sKZzzgkNCH*hSaf*@|$1Bg+xCaIa@|0=V>i0@=DdY88 zUVWq|fxmR$s1+fJ$TL8wzC&d4648c|x>|%{zh6KI+g$K*yJA488tucU@V740R|BPn@Wt<@I7tta z*(YuEzzJ}(hH2r~Bbx|YloIc3w#7PG9OVB<-s70NlZmv635v|~4wMrX6zanzX0(tu zO}{Z&>1?<4p2^Jf*ZhxO_GMe`KEmN7;}}Njp7Zs}K4T2aoHBGN^pgFCpe+^`+3YRg z6nQ^5-n@Au@87=1bq_xB&M#y=H@Gs{loF+6r*~Cn^$AznoOt%Y3 ze$bd2jj32lKEC)!5=ymn7$5k-IbO+|53ul11;_L2b>3<%=u{lwceRa@19tPrxo`mo z_wjoA^TGZ#!%Z_&x9Q_vdEHPEHqtFh{3LutSyen%!gb3Uu2Hn8lYK!)YXwpMjk<>w>zpK6MKNF}3z=6m z$=aI3=3zibbpqTnc&J_tzO{D5N4Dil(gP>bXbHTgBBqau^7b1oiIfaT?i|vP(f~0j zs<2w{u^w2e?zQ-Ua(>8^B%n$o8b|wb$MKb_UUs47gKl1;me_FNSOG@^2URBCR*P7U z+2i77LDqo@5l!t_U>9om%2;eGVyQb31V@b&!Ict#q%amLbwvXDlAGwOI9ubrgdR^; zjF<@AzW`1RnWeSB?qgyCegSCmF^)J!Ex#ZBR0}PvgAS(`^g$+)zS6Jpgm+V?NHZ1{ z5Y6=W$RE3Mp+KUjv|x;d*wGv-8y$}}Mk;`ncwFV@yp7LIOZtPk05*9e(0fM$>6NA= zY{w#*gjJH8FHM;n421fY7CQU74>@XVqRG<6H`|mEAM%dNlZa8Wpck=F&#QSf9*Z=TQ9?jPB<7& zJQ?2QIFP?hdEzFXee=GS!&<{P;_rd(hHE0DJ?m~K)(ePqenr1rACruO1c6D~!(Qkt z(HGQy>ASo6M}X_&QT(_|djK@)M1^0lPjkB}sL1fjl~IGy-w}*e01yGy4g@y68$s8x z^f5a4l%hKqlC3!bdMcD0l2`9nV8k;+KTVARFHN099`0_}g+{nga_+Rl*`7w6RM@vD z==IQivVZsGCTz=f!N%Q&B9Qcl0~MeATMDW5JnRM?mo+`c`9du!E8;^H8q`NAzhiXS z!drX~I)9T8^bb*YRN03r$U-;h5~7Y)M6?TqTFp`89ab4UswK z<{TY;IP#I^qa+Wsjf__}5g`!XUIqTs9DH4~xF^s~uC6Iww@?I61F?7&@RfO#cC+to zoWzXo`;Rz3CIo@UB3$?Nq^;xXV_+KrKHc{4={A>eTT!jxr)He!Aov?s<>-#yXr9*W4 z-y)XAcQ|g!xaT<9a1)|2_1GOS+9O9HhK=?QR|UcyjcyGZAId;L){^=U#vXbM=g8xv zA@wB;&n*9g_Q4xvsRk}vCg_8bk0}EWKovJ_5&(ktxCXYZahqj1CAd!MyoE zrC}!tXDiHqn*9fEUfi>^pK1&U1MH9ya(QmfxoW9EZVig&_%kyF!B+b}F5XN2AHG?& z_(g-1*f`E>8BjroieGERC^Je^yX?w*5#sGa7rd*ANS%ZRQ9whuSN1nchxc168!w-O znhD{__!wPRYyBpd>V#SAIu2XWA zK;2RSD>yD*uRFI)JY{r$Dm%zYb?7)H+1IVY$o39#A;R~ZxZ4i2x)sKY9=CnplV)^K zgjaaBRB~JmrG=sCG_t=Iob#}a-@+kRJm5qSXi{aEmZ3Nc50bdXZ*6?OwPboBu2u>O z`#%+^RK^hdUQ1-QlN5GBH`T@qO7>kRim%oJ8}*9fFeU5;Iu$4dZ8*ja1BZ3pbvp8| zLco_HZ>$b3+ofJ<7O_IVjP$3DJ19_$Cz5`<29~%<{9r!99bwK|(>La4aqIvIdDq56 zn-V^1G1IX_dV@yj17t!!=u7c9owYLPjyvFxdI!M@biqRRbre?%P?GkRmTH85jE;e@ z&^L{xVzVv-U8KM2I7zer^|e2ZGv@3sA=*&XB#SS#w0qrxYWcftoMUjXXib?B zu4OEjcenqfi2^;08;DBsyeJgdzp_12D?CYEvZ)Q=2-?(I`mY<%ETEI(9XXRr@q66di8AIOCY(r7Hl#Y_6gaUH5Da?c?Nt;T9p|_7zSW)-zVuWQd;?oG zwDSTYO;`b}A_~F0&|fnDVpNfDQBg3GaVH;CBfWi6jA*f~EBXB$R0QV(451&zV}?I;9NZ5i28oRV zpORNLjIsG)ZXZ1V5#?A;F-S80TiBdYe57%Vbu%Opz80ijTB*4RMBU#nII(6N$Qlbp~=0i4t`g66JwZ`!~1`lW|#d--$@Nfr&Z_iB_D!>uO`7*hZnkzJ}CV{ooiG)!w%ec zgu{3Ez_)$hnl@c|1e1vC>hkB+pc|>32Uab*fV*v;4);;v8o{sKa-4u3bl=%oIe)gk zk_;4Y7hfB71p(d$D_QS~{!NZGJcZ><%yp6;mbt!1tOtFx%)xT#T%5GQrjo!jnM|0A zqN4*a$K6&*;y`%Ypw6ErMm5W>|S5aQf~k_hjQ`HVBh6*%C2smEj zUBw3+lB*OZT2lMjMq1K<5(j{6RaOq$z=7@S5CGWmFwb%f4k~A{wb5?`Lu-(f&3AXg z2LEOEOWujFek@x-`}5+#;?VhoE0Vv$6A=nLUdVB0d6m4NoD_&ql4I3nEws#zJn_>D zy%}_S{|KHK;)rb(+N2KOV603)PzInIFnUa=q*K>%?E$jdl3WJO7*J+<;F@AtpeU7q zzW{h1v``-n5>vEIGYS8iK4n491~~@G#LtnxH=LMwLTx$jbspj4R6Vtbu1y6XKE{PG zm3)$qx8o?loF~3qJ11ZgwwHLyD5tn@CO8qWA{RoyvhbBp^{m)(-opuB;634ixQLdq z3*8&fz$!)2;CE)?D#p?T&katBe`GuoVrZQK?yifLv3TWOb0KY04?3E~5={J}xUgmK z@jr{?Y|UqYE<~$T@$g#y^;h9Z62+ ze9_Ww#C?t@;$cwXfU*ze>)lVy5i630_NePwdJNG?WIv z7i>injcc3PF%GWYn~va*N}<=_w>s+5Cgg0|0C-O|DzR80ZlM?kofY?{}0Ar_t(va+-d*-002ovPDHLkV1gfo B@fH98 literal 0 HcmV?d00001 From 3ed35c2481677e5d25d50bf3f876ec0112ff20b0 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 12 Dec 2023 19:14:49 -0800 Subject: [PATCH 104/627] updates updates to: - core concepts pages - sdk intro pages for signing, wallets, and access control - token name ('LIT' to 'testLIT') - reorg of Lit Actions Conditions --- docs/concepts/access-control-concept.md | 19 +++++-------- docs/concepts/pkps-as-wallet.md | 13 ++++----- docs/concepts/programmable-signing-concept.md | 16 +++++------ docs/integrations/aa/alchemy-account-kit.md | 8 +++--- docs/network/networks/mainnet.md | 4 +-- docs/sdk/access-control/intro.md | 23 ++++++++-------- .../lit-action-conditions.md | 0 .../session-sigs/auth-methods/overview.md | 6 ++--- docs/sdk/serverless-signing/overview.md | 27 ++++++++----------- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/intro.md | 20 ++++++-------- docs/sdk/wallets/minting.md | 2 +- netlify.toml | 5 ++++ sidebars.js | 9 ++++++- 14 files changed, 75 insertions(+), 79 deletions(-) rename docs/sdk/access-control/{condition-types => }/lit-action-conditions.md (100%) diff --git a/docs/concepts/access-control-concept.md b/docs/concepts/access-control-concept.md index e07046b8..46f36bb3 100644 --- a/docs/concepts/access-control-concept.md +++ b/docs/concepts/access-control-concept.md @@ -6,32 +6,27 @@ sidebar_position: 1 ## Overview -Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../sdk/access-control/encryption#technical-walkthrough) content for private and permissioned storage on the open Web. Lit provides utilities (via the Lit SDK) for encrypting and decrypting content client-side, while [access control conditions (ACCs)](../sdk/access-control/evm/basic-examples) are used to define who (or under what conditions) the data can be decrypted. +Lit Protocol can be used with your storage provider of choice for secure data encryption. With Lit, you can encrypt and decrypt content client-side, defining specific rules for access using [access control conditions (ACCs)](../sdk/access-control/evm/basic-examples). -Both on and [off-chain data](../sdk/access-control/condition-types/lit-action-conditions) can be used to define these access control conditions, with examples including locking content behind: +Both on and [off-chain data](../sdk/access-control/lit-action-conditions) can be used to define ACCs, with examples including encrypting data behind: - [Membership within a particular DAO](../sdk/access-control/evm/basic-examples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) - Ownership of a particular [ERC-721](../sdk/access-control/evm/basic-examples#must-posess-a-specific-erc721-token-nft) or [ERC-20](../sdk/access-control/evm/basic-examples#must-posess-at-least-one-erc20-token) token - The result of [any smart contract call](../sdk/access-control/evm/custom-contract-calls) -- The result of [any API call](../sdk/access-control/condition-types/lit-action-conditions), such as a follow on Twitter +- The result of [any API call](../sdk/access-control/lit-action-conditions), such as a follow on Twitter -To get started building with these tools right away, check out the [SDK install guide](../sdk/installation). Otherwise, keep reading to get a better understanding of why encryption is so important, how it works at a high level, and potential ways Lit’s tooling can be implemented in the real world! +To get started building with these tools right away, check out the [SDK install guide](../sdk/installation). Otherwise, keep reading to get a better understanding of the types of use cases decentralized encryption can be used to enable. ## Introduction to Encryption -Encryption is one of the two core ‘applications’ of [public key cryptography](https://www-ee.stanford.edu/~hellman/publications/24.pdf) (the other being digital signatures). A fundamental building block of modern security infrastructure on the Internet, public key cryptography plays a pivotal role in enabling secure communication, preserving data integrity, and facilitating trust in our digital interactions online. Where digital signatures can be used to authenticate the integrity of a particular message or input, encryption can be used to facilitate secure and privacy-preserving communication between multiple parties. +Encryption is a fundamental application of [public key cryptography](https://www-ee.stanford.edu/~hellman/publications/24.pdf). A core building block of modern security infrastructure on the Internet, public key cryptography plays a pivotal role in enabling secure communication and preserving data integrity when we interact online. -Fundamentally, encryption is the process of transforming some plaintext data into ciphertext using a specialized algorithm. This renders the content unreadable and indistinguishable from random text to anyone without the proper decryption key. +At a high level, encryption is the process of transforming some plaintext data into ciphertext using a specialized algorithm. This renders the content unreadable and indistinguishable from random text to anyone without the proper decryption key. -Encryption involves the following steps: - -1. The sender obtains the recipient's public key. -2. The sender encrypts the message using the recipient's public key. -3. The recipient receives the encrypted message and decrypts it using their private key. ## Exploring Decentralized Access Control with Lit -Lit’s threshold encryption network can be used to introduce ***private and permissioned*** data to a host of application categories, specifically by offering a solution to the “public-by-default” nature of blockchains and public storage networks. The Lit software can be applied generally, agnostic to the storage provider and desired use case. Lit provides the capacity for assigning arbitrary logic (“access control conditions”) for condition-based access control and encryption. Some possible use cases for this functionality include: +The Lit network can be used to introduce private and permissioned data to a host of application categories, specifically addressing the “public-by-default” nature of blockchains and storage networks like IPFS. Lit can be applied generally, agnostic to the storage provider being used and desired use case. Possible applications include: 1. **Encrypted wallet-based messaging**: Secure wallet-to-wallet communication without relying on a centralized key custodian. 2. **User-owned social and identity graphs (“self-sovereign data”)**: Empower users with full control over how their personal data is managed on the Web, shifting power away from centralized corporations to individuals. diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 57d58dda..819c99bc 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -7,22 +7,19 @@ sidebar_position: 3 :::warning **STATE OF THE NETWORK** -Lit PKPs are still heavily in development and should NOT BE USED to transact live assets that hold monetary value. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. +Lit Programmable Key Pairs (PKPs) are still heavily in development and should NOT BE USED to store or transact live assets. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. ::: ## Overview -Applied generally, [multi-party computation (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) allows multiple parties to collectively compute a function over a set of private inputs without ever revealing the inputs themselves. In the context of key management, MPC can be used to generate distributed shares of a public/private key pair (which can be utilized for encryption and signing), without ever exposing the private key in its entirety. This means no one party ever has full control over the underlying key pair, eliminating single points of failure that exist in "centralized" key management ecosystems. An in-depth look at the current state of the MPC wallet space is explored in [this article](https://medium.com/1kxnetwork/wallets-91c7c3457578) published by 1kx. +Defined technically, [multi-party computation (MPC)](https://en.wikipedia.org/wiki/Secure_multi-party_computation) allows a set of parties to collectively compute a function over private inputs without ever revealing the inputs themselves. In the context of key management, MPC can be used to generate distributed shares of a public/private key pair (AKA a wallet), without ever exposing the private key in its entirety. This means no one party ever has full control over the underlying key pair which serves to eliminate the central points of failure that exist in "custodial" key management ecosystems and setups. An in-depth look at the current state of the MPC wallet space is explored in [this article](https://medium.com/1kxnetwork/wallets-91c7c3457578) published by 1kx. ## MPC Wallets with Lit -Lit can be used by web3 developers to easily deploy white-labeled and programmable MPC wallets. These non-custodial wallets can be used to simplify user onboarding while simulataneously making it more secure. - +Lit can be used by web3 developers to easily deploy white-labeled and programmable MPC wallets. These non-custodial wallets can be used to simplify user onboarding while simultaneously making it more secure. Each key generated by the Lit Network is distributed as shares among each participating node. This means that keys created by Lit never exist in their entirety and no one party ever has the power to deny service. In order to use these keys (such as when signing a transaction), more than a threshold of key shares must be collected and aggregated. - -This two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. - -With Lit, the *entire key lives in the network* and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. This authentication logic determines what individuals or credentials have the ability to control these keys and use them. This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/authentication/session-sigs/auth-methods/overview) are supported by Lit at the time of wallet creation: +This two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. +With Lit, the entire key lives in the network and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. This authentication logic determines what individuals or credentials have the ability to control these keys and use them. This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/wallets/auth-methods) are supported by Lit that make the onboarding process seamless: - [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/authentication/session-sigs/auth-methods/web-authn) (AKA Apple Passkey, [demo](https://lit-pkp-auth-demo.vercel.app/)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index 00d2670e..ebadb491 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -6,19 +6,19 @@ sidebar_position: 2 ## Overview -The Lit Network can be used for programmable signing and condition-based transaction automation. Functionally, this feature gives developers the ability to use distributed serverless functions to build apps that can sign data with their own private key. These keys are: +With the Lit network, you can generate decentralized key pairs for signing and encryption. Associated with these signing keys is the ability to create powerful serverless functions and condition-based signing automations using Lit Actions. Written in JavaScript, Lit Actions allow you to define the rules and logic PKPs should follow when signing data. These rules are: -1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): Lit keys can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: Lit keys can be programmed to sign based on pre-defined conditions, referred to as [conditional signatures](../sdk/serverless-signing/conditional-signing.md) in the docs. This is useful for defining [signing automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods), or generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. -3. Fault-tolerant: Each key is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key pair where no one node ever holds the key in its entirety. -To get started building with these tools right away, check out the Lit [SDK install guide](../sdk/serverless-signing/overview.md). Otherwise, keep reading to get a better understanding of how digital signatures work, why the technology is important, and potential ways this tooling can be implemented in the real world! +1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): Define signing automations on any blockchain or state machine that is supported by Lit. Currently, the Lit [SDK](../sdk/installation) provides easy-to-use methods for creating wallets and signing transactions on EVM and Cosmos-based chains. +2. Programmable: Program signing based on pre-defined conditions, referred to as [conditional signatures](../sdk/serverless-signing/conditional-signing.md) in the docs. This is useful for creating [DeFi automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods) logic, and generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. + +To get started building with these tools right away, check out the [Lit Actions](../sdk/serverless-signing/overview) page. Otherwise, keep reading to get a better understanding of how serverless signing works and potential ways to implement in the real world. ## Introduction to Digital Signatures -Made possible by [public key cryptography](https://en.wikipedia.org/wiki/Public_key_infrastructure), digital signatures provide a tamper-resistant means of verifying the authenticity and integrity of data on the Web. Data “signed” by an individual private key can be mathematically verified against the associated public key. It is this nature of mathematical verifiability that makes digital signatures so powerful. You can trust, with high confidence, that a particular signature is in fact authentic and hasn’t been forged or tampered with. +Another core application of [public key cryptography](https://en.wikipedia.org/wiki/Public_key_infrastructure), digital signatures provide a secure means of verifying the authenticity and integrity of data produced on the web. A signature created with a private key can be mathematically verified against the associated public key, providing a high probability that the signed data is in fact authentic and hasn’t been tampered with. -Digital signatures are a core component of the account and transaction logic used by blockchains and other distributed systems. Every time you send some tokens on Ethereum or post a message on Orbis, a message is created and signed by your private key (AKA your wallet). +Digital signatures also make up a key aspect of the account and transaction logic used by blockchains and other distributed systems. Your wallet (AKA your private key) allows you to create and send transactions. Every time you send some tokens on Ethereum or post a message on Orbis, the action is signed before being sent on-chain. ## Programmable Signatures with Lit @@ -36,7 +36,7 @@ Use serverless signing for: Some links to help you get started building with serverless signing: -- Overview of [serverless signing](../sdk/serverless-signing/overview.md) +- Overview of [serverless signing](../sdk/serverless-signing/overview) - Getting started with the [Lit SDK](../sdk/installation) - The [Lit Learning Lab](/learningLab/intro-to-lit/prog-signing) - [Projects building with Lit](https://github.com/LIT-Protocol/awesome/tree/main#projects-and-integrations) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 091b8939..e352da62 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -100,11 +100,11 @@ yarn add @lit-protocol/lit-node-client@cayenne ### 2. Get A Programmable Key Pair (PKP) -Get some LIT Testnt tokens from Lit's [Chronicle network](../../network/rollup.mdx). +Get some testLIT test tokens from Lit's [Chronicle network](../../network/rollup.mdx). Then mint a PKP through the [PKP explorer](https://explorer.litprotocol.com/mint-pkp). -For other ways to obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). +For other ways to create a PKP, [read more within the Lit docs](../../sdk/wallets/minting.md). ### 3. Create a SmartAccountSigner @@ -138,7 +138,7 @@ const resourceAbilities = [ /** * For provisioning keys and setting up authentication methods see documentation below - * https://developer.litprotocol.com/v2/pkp/minting + * https://developer.litprotocol.com/v3/sdk/wallets/auth-methods */ const authNeededCallback = async (params: AuthCallbackParams) => { const response = await litNodeClient.signSessionKey({ @@ -235,7 +235,7 @@ const resourceAbilities = [ /** * For provisioning keys and setting up authentication methods see documentation below - * https://developer.litprotocol.com/v2/pkp/minting + * https://developer.litprotocol.com/v3/sdk/wallets/auth-methods */ const authNeededCallback = async (params: AuthCallbackParams) => { const response = await litNodeClient.signSessionKey({ diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index de904eb4..e1719226 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -5,9 +5,9 @@ :::note **STATE OF THE NETWORK** -Lit V0, the mainnet beta (AKA 'Habanero'), is set to launch on Friday, December 1st. Habanero will be the latest version of the Lit Network that will support [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). +Lit V0, the mainnet beta (AKA the 'Habanero network'), is set to launch in December. Habanero is a decentralized mainnet designed for application developers building apps in production. Habanero will support [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). -The initial DKG will be conducted with subsequent DKGs to follow until the network is stable. This means that the initial keys that are generated on Habanero **MAY BE DELETED**. As such, please do not use Habanero to store real assets until stability has been confirmed. Please monitor this page for changes or join the [Lit Builders Circle](https://t.me/+aa73FAF9Vp82ZjJh) for status updates. +After the initial DKG is conducted, subsequent DKGs may follow until the network is stable. This means that the initial keys that are generated on Habanero **MAY BE DELETED**. As such, please do not use Habanero to store real assets until stability has been confirmed. Please monitor this page for changes or join the [Lit Builders Circle](https://t.me/+aa73FAF9Vp82ZjJh) for status updates. ::: Main networks should be used by applications that are currently live in production, designed to store live assets. Mainnet keys are persistent and will not be deleted. diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index 9979fa0e..e991fa6a 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -6,29 +6,30 @@ sidebar_position: 1 ## Quick Start -Ready to jump right in? Quickly learn how you can integrate decentralized access control into your own product: +Ready to jump right in? Quickly learn how you can integrate decentralized access control today: -1. Guide: [Working with Decentralized Access Control](https://spark.litprotocol.com/working-with-decentralized-access-control/) -2. Guide: [Encrypting and Decrypting Content with Lit](../access-control/encryption.md) -3. Tool: [Custom Access Controls Creator](https://custom-access-control-conditions.lit.repl.co/) -4. Example: [Basic EVM Conditions](../access-control/evm/basic-examples) +1. Guide: [Encryption with Lit](../access-control/encryption.md) +2. Integration: [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) +3. Integration: [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) +4. Code: [Basic EVM Conditions](../access-control/evm/basic-examples) +5. Code: [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) ## Overview -Lit Protocol provides developers with a decentralized access control layer that can be used to [encrypt](../../resources/glossary#encryption) content for private and permissioned storage on the open Web. The [Lit SDK](https://github.com/LIT-Protocol/js-sdk) provides utilities that can be used for encrypting and decrypting content client-side, while [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) are used to define who can decrypt and access the locked data. +You can use Lit for decentralized encryption with your storage provider of choice. With Lit, you can encrypt content client-side and define [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) to provision access rights to users who meet the conditions you set. -Lit supports the use of both on and [off-chain data](../access-control/condition-types/lit-action-conditions) when defining access control conditions. Examples include gating against: +Lit supports the use of both on and [off-chain data](../access-control/lit-action-conditions) when defining ACCs, examples including locking content behind: - [Membership within a particular DAO](../access-control/evm/basic-examples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) - Ownership of a particular [ERC-721](../access-control/evm/basic-examples#must-posess-any-token-in-an-erc721-collection-nft-collection) or [ERC-20](../access-control/evm/basic-examples#must-posess-at-least-one-erc20-token) token - The result of [any smart contract call](../access-control/evm/custom-contract-calls) -- The result of [any API call](../access-control/condition-types/lit-action-conditions), such as a follow on Twitter +- The result of [any API call](../access-control/lit-action-conditions), such as a follow on Twitter ## Features -1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](../../resources/supported-chains.md). +1. Access Control Conditions can be defined using state from most EVM chains, Cosmos, and Solana.. View the full list [here](../../resources/supported-chains.md). 2. AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. -3. Storage provider agnostic: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. +3. Storage provider of choice: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. ## Examples and Use Cases @@ -36,4 +37,4 @@ Lit supports the use of both on and [off-chain data](../access-control/condition 2. [Token-gated video](https://github.com/suhailkakar/livepeer-token-gated-vod) streaming 3. [Encrypted token metadata](https://spark.litprotocol.com/semantic/) 4. [Persistent and private data marketplaces](https://blog.streamr.network/streamr-integrates-lit-protocol/) -5. Token-gating access to apps, [such as Streamlit](https://github.com/AlgoveraAI/streamlit-metamask/tree/main#lit-protocol-components) \ No newline at end of file +5. [Decentralized content discovery](https://spark.litprotocol.com/decentralized-content-discovery-with-lit-and-index/) \ No newline at end of file diff --git a/docs/sdk/access-control/condition-types/lit-action-conditions.md b/docs/sdk/access-control/lit-action-conditions.md similarity index 100% rename from docs/sdk/access-control/condition-types/lit-action-conditions.md rename to docs/sdk/access-control/lit-action-conditions.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/overview.md b/docs/sdk/authentication/session-sigs/auth-methods/overview.md index 50727e4c..fd99d5f3 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/overview.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/overview.md @@ -6,9 +6,9 @@ sidebar_position: 1 With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: -- [Social Login (e.g., Google, Discord)](../social-login) -- [WebAuthn](../web-authn) -- [Email / SMS](../email-sms) +- [Social Login (e.g., Google, Discord)](../auth-methods/social-login.md) +- [WebAuthn](../auth-methods/web-authn.md) +- [Email / SMS](../auth-methods/email-sms.md) Support for one-time passcodes (OTPs) through email and SMS is coming soon. diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 900d2c46..be253844 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -3,7 +3,7 @@ :::note 💡 Lit Actions are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! -For an in-depth review of the functionality provided by the Lit Actions SDK, take a look at our [API docs](https://actions-docs.litprotocol.com/). +For an in-depth review of the functionality provided by the Lit Actions SDK, take a look at the [API docs](https://actions-docs.litprotocol.com/). ::: ## Quick Start @@ -17,31 +17,26 @@ For an in-depth review of the functionality provided by the Lit Actions SDK, tak ### Overview -Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method for allowing developers to encode logic that dictate signing. +Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method that allows developers to encode logic that dictates signing. -Severless signing or what we’ll refer to as Lit Actions are JavaScript programs that can be used to specify signing and authentication logic for programmable key pairs (PKPs). When used in conjunction with PKPs, Lit Actions are serverless functions with their own private key-pair. Together these tools can be used to write data to blockchains and other state machines. +Severless signing (AKA Lit Actions), are JavaScript programs that can be used to specify signing and authentication logic for Programmable Key Pairs (PKPs). When used in conjunction with PKPs, Lit Actions are serverless functions with their own private key-pair that can be used to write data to blockchains and other state machines. -A trivial example would be a Lit Action and associated PKP that checks if a number is prime, only returning a signature if the number is prime. Each node will execute the Lit Action with a submitted input and verify that it meets the required conditions. If it does, the node will provision an independent signing share. Only after more than two-thirds of these shares have been collected can the complete signature be formed. +A simple example is a Lit Action and associated PKP that checks if a number is prime. The PKP gets [atomically](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) assigned to the Lit Action, only returning a signature if the required conditions are met (in this case, if a prime number is inputted). Each node will execute the Lit Action in parallel and verify that it meets the required conditions. If it does, each node independently provisions a signing share to the requesting client. Only after more than two-thirds of these shares have been collected is the complete signature returned. ### Features -1. [Blockchain Agnostic](../../resources/supported-chains.md): Lit Actions can be used to write data to blockchains using PKPs. -2. Immutable: Once a Lit Action has been published, just like a blockchain smart contract - it cannot be modified. Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. +1. [Blockchain Agnostic](../../resources/supported-chains.md): Lit Actions can be used to write data to and across any supported blockchain and state machine using PKPs. +2. Immutable: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on-chain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. 3. Off-Chain Compatibility: Lit Actions can pull in data from off-chain sources natively, without requiring the use of a third party oracle. ### Use Cases -**Ideal use cases** +- [Generating proofs](../serverless-signing/conditional-signing) +- [Condition-based execution](../../tools/event-listener) +- [Looking up permitted actions, addresses and auth methods associated with a PKP](../wallets/auth-methods/#example-setting-auth-context-with-lit-actions) +- [Checking access control conditions](../access-control/lit-action-conditions) +- [Fetching off-chain data](../serverless-signing/fetch) -- Generating proofs -- Looking up permitted actions, addresses and auth methods associated with a PKP -- Checking access control conditions with conditional signing - -**Not Recommended Use Cases** - -- POST request that inserts a new SQL row (if not called in single execution, the Lit Action will be executed by every node in parallel, you will end up with n number of rows, where n is no less than two-thirds the number of total nodes in the Lit network) -- ETH RPC calls -- Sending a transaction that needs an external API call (the API call will be sent n times, where n is no less than two-thirds the number of total nodes in the Lit network) ### Examples diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 37c3f909..646ebaaf 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem'; For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -Need some `LIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! +Need some `testLIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! ::: diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 8e405861..62a10536 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -3,7 +3,7 @@ :::note PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! -Need some `LIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ +Need some `testLIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ **PKP Developer Preview is Live!** Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) @@ -21,26 +21,22 @@ Ready to jump right in? Quickly learn how you can integrate Programmable Key Pai ## Overview -Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be utilized by developers to: - -1. Provide users of web3 with seamless, ["seed-phraseless" onboarding](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) experiences. -2. Facilitate transaction execution on [blockchains](https://www.youtube.com/watch?v=zJEVPH1UUxM), [storage networks](https://github.com/LIT-Protocol/key-did-provider-secp256k1), and other state machines. -3. Build fully decentralized application backends. +Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be used to [seamlessly onboard](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) users into web3 and provide flexible and intuitive asset management experiences. ## Features -1. [Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: [Serverless signing](../serverless-signing/overview.md) is useful for defining signing automations, handling [authentication](../wallets/auth-methods.md), or generating conditional proofs. -3. Atomicity: Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set. -4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. +1. [Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchain or state machine supported by Lit. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos-based chains. +2. Programmable: [Lit Actions](../serverless-signing/overview) can be used to define flexible transaction automations and handle the authentication logic for PKPs. +3. Atomicity: Using [Mint/Grant/Burn](../serverless-signing/overview), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set, and nothing else. +4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new wallet where the private key never exists in its entirety. 5. Interoperable: Use a provider like [WalletConnect](../wallets/walletconnect.md) to connect PKPs to your favorite dApps, just like any other EOA wallet. ## Examples and Use Cases PKPs can be used to power a wide array of potential applications and use cases: -1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) with Multi-Factor Authentication -2. Signing Automation and [Conditional Transaction Execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) +1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) +2. [DeFi automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) 3. [Automated Credential Issuance](https://spark.litprotocol.com/krebitxlitactions/) 4. [Versatile Web3 Wallets](https://github.com/DustilDawn/Magic) 5. [Cross-Chain Messaging and Swaps](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/) diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index c37cddfb..fb21a0db 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -119,4 +119,4 @@ In order to allow for various frontends to integrate with our platform, we plan #### Challenge-Free Registration -We do not currently use [challenges](../../resources/glossary#challenge.md) as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +We do not currently use challenges as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/netlify.toml b/netlify.toml index 898edfbb..97521414 100644 --- a/netlify.toml +++ b/netlify.toml @@ -660,3 +660,8 @@ force = false status = 302 force = false +[[redirects]] + from = "/v3/sdk/access-control/condition-types/lit-action-conditions" + to = "/v3/sdk/access-control/lit-action-conditions" + status = 302 + force = false diff --git a/sidebars.js b/sidebars.js index 63e34e9a..9745bb4f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -156,7 +156,6 @@ const sidebars = { items: [ "sdk/access-control/condition-types/unified-access-control-conditions", "sdk/access-control/condition-types/boolean-logic", - "sdk/access-control/condition-types/lit-action-conditions", ], }, { @@ -180,6 +179,14 @@ const sidebars = { "sdk/access-control/other-chains/cosmos-conditions", ], }, + { + type: "category", + label: "Off-Chain", + collapsed: true, + items: [ + "sdk/access-control/lit-action-conditions", + ], + }, ], }, { From eeac8ae63f34c21c22ac7493648bf1c541504c10 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 12 Dec 2023 19:15:13 -0800 Subject: [PATCH 105/627] Update yarn.lock --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index b7c9e8c8..a470a249 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2253,7 +2253,7 @@ "@lit-protocol/constants@^3.0.24": version "3.0.24" - resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" From 79991d6f2f1729f39c1385c8782256b792136b93 Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Wed, 13 Dec 2023 20:06:06 -0800 Subject: [PATCH 106/627] fix broken links --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index a605a161..5db437e1 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -74,9 +74,9 @@ In the example above, we construct a SIWE message manually, but you can use the ## Resources You Can Request -You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](../resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. -When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](../capability-objects) about how to create custom session capability objects. +When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](capability-objects) about how to create custom session capability objects. ## Clearing Local Storage From a55e3501b73e6a7d5d5140b2c00d7fecfc570dfa Mon Sep 17 00:00:00 2001 From: mendaxjr <153492831+mendaxjr@users.noreply.github.com> Date: Fri, 15 Dec 2023 04:23:44 +0300 Subject: [PATCH 107/627] Update alchemy-account-kit.md (#182) --- docs/integrations/aa/alchemy-account-kit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 091b8939..4b65af84 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -100,7 +100,7 @@ yarn add @lit-protocol/lit-node-client@cayenne ### 2. Get A Programmable Key Pair (PKP) -Get some LIT Testnt tokens from Lit's [Chronicle network](../../network/rollup.mdx). +Get some LIT Testnet tokens from Lit's [Chronicle network](../../network/rollup.mdx). Then mint a PKP through the [PKP explorer](https://explorer.litprotocol.com/mint-pkp). From ca3410a4f5514d294a8f5dab645417fd3c713a63 Mon Sep 17 00:00:00 2001 From: Furkan Akal <30433306+furkanakal@users.noreply.github.com> Date: Fri, 15 Dec 2023 04:24:09 +0300 Subject: [PATCH 108/627] add: security.txt (#180) --- security.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 security.txt diff --git a/security.txt b/security.txt new file mode 100644 index 00000000..4fb88f27 --- /dev/null +++ b/security.txt @@ -0,0 +1,2 @@ +Contact: mailto:security@litprotocol.com +Expires: 2030-01-01T00:00:00.000Z \ No newline at end of file From da5b98b08549b22c613cd7cbeb155a17e2a41807 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Thu, 14 Dec 2023 21:54:46 -0500 Subject: [PATCH 109/627] revise docs on custom auth to be more complete (#185) --- .../session-sigs/auth-methods/custom-auth.md | 143 ++++++++++++++++++ docs/sdk/wallets/auth-methods.md | 105 +------------ docs/sdk/wallets/minting.md | 3 + sidebars.js | 1 + yarn.lock | 2 +- 5 files changed, 150 insertions(+), 104 deletions(-) create mode 100644 docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md b/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md new file mode 100644 index 00000000..07c7c5e9 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md @@ -0,0 +1,143 @@ +# Custom Auth + +If you would like further customization over your PKP auth methods, or want to add a new one not yet supported by Lit, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. + +Your custom auth will basically look like a bunch of if statements inside a Lit Action. + +## How does authentication differ from authorization? + +For custom auth, you may implement your own Authentication or Authorization, or both. + +Authentication refers to confirming a users identity. This generally involves resolving some kind of auth material (an JWT, auth token, etc). You can use any of Lit's built in Auth Methods, and we will handle the Authentication step for you, so that you only have to implement Authorization. See the "Custom Authentication" section below for more info. + +Authorization refers to confirming that a user is allowed to use a PKP. Specifically, it's checking the permissions of a PKP and making sure that the user that was Authenticated is also authorized to use a PKP. + +Note: Currently, an [auth signature](../../auth-sig), is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. + +In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), and you're using an Auth Method supported by Lit, they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](overview). If you're not using an auth method supported by Lit, then your AuthSig is not for authorization, but you must still present one for Rate Limit authentication. In this case, the rate limit is tracked against the AuthSig, and you may wish to pay for your users requests by giving this wallet a Rate Limit Increase NFT. + +The flow for using an auth method already supported by lit, with custom Authorization, is as follows: + +1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. +2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. +3. The Lit SDK will use the session key to sign future requests. So instead of signing the session key-pair with a wallet, you can sign it using the PKP by communicating with the Lit nodes and presenting proof that you are authorized. + +## Authentication Helpers + +Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pre-populated with the resolved Auth Methods, and a few other items. If you're using an Auth Method already supported by Lit, then Lit can handle the Authentication for you. For example, if you pass a Google Oauth Token, then the Lit Nodes will resolve the Oauth Token into a user ID and application ID and those will be available to you in `Lit.Auth`. `Lit.Auth` has the following members: + +- actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. +- authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. +- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](../../../../sdk/wallets/auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. + +Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. + +## Example: Setting Authentication Context with Lit Actions + +This example shows how to check different auth methods for a PKP using a Lit Action. It sends in a auth token from Google, and Lit resolves this for you and puts it into the Lit.Auth object. This example returns this Lit.Auth object as a response so you can inpsect it and learn it's schema. + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client"; + +// this code will be run on the node +const litActionCode = ` +const go = async () => { + Lit.Actions.setResponse({response: JSON.stringify({"Lit.Auth": Lit.Auth})}) +}; + +go(); +`; + +// you need an AuthSig to auth with the nodes +// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) +const authSig = { + sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", + derivedVia: "web3.eth.personal.sign", + signedMessage: + "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", + address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", +}; + +const runLitAction = async () => { + const litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + litNetwork: "localhost", + debug: true, + }); + await litNodeClient.connect(); + const results = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + authMethods: [ + // { + // // discord oauth + // accessToken: "M1Y1WnYnavzmSaZ6p1LBLsNFn2iiu0", + // authMethodType: 4, + // }, + // { + // // google oauth + // accessToken: + // "ya29.a0Aa4xrXMCyLStBQzLhC8il8YRPXIkEEgno9nB4PKvjCi6oIu-uIjeIoyfQoR99TcZf0IUMPfJfjRIJyIXtLk_kXLa5BmdUyJcJGP8SB4-UjlebOILidfItC8KR1sQR9LSFX55cw3_GTa5IqCOCTXME38z5ZMZaCgYKATASARASFQEjDvL9HinQH3Mk1UclCD011YbLfQ0163", + // authMethodType: 5, + // }, + // { + // email / sms + // accessToken: "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjgzMjIzNjIyMDg5LCJleHAiOjE2ODMyMjU0MjIwODksIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0wNFQxODowNzowMi4wODkxODgrMDA6MDAifQ.eyJyIjoiOTRiOWE1ODkyODFlYzdlYmZlZTdjOGRjMjU0YTk1NGY5NjY1N2IzZmRkNmFlMWIwZThmMmY1OWIxMWYwNTU1YSIsInMiOiI0NWNlNTA0YTBkZjFlZWFkMWYxMGIyYTQ1MjU4ZjlhOTI5ZTY5ODYzYjIzNDdlZGViMmRkODMxM2Y4NDVhNDA1In0" + // authMethodType: 7, + // } + { + // google oauth JWT + accessToken: + "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc3Y2MwZWY0YzcxODFjZjRjMGRjZWY3YjYwYWUyOGNjOTAyMmM3NmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDg5OTYwNTQyNzMzNjA1NjgxMzIiLCJlbWFpbCI6ImdldmVuc3RlZUBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlVYV1Z1eEJsdGswcEhKclllOEFXTUEiLCJpYXQiOjE2NjcxNjgyMTUsImV4cCI6MTY2NzE3MTgxNX0.ejZu5bADJ6cUsovV7otHAafy0mqWZBAtN860jvBdVe38XUi0v-eB5WWBPMD5zXcJxbXFvaPWCX8nTaE6S24cNNHJw0hq15irjRZeg9D2i7ToitR1LZSQ3rPCDQZPX4xYn7G-FH7C1DQ-7NEDMmr9ge4B6Qs4pT5Mj8ESVlA29yZjKCfk-zL7F5b6W0EOIA6G9rj6-3HgtazkHfIGHAtfBz4dqHjC4HJncHJzqIm9Y8eSBBnN-ZhYUr3cWxGCuFIw3yrGccv5_khfhbbk6TqdSeMO9YNWN3otiVB8Nwu2sb9VsllFoHIE0uGSzVZVbJgSK1GsGbJZe76ubLuObI5YFw", + authMethodType: 6, + }, + ], + // all jsParams can be used anywhere in your litActionCode + jsParams: { + // this is the string "Hello World" for testing + toSign: ethers.utils.arrayify( + ethers.utils.keccak256([ + 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, + ]) + ), + publicKey: + "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + sigName: "sig1", + }, + }); + console.log("results: ", JSON.stringify(results.response, null, 2)); +}; + +runLitAction(); +``` + +## Custom Authentication + +Inside your Lit Action, you need to confirm your users identity. For example, if you were implementing Roblox authentication, which uses Oauth 2.0, you would get an access token from the Roblox API. You would then send this to your Lit Action, which would send it to the Roblox servers, which would validate it and send back the validated user info like their Roblox User ID. At this point, you can perform Authorization to check that the user is allowed to use the PKP they want to use. + +## Custom Authorization + +Inside your Lit Action, you need to confirm that your user has permissions to use a given PKP with their authenticated identity. + +If you decide to use your own auth, you can still use the PKPPermissions contract to define your method(s) of choice, or deploy your own access control contract. You could also use any centralized database or other blockchain as the "database" to store the permissions for the PKP. Your permissions database must be accessible via fetch() or must live on-chain in one of the chains supported by Lit. + +If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://actions-docs.litprotocol.com/#getpermittedauthmethods). + + +## Steps to implement both custom authentication and authorization + +1. Get your user's identity material. For example, if you were implementing Roblox Oauth, this would be your user's Roblox user id. +2. Get your user a PKP. You can use the open source Lit relayer for this, which is documented [here](../../../../sdk/wallets/minting/#minting-pkps-using-the-lit-relayer). You can use our hosted relayer or run your own. You will supply the identity material (like their Roblox user id, for example) when minting the PKP. You should hash the identity material before sending it to the relayer, to provide some privacy for your users and prevent people from checking the chain to find your users. Minting a PKP with the relayer will atomically mint a new PKP and create an entry in the PKPPermissions contract to authorize that user to use that PKP. +3. Write a Lit Action for your custom authentication and authorization, which is documented further below. + +### Writing a Lit Action for custom authentication and authorization + +In your Lit action, you first need to authenticate your user and resolve their identity material. For example, if you were implementing Roblox Oauth 2.0 auth, you would be taking their Roblox Access Token and sending it to the Roblox servers, which would validate it and return the user's Roblox user id. + +You can do this using fetch() inside your Lit Action to talk to the Roblox servers. + +Next, you need to authorize your user and that they are permitted to use the PKP they want to use. You can do this however you want, including using a centralized database available via fetch(). If you choose to use our PKPPermissions contract as documented above, you will be able to use the `Lit.Actions.getPermittedAuthMethods()` function to get all the permitted auth methods for the PKP. This is documented [here](https://actions-docs.litprotocol.com/#getpermittedauthmethods). + +At this point, you should check the array returned by `getPermittedAuthMethods()` to see if your user's identity material (for example, a Roblox user id) is present. Remember - you should have hashed their user id when you minted the PKP, so you should hash it here too before comparing it to the elements in the `getPermittedAuthMethods()` array. + +If you find a match in the array, then you know the user is permitted to use the PKP, and you can proceed with signing or whatever else you want to do. \ No newline at end of file diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 22f848ce..a5ed348a 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -131,107 +131,6 @@ The PKP public key is required to initialize a new 'wallet' object when using [L You will also need the PKP public key in order to generate a [sessionSig](../../sdk/authentication/session-sigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). -## Custom Auth +## Custom Auth / Adding new Auth Methods not yet supported by Lit -If you would like further customization over your PKP auth methods, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. If you go this route, your auth basically looks like a bunch of if statements inside the Lit Action. - -If you decide to use your own auth, you can still use the PKPPermissions contract to define your method(s) of choice, or deploy your own access control contract. If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). - -## How does authentication differ from authorization? - -Authorization refers to an [auth signature](../../sdk/authentication/auth-sig), which is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. - -In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](../../sdk/authentication/session-sigs/auth-methods/overview). The flow is as follows: - -1. Present a PKP public key and an auth token from an authorized auth method (like a Google OAuth JWT), as well as a session public key for a local key-pair that is generated and stored locally. -2. The PKP is used to sign a SIWE signature which authorizes the session key-pair going forward. -3. The Lit SDK will use the session key to sign future requests. So instead of signing the session key-pair with a wallet, you can sign it using the PKP by communicating with the Lit nodes and presenting proof that you are authorized. - -## Authentication Helpers - -Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pre-populated with the resolved Auth Methods, and a few other items. For example, if you pass a Google Oauth Token, then the Lit Nodes will resolve the Oauth Token into a user ID and application ID and those will be available to you in `Lit.Auth`. `Lit.Auth` has the following members: - -- actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. -- authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. -- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](#existing-supported-auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. - -Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. - -## Example: Setting Auth Context with Lit Actions - -This example shows how to assign different auth methods to a PKP using a Lit Action. - -```js -import * as LitJsSdk from "@lit-protocol/lit-node-client"; - -// this code will be run on the node -const litActionCode = ` -const go = async () => { - Lit.Actions.setResponse({response: JSON.stringify({"Lit.Auth": Lit.Auth})}) -}; - -go(); -`; - -// you need an AuthSig to auth with the nodes -// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) -const authSig = { - sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", - address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", -}; - -const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClient({ - alertWhenUnauthorized: false, - litNetwork: "localhost", - debug: true, - }); - await litNodeClient.connect(); - const results = await litNodeClient.executeJs({ - code: litActionCode, - authSig, - authMethods: [ - // { - // // discord oauth - // accessToken: "M1Y1WnYnavzmSaZ6p1LBLsNFn2iiu0", - // authMethodType: 4, - // }, - // { - // // google oauth - // accessToken: - // "ya29.a0Aa4xrXMCyLStBQzLhC8il8YRPXIkEEgno9nB4PKvjCi6oIu-uIjeIoyfQoR99TcZf0IUMPfJfjRIJyIXtLk_kXLa5BmdUyJcJGP8SB4-UjlebOILidfItC8KR1sQR9LSFX55cw3_GTa5IqCOCTXME38z5ZMZaCgYKATASARASFQEjDvL9HinQH3Mk1UclCD011YbLfQ0163", - // authMethodType: 5, - // }, - // { - // email / sms - // accessToken: "eyJhbGciOiJzZWNwMjU2azEiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJMSVQtUHJvdG9jb2wiLCJzdWIiOiJMSVQtT1RQIiwiaWF0IjoxNjgzMjIzNjIyMDg5LCJleHAiOjE2ODMyMjU0MjIwODksIm9yZ0lkIjoiTElUIiwicm9sZSI6InVzZXIiLCJleHRyYURhdGEiOiIrMTIwMTQwNzIwNzN8MjAyMy0wNS0wNFQxODowNzowMi4wODkxODgrMDA6MDAifQ.eyJyIjoiOTRiOWE1ODkyODFlYzdlYmZlZTdjOGRjMjU0YTk1NGY5NjY1N2IzZmRkNmFlMWIwZThmMmY1OWIxMWYwNTU1YSIsInMiOiI0NWNlNTA0YTBkZjFlZWFkMWYxMGIyYTQ1MjU4ZjlhOTI5ZTY5ODYzYjIzNDdlZGViMmRkODMxM2Y4NDVhNDA1In0" - // authMethodType: 7, - // } - { - // google oauth JWT - accessToken: - "eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc3Y2MwZWY0YzcxODFjZjRjMGRjZWY3YjYwYWUyOGNjOTAyMmM3NmIiLCJ0eXAiOiJKV1QifQ.eyJpc3MiOiJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20iLCJhenAiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJhdWQiOiI0MDc0MDg3MTgxOTIuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJzdWIiOiIxMDg5OTYwNTQyNzMzNjA1NjgxMzIiLCJlbWFpbCI6ImdldmVuc3RlZUBnbWFpbC5jb20iLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiYXRfaGFzaCI6IlVYV1Z1eEJsdGswcEhKclllOEFXTUEiLCJpYXQiOjE2NjcxNjgyMTUsImV4cCI6MTY2NzE3MTgxNX0.ejZu5bADJ6cUsovV7otHAafy0mqWZBAtN860jvBdVe38XUi0v-eB5WWBPMD5zXcJxbXFvaPWCX8nTaE6S24cNNHJw0hq15irjRZeg9D2i7ToitR1LZSQ3rPCDQZPX4xYn7G-FH7C1DQ-7NEDMmr9ge4B6Qs4pT5Mj8ESVlA29yZjKCfk-zL7F5b6W0EOIA6G9rj6-3HgtazkHfIGHAtfBz4dqHjC4HJncHJzqIm9Y8eSBBnN-ZhYUr3cWxGCuFIw3yrGccv5_khfhbbk6TqdSeMO9YNWN3otiVB8Nwu2sb9VsllFoHIE0uGSzVZVbJgSK1GsGbJZe76ubLuObI5YFw", - authMethodType: 6, - }, - ], - // all jsParams can be used anywhere in your litActionCode - jsParams: { - // this is the string "Hello World" for testing - toSign: ethers.utils.arrayify( - ethers.utils.keccak256([ - 72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, - ]) - ), - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", - sigName: "sig1", - }, - }); - console.log("results: ", JSON.stringify(results.response, null, 2)); -}; - -runLitAction(); -``` +More info on this is available [here](../../sdk/authentication/session-sigs/auth-methods/custom-auth) \ No newline at end of file diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index c37cddfb..cffb9a2e 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -54,6 +54,9 @@ const mintInfo = await contractClient.mintWithAuth({ ``` ### Minting PKPs using the Lit relayer + +The relayer is an open source project, and we run one for your use. The source code is available [here](https://github.com/LIT-Protocol/relay-server). If you want to use our Relayer, you'll need a free API key which you can get by filling out [this form](https://forms.gle/RNZYtGYTY9BcD9MEA). + ```js import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; diff --git a/sidebars.js b/sidebars.js index 63e34e9a..ed27f3ea 100644 --- a/sidebars.js +++ b/sidebars.js @@ -131,6 +131,7 @@ const sidebars = { "sdk/authentication/session-sigs/auth-methods/social-login", "sdk/authentication/session-sigs/auth-methods/web-authn", "sdk/authentication/session-sigs/auth-methods/email-sms", + "sdk/authentication/session-sigs/auth-methods/custom-auth", ], }, ], diff --git a/yarn.lock b/yarn.lock index b7c9e8c8..a470a249 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2253,7 +2253,7 @@ "@lit-protocol/constants@^3.0.24": version "3.0.24" - resolved "https://registry.npmjs.org/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== dependencies: "@lit-protocol/auth-helpers" "3.0.24" From 9187360f959a66f369e9b9359f8fec9080587944 Mon Sep 17 00:00:00 2001 From: Furkan Akal <30433306+furkanakal@users.noreply.github.com> Date: Mon, 18 Dec 2023 17:57:11 +0300 Subject: [PATCH 110/627] fix: typo in LitAbility (#184) --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 5db437e1..2c330b60 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -61,7 +61,7 @@ const sessionSigs = await litNodeClient.getSessionSigs({ resourceAbilityRequests: [ { resource: litResource, - ability: LitAbility.AccessControlDescription + ability: LitAbility.AccessControlConditionDecryption } ], authNeededCallback, From 0d4b7a32ad6ab8aade3102588c4ccdc701a832e8 Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 Date: Mon, 18 Dec 2023 17:16:04 -0800 Subject: [PATCH 111/627] feat: Use latest blockhash for nonce while crafting authSig/sessionSigs --- docs/sdk/authentication/auth-sig.md | 7 ++++++- docs/sdk/authentication/session-sigs/get-session-sigs.md | 5 +++++ docs/sdk/authentication/session-sigs/intro.md | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index feec4c24..017e05ad 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -14,7 +14,7 @@ You can use any signature compliant with EIP-4361, also known as Sign in with Et { "sig": "0x18720b54cf0d29d618a90793d5e76f4838f04b559b02f1f01568d8e81c26ae9536e11bb90ad311b79a5bc56149b14103038e5e03fee83931a146d93d150eb0f61c", "derivedVia": "web3.eth.personal.sign", - "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a\n\nThis is a test statement. You can put anything you want here.\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: gzdlw7mR57zMcGFzz\nIssued At: 2022-04-15T22:58:44.754Z", + "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a\n\nThis is a test statement. You can put anything you want here.\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553\nIssued At: 2022-04-15T22:58:44.754Z", "address": "0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a" } ``` @@ -94,6 +94,8 @@ If you want to clear the `AuthSig` stored in local storage, you can call the [`d If you want to obtain an `AuthSig` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `AuthSig` object. +**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake + ```js const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); @@ -107,6 +109,8 @@ async function main() { }); await litNodeClient.connect(); + let nonce = litNodeClient.getLatestBlockhash(); + // Initialize the signer const wallet = new ethers.Wallet(''); const address = ethers.getAddress(await wallet.getAddress()); @@ -123,6 +127,7 @@ async function main() { uri: origin, version: '1', chainId: 1, + nonce, }); const messageToSign = siweMessage.prepareMessage(); diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 2c330b60..401db935 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,6 +6,8 @@ sidebar_position: 2 You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. +**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake + ```javascript import { LitNodeClient } from '@lit-protocol/lit-node-client'; import { LitAccessControlConditionResource, LitAbility } from '@lit-protocol/auth-helpers'; @@ -20,6 +22,8 @@ const litNodeClient = new LitNodeClient({ }); await litNodeClient.connect(); +let nonce = litNodeClient.getLatestBlockhash(); + /** * When the getSessionSigs function is called, it will generate a session key * and sign it using a callback function. The authNeededCallback parameter @@ -37,6 +41,7 @@ const authNeededCallback = async ({ chain, resources, expiration, uri }) => { chainId: "1", expirationTime: expiration, resources, + nonce, }); const toSign = message.prepareMessage(); const signature = await wallet.signMessage(toSign); diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index b25d0a72..418eafe1 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -37,7 +37,7 @@ Given the following example `AuthSig`: URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a Version: 1 Chain ID: 1 - Nonce: ZfYjGsNyaDDFlaftP + Nonce: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553 Issued At: 2022-10-30T08:25:33.371Z Expiration Time: 2022-11-06T08:25:33.348Z Resources: @@ -72,7 +72,7 @@ Here is an example `SessionSig` that uses a session keypair to sign the `AuthSig URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a Version: 1 Chain ID: 1 - Nonce: ZfYjGsNyaDDFlaftP + Nonce: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553 Issued At: 2022-10-30T08:25:33.371Z Expiration Time: 2022-11-06T08:25:33.348Z Resources: From 56d77eaa717e6f5ca0a4abb98e40982dd4b8278a Mon Sep 17 00:00:00 2001 From: Bean Date: Fri, 22 Dec 2023 14:41:44 -0500 Subject: [PATCH 112/627] update aa kit for new package (#188) * update aa kit for new package * updates * add spacing * fix * add closing jsx * fix typo and remove link to signing * a bit more info * md fixes * fix note --- docs/integrations/aa/alchemy-account-kit.md | 211 +++++++------------- 1 file changed, 71 insertions(+), 140 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 9d4748af..ae978b3a 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -17,14 +17,21 @@ At completion of this reading you should be able to: --- ## What is Account Kit? + [Alchemy's Account Kit](https://www.alchemy.com/account-kit) is a complete toolkit to embed smart accounts in your app with social login, gas abstraction, batch transactions, and more. +[Lit Protocol's AA signer](https://accountkit.alchemy.com/smart-accounts/signers/guides/lit.html) is a complete solution for powering AA with a Lit signer. + Powered by account abstraction (ERC-4337), Account Kit provides all the tools you need to onboard users with zero friction: -**aa-sdk**: a flexible library to integrate, deploy, and use smart accounts + -**Light Account**: a gas-optimized ERC-4337 smart contract account + -**Signers**: integrations with your favorite social login and passkey providers + -**Gas Manager APIs**: a programmable API to sponsor gas fees in your app‍ + -**Bundler APIs**: the most reliable Bundler to submit UserOps onchain at scale With Account Kit, you can create a smart account for every user. Smart accounts are smart contract wallets that leverage account abstraction to radically simplify every step of the onboarding experience. Now, a new user can: @@ -62,7 +69,7 @@ npm i @lit-protocol/pkp-ethers@cayenne - + ```js yarn add @lit-protocol/pkp-ethers@cayenne @@ -72,7 +79,7 @@ yarn add @lit-protocol/pkp-ethers@cayenne -Install the `LitNodeClient` package`: +Install the `LitNodeClient` package: - + ```js yarn add @lit-protocol/lit-node-client@cayenne +yarn add @lit-protocol/crypto@cayenne +yarn add @lit-protocol/auth-helpers@cayenne +``` + + + + +Install the `Alchemy AA signer` package: + + + + +```js +npm i @alchemy/aa-signers ``` + + +```js +yarn add @alchemy/aa-signers +``` + ### 2. Get A Programmable Key Pair (PKP) Get some testLIT test tokens from Lit's [Chronicle network](../../network/rollup.mdx). -Then mint a PKP through the [PKP explorer](https://explorer.litprotocol.com/mint-pkp). +To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). + +To obtain an Auth Method [read about our authentication methods](../../sdk/authentication/session-sigs/auth-methods/). -For other ways to create a PKP, [read more within the Lit docs](../../sdk/wallets/minting.md). +For Authentication -### 3. Create a SmartAccountSigner +### 3. Create a SmartAccountAuthenticator -Next, setup the `LitNodeClient` and `PKPEthersWallet` to create a `SmartAccountSigner`: +Next, setup the `LitSigner` ```js -import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; -import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; -import { AuthCallbackParams } from "@lit-protocol/types"; +import { LitSigner } from "@alchemy/aa-signers"; +import { LitAuthMethod } from "@alchemy/aa-signers/lit-protocol"; import { createWalletClient, custom } from "viem"; import { polygonMumbai } from "viem/chains"; @@ -123,160 +156,58 @@ const API_KEY = ""; const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; const PKP_PUBLIC_KEY = ""; -const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", - debug: false, +const litSigner = new LitSigner({ + pkpPublicKey: PKP_PUBLIC_KEY, + rpcUrl: POLYGON_MUMBAI_RPC_URL, + network: "cayenne" }); -await litNodeClient.connect(); - -const resourceAbilities = [ - { - resource: new LitActionResource("*"), - ability: LitAbility.PKPSigning, - }, -]; - -/** - * For provisioning keys and setting up authentication methods see documentation below - * https://developer.litprotocol.com/v3/sdk/wallets/auth-methods - */ -const authNeededCallback = async (params: AuthCallbackParams) => { - const response = await litNodeClient.signSessionKey({ - sessionKey: params.sessionKeyPair, - statement: params.statement, - authMethods: [], - pkpPublicKey: PKP_PUBLIC_KEY, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; -}; - -const sessionSigs = await litNodeClient - .getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, - }) - .catch((err) => { - console.log("error while attempting to access session signatures: ", err); - throw err; - }); - -const pkpWallet = new PKPEthersWallet({ - pkpPubKey: PKP_PUBLIC_KEY, - rpc: POLYGON_MUMBAI_RPC_URL, - controllerSessionSigs: sessionSigs, -}); - -// a smart account signer you can use as an owner on ISmartContractAccount -export const litSigner: SmartAccountSigner = new WalletClientSigner( - createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, - "lit" // signerType -); ``` -### 4. Use SmartAccountSigner with LightAccount -We can link the `SmartAccountSigner` to a `LightSmartContractAccount` from `aa-accounts`: +:::note + +You may pass your own instance of `LitNodeClient` to `LitSigner` as `inner` if not an instance will be created. +::: -`example.ts` + +### 4. Use SmartAccountSigner with LightAccount +We can link the `SmartAccountSigner` to a `LightSmartContractAccount` from `aa-accounts`: ```js import { AlchemyProvider } from "@alchemy/aa-alchemy"; -import { LightSmartContractAccount } from "@alchemy/aa-accounts"; -import { litSigner } from "./lit"; +import { + LightSmartContractAccount, + getDefaultLightAccountFactoryAddress, +} from "@alchemy/aa-accounts"; +import { polygonMumbai } from "viem/chains"; +import { createLitSigner } from "./lit"; +const chain = polygonMumbai; -const chain = sepolia; const provider = new AlchemyProvider({ apiKey: "ALCHEMY_API_KEY", chain, - entryPointAddress: "0x...", }).connect( (rpcClient) => new LightSmartContractAccount({ - entryPointAddress: "0x...", - chain: rpcClient.chain, + chain, owner: litSigner, - factoryAddress: "0x...", + factoryAddress: getDefaultLightAccountFactoryAddress(chain), rpcClient, }) ); ``` -`lit.ts` -```js -import { WalletClientSigner, type SmartAccountSigner } from "@alchemy/aa-core"; -import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; -import { AuthCallbackParams } from "@lit-protocol/types"; -import { createWalletClient, custom } from "viem"; -import { polygonMumbai } from "viem/chains"; +### 5. Authenticating with the Lit Signer +Before the `AlchemyProvider` can use the `LitSigner` we must `authenticate` -const API_KEY = ""; -const POLYGON_MUMBAI_RPC_URL = `${polygonMumbai.rpcUrls.alchemy.http[0]}/${API_KEY}`; -const PKP_PUBLIC_KEY = ""; +To provide authentication `context` [read about our authentication methods](../../sdk/authentication/session-sigs/auth-methods/). -const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", - debug: false, -}); -await litNodeClient.connect(); - -const resourceAbilities = [ - { - resource: new LitActionResource("*"), - ability: LitAbility.PKPSigning, - }, -]; - -/** - * For provisioning keys and setting up authentication methods see documentation below - * https://developer.litprotocol.com/v3/sdk/wallets/auth-methods - */ -const authNeededCallback = async (params: AuthCallbackParams) => { - const response = await litNodeClient.signSessionKey({ - sessionKey: params.sessionKeyPair, - statement: params.statement, - authMethods: [], - pkpPublicKey: PKP_PUBLIC_KEY, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; -}; - -const sessionSigs = await litNodeClient - .getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, - }) - .catch((err) => { - console.log("error while attempting to access session signatures: ", err); - throw err; - }); - -const pkpWallet = new PKPEthersWallet({ - pkpPubKey: PKP_PUBLIC_KEY, - rpc: POLYGON_MUMBAI_RPC_URL, - controllerSessionSigs: sessionSigs, +```js +litSigner.authenticate({ + context: "" }); - -// a smart account signer you can use as an owner on ISmartContractAccount -export const litSigner: SmartAccountSigner = new WalletClientSigner( - createWalletClient({ transport: custom(pkpWallet.rpcProvider) }), // JsonRpcProvider instance, - "lit" // signerType -); ``` ## Next Steps -Continue learning about [Lit's severless signing](../../sdk/serverless-signing/conditional-signing.md) capabilities. - Explore [Account Kit](https://accountkit.alchemy.com/). From 13d2c88bd23bc4ee52db4178ecdec45797d2621d Mon Sep 17 00:00:00 2001 From: Bean Date: Fri, 22 Dec 2023 14:44:47 -0500 Subject: [PATCH 113/627] add cra docs (#189) --- docs/migration/overview.md | 56 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 8995b1f4..81e564fd 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -259,6 +259,62 @@ module.exports = { }; ``` +### Using Create React App (CRA) +If you are using CRA you may see the errors related to `stream` `buffer` and `crypto` to being found / handled. You can fix this with the following webpack override + +```javascript +const webpack = require('webpack'); // Import webpack + +module.exports = { + webpack: function(config, env) { + // Add a fallback for 'crypto' in the resolve object + config.resolve = { + ...config.resolve, // Spread existing resolve configurations + fallback: { + ...config.resolve.fallback, // Spread existing fallbacks, if any + 'crypto': require.resolve('crypto-browserify'), // Fallback for 'crypto' + 'stream': require.resolve('stream-browserify'), // Fallback for 'stream' + 'buffer': require.resolve('buffer/'), // Add this line + }, + }; + + // Provide plugin to define Buffer globally + config.plugins = [ + ...config.plugins, + new webpack.ProvidePlugin({ + Buffer: ['buffer', 'Buffer'], + }), + ]; + + config.module.rules = config.module.rules.map(rule => { + if (rule.oneOf instanceof Array) { + rule.oneOf[rule.oneOf.length - 1].exclude = [ + /\.(js|mjs|jsx|cjs|ts|tsx)$/, + /\.html$/, + /\.json$/, + ]; + } + return rule; + }); + return config; + }, +}; +``` + +In the above we are replacing `crypto`, `stream`, and `buffer` with browser compatible replacements. +We also modify the default Create React App's `module rules` to include other JavaScript file extensions. + +You may need to install [react-app-rewired](https://www.npmjs.com/package/react-app-rewired) to override the webpack confgiuration with the above. +for usage with the above package you can change your run script + +```json +"scripts: { + ... + "start": "react-app-rewired start", +} +``` + + ## Changelog Changes to the **Lit JS SDK V3** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). \ No newline at end of file From cc4075d00e989f47a32345fed541689c599e26f7 Mon Sep 17 00:00:00 2001 From: Bean Date: Fri, 22 Dec 2023 17:30:44 -0500 Subject: [PATCH 114/627] add doc link to aa signer docs (#190) --- docs/integrations/aa/alchemy-account-kit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index ae978b3a..39b8706c 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -210,4 +210,4 @@ litSigner.authenticate({ ## Next Steps -Explore [Account Kit](https://accountkit.alchemy.com/). +Explore [Lit Alchemy AA signer documentation](https://accountkit.alchemy.com/packages/aa-signers/lit-protocol/introduction.html). From e3d79a362e003f2d114ce1299a650e1297c352d5 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 3 Jan 2024 00:04:51 -0800 Subject: [PATCH 115/627] Update community.md --- Ecosystem/community.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ecosystem/community.md b/Ecosystem/community.md index b433591c..8fa47366 100644 --- a/Ecosystem/community.md +++ b/Ecosystem/community.md @@ -8,9 +8,9 @@ Join Our Developer Hub on [Discord](https://discord.gg/GnTtFukpHq). Check out this amazing list of example projects, code demos, educational content, and more awesome resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). -Looking to build with us? [Contact Lit Protocol](https://nut.sh/ell/forms/352580/YEk9vu). +Looking to build with us? [Contact Lit Protocol](https://forms.gle/n4WKtsyxaduEz8dDA). -Lit [Ecosystem RFPs](https://litprotocol.notion.site/Lit-Request-for-Ecosystem-Proposals-ae3f31e7f32c413cbe0b36c2fe53378d). +Lit [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas/issues). Lit [Request for Startups](https://spark.litprotocol.com/request-for-startups/). From d9ad28cdcc5a14a23cf0d3c86f036d442c18b523 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 3 Jan 2024 00:07:58 -0800 Subject: [PATCH 116/627] Update usecases.md --- docs/intro/usecases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 1c959b86..5c04f7e4 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -46,4 +46,4 @@ Generating signed proofs over arbitrary Web data: Using digital signatures to ve You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). -Have an idea for a project? [Get in touch](https://nut.sh/ell/forms/352580/YEk9vu)! +Have an idea for a project? [Get in touch](https://forms.gle/jNsLvvwcySDprtAx7)! From bfaeb731102d5a118f638bce4ac9568c7cc5c960 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 3 Jan 2024 00:09:12 -0800 Subject: [PATCH 117/627] Update what-is-lit-protocol.md --- docs/intro/what-is-lit-protocol.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 6038c284..360d1478 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -37,10 +37,10 @@ Get started on your developer journey by diving right into the code: ## Join the Community -Join our developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at our [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). +Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). -Check out our [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. +Check out the Lit [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. -Subscribe to our [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to meet the Lit team! +Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. -Follow us on [Twitter](https://twitter.com/LitProtocol). \ No newline at end of file +Follow Lit on [X](https://twitter.com/LitProtocol). From 278c305d12e795d164e781e86407f7d283454e1b Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 <115020815+Adarsh-Kumar28@users.noreply.github.com> Date: Wed, 3 Jan 2024 12:50:16 -0800 Subject: [PATCH 118/627] feat: Add Zero to Hero PKP Signing page (#191) * feat: Add Zero to Hero PKP Signing page * feat: PR comments * feat: Add Zero to Hero example to the Getting Started page * feat: Remove Zero to Hero page * fix: Remove zero-to-hero from Sidebar * feat: Update Heading --- docs/sdk/serverless-signing/quick-start.md | 249 ++++++++++----------- package.json | 2 +- yarn.lock | 32 +-- 3 files changed, 138 insertions(+), 145 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 646ebaaf..667e9332 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -1,7 +1,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Getting Started +# Quick Start :::note 💡 Lit Actions and PKPs are still heavily in development and things may change. @@ -19,6 +19,9 @@ Need some `testLIT` test tokens to mint a PKP? Get some from the [faucet](htt - Familiarity with JavaScript - Read the Overview section about [serverless signing](../serverless-signing/overview.md) +## Overview +The following section provides an end-to-end example of minting a PKP (using the ContractsSDK) and signing a message using Lit Actions. + ## What are Lit Actions Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../../wallets/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. @@ -29,54 +32,68 @@ In order to collect the responses from the Lit nodes, you'll also need to write In the example below, we will write a simple Lit Action that requests a signature from the Lit nodes and signs a message that says "Hello World". -## 1. Install the Lit JS SDK V3 +## Installation -On the client side +Install the latest contracts-sdk on `cayenne` -```jsx -yarn add @lit-protocol/lit-node-client@cayenne +```bash +yarn install @lit-protocol/contracts-sdk@cayenne ``` -For server side +## Set up the controller + +To initialize a LitContracts client you need an Eth Signer. This can be a standard Ethers wallet or also a `PKPEthersWallet` (more info on the latter [here](../authentication/session-sigs/auth-methods/add-remove-auth-methods)). But here, we're gonna use the standard Ethers wallet. + +## Initialize the ContractsSDK + +We're using the ContractsSDK for the minting the PKP & interacting with it (updating the scopes). The first step is to initialize the ContractsSDK ```jsx -yarn add @lit-protocol/lit-node-client-nodejs@cayenne +const contractClient = new LitContracts({ + signer: wallet, +}); + +await contractClient.connect(); ``` -## 2. Obtain a PKP +**Note:** The default LitNetwork for the ContractsSDK is Cayenne so there's no need to set the network explicitly. -Go to https://explorer.litprotocol.com/ and mint a PKP. +## Mint the PKP -:::tip +Now that we've the ContractsSDK initialized we're ready to mint the PKP using it. Since we want to allow out PKP to sign messages we have to add Auth Method scopes for `SigningAnything` & `OnlySignMessages` as below otherwise you'll get an error stating that the PKP isn't authorized to sign. -Save the public key which will be used in the steps below. +**Note:** You're gonna need an AuthSig for setting the `authMethod`. In the browser you can use `checkAndSignAuthMessage` or use [Hot wallet signing](https://developer.litprotocol.com/v3/support/faq/#1-cant-use-checkandsignauthmessage-in-a-backend-project) in the backend. -::: +### Get the Latest Eth Blockhash -## 3. Request a Signature +Since the ContractsSDK doesn't proveid you with the latest Eth Blockhash which is supposed to be the nonce for our AuthSig signed message we have to use the LitNodeClient to get that. More info [here](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig/#obtaining-an-authsig-on-the-server-side). -The Lit Action below will sign the string "Hello World" with the shared testnet ECDSA key and return the signature. +You first need to install the `LitNodeClient` or `LitNodeClientNodeJs` depending on the environment: -The JS below will be run by every node in the network in parallel. + + -```jsx -const go = async () => { - // this is the string "Hello World" for testing - const toSign = [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]; - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the HTTP response from the node - const sigShare = await Lit.Actions.signEcdsa({ - toSign, - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", - sigName: "sig1", - }); -}; +```bash +yarn add @lit-protocol/lit-node-client@cayenne +``` + + + + -go(); +```bash +yarn add @lit-protocol/lit-node-client-nodejs@cayenne ``` -You also need some client side JS to send the above JS to the nodes, collect the signature shares, combine them, and print the complete signature. In the following code, we store the above code into a variable called `litActionCode`. We execute it, obtain the signature, and print it: + + + +And use the nonce when crafting the authSig: { - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the HTTP response from the node - // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function - const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey , sigName }); -}; - -go(); -`; - -const runLitAction = async () => { - // you need an AuthSig to auth with the nodes - // this will get it from MetaMask or any browser wallet - const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); - - const litNodeClient = new LitJsSdk.LitNodeClient({ litNetwork: "serrano" }); - await litNodeClient.connect(); - const signatures = await litNodeClient.executeJs({ - code: litActionCode, - authSig, - // all jsParams can be used anywhere in your litActionCode - jsParams: { - // this is the string "Hello World" for testing - toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", - sigName: "sig1", - }, - }); - console.log("signatures: ", signatures); -}; +const litNodeClient = new LitJsSdk.LitNodeClient({ litNetwork: 'cayenne' }); +await litNodeClient.connect(); -runLitAction(); +const nonce = litNodeClient.getLatestBlockhash(); ``` @@ -133,87 +119,92 @@ runLitAction(); ```jsx import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; -// this code will be run on the node -const litActionCode = ` -const go = async () => { - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the HTTP response from the node - // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function - const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey , sigName }); -}; +const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: 'cayenne' }); +await litNodeClient.connect(); -go(); -`; +const nonce = litNodeClient.getLatestBlockhash(); +``` -// you need an AuthSig to auth with the nodes -// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) -const authSig = { - sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", - address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", -}; + + + +**Note:** The `mintInfo` contains all the required info for the PKP including its `tokenId` & `publicKey`. + +```jsx +const mintCost = await contractClient.pkpNftContract.read.mintCost(); you can check how much it costs to mint a PKP with this -const runLitAction = async () => { - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - litNetwork: "serrano", - }); - await litNodeClient.connect(); - const signatures = await litNodeClient.executeJs({ - code: litActionCode, - authSig, - // all jsParams can be used anywhere in your litActionCode - jsParams: { - // this is the string "Hello World" for testing - toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", - sigName: "sig1", - }, - }); - console.log("signatures: ", signatures); +const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: JSON.stringify(authSig), }; -runLitAction(); +const mintInfo = await contractClient.mintWithAuth({ + authMethod, + scopes: [ + AuthMethodScope.NoPermissions, + AuthMethodScope.SignAnything, + AuthMethodScope.OnlySignMessages, + ], +}); ``` - - +## Check the scope for the PKP -Passing JS to be run by the Lit Nodes +This step isn't necessary for signing with the PKP but can be done to view whether the minted PKP has proper scopes which are required for signing. The first step is to get the `authId` from the `authMethod` as the PKP contracts stores a mapping from the `authId` & its scopes. The `3` below is just the maxScopeId which should be greater than the number of [Auth Method scopes](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/#auth-method-scopes) that you define. -There are 2 ways to pass JS run by the Lit Nodes. You may pass the raw JS in the `code` param, or you may pass the IPFS ID of a file that contains the JS in the `ipfsId` param. The following two examples are equivalent: +```jsx +const authId = await LitAuthClient.getAuthIdByAuthMethod(authMethod); +await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( + mintInfo.pkp.tokenId, + AuthMethodType.EthWallet, + authId, + 3 +); + +const signAnythingScope = scopes[1]; +const onlySignMessagesScope = scopes[2]; +``` + +## Lit Action Signing with the PKP + +We'll again use the `litNodeClient` to call the `executeJs` to sign the message with the PKP. + +:::note +`toSign` data is required to be in 32 byte format. + +The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. +::: -**Using the code param** +Set up the Lit Action code to be run on the Lit nodes. ```jsx const litActionCode = ` -const go = async () => { - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the HTTP response from the node - // all the params (toSign, publicKey, sigName) are passed in from the LitJsSdk.executeJs() function - const sigShare = await LitActions.signEcdsa({ toSign, publicKey, sigName }); -}; + const go = async () => { + // The params toSign, publicKey, sigName are passed from the jsParams fields and are available here + const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey, sigName }); + }; -go(); + go(); `; const signatures = await litNodeClient.executeJs({ code: litActionCode, authSig, - // all jsParams can be used anywhere in your litActionCode jsParams: { - // this is the string "Hello World" for testing - toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + toSign: [84, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, 51, 50, 32, 98, 121, 116, 101, 115], + publicKey: mintInfo.pkp.publicKey, sigName: "sig1", }, }); + +console.log("signatures: ", signatures); ``` -**Using the ipfsId param** +:::note +The signatures above are the signatures from the nodes using the PKP. In Cayenne we have 3 nodes so only 2 valid signature shares are required to combine the shares. Hence you will see one od the node always fail to sign. +::: + +### Using the ipfsId param The ipfs ID: `QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm` contains the same code as the "litActionCode" variable above. @@ -223,21 +214,23 @@ You can check out the code here: https://ipfs.litgateway.com/ipfs/QmRwN9GKHvCn4V const signatures = await litNodeClient.executeJs({ ipfsId: "QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm", authSig, - // all jsParams can be used anywhere in your Lit Action Code jsParams: { - // this is the string "Hello World" for testing - toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], - publicKey: - "0x0404e12210c57f81617918a5b783e51b6133790eb28a79f141df22519fb97977d2a681cc047f9f1a9b533df480eb2d816fb36606bd7c716e71a179efd53d2a55d1", + toSign: [84, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, 51, 50, 32, 98, 121, 116, 101, 115], + publicKey: mintInfo.pkp.publicKey, sigName: "sig1", }, }); ``` -## Conclusion and More Examples +:::note +You can provide either a `code` param or a `ipfsId` param for the Lit Actions code but not both. +::: -And that's it, you have now successfully written your first Lit Action! +## Conclusion and More Examples -Continue on to the modules ahead to learn more about the types of use cases and functionality that can be supported, as well as example implementations associated with each. +This page showed how you can mint a PKP and use it to sign messages with Lit Actions. To learn more, check out these resources: +- [Generating signed transactions](https://developer.litprotocol.com/v3/sdk/serverless-signing/processing-validation/) +- [Fetching off-chain data](https://developer.litprotocol.com/v3/sdk/serverless-signing/fetch/) +- [Connecting PKPs to dApps](https://developer.litprotocol.com/v3/sdk/wallets/walletconnect/) Reach out to us on [Discord](https://litgateway.com/discord) if you need help or have questions! diff --git a/package.json b/package.json index c0a66630..ce34fa03 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.0.24", + "@lit-protocol/constants": "^3.0.27", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index c74864f4..6dc51dd9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,34 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@3.0.24": - version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.24.tgz#e72206887b7aaad193de66837538859504705d2d" - integrity sha512-8Qt09e59as/oyRS4phxCBdHonmZBSs4ZMK15Qi3wUtT1f/bJ4pYE1PqoD877kWbR1ri4Ov4dCw0IcW7tn97sZg== +"@lit-protocol/auth-helpers@3.0.27": + version "3.0.27" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.27.tgz#865eab381f5b9debac2165db2d1953bb10bad708" + integrity sha512-cIzJguIRUpjBma6hNjzXAO3MsB7499KRlpTTmFRbsZZfuM+NM6T/2vM4vaslX1JtwJ6YqRoBibSp4kRSP4t+iQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.0.24": - version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.24.tgz#dc93cf89099a34002de3c7800accc4dabbdec512" - integrity sha512-SosWglxjaS4kVUfrb1Wx4k38WmvCOoYO6dkNzSFl+Qe5mtrPaoYrJuD+Exvcu7FQVUIkwq9yILBiNHkYhDruSw== +"@lit-protocol/constants@^3.0.27": + version "3.0.27" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.27.tgz#e228e8916b20d87ef70929403d268e4cd192cba0" + integrity sha512-73scvCbW4IsCzjuxFBqG73iV3JJEqOIVuWXkhPKIcPJQPN/IAtkrS+GAGDZauG6rYcwDPLJae5iLQxq7VKGiYA== dependencies: - "@lit-protocol/auth-helpers" "3.0.24" - "@lit-protocol/types" "3.0.24" + "@lit-protocol/auth-helpers" "3.0.27" + "@lit-protocol/types" "3.0.27" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.0.24": - version "3.0.24" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.24.tgz#4761fef4a89353e0ec2bb420e6c39019ea1d9234" - integrity sha512-7nxc4hs1A5BhQcByMpaTK4acZckzMXoy1fSymVgGNFO37xEfL/mN9Oad1+7CdET9/mbTQRyzA2LcYWFJ9FvCOw== +"@lit-protocol/types@3.0.27": + version "3.0.27" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.27.tgz#9efc92505d2dcae08ab64cd2113efb09108bc44c" + integrity sha512-x/fL1iGNxSEN+wfhhfPvDjeKH+G6Q8CrWPdfZ7eYuuP/3nUH0AFqZHy6f+R1YL83HMdIpAWpjeL2bgKoum6kzA== dependencies: - "@lit-protocol/auth-helpers" "3.0.24" + "@lit-protocol/auth-helpers" "3.0.27" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" @@ -9193,4 +9193,4 @@ yocto-queue@^0.1.0: zwitch@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== \ No newline at end of file + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From 1a66fd48c8f0ea35bf4c81432d9e66130504beb4 Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 <115020815+Adarsh-Kumar28@users.noreply.github.com> Date: Thu, 4 Jan 2024 10:35:24 -0800 Subject: [PATCH 119/627] feat: Update authSig generation to use blockhash as its nonce (#192) * feat: Update authSig generation to use blockhash as its nonce * feat: Add how to get blockhash * feat: Update Heading --- docs/sdk/authentication/auth-sig.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index 017e05ad..4b24bbad 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -39,9 +39,14 @@ import { checkAndSignAuthMessage } from '@lit-protocol/lit-node-client'; const authSig = await checkAndSignAuthMessage({ chain: "ethereum", + nonce, }); ``` +:::note +Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. +::: + When called, `checkAndSignAuthMessage` triggers a wallet selection popup in the user's browser. The user is then asked to sign a message, confirming ownership of their crypto address. The signature of the signed message is returned as the `authSig` variable. The function also stores the `AuthSig` in local storage, removing the need for the user to sign the message again. However, if the signature expires or becomes too old, the user may be prompted to sign the message again. @@ -60,6 +65,7 @@ const authSig = await ethConnect.signAndSaveAuthMessage({ account: walletAddress, chainId: 1, expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), + nonce, }); ``` @@ -67,6 +73,10 @@ const authSig = await ethConnect.signAndSaveAuthMessage({ Be sure to import `cosmosConnect` and `solConnect` for Cosmos and Solana respectively. ::: +:::note +Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. +::: + ### Using EIP-1271 for Account Abstraction In general, smart contracts can't produce an `AuthSig` since they don't possess a private key. However, you can generate an `AuthSig` for smart contracts using [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271), a standard for verifying signatures when the account is a smart contract. From 3186d7e3590227e55e31dcf60f149ce3d1618f19 Mon Sep 17 00:00:00 2001 From: Bean Date: Sun, 7 Jan 2024 13:04:33 -0500 Subject: [PATCH 120/627] add more to examples of eth wallet provider (#193) * add more to examples of eth wallet provider * add more details for the two options of generating a siwe with the eth wallet provider --- docs/sdk/wallets/minting.md | 41 +++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index fa4fb770..ac79c689 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -57,16 +57,48 @@ const mintInfo = await contractClient.mintWithAuth({ The relayer is an open source project, and we run one for your use. The source code is available [here](https://github.com/LIT-Protocol/relay-server). If you want to use our Relayer, you'll need a free API key which you can get by filling out [this form](https://forms.gle/RNZYtGYTY9BcD9MEA). +### Authenticating using `signMessage` Callback +If you wish to sign with an ethers wallet type or `signer` you may use the `signMessage` callback to implement a signing callback for the `SIWE` message. ```js -import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, AuthMethodType, ProviderType } from '@lit-protocol/constants'; +import * as ethers from 'ethers'; +const provider = new ethers.providers.JsonRpcProvider("your rpc url"); +let wallet = new ethers.Wallet("your wallet private key", provider); const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); -const authMethod = { - authMethodType: AuthMethodType.EthWallet, - accessToken: ..., +let authMethod = authProvider.authenticate({ + signMessage: (message: string) => { + return await wallet.signMessage(message); + } +}); + +// -- setting scope for the auth method +// +const options = { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], }; +const mintTx = await authProvider.mintPKPThroughRelayer( + authMethod, + options +); +``` + +### Authenticating using `Web3 Provider` +In the case where you wish to generagte a signature from a browser extension wallet (MetaMask, Brave Wallet, etc) +you may simply call `authenticate` which calls `checkAndSignAuthMessage`. +```js +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, AuthMethodType, ProviderType } from '@lit-protocol/constants'; +import {Wallet} from 'ethers'; + +const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); + +// Will call `checkAndSignAuthMessage({chain: ethereum})` +let authMethod = await authProvider.authenticate({chain: "ethereum"}); + // -- setting scope for the auth method // const options = { @@ -79,6 +111,7 @@ const mintTx = await authProvider.mintPKPThroughRelayer( ); ``` + **Demos**: 1. [Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs) From 85e4cc5c012368c6909a9131239ae4ca6179a21d Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 Jan 2024 20:15:00 -0500 Subject: [PATCH 121/627] add provider documentation notice --- .../session-sigs/get-session-sigs.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 401db935..f94fca86 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -73,6 +73,21 @@ const sessionSigs = await litNodeClient.getSessionSigs({ }); ``` +:::note + If running the sdk in a Server enviorment session signatures may not be cached unless you provide an instance of `Storage` to the runtime. + [here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. + ```javascript + const LocalStorage = require('node-localstorage').LocalStorage; + const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: true, + storageProvider: { + provider: new LocalStorage('./storage.test.db'), + } + }); + ``` +::: + The `getSessionSigs()` function will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key to `getSessionSigs()` as the `sessionKey` param. In the example above, we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. From 0637afc5a607758a828b7b9cf6642c795868d54e Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 Jan 2024 20:16:37 -0500 Subject: [PATCH 122/627] update with warning on forgetting session keys --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index f94fca86..060c214e 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -76,6 +76,7 @@ const sessionSigs = await litNodeClient.getSessionSigs({ :::note If running the sdk in a Server enviorment session signatures may not be cached unless you provide an instance of `Storage` to the runtime. [here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. + If storage is not available, session keys *MUST* be persisted in an external data store. ```javascript const LocalStorage = require('node-localstorage').LocalStorage; const litNodeClient = new LitNodeClient({ From 8114c6a23d4f57a3e2dd7c76c713d7cd35c66e62 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Tue, 9 Jan 2024 20:21:01 -0500 Subject: [PATCH 123/627] Revert "add provider documentation notice" This reverts commit 85e4cc5c012368c6909a9131239ae4ca6179a21d. --- .../session-sigs/get-session-sigs.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 060c214e..401db935 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -73,22 +73,6 @@ const sessionSigs = await litNodeClient.getSessionSigs({ }); ``` -:::note - If running the sdk in a Server enviorment session signatures may not be cached unless you provide an instance of `Storage` to the runtime. - [here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. - If storage is not available, session keys *MUST* be persisted in an external data store. - ```javascript - const LocalStorage = require('node-localstorage').LocalStorage; - const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", - debug: true, - storageProvider: { - provider: new LocalStorage('./storage.test.db'), - } - }); - ``` -::: - The `getSessionSigs()` function will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key to `getSessionSigs()` as the `sessionKey` param. In the example above, we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. From 9675f2dfca4c765a7f95d7a62a51215bf85df2bc Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jan 2024 13:52:55 -0800 Subject: [PATCH 124/627] Update auth-methods.md --- docs/sdk/wallets/auth-methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index a5ed348a..09204dff 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -133,4 +133,4 @@ You will also need the PKP public key in order to generate a [sessionSig](../../ ## Custom Auth / Adding new Auth Methods not yet supported by Lit -More info on this is available [here](../../sdk/authentication/session-sigs/auth-methods/custom-auth) \ No newline at end of file +More info on this is available [here](../../sdk/authentication/session-sigs/auth-methods/custom-auth/) From 243677466737dc408a107000447c08257db636d8 Mon Sep 17 00:00:00 2001 From: Bean Date: Thu, 18 Jan 2024 21:18:34 -0500 Subject: [PATCH 125/627] Add/cayenne tag (#201) --- .../session-sigs/get-session-sigs.md | 16 ++++++++++++++++ docs/sdk/installation.md | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 401db935..060c214e 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -73,6 +73,22 @@ const sessionSigs = await litNodeClient.getSessionSigs({ }); ``` +:::note + If running the sdk in a Server enviorment session signatures may not be cached unless you provide an instance of `Storage` to the runtime. + [here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. + If storage is not available, session keys *MUST* be persisted in an external data store. + ```javascript + const LocalStorage = require('node-localstorage').LocalStorage; + const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", + debug: true, + storageProvider: { + provider: new LocalStorage('./storage.test.db'), + } + }); + ``` +::: + The `getSessionSigs()` function will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key to `getSessionSigs()` as the `sessionKey` param. In the example above, we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 4d0d10d8..6f17ae73 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -23,7 +23,7 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/lit-node-client@cayenne ``` Use the **Lit JS SDK V3**: @@ -39,7 +39,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs +yarn add @lit-protocol/lit-node-client-nodejs@cayenne ``` Use the **Lit JS SDK V3**: From 773bde702728fa1b8b8c1db21ae7c68b0241fc27 Mon Sep 17 00:00:00 2001 From: Federico Amura Date: Sun, 21 Jan 2024 17:04:21 -0300 Subject: [PATCH 126/627] add example for users that want to change the google oauth flow (#200) --- .../session-sigs/auth-methods/social-login.md | 73 ++++++++++++++++++- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md index ede83880..1c71a034 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md @@ -34,11 +34,76 @@ async function authWithGoogle() { } ``` -At the start of the authentication flow, users will be redirected to the social login page hosted by Lit. Once users have successfully signed in, they will be redirected back to your web app. +By default, Lit's social login providers use Lit's OAuth project. In case you want to use a custom OAuth project instead of the one provided by Lit, you can pass a callback in the `signIn` method and modify the URL as needed. -:::note -For Discord OAuth, you will initialize the provider with `ProviderType.Discord`. -::: +```javascript +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Initialize Google provider +litAuthClient.initProvider(ProviderType.Google, { + // The URL of your web app where users will be redirected after authentication + redirectUri: '', +}); + +// Begin login flow with Google but using your own OAuth project +async function authWithGoogle() { + const provider = litAuthClient.getProvider( + ProviderType.Google + ); + await provider.signIn((url) => { + const myURL = new URL(url); + + // Modify URL as needed + myURL.host = 'mycustomdomain.com'; + myURL.pathname = '/myCustomOauthLoginFlow'; + // myURL.searchParams.get('app_redirect') is your redirect URI for logged in users + + window.location.assign(url); + }); +} +``` + +To login using Discord, you need to initialize the provider with `ProviderType.Discord` and pass it a Discord `clientId` along `redirectUri` + +```javascript +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Initialize Discord provider +litAuthClient.initProvider(ProviderType.Discord, { + // The URL of your web app where users will be redirected after authentication + redirectUri: '', + clientId: '', +}); + +// Begin login flow with Discord +async function authWithDiscord() { + const provider = litAuthClient.getProvider( + ProviderType.Discord + ); + await provider.signIn((url) => { + const myURL = new URL(url); + + // Modify URL as needed + myURL.host = 'mycustomdomain.com'; + myURL.pathname = '/myCustomOauthLoginFlow'; + // myURL.searchParams.get('app_redirect') is your redirect URI for logged in users + + window.location.assign(url); + }); +} +``` :::note From 3d81fcd6e34f1a5e0625c11e4982ec047a24b80e Mon Sep 17 00:00:00 2001 From: Bean Date: Fri, 26 Jan 2024 17:04:46 -0500 Subject: [PATCH 127/627] Add/nft delegation docs (#202) * add provider documentation notice * update with warning on forgetting session keys * add rate limit docs * add rate limiting example * add rli to concepts * update rli concept docs * update for sidebar inclusion * change category for RLI * updates * move rate limiting example docs * add link to minting example in overview * rename RLI NFT to Capacity Credits * fix section heading * add spacing * update wording * small fixes * change from RLI to Capacity Credits * change title * Update capacity-credits-concept.md fix heading * Update capacity-credits-concept.md fix heading * add example of delegation to pkp * change RLI to capacity credit module * add back rate limit module wording * docs: update * fix: plural to match code * move capacity credit examples * add link to session signatures * change network to beta network flag * update free tier of requests to zero --------- Co-authored-by: Ansonhkg --- docs/concepts/capacity-credits-concept.md | 51 ++++ docs/resources/supported-chains.md | 4 + .../session-sigs/auth-methods/custom-auth.md | 2 +- .../session-sigs/resources-and-abilities.md | 4 +- .../authentication/session-sigs/use-cases.md | 6 +- docs/sdk/capacity-credits.md | 239 ++++++++++++++++++ docs/sdk/installation.md | 21 +- package.json | 2 +- sidebars.js | 2 + .../sessionSigs/resources-and-abilities.md | 2 +- .../authentication/sessionSigs/use-cases.md | 2 +- 11 files changed, 313 insertions(+), 22 deletions(-) create mode 100644 docs/concepts/capacity-credits-concept.md create mode 100644 docs/sdk/capacity-credits.md diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md new file mode 100644 index 00000000..4e60cb81 --- /dev/null +++ b/docs/concepts/capacity-credits-concept.md @@ -0,0 +1,51 @@ +--- +sidebar_position: 4 +--- + +# Paying For Usage + +# Overview + +By default, all users get zero free requests on Lit every 24 hours. In order to use the network, you must reserve capacity. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per day) over a fixed length of time (i.e. one week). + +:::note +Currently Rate Limiting is only enabled on `Habanero` and `Manzano` +see [here](../network/networks/testnet) for test networks +see [here](../network/networks/mainnet) for mainnet networks +::: + +# **Processing Requests** + +In order to send transactions on Lit, you must first authenticate with the [Lit nodes](../sdk/authentication/overview). This can be done using one of two ways: + +1. [Session signatures](https://developer.litprotocol.com/v3/sdk/authentication/session-sigs/intro): signatures scoped to specific capabilities or resources, designed to be ephemeral and limited in scope. (RECOMMENDED) +2. [Auth sigs](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig): a signature obtained from a user proving they own a particular key (NOT RECOMMENDED) + +Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. + +# **Capacity Credits** + +In order to send transactions on Lit, you must first authenticate with the [Lit nodes](../sdk/authentication/overview). This can be done using one of two ways: + +1. [Session signatures](../sdk/authentication/session-sigs/intro): signatures scoped to specific capabilities or resources, designed to be ephemeral and limited in scope. (RECOMMENDED) +2. [Auth sigs](../sdk/authentication/auth-sig): a signature obtained from a user proving they own a particular key (NOT RECOMMENDED) + +Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. + +To mint a Capacity Credit NFT, you’ll need some `LIT` test token. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `LIT` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). + +For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/rate-limiting) + +### **Delegating Capacity — Paying for Your Users’ Requests** +You can also delegate your capacity credits to other users. For example, Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for a specific Lit Actions or another resource or set of resources that she owns. + +Alice can create a session capability object that specifies the ability to Authenticate with an Capacity Credits NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. + +Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. + + +### **Best Practices** + +- **Capacity Management**: Keep an eye on your usage limit and expiration date. +- **Understanding Limits**: Be aware of the free tier rate limit. Capacity credits can be used to reserve more usage. +- **Prioritization**: Utilize session signatures to ensure request prioritization. diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 85c55c95..d794d91e 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -55,6 +55,8 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp - baseGoerli +- baseSepolia + - moonbeam - moonriver @@ -69,6 +71,8 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp - scrollAlphaTestnet +- scroll + - zksync - base diff --git a/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md b/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md index 07c7c5e9..5d7afaa3 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md @@ -14,7 +14,7 @@ Authorization refers to confirming that a user is allowed to use a PKP. Specifi Note: Currently, an [auth signature](../../auth-sig), is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. -In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), and you're using an Auth Method supported by Lit, they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](overview). If you're not using an auth method supported by Lit, then your AuthSig is not for authorization, but you must still present one for Rate Limit authentication. In this case, the rate limit is tracked against the AuthSig, and you may wish to pay for your users requests by giving this wallet a Rate Limit Increase NFT. +In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), and you're using an Auth Method supported by Lit, they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](overview). If you're not using an auth method supported by Lit, then your AuthSig is not for authorization, but you must still present one for Rate Limit authentication. In this case, the rate limit is tracked against the AuthSig, and you may wish to pay for your users requests by giving this wallet a Capacity Credit NFT. The flow for using an auth method already supported by lit, with custom Authorization, is as follows: diff --git a/docs/sdk/authentication/session-sigs/resources-and-abilities.md b/docs/sdk/authentication/session-sigs/resources-and-abilities.md index 0611ff30..178b11c5 100644 --- a/docs/sdk/authentication/session-sigs/resources-and-abilities.md +++ b/docs/sdk/authentication/session-sigs/resources-and-abilities.md @@ -12,7 +12,7 @@ A Lit Resource refers to one of the following: - An access control condition - A Programmable Key Pair (PKP) NFT -- A Rate Limit Increase (RLI) NFT +- A Capacity Credit NFT - A Lit Action Each Lit Resource is identified by its Resource Key: @@ -31,5 +31,5 @@ A Lit Ability is an action to be performed. It can only be one of the following: - Threshold decryption from an access control condition - Threshold signing from an access control condition - Threshold signing with a PKP NFT -- Authenticating with an increased rate limit threshold with a RLI NFT +- Authenticating with an increased rate limit threshold with a Capacity Credit NFT - Threshold signing of a piece of Lit Action code \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/use-cases.md b/docs/sdk/authentication/session-sigs/use-cases.md index 27723aba..3a64a149 100644 --- a/docs/sdk/authentication/session-sigs/use-cases.md +++ b/docs/sdk/authentication/session-sigs/use-cases.md @@ -4,14 +4,16 @@ Below are some use cases of how to use session signatures and capability objects _Note that these are not yet currently possible as we need to implement proof verification logic for delegation chains._ -### Letting A User Use Your Rate Limit Increase (RLI) NFT +### Letting A User Use Your Capacity Credit NFT -Alice owns a Rate Limit Increase NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. +Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. Alice can create a session capability object that specifies the ability to Authenticate with an RLI NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's RLI NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. +For an example of how you may delegate usage of your NFT see [here](../../authentication/session-sigs/capacity-credits.md) + ### Letting A User Use Your PKP For A Specific Lit Action Alice owns a PKP and Bob wants use it with a specific Lit Action that he has not authorized yet. He could use the smart contract and `addPermittedAction()`, run the function, then `removePermittedAction()` function, but would prefer not to spend the gas and wait for blocks etc. diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md new file mode 100644 index 00000000..5cf5008d --- /dev/null +++ b/docs/sdk/capacity-credits.md @@ -0,0 +1,239 @@ +# Capacity Credits + +# Overview + +By default, all users get three free requests on Lit every 24 hours. In order to use the network beyond the rate limit, you must reserve additional capacity. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). + +For more information on Capacity Credits and network rate limiting see [here](../../../concepts/capacity-credits-concept.md) + +:::note +Currently Rate Limiting is only enabled on `Habanero` and `Manzano` +see [here](../../../network/networks/testnet) for test networks +see [here](../../../network/networks/mainnet) for mainnet networks +::: + +## **Minting Capacity Credits** + +In order to increase your rate limit you'll need to mint an `Capacity Credits NFT`. To do so, you can use our `contract-sdk` to mint the nft +You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) + +:::note +see [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) for installing the contracts-sdk +::: + +```javascript +const walletWithCapacityCredit = new Wallet(""); +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: 'manzano' +}); + +await contractClient.connect(); +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerDay: 14400, // 10 request per minute + daysUntilUTCMidnightExpiration: 2, +}); +``` + +In the above example, we are configuring 2 properties +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. +Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. + + +:::note +To use your new Capacity Credits NFT you will have to sign an `Auth Signature` with the the wallet which holds the NFT. +::: + +## **Deligating Access to your Capacity Credits NFT** + +Usage of your Capacity Credits NFT may be delegated to other wallets. To create a `Capacity Credits NFT delegation` you can do so with the following example +Here we use the `capacityTokenId` we recieved when minting our Capacity Credit. + +```javascript +const litNodeClient = new LitNodeClient({ + litNetwork: "habanero", + checkNodeAttestation: true, +}); + +await litNodeClient.connect(); + +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + dAppOwnerWallet: walletWithCapacityCredit, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [secondWalletPKPInfo.ethAddress], + }); +``` +To delegate your Rate Limit NFT there are 4 properties to configure + +`uses` - How many time the delegation may be used +`dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +`capacityTokenId` - The `token identifier` of the Rate Limit NFT +`delegateeAddresses` - The wallet addresses which will be delegated to + + +## **Generating Sessions from delegation signature** +To create sesssions from your delegation signature you can use the following example. +Here we are delegating usage of `Capacity Credit` from a wallet which posseses the NFT to another self custody wallet which does not posses `Capacity Credit`. + + +```javascript + const litNodeClient = new LitNodeClient({ + litNetwork: "habanero", + checkNodeAttestation: true, + }); + + await litNodeClient.connect(); + const authNeededCallback = async ({ resources, expiration, uri }) => { + // you can change this resource to anything you would like to specify + const litResource = new LitActionResource('*'); + + const recapObject = + await litNodeClient.generateSessionCapabilityObjectWithWildcards([ + litResource, + ]); + + recapObject.addCapabilityForResource( + litResource, + LitAbility.LitActionExecution + ); + + const verified = recapObject.verifyCapabilitiesForResource( + litResource, + LitAbility.LitActionExecution + ); + + if (!verified) { + throw new Error('Failed to verify capabilities for resource'); + } + + let siweMessage = new siwe.SiweMessage({ + domain: 'localhost:3000', // change to your domain ex: example.app.com + address: dAppOwnerWallet_address, + statement: 'Some custom statement.', // configure to what ever you would like + uri, + version: '1', + chainId: '1', + expirationTime: expiration, + resources, + }); + + siweMessage = recapObject.addToSiweMessage(siweMessage); + + const messageToSign = siweMessage.prepareMessage(); + const signature = await dAppOwnerWallet.signMessage(messageToSign); + + const authSig = { + sig: signature.replace('0x', ''), + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: dAppOwnerWallet_address, + }; + + return authSig; + }; + + let sessionSigs = await litNodeClient.getSessionSigs({ + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + chain: 'ethereum', + resourceAbilityRequests: [ + { + resource: new LitActionResource('*'), + ability: LitAbility.LitActionExecution, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); +``` + +In the above example we are configuring a wallet to sign a `session signature` which is delegated access to a `Capacity Credits NFT` which allows another wallet to use the credit for increased network usage. + + +## **Delegation to a PKP** +To Delegate to a pkp wallet from a wallet which posses `Capacity Credit` we can modify the above example as shown below. +For more information on session signatures and pkps see [here](./authentication/session-sigs/intro.md) + +```javascript + const litNodeClient = new LitNodeClient({ + litNetwork: "habanero", + checkNodeAttestation: true, + }); + + const pkpAuthNeededCallback = async ({ + expiration, + resources, + resourceAbilityRequests, + }) => { + // -- validate + if (!expiration) { + throw new Error('expiration is required'); + } + + if (!resources) { + throw new Error('resources is required'); + } + + if (!resourceAbilityRequests) { + throw new Error('resourceAbilityRequests is required'); + } + + const response = await litNodeClient.signSessionKey({ + statement: 'Some custom statement.', + authMethods: [secondWalletControllerAuthMethod], + pkpPublicKey: secondWalletPKPInfo.publicKey, + expiration: expiration, + resources: resources, + chainId: 1, + + // optional (this would use normal siwe lib, without it, it would use lit-siwe) + resourceAbilityRequests: resourceAbilityRequests, + }); + + console.log('response:', response); + + return response.authSig; + }; + + const pkpSessionSigs = await litNodeClient.getSessionSigs({ + pkpPublicKey: secondWalletPKPInfo.publicKey, + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + chain: 'ethereum', + resourceAbilityRequests: [ + { + resource: new LitPKPResource('*'), + ability: LitAbility.PKPSigning, + }, + ], + authNeededCallback: pkpAuthNeededCallback, + capacityDelegationAuthSig, // here is where we add the delegation to our session request + }); + + console.log("generated session with delegation ", pkpSessionSigs); + + const res = await litNodeClient.executeJs({ + sessionSigs: pkpSessionSigs, + code: `(async () => { + const sigShare = await LitActions.signEcdsa({ + toSign: dataToSign, + publicKey, + sigName: "sig", + }); + })();`, + authMethods: [], + jsParams: { + dataToSign: ethers.utils.arrayify( + ethers.utils.keccak256([1, 2, 3, 4, 5]) + ), + publicKey: secondWalletPKPInfo.publicKey, + }, + }); + + console.log("signature result ", res); + +``` \ No newline at end of file diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 6f17ae73..d8c9864d 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -23,13 +23,13 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client@cayenne +yarn add @lit-protocol/lit-node-client ``` Use the **Lit JS SDK V3**: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client@cayenne"; ``` @@ -39,13 +39,13 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs@cayenne +yarn add @lit-protocol/lit-node-client-nodejs ``` Use the **Lit JS SDK V3**: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs@cayenne"; ``` @@ -88,16 +88,9 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set ```js const client = new LitJsSdk.LitNodeClient({ litNetwork: 'cayenne', -}) - -class Lit { - private litNodeClient - async connect() { - await client.connect() - this.litNodeClient = client - } -} -export default new Lit() +}); + +await client.connect(); ``` ## Debug Logging and Lit Node Client configuration diff --git a/package.json b/package.json index ce34fa03..763a0d62 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.0.27", + "@lit-protocol/constants": "^3.0.32", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 07a0edf1..89fd80d4 100644 --- a/sidebars.js +++ b/sidebars.js @@ -57,6 +57,7 @@ const sidebars = { "concepts/access-control-concept", "concepts/programmable-signing-concept", "concepts/pkps-as-wallet", + "concepts/capacity-credits-concept", ], }, { @@ -95,6 +96,7 @@ const sidebars = { className: "category-not-collapsible", items: [ "sdk/installation", + "sdk/capacity-credits", { type: "category", label: "Authentication", diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md index 0611ff30..68955fee 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/resources-and-abilities.md @@ -12,7 +12,7 @@ A Lit Resource refers to one of the following: - An access control condition - A Programmable Key Pair (PKP) NFT -- A Rate Limit Increase (RLI) NFT +- A Capacity Increase NFT - A Lit Action Each Lit Resource is identified by its Resource Key: diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md index 27723aba..226a1145 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md @@ -6,7 +6,7 @@ _Note that these are not yet currently possible as we need to implement proof ve ### Letting A User Use Your Rate Limit Increase (RLI) NFT -Alice owns a Rate Limit Increase NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. +Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. Alice can create a session capability object that specifies the ability to Authenticate with an RLI NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. From e180397cf2ae1fff9a78dbb647a086dc56a06dc3 Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 <115020815+Adarsh-Kumar28@users.noreply.github.com> Date: Fri, 26 Jan 2024 14:57:42 -0800 Subject: [PATCH 128/627] feat: Sort chains by name (#203) --- docs/resources/supported-chains.md | 106 ++++++++++++++--------------- updateChains.js | 1 + yarn.lock | 30 ++++---- 3 files changed, 69 insertions(+), 68 deletions(-) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index d794d91e..73729c2a 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -11,103 +11,99 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp ## Cayenne (Access Control & PKP) -- ethereum +- alfajores -- polygon +- arbitrum -- fantom +- aurora -- xdai +- avalanche -- bsc +- base -- arbitrum +- baseGoerli -- avalanche +- baseSepolia -- fuji +- bsc -- harmony +- bscTestnet -- mumbai +- celo -- goerli +- cheqdMainnet -- cronos +- cheqdTestnet -- optimism +- chiado -- celo +- chronicleTestnet -- aurora +- cosmos -- eluvio +- cronos -- alfajores +- eluvio -- xdc +- ethereum - evmos -- evmosTestnet +- evmosCosmos -- bscTestnet +- evmosCosmosTestnet -- baseGoerli +- evmosTestnet -- baseSepolia +- fantom -- moonbeam +- filecoin -- moonriver +- fuji -- moonbaseAlpha +- goerli -- filecoin +- harmony - hyperspace -- sepolia - -- scrollAlphaTestnet +- juno -- scroll +- klaytn -- zksync +- kyve -- base +- lineaGoerli - lukso - luksoTestnet -- zora - -- zoraGoerli +- mantle -- zksyncTestnet +- mantleTestnet -- lineaGoerli +- moonbaseAlpha -- chronicleTestnet +- moonbeam -- chiado +- moonriver -- zkEvm +- mumbai -- mantleTestnet +- optimism -- mantle +- optimismGoerli -- klaytn +- polygon - publicGoodsNetwork -- optimismGoerli +- scroll -- waevEclipseTestnet +- scrollAlphaTestnet -- waevEclipseDevnet +- sepolia - solana @@ -115,17 +111,21 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp - solanaTestnet -- cosmos +- waevEclipseDevnet -- kyve +- waevEclipseTestnet -- evmosCosmos +- xdai -- evmosCosmosTestnet +- xdc -- cheqdMainnet +- zkEvm -- cheqdTestnet +- zksync -- juno +- zksyncTestnet + +- zora + +- zoraGoerli diff --git a/updateChains.js b/updateChains.js index bd0c63d9..50ae0366 100644 --- a/updateChains.js +++ b/updateChains.js @@ -21,6 +21,7 @@ md += "## Cayenne (Access Control & PKP)\n\n"; md += Object.keys(ALL_LIT_CHAINS) + .sort() .map((c) => `- ${c}\n\n`) .join(""); diff --git a/yarn.lock b/yarn.lock index 6dc51dd9..dfbe7e34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,34 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@3.0.27": - version "3.0.27" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.27.tgz#865eab381f5b9debac2165db2d1953bb10bad708" - integrity sha512-cIzJguIRUpjBma6hNjzXAO3MsB7499KRlpTTmFRbsZZfuM+NM6T/2vM4vaslX1JtwJ6YqRoBibSp4kRSP4t+iQ== +"@lit-protocol/auth-helpers@3.0.32": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.32.tgz#1879796afee55e8c23950c9a10f2ca8bed5e1a89" + integrity sha512-QSnApvcDMkxSpRy6P46RSeCJcOJ05JC8WW++VeFkQbzRKcYU8lfkF39Xi6/I1h9sv2LFHrfbT7fY7ijPF7IjWA== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.0.27": - version "3.0.27" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.27.tgz#e228e8916b20d87ef70929403d268e4cd192cba0" - integrity sha512-73scvCbW4IsCzjuxFBqG73iV3JJEqOIVuWXkhPKIcPJQPN/IAtkrS+GAGDZauG6rYcwDPLJae5iLQxq7VKGiYA== +"@lit-protocol/constants@^3.0.32": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.32.tgz#c41bd2bc0b583bed747fcf518a9c712fde7174a3" + integrity sha512-hSna3+qRGuS9Hg6VrUnBUrLH+PZQINBQAEIwq2xQzWR234H1za1g9PNMibgjCfwcV2j9f6tiJgYoPAp4n0O21w== dependencies: - "@lit-protocol/auth-helpers" "3.0.27" - "@lit-protocol/types" "3.0.27" + "@lit-protocol/auth-helpers" "3.0.32" + "@lit-protocol/types" "3.0.32" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.0.27": - version "3.0.27" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.27.tgz#9efc92505d2dcae08ab64cd2113efb09108bc44c" - integrity sha512-x/fL1iGNxSEN+wfhhfPvDjeKH+G6Q8CrWPdfZ7eYuuP/3nUH0AFqZHy6f+R1YL83HMdIpAWpjeL2bgKoum6kzA== +"@lit-protocol/types@3.0.32": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.32.tgz#6c0971a21dff6cb1a72ad5e70ab40f9a6caa92b6" + integrity sha512-rizsbqNzA+g8uP/Tfc3GPf+3ZCinYY886iTQbSY2wY7pj70ws3rmM9g/d5CS1laQvAhNlV6ak8uO9P0MVrppmg== dependencies: - "@lit-protocol/auth-helpers" "3.0.27" + "@lit-protocol/auth-helpers" "3.0.32" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 0d2b40026971106047329d3d9471b70998df4e46 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 26 Jan 2024 15:19:36 -0800 Subject: [PATCH 129/627] updating token name in docs updating token name and a few fixes for docs on rate limiting --- docs/concepts/capacity-credits-concept.md | 10 +++++----- docs/integrations/aa/alchemy-account-kit.md | 2 +- docs/network/networks/mainnet.md | 8 +++----- docs/network/networks/testnet.md | 2 +- docs/network/rollup.mdx | 6 +++--- docs/sdk/capacity-credits.md | 20 +++++++++----------- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/intro.md | 2 +- sidebars.js | 2 +- 9 files changed, 25 insertions(+), 29 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 4e60cb81..dc54f012 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -4,16 +4,16 @@ sidebar_position: 4 # Paying For Usage -# Overview - -By default, all users get zero free requests on Lit every 24 hours. In order to use the network, you must reserve capacity. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per day) over a fixed length of time (i.e. one week). - :::note Currently Rate Limiting is only enabled on `Habanero` and `Manzano` see [here](../network/networks/testnet) for test networks see [here](../network/networks/mainnet) for mainnet networks ::: +# Overview + +In order to use Lit, you must reserve capacity on the network. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per day) over a fixed length of time (i.e. one week). + # **Processing Requests** In order to send transactions on Lit, you must first authenticate with the [Lit nodes](../sdk/authentication/overview). This can be done using one of two ways: @@ -32,7 +32,7 @@ In order to send transactions on Lit, you must first authenticate with the [Lit Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. -To mint a Capacity Credit NFT, you’ll need some `LIT` test token. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `LIT` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +To mint a Capacity Credit NFT, you’ll need some 'testLITPRO' tokens. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLITPRO` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/rate-limiting) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 39b8706c..96f01322 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -134,7 +134,7 @@ yarn add @alchemy/aa-signers ### 2. Get A Programmable Key Pair (PKP) -Get some testLIT test tokens from Lit's [Chronicle network](../../network/rollup.mdx). +Get some testLITPRO test tokens from Lit's [Chronicle network](../../network/rollup.mdx). To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index e1719226..a8bddfec 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -5,9 +5,7 @@ :::note **STATE OF THE NETWORK** -Lit V0, the mainnet beta (AKA the 'Habanero network'), is set to launch in December. Habanero is a decentralized mainnet designed for application developers building apps in production. Habanero will support [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). - -After the initial DKG is conducted, subsequent DKGs may follow until the network is stable. This means that the initial keys that are generated on Habanero **MAY BE DELETED**. As such, please do not use Habanero to store real assets until stability has been confirmed. Please monitor this page for changes or join the [Lit Builders Circle](https://t.me/+aa73FAF9Vp82ZjJh) for status updates. +Lit V0, the Habanero Mainnet Beta, is designed for teams building apps in production. Habanero supports [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). ::: Main networks should be used by applications that are currently live in production, designed to store live assets. Mainnet keys are persistent and will not be deleted. @@ -21,12 +19,12 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | ## Token Usage -If you'd like to use Habanero, you'll need some 'testLIT' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). +If you'd like to use Habanero, you'll need some 'testLITPRO' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). ## Migration In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the V3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the V2 SDK, you'll need to update your app to use V3. -Upgrading to V3 can be done by following the [migration guide](../../migration/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. +Upgrading to the V3 SDK can be done by following the [migration guide](../../migration/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. If your app currently has users in production (on the V1 or V2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to V3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: - If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 43ceb5ff..24913064 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -2,7 +2,7 @@ Test networks are designed for early-stage application development, for development and testing pre-production. Storing assets with real world value on these networks is highly discouraged and keys may be deleted. All test networks may be deprecated in the future. -When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLIT'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). +When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLITPRO'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index 95a10e4d..baef87bb 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -10,11 +10,11 @@ Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the perfor Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Notee that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. -## `testLIT` Test Token +## `testLITPRO` Test Token -The `testLIT` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. +The `testLITPRO` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `testLIT` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLIT` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. +To obtain the `testLITPRO` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLITPRO` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 5cf5008d..2d889f30 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -1,25 +1,23 @@ # Capacity Credits -# Overview - -By default, all users get three free requests on Lit every 24 hours. In order to use the network beyond the rate limit, you must reserve additional capacity. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). - -For more information on Capacity Credits and network rate limiting see [here](../../../concepts/capacity-credits-concept.md) - :::note Currently Rate Limiting is only enabled on `Habanero` and `Manzano` see [here](../../../network/networks/testnet) for test networks see [here](../../../network/networks/mainnet) for mainnet networks ::: +# Overview + +In order to use Lit, you must reserve capacity on the network. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). + +For more information on Capacity Credits and network rate limiting see [here](../../../concepts/capacity-credits-concept.md) + ## **Minting Capacity Credits** -In order to increase your rate limit you'll need to mint an `Capacity Credits NFT`. To do so, you can use our `contract-sdk` to mint the nft -You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) +In order to increase your rate limit you'll need to mint an `Capacity Credits NFT`. To do so, you can use our `contract-sdk` to mint the NFT. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) + +You’ll also need some 'testLITPRO' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLITPRO` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). -:::note -see [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) for installing the contracts-sdk -::: ```javascript const walletWithCapacityCredit = new Wallet(""); diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 667e9332..ec860054 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem'; For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -Need some `testLIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! +Need some `testLITPRO` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! ::: diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 62a10536..5226e842 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -3,7 +3,7 @@ :::note PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! -Need some `testLIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ +Need some `testLITPRO` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ **PKP Developer Preview is Live!** Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) diff --git a/sidebars.js b/sidebars.js index 89fd80d4..91dff07d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -81,7 +81,7 @@ const sidebars = { }, { type: "category", - label: "Migration to V3", + label: "Migrating to the SDK V3", collapsible: true, items: [ "migration/overview", From 58585f64baee4cddb0a726deeb8cb32acc54d19e Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 26 Jan 2024 15:19:47 -0800 Subject: [PATCH 130/627] Update yarn.lock --- yarn.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6dc51dd9..dfbe7e34 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,34 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@3.0.27": - version "3.0.27" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.27.tgz#865eab381f5b9debac2165db2d1953bb10bad708" - integrity sha512-cIzJguIRUpjBma6hNjzXAO3MsB7499KRlpTTmFRbsZZfuM+NM6T/2vM4vaslX1JtwJ6YqRoBibSp4kRSP4t+iQ== +"@lit-protocol/auth-helpers@3.0.32": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.32.tgz#1879796afee55e8c23950c9a10f2ca8bed5e1a89" + integrity sha512-QSnApvcDMkxSpRy6P46RSeCJcOJ05JC8WW++VeFkQbzRKcYU8lfkF39Xi6/I1h9sv2LFHrfbT7fY7ijPF7IjWA== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.0.27": - version "3.0.27" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.27.tgz#e228e8916b20d87ef70929403d268e4cd192cba0" - integrity sha512-73scvCbW4IsCzjuxFBqG73iV3JJEqOIVuWXkhPKIcPJQPN/IAtkrS+GAGDZauG6rYcwDPLJae5iLQxq7VKGiYA== +"@lit-protocol/constants@^3.0.32": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.32.tgz#c41bd2bc0b583bed747fcf518a9c712fde7174a3" + integrity sha512-hSna3+qRGuS9Hg6VrUnBUrLH+PZQINBQAEIwq2xQzWR234H1za1g9PNMibgjCfwcV2j9f6tiJgYoPAp4n0O21w== dependencies: - "@lit-protocol/auth-helpers" "3.0.27" - "@lit-protocol/types" "3.0.27" + "@lit-protocol/auth-helpers" "3.0.32" + "@lit-protocol/types" "3.0.32" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.0.27": - version "3.0.27" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.27.tgz#9efc92505d2dcae08ab64cd2113efb09108bc44c" - integrity sha512-x/fL1iGNxSEN+wfhhfPvDjeKH+G6Q8CrWPdfZ7eYuuP/3nUH0AFqZHy6f+R1YL83HMdIpAWpjeL2bgKoum6kzA== +"@lit-protocol/types@3.0.32": + version "3.0.32" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.32.tgz#6c0971a21dff6cb1a72ad5e70ab40f9a6caa92b6" + integrity sha512-rizsbqNzA+g8uP/Tfc3GPf+3ZCinYY886iTQbSY2wY7pj70ws3rmM9g/d5CS1laQvAhNlV6ak8uO9P0MVrppmg== dependencies: - "@lit-protocol/auth-helpers" "3.0.27" + "@lit-protocol/auth-helpers" "3.0.32" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From bbd7948fa4ad25a2bdd0a11dbee17a42d5a62a4e Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 26 Jan 2024 15:23:13 -0800 Subject: [PATCH 131/627] quick fix --- docs/concepts/capacity-credits-concept.md | 6 +++--- docs/sdk/capacity-credits.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index dc54f012..ed2e11bf 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -5,9 +5,9 @@ sidebar_position: 4 # Paying For Usage :::note -Currently Rate Limiting is only enabled on `Habanero` and `Manzano` -see [here](../network/networks/testnet) for test networks -see [here](../network/networks/mainnet) for mainnet networks +Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. +See [here](../network/networks/testnet) for a list of test networks. +See [here](../network/networks/mainnet) for a list of mainnet networks. ::: # Overview diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 2d889f30..8a8e1ab8 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -1,9 +1,9 @@ # Capacity Credits :::note -Currently Rate Limiting is only enabled on `Habanero` and `Manzano` -see [here](../../../network/networks/testnet) for test networks -see [here](../../../network/networks/mainnet) for mainnet networks +Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. +See [here](../../../network/networks/testnet) for a list of test networks. +See [here](../../../network/networks/mainnet) for a list of mainnet networks. ::: # Overview From 79f10df3577fcfffcf7526270740f772e25c571c Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 29 Jan 2024 14:28:48 -0800 Subject: [PATCH 132/627] Update auth-methods.md --- docs/sdk/wallets/auth-methods.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 09204dff..9f350eda 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -133,4 +133,4 @@ You will also need the PKP public key in order to generate a [sessionSig](../../ ## Custom Auth / Adding new Auth Methods not yet supported by Lit -More info on this is available [here](../../sdk/authentication/session-sigs/auth-methods/custom-auth/) +More info on this is available [here](../sdk/authentication/session-sigs/auth-methods/custom-auth/). From 4fd422782ff7949a16fd1624327fe2e0b54905f5 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 29 Jan 2024 14:31:24 -0800 Subject: [PATCH 133/627] Update auth-methods.md --- docs/sdk/wallets/auth-methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 9f350eda..ea1c42d1 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -129,8 +129,8 @@ After a PKP is generated and assigned an auth method, you can pass the AuthMetho The PKP public key is required to initialize a new 'wallet' object when using [Lit and WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect/blob/main/components/CallRequest.js#L44) together. -You will also need the PKP public key in order to generate a [sessionSig](../../sdk/authentication/session-sigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). +You will also need the PKP public key in order to generate a [sessionSig](https://developer.litprotocol.com/v3/sdk/authentication/session-sigs/intro) which is required to communicate with the Lit nodes, as seen in this [example](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L422). ## Custom Auth / Adding new Auth Methods not yet supported by Lit -More info on this is available [here](../sdk/authentication/session-sigs/auth-methods/custom-auth/). +More info on this is available [here](https://developer.litprotocol.com/v3/sdk/authentication/session-sigs/auth-methods/custom-auth). From e712633e6d48cbdd68a649edab96d0c0bc1644dc Mon Sep 17 00:00:00 2001 From: Anson Date: Tue, 30 Jan 2024 03:19:46 +0300 Subject: [PATCH 134/627] rename (#205) --- docs/sdk/serverless-signing/quick-start.md | 6 +++--- docs/sdk/wallets/minting.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 667e9332..98def10c 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -60,7 +60,7 @@ await contractClient.connect(); ## Mint the PKP -Now that we've the ContractsSDK initialized we're ready to mint the PKP using it. Since we want to allow out PKP to sign messages we have to add Auth Method scopes for `SigningAnything` & `OnlySignMessages` as below otherwise you'll get an error stating that the PKP isn't authorized to sign. +Now that we've the ContractsSDK initialized we're ready to mint the PKP using it. Since we want to allow out PKP to sign messages we have to add Auth Method scopes for `SigningAnything` & `PersonalSign` as below otherwise you'll get an error stating that the PKP isn't authorized to sign. **Note:** You're gonna need an AuthSig for setting the `authMethod`. In the browser you can use `checkAndSignAuthMessage` or use [Hot wallet signing](https://developer.litprotocol.com/v3/support/faq/#1-cant-use-checkandsignauthmessage-in-a-backend-project) in the backend. @@ -143,7 +143,7 @@ const mintInfo = await contractClient.mintWithAuth({ scopes: [ AuthMethodScope.NoPermissions, AuthMethodScope.SignAnything, - AuthMethodScope.OnlySignMessages, + AuthMethodScope.PersonalSign, ], }); ``` @@ -162,7 +162,7 @@ await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( ); const signAnythingScope = scopes[1]; -const onlySignMessagesScope = scopes[2]; +const personalSignScope = scopes[2]; ``` ## Lit Action Signing with the PKP diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index ac79c689..7df82735 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -38,7 +38,7 @@ const mintInfo = await contractClient.mintWithAuth({ scopes: [ // AuthMethodScope.NoPermissions, AuthMethodScope.SignAnything, - AuthMethodScope.OnlySignMessages + AuthMethodScope.PersonalSign ], }); From 54fd6b01a5a0fb810b0022c5f548fde40be1a753 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 30 Jan 2024 13:50:23 -0800 Subject: [PATCH 135/627] migration instructions added v0 migration guide --- docs/network/migration-guide.md | 50 +++++++++++++++++++++++++++++++++ sidebars.js | 1 + 2 files changed, 51 insertions(+) create mode 100644 docs/network/migration-guide.md diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md new file mode 100644 index 00000000..637d8a63 --- /dev/null +++ b/docs/network/migration-guide.md @@ -0,0 +1,50 @@ + +# Lit v0 Migration Guide + +The launch of Lit v0 introduces the [Habanero Mainnet Beta](../network/networks/mainnet.md) and the [Manzano Testnet](../network/networks/testnet.md). + +The keys created and managed on the Habanero Mainnet Beta are ready to be used for deploying production-level applications and user experiences. This means that sending, receiving, and managing real world assets IS now supported. Any keys that are created on the v0 network are persistent, will not be deleted, and will eventually be migrated to the v1 network when it is released later this year. + +If you are currently in early-stage research and development, you should be using the Manzano Testnet. Sending, receiving, and managing real world assets on Manzano is NOT recommended. + +In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 SDK. If you haven’t yet upgraded to v3, you can do so following these [upgrade instructions](../migration/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). + +Once your application is using v3, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero. + +## Migrating From Jalapeno + +Jalapeno only supports encryption / decryption use cases, so this guide will only focus on that use case. The migration path for Jalapeno involves performing re-encryption. + +You can learn more about re-encryption at the end of this guide. + +If you’re migrating from Jalapeno to Habanero, it’s important to remember that they have different, incompatible Lit JS SDK versions. Jalapeno only works with version 2.x.x and Habanero only works with 3.x.x. You will therefore need to decrypt with the v2 sdk and then re-encrypt with the v3 sdk. + +## Migrating From Cayenne + +### For encryption / decryption use cases + +Cayenne and Habanero have different root keys, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero + +You can learn more about re-encryption at the end of this guide. + +You can use the same v3 SDK for both Cayenne and Habanero, but note that you will need 2 instances of the SDK, one connected to each network. + +### For PKP Signing / Lit Actions use cases + +Since Habanero has new root keys, you will need to re-mint any PKPs on Habanero. To do this, you can loop over all your old users and simply mint a new PKP on Habanero with the exact same auth methods. At this point, your users could use both the old network PKP and the new network PKP with the same auth methods. + +However, the ETH address of each PKP will be different. Your users may have things tied to the old PKP ETH address, like assets stored there, or AA wallets that see that PKP as authorized signer. So the next step is to migrate these items. + +In the case of assets, like ETH or Tokens or NFTs, you must have the user send these to their new PKP wallet address. Once they have sent their assets, the migration is complete. + +In the case of AA wallets, you would change the authorized signer from the old PKP wallet address to the new PKP wallet address. Once you’ve done this, the migration is complete. + +We have an example script here that will perform the re-minting for you: https://github.com/LIT-Protocol/PKP-Migrate + +## Performing re-encryption + +Re-encryption is simply, decrypting the content, then encrypting it again. In the case of a migration from an old Lit Network to Habanero, you would connect to the old network, decrypt the user’s data, and then connect to Habanero and encrypt it again. + +Since in many cases, only the end user themselves can actually decrypt the content, you may adopt a system where you migrate each user when they use the system. You may start sending traffic from new users that *don’t* have any existing content to Habanero, immediately. You may want to track which network each user is using in your user DB, and then upon login, look this up to decide which network to talk to. + +You may follow the docs on [encryption](../sdk/access-control/encryption.md) to learn how to decrypt and re-encrypt your data. \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 89fd80d4..39b7589d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -77,6 +77,7 @@ const sidebars = { }, "network/feature-matrix", "network/rollup", + "network/migration-guide" ], }, { From a8bdd74cba9e86f2345a3ba6668ad6bf1b0e1ed1 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 30 Jan 2024 15:19:26 -0800 Subject: [PATCH 136/627] updating banners updating banners with v0 announcement LINKS WILL NEED TO BE UPDATED ONCE V0 IS LIVE --- docs/concepts/pkps-as-wallet.md | 4 ++-- docs/intro/overview.mdx | 4 ++-- docs/resources/how-it-works.md | 4 ++-- docs/sdk/access-control/encryption.md | 8 ++------ docs/sdk/serverless-signing/overview.md | 7 ++++--- docs/sdk/serverless-signing/quick-start.md | 17 +++++++---------- docs/sdk/wallets/intro.md | 12 +++++------- 7 files changed, 24 insertions(+), 32 deletions(-) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 819c99bc..64e14df9 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -4,10 +4,10 @@ sidebar_position: 3 # User Wallets -:::warning +:::info **STATE OF THE NETWORK** -Lit Programmable Key Pairs (PKPs) are still heavily in development and should NOT BE USED to store or transact live assets. DO NOT store assets you are not prepared to lose. During this period, we're grateful for feedback on how to improve the docs and examples. +Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Habanero Mainnet Beta](../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. ::: ## Overview diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index bb4096bb..75ec3290 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -14,9 +14,9 @@ Lit is an internet native security and identity network. With Lit, you can crea :::info -Lit is still in developer preview with the mainnet beta launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. +Lit v0 is now live. Read the full announcement [here](https://spark.litprotocol.com/). -[Learn more](/v3/network/networks/testnet) about what data will persist during the developer preview. +Start building with the Mainnet Beta by following these [migration instructions](https://spark.litprotocol.com/). ::: diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index bfea77a2..eb7ff5de 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -4,9 +4,9 @@ sidebar_position: 1 # How Does Lit Protocol Work -:::note +:::info -**FOR DEVELOPERS: SDK API DOCUMENTATION** +**FOR DEVELOPERS: SDK and API Documentation** To start building on Lit based on your use case, check out the Lit SDK [here](../../sdk/installation). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index cbcdb344..afce01ba 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -3,13 +3,9 @@ The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. :::note -Lit is still in developer preview with the mainnet launching soon. Follow [@LitProtocol](https://twitter.com/litprotocol) on X for mainnet updates. +The Lit Habanero Mainnet Beta is now live. Read the full announcement [here](https://spark.litprotocol.com/). -Do not use this for production at this moment - if you want to use stable encryption use v2 and the Jalapeno network. - -For practical purposes, run `npm install @lit-protocol/lit-node-client@jalapeno` - -[Learn more](https://developer.litprotocol.com/v3/network/state-of-network) about what data will persist during the developer preview. +The Mainnet Beta is designed to be used in production and supports transacting live assets. Check out the [docs on migration](https://spark.litprotocol.com/) to learn how you can start building on Habanero today. ::: ### How Does ID Encrypt Work diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index be253844..d4efe3f2 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -1,9 +1,10 @@ # Overview -:::note -💡 Lit Actions are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! +:::info +**STATE OF THE NETWORK** + +Using Lit Actions in production IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. -For an in-depth review of the functionality provided by the Lit Actions SDK, take a look at the [API docs](https://actions-docs.litprotocol.com/). ::: ## Quick Start diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 98def10c..a6347ba5 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -3,15 +3,12 @@ import TabItem from '@theme/TabItem'; # Quick Start -:::note -💡 Lit Actions and PKPs are still heavily in development and things may change. +:::info +**STATE OF THE NETWORK** -**API DOCUMENTATION** For the most up to date API documentation, check out the [Lit JS SDK V3 docs](https://lit-js-sdk-v3-api-docs.vercel.app/). +Using Lit Actions in production IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. - -Need some `testLIT` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! - ::: ## Prerequisites @@ -229,8 +226,8 @@ You can provide either a `code` param or a `ipfsId` param for the Lit Actions co ## Conclusion and More Examples This page showed how you can mint a PKP and use it to sign messages with Lit Actions. To learn more, check out these resources: -- [Generating signed transactions](https://developer.litprotocol.com/v3/sdk/serverless-signing/processing-validation/) -- [Fetching off-chain data](https://developer.litprotocol.com/v3/sdk/serverless-signing/fetch/) -- [Connecting PKPs to dApps](https://developer.litprotocol.com/v3/sdk/wallets/walletconnect/) +- [Generating signed transactions](../serverless-signing/processing-validation.md) +- [Fetching off-chain data](../serverless-signing/fetch.md) +- [Connecting PKPs to dApps](../wallets/walletconnect.md) -Reach out to us on [Discord](https://litgateway.com/discord) if you need help or have questions! +Reach out to the Lit Protocol development team on [Discord](https://litgateway.com/discord) if you need help or have questions! diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 62a10536..82212a39 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -1,13 +1,11 @@ # Introduction -:::note -PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! +:::info +**STATE OF THE NETWORK** -Need some `testLIT` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ - -**PKP Developer Preview is Live!** -Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) +Using Programmable Key Pairs (PKPs) in production (storing and transacting live assets) IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. +Need some `testLIT` test tokens to mint a PKP on Chronicle? Use the [faucet](https://faucet.litprotocol.com/). ::: ## Quick Start @@ -15,7 +13,7 @@ Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) Ready to jump right in? Quickly learn how you can integrate Programmable Key Pairs (PKPs) into your own product: 1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) -2. Resource: [Testnet Faucet](https://chronicle-faucet-app.vercel.app/) +2. Resource: [Testnet Faucet](https://faucet.litprotocol.com/) 3. Concept: [Assigning an Authentication Method](../wallets/auth-methods.md) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) 4. SDK Package: [Using PKPs as Wallets](../wallets/walletconnect.md) From cf52b453d256857630f40aa80aa0500d5fd07ab4 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 10:11:38 -0800 Subject: [PATCH 137/627] token name updates with recent name change --- docs/integrations/aa/alchemy-account-kit.md | 6 +++--- docs/network/networks/mainnet.md | 14 +++++++------- docs/network/networks/testnet.md | 2 +- docs/network/rollup.mdx | 10 +++++----- docs/sdk/capacity-credits.md | 2 +- docs/sdk/wallets/intro.md | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 96f01322..4933adf5 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -134,11 +134,11 @@ yarn add @alchemy/aa-signers ### 2. Get A Programmable Key Pair (PKP) -Get some testLITPRO test tokens from Lit's [Chronicle network](../../network/rollup.mdx). +Get some testLPX test tokens from Lit's [Chronicle network](../../network/rollup.mdx). To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). -To obtain an Auth Method [read about our authentication methods](../../sdk/authentication/session-sigs/auth-methods/). +To define an Auth Method [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/). For Authentication @@ -200,7 +200,7 @@ const provider = new AlchemyProvider({ ### 5. Authenticating with the Lit Signer Before the `AlchemyProvider` can use the `LitSigner` we must `authenticate` -To provide authentication `context` [read about our authentication methods](../../sdk/authentication/session-sigs/auth-methods/). +To provide authentication `context` [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/). ```js litSigner.authenticate({ diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index a8bddfec..1ed2bbe8 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -5,10 +5,10 @@ :::note **STATE OF THE NETWORK** -Lit V0, the Habanero Mainnet Beta, is designed for teams building apps in production. Habanero supports [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). +Lit V0, the Habanero Mainnet Beta, is now live and available for teams building apps in production. Habanero supports [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). ::: -Main networks should be used by applications that are currently live in production, designed to store live assets. Mainnet keys are persistent and will not be deleted. +Main networks should be used by applications that are currently live in production, supporting the storage of live assets. Mainnet keys are persistent and will not be deleted. You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. @@ -19,13 +19,13 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | ## Token Usage -If you'd like to use Habanero, you'll need some 'testLITPRO' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). +If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). ## Migration -In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the V3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the V2 SDK, you'll need to update your app to use V3. +In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the v3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the v2 SDK, you'll need to update your app to use v3. -Upgrading to the V3 SDK can be done by following the [migration guide](../../migration/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. +Upgrading to the v3 SDK can be done by following the [migration guide](../../migration/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. -If your app currently has users in production (on the V1 or V2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to V3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: +If your app currently has users in production (on the v1 or v2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to v3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: - If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. -- If you’re building with PKPs (AKA user wallets): Re-mint PKPs on Habanero with the same auth methods. Docs will be provided soon. \ No newline at end of file +- If you’re building with PKPs (AKA user wallets): Re-mint PKPs on Habanero with the same auth methods. \ No newline at end of file diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 24913064..08bdb56b 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -2,7 +2,7 @@ Test networks are designed for early-stage application development, for development and testing pre-production. Storing assets with real world value on these networks is highly discouraged and keys may be deleted. All test networks may be deprecated in the future. -When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLITPRO'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). +When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLPX'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index baef87bb..e82ef735 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -10,11 +10,11 @@ Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the perfor Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Notee that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. -## `testLITPRO` Test Token +## `testLPX` Test Token -The `testLITPRO` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. +The `testLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `testLITPRO` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLITPRO` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. +To obtain the `testLPX` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. @@ -28,10 +28,10 @@ To connect to Chronicle, you can click or manually add the n | Name | Chronicle - Lit Protocol Testnet | | RPC URL | https://chain-rpc.litprotocol.com/http | | Block Explorer URL | https://chain.litprotocol.com/ | -| Currency Symbol | testLIT | +| Currency Symbol | testLPX | | Currency Decimals | 18 | -**Note** You must have the `testLit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. +**Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. ## Block Explorer diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 8a8e1ab8..e39420d9 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -16,7 +16,7 @@ For more information on Capacity Credits and network rate limiting see [here](.. In order to increase your rate limit you'll need to mint an `Capacity Credits NFT`. To do so, you can use our `contract-sdk` to mint the NFT. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) -You’ll also need some 'testLITPRO' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLITPRO` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). ```javascript diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 5226e842..7010e7e2 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -3,7 +3,7 @@ :::note PKPs are still heavily in development and things may change. We're grateful for [feedback](https://forms.gle/4UJNRcQspZyvsTHt8) on how to improve the docs and examples! -Need some `testLITPRO` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ +Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ **PKP Developer Preview is Live!** Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) From 465b095e3f513f1b7c3d4d7545cee4f35c87caf9 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 13:07:26 -0800 Subject: [PATCH 138/627] Update migration-guide.md --- docs/network/migration-guide.md | 89 ++++++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 637d8a63..c3806762 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -47,4 +47,91 @@ Re-encryption is simply, decrypting the content, then encrypting it again. In t Since in many cases, only the end user themselves can actually decrypt the content, you may adopt a system where you migrate each user when they use the system. You may start sending traffic from new users that *don’t* have any existing content to Habanero, immediately. You may want to track which network each user is using in your user DB, and then upon login, look this up to decide which network to talk to. -You may follow the docs on [encryption](../sdk/access-control/encryption.md) to learn how to decrypt and re-encrypt your data. \ No newline at end of file +You may follow the docs on [encryption](../sdk/access-control/encryption.md) to learn how to decrypt and re-encrypt your data. + +## Installing and Initializing the Lit SDK + +To connect to the Habanero network, you'll need to import the Lit SDK using the following command: + + + + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```sh +yarn add @lit-protocol/lit-node-client +``` + +Use the **Lit JS SDK V3**: + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client@habanero"; +``` + + + + + +Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: + +```sh +yarn add @lit-protocol/lit-node-client-nodejs +``` + +Use the **Lit JS SDK V3**: + +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs@habanero"; +``` + + + + +:::note +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +::: + +## Connection to the Lit Network + +The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). + +In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. + +Calling `connect()` on the `litNodeClient`` returns a promise that resolves when you are connected to the Lit network. + +### SDK installed via NodeJS / serverside usage + +In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by [Express](https://expressjs.com/) for this purpose. You may have to use what your own server framework provides for this purpose, instead. + +> Keep in mind that in the server-side implementation, the client class is named `LitNodeClientNodeJs`. + +`client.connect()` returns a promise that resolves when you are connected to the Lit network. + +```js +app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: "habanero", +}); +await app.locals.litNodeClient.connect(); +``` + +### SDK installed for client side usage + +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. + +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. + +```js +const client = new LitJsSdk.LitNodeClient({ + litNetwork: 'habanero', +}); + +await client.connect(); +``` + +Read more about using the Lit SDK, testing, and error handling [here](../sdk/tests.md). From b379470880743906963eadb41d75d44dfc3e9630 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:41:09 -0800 Subject: [PATCH 139/627] Update docs/network/migration-guide.md Co-authored-by: Bean --- docs/network/migration-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index c3806762..bdcc0884 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -116,6 +116,7 @@ In this example stub, the litNodeClient is stored in a global variable `app.loca app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, litNetwork: "habanero", + checkNodeAttestation: true }); await app.locals.litNodeClient.connect(); ``` From bc438f1886f7914169f4233239e43e1b41f09d47 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:41:17 -0800 Subject: [PATCH 140/627] Update docs/network/migration-guide.md Co-authored-by: Bean --- docs/network/migration-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index bdcc0884..48c3f9a1 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -130,6 +130,7 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set ```js const client = new LitJsSdk.LitNodeClient({ litNetwork: 'habanero', + checkNodeAttestation: true }); await client.connect(); From 0d3a5c7c4f6feafb27dff9c1045448312523a8f1 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:47:45 -0800 Subject: [PATCH 141/627] Update migration-guide.md --- docs/network/migration-guide.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 48c3f9a1..9159e0e5 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -69,8 +69,12 @@ yarn add @lit-protocol/lit-node-client Use the **Lit JS SDK V3**: +:::note +Both the Habanero and Manzano networks can be accessed using the '@beta' tag below. You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. +::: + ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client@habanero"; +import * as LitJsSdk from "@lit-protocol/lit-node-client@beta"; ``` @@ -85,8 +89,12 @@ yarn add @lit-protocol/lit-node-client-nodejs Use the **Lit JS SDK V3**: +:::note +Both the Habanero and Manzano networks can be accessed using the '@beta' tag below. You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. +::: + ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs@habanero"; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs@beta"; ``` From ad13ffcdf93356697ec3d2b450fcbdff934c2889 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 15:59:03 -0800 Subject: [PATCH 142/627] updates updated banners --- docs/concepts/pkps-as-wallet.md | 2 +- docs/intro/overview.mdx | 4 +--- docs/resources/how-it-works.md | 5 +---- docs/sdk/access-control/encryption.md | 4 +--- docs/sdk/capacity-credits.md | 4 ++-- docs/sdk/serverless-signing/overview.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 4 ++-- docs/sdk/wallets/intro.md | 7 ++----- 8 files changed, 11 insertions(+), 21 deletions(-) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 64e14df9..f3988d3e 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -7,7 +7,7 @@ sidebar_position: 3 :::info **STATE OF THE NETWORK** -Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Habanero Mainnet Beta](../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. +Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Habanero Mainnet Beta](../network/networks/mainnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! ::: ## Overview diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 75ec3290..d3a137c8 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -14,9 +14,7 @@ Lit is an internet native security and identity network. With Lit, you can crea :::info -Lit v0 is now live. Read the full announcement [here](https://spark.litprotocol.com/). - -Start building with the Mainnet Beta by following these [migration instructions](https://spark.litprotocol.com/). +Lit v0 is now live. Take a look at the docs on [migration](https://developer.litprotocol.com/v3/network/migration-guide/) to start building today! ::: diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index eb7ff5de..d1b8724e 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -8,10 +8,7 @@ sidebar_position: 1 **FOR DEVELOPERS: SDK and API Documentation** -To start building on Lit based on your use case, check out the Lit SDK [here](../../sdk/installation). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). - -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. - +To start building on Lit based on your use case, check out the Lit SDK [here](../sdk/installation.md). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). ::: ## Overview diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index afce01ba..1b03c1b9 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -3,9 +3,7 @@ The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. :::note -The Lit Habanero Mainnet Beta is now live. Read the full announcement [here](https://spark.litprotocol.com/). - -The Mainnet Beta is designed to be used in production and supports transacting live assets. Check out the [docs on migration](https://spark.litprotocol.com/) to learn how you can start building on Habanero today. +The Lit Habanero Mainnet Beta is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. ::: ### How Does ID Encrypt Work diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index e39420d9..e7c00146 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -2,8 +2,8 @@ :::note Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. -See [here](../../../network/networks/testnet) for a list of test networks. -See [here](../../../network/networks/mainnet) for a list of mainnet networks. +See [here](../network/networks/testnet.md) for a list of test networks. +See [here](../network/networks/mainnet.md) for a list of mainnet networks. ::: # Overview diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index d4efe3f2..15e47462 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -3,7 +3,7 @@ :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. +Using Lit Actions in production IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. ::: diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index d484dd7b..6b58b9f2 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -6,11 +6,11 @@ import TabItem from '@theme/TabItem'; :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet.md). You can read the full announcement [here](https://spark.litprotocol.com/) and check out [the docs](https://spark.litprotocol.com/) on performing the required migration steps. +The Lit Habanero Mainnet Beta is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. -Need some `testLITPRO` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! +Need some `testLPX` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! ::: diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index ce5192de..7b55e12d 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -3,12 +3,9 @@ :::info **STATE OF THE NETWORK** -Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ - -**PKP Developer Preview is Live!** -Get a PKP on the [PKP Explorer](https://explorer.litprotocol.com/mint-pkp) +The Lit Habanero Mainnet Beta is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. -Need some `testLIT` test tokens to mint a PKP on Chronicle? Use the [faucet](https://faucet.litprotocol.com/). +Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ ::: ## Quick Start From 74364760f67adac14e73fca73c86361a79a763d6 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 31 Jan 2024 16:10:25 -0800 Subject: [PATCH 143/627] Update capacity-credits-concept.md --- docs/concepts/capacity-credits-concept.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index ed2e11bf..1e1aa539 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -32,7 +32,7 @@ In order to send transactions on Lit, you must first authenticate with the [Lit Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. -To mint a Capacity Credit NFT, you’ll need some 'testLITPRO' tokens. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLITPRO` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +To mint a Capacity Credit NFT, you’ll need some 'testLPX' tokens. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/rate-limiting) From 38def594f6df79672b4a874c14abcdb221e42065 Mon Sep 17 00:00:00 2001 From: Anson Date: Wed, 7 Feb 2024 03:17:56 +0300 Subject: [PATCH 144/627] fix: scope enum (#212) --- docs/sdk/wallets/auth-methods.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index ea1c42d1..d628214a 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -42,7 +42,7 @@ Auth methods support scoping, which permits what they can be used for within Lit | Scope Name | Scope Number | Description | | ------------------ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Sign Anything | 1 | This scope allows signing any data | -| Only Sign Messages | 2 | This scope only allows signing messages using the [EIP-191 scheme](https://eips.ethereum.org/EIPS/eip-191) which prefixes "Ethereum Signed Message" to the data to be signed. This prefix prevents creating signatures that can be used for transactions. | +| Personal Sign | 2 | This scope only allows signing messages using the [EIP-191 scheme](https://eips.ethereum.org/EIPS/eip-191) which prefixes "Ethereum Signed Message" to the data to be signed. This prefix prevents creating signatures that can be used for transactions. | You can also set scopes: [] which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. @@ -79,7 +79,7 @@ if (scopes[1] !== false) { } if (scopes[2] !== false) { - return fail('scope 2 (only sign messages) should be false'); + return fail('scope 2 (personal sign) should be false'); } ``` 2. Set the scopes: From 952cd9a9194fe7f020c029ff87ce5d55e4158928 Mon Sep 17 00:00:00 2001 From: Bean Date: Fri, 9 Feb 2024 14:08:26 -0500 Subject: [PATCH 145/627] fix tag usage (#213) --- docs/network/migration-guide.md | 8 ++++---- docs/sdk/installation.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 9159e0e5..3ff2f23d 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -64,7 +64,7 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/lit-node-client@beta ``` Use the **Lit JS SDK V3**: @@ -74,7 +74,7 @@ Both the Habanero and Manzano networks can be accessed using the '@beta' tag bel ::: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client@beta"; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` @@ -84,7 +84,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client@beta"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs +yarn add @lit-protocol/lit-node-client-nodejs@beta ``` Use the **Lit JS SDK V3**: @@ -94,7 +94,7 @@ Both the Habanero and Manzano networks can be accessed using the '@beta' tag bel ::: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs@beta"; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; ``` diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index d8c9864d..4cdcc287 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -23,13 +23,13 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/lit-node-client@cayenne ``` Use the **Lit JS SDK V3**: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client@cayenne"; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` @@ -39,13 +39,13 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client@cayenne"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs +yarn add @lit-protocol/lit-node-client-nodejs@@cayenne ``` Use the **Lit JS SDK V3**: ```js -import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs@cayenne"; +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; ``` From a640b357e9f991cf34133afac027d46d2ad27407 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Mon, 12 Feb 2024 19:03:44 -0800 Subject: [PATCH 146/627] Fix/broken capacitycredit link (#221) * fix broken link * Fix one more broken link --- docs/concepts/capacity-credits-concept.md | 2 +- docs/sdk/capacity-credits.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 1e1aa539..107a6759 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -34,7 +34,7 @@ Every time you authenticate with Lit, the request context (i.e. wallet address, To mint a Capacity Credit NFT, you’ll need some 'testLPX' tokens. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). -For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/rate-limiting) +For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/capacity-credits) ### **Delegating Capacity — Paying for Your Users’ Requests** You can also delegate your capacity credits to other users. For example, Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for a specific Lit Actions or another resource or set of resources that she owns. diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index e7c00146..987489c0 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -10,7 +10,7 @@ See [here](../network/networks/mainnet.md) for a list of mainnet networks. In order to use Lit, you must reserve capacity on the network. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). -For more information on Capacity Credits and network rate limiting see [here](../../../concepts/capacity-credits-concept.md) +For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) ## **Minting Capacity Credits** From 3323325ca72de08ce00495e0605384a551765f1d Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:36:39 +0530 Subject: [PATCH 147/627] Added expiration time to SIWE message (#220) * Added expiration time to SIWE message * add comment --------- Co-authored-by: Chris Cassano --- docs/sdk/authentication/auth-sig.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index 4b24bbad..1ce20208 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -130,6 +130,12 @@ async function main() { const origin = 'https://localhost/login'; const statement = 'This is a test statement. You can put anything you want here.'; + + // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds + const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 + ).toISOString(); + const siweMessage = new siwe.SiweMessage({ domain, address: address, @@ -138,6 +144,7 @@ async function main() { version: '1', chainId: 1, nonce, + expirationTime, }); const messageToSign = siweMessage.prepareMessage(); From f96991ddc64463f63121e3c482d0fb8fa81df03e Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Mon, 12 Feb 2024 19:09:14 -0800 Subject: [PATCH 148/627] remove outdated CODEOWNERS --- .github/CODEOWNERS | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index ccd9ac1e..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @hwrdtm @debbly @sarahzdev \ No newline at end of file From bbe40713df8f110dd604419d6b8bc8e4554dd309 Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:39:39 +0530 Subject: [PATCH 149/627] Fixed small typo in networks page (#219) ### Fixes Issue: [LIT-2396](https://linear.app/litprotocol/issue/LIT-2396/spelling-mistake-in-learning-lab-network-objective-section) # Description Corrected a small typo at https://developer.litprotocol.com/learninglab/intro-to-lit/network/#objectives Trying to update the docs for it! ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- learningLab/intro-to-lit/network.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/learningLab/intro-to-lit/network.md b/learningLab/intro-to-lit/network.md index d456e7dd..1e3cd047 100644 --- a/learningLab/intro-to-lit/network.md +++ b/learningLab/intro-to-lit/network.md @@ -14,7 +14,7 @@ The Lit network operates through a distributed federation of nodes, where each n ## Objectives At completion of this reading you should be able to: -- Explain how the Lit network uses threshold cryptgraphy. +- Explain how the Lit network uses threshold cryptography. --- From 7d5319c013efeec713bacb8fa75cca73ccb6096f Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:41:17 +0530 Subject: [PATCH 150/627] =?UTF-8?q?Formatted=20params=20in=20new=20lines?= =?UTF-8?q?=20at=20Delgating=20Access=20to=20your=20Capacity=20Cr=E2=80=A6?= =?UTF-8?q?=20(#218)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ### Fixes Issue: [LIT-2399](https://linear.app/litprotocol/issue/LIT-2399/formatting-deligating-access-to-your-capacity-credits-nft-section) # Description Formatted Deligating Access to your Capacity Credits NFT section On https://developer.litprotocol.com/v3/sdk/capacity-credits#deligating-access-to-your-capacity-credits-nft parameters specified can be placed in new line Trying to update docs for it! ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- docs/sdk/capacity-credits.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 987489c0..439728bf 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -67,12 +67,12 @@ const { capacityDelegationAuthSig } = delegateeAddresses: [secondWalletPKPInfo.ethAddress], }); ``` -To delegate your Rate Limit NFT there are 4 properties to configure +To delegate your Rate Limit NFT there are 4 properties to configure: -`uses` - How many time the delegation may be used -`dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` -`capacityTokenId` - The `token identifier` of the Rate Limit NFT -`delegateeAddresses` - The wallet addresses which will be delegated to +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to ## **Generating Sessions from delegation signature** From 2dc7064b70b6de19dde831994844ff946c28489a Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:43:11 +0530 Subject: [PATCH 151/627] Improved formatting and UI of community page (#217) ### Fixes Issue: [LIT-2398](https://linear.app/litprotocol/issue/LIT-2398/make-community-resources-section-more-user-friendly) # Description Make Community Resources section more user friendly Make this page https://developer.litprotocol.com/ecosystem/community/ more interactive as many users visit this page to communicate with us! Trying to update the docs for it! ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- Ecosystem/community.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Ecosystem/community.md b/Ecosystem/community.md index 8fa47366..626fb6ae 100644 --- a/Ecosystem/community.md +++ b/Ecosystem/community.md @@ -4,18 +4,26 @@ sidebar_position: 2 # Community Resources -Join Our Developer Hub on [Discord](https://discord.gg/GnTtFukpHq). +Welcome to Lit Protocol's Community Resources! Here you'll find everything you need to get involved and stay connected with our community. -Check out this amazing list of example projects, code demos, educational content, and more awesome resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). +## Join Our Developer Hub +- **Discord:** [Join our Discord server](https://discord.gg/GnTtFukpHq) and engage with fellow developers, ask questions, and stay updated. -Looking to build with us? [Contact Lit Protocol](https://forms.gle/n4WKtsyxaduEz8dDA). +## Explore Examples and Educational Content +- **GitHub Repository:** Discover a plethora of example projects, code demos, educational content, and more on our [Awesome Lit Repository](https://github.com/LIT-Protocol/awesome/blob/main/README.md). -Lit [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas/issues). +## Get Involved +- **Contact Us:** Interested in building with us or have inquiries? [Contact Lit Protocol](https://forms.gle/n4WKtsyxaduEz8dDA) directly. -Lit [Request for Startups](https://spark.litprotocol.com/request-for-startups/). +## Opportunities +- **Ecosystem RFPs:** Explore and contribute to Lit Protocol's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas/issues) on GitHub. +- **Request for Startups:** Have a startup idea? Submit it through our [Request for Startups form](https://spark.litprotocol.com/request-for-startups/). -Subscribe to the Lit Community [Calendar](https://litgateway.com/calendar) to stay up to date on the latest developments. +## Stay Updated +- **Community Calendar:** Subscribe to the Lit Community [Calendar](https://litgateway.com/calendar) to stay informed about upcoming events, workshops, and releases. -[Jobs at Lit](https://jobs.lever.co/litprotocol). +## Join Us +- **Jobs:** Explore opportunities to join our team at [Lit Protocol](https://jobs.lever.co/litprotocol). +We look forward to having you be a part of our vibrant community! From 1585e25a45f11b647d9f3d142751828f924ec0ce Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:45:34 +0530 Subject: [PATCH 152/627] Update Polyfill with CRA for PKP Ethers (#216) ### Fixes Issue: [LIT-2405](https://linear.app/litprotocol/issue/LIT-2405/update-polyfill-with-cra-for-pkp-ethers) # Description ## Issue PKP Ethers requires the some polyfills which is missing from the CRA section: https://developer.litprotocol.com/v3/migration/overview/#using-create-react-app-cra ## Solution Create a new sub-section below it to state the required polyfills and how to do so. Install & add the following to config-overrides.js just as mentioned here: https://developer.litprotocol.com/v3/migration/overview/#using-create-react-app-cra ```js 'http': require.resolve('stream-http'), // Add this line 'https': require.resolve('https-browserify'), // Add this line 'url': require.resolve('url/'), // Add this line 'zlib': require.resolve('browserify-zlib'), // Add this line 'assert': require.resolve('assert/'), // Add this line ``` ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [x] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- docs/migration/overview.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 81e564fd..fd198c5a 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -260,7 +260,7 @@ module.exports = { ``` ### Using Create React App (CRA) -If you are using CRA you may see the errors related to `stream` `buffer` and `crypto` to being found / handled. You can fix this with the following webpack override +If you are using CRA you may see the errors related to `stream`, `buffer`, `crypto`, `http`, `https`, `url`, `zlib` and `assert` to being found / handled. You can fix this with the following webpack override ```javascript const webpack = require('webpack'); // Import webpack @@ -275,6 +275,11 @@ module.exports = { 'crypto': require.resolve('crypto-browserify'), // Fallback for 'crypto' 'stream': require.resolve('stream-browserify'), // Fallback for 'stream' 'buffer': require.resolve('buffer/'), // Add this line + 'http': require.resolve('stream-http'), // Add this line + 'https': require.resolve('https-browserify'), // Add this line + 'url': require.resolve('url/'), // Add this line + 'zlib': require.resolve('browserify-zlib'), // Add this line + 'assert': require.resolve('assert/'), // Add this line }, }; @@ -301,7 +306,7 @@ module.exports = { }; ``` -In the above we are replacing `crypto`, `stream`, and `buffer` with browser compatible replacements. +In the above we are replacing `stream`, `buffer`, `crypto`, `http`, `https`, `url`, `zlib` and `assert` with browser compatible replacements. We also modify the default Create React App's `module rules` to include other JavaScript file extensions. You may need to install [react-app-rewired](https://www.npmjs.com/package/react-app-rewired) to override the webpack confgiuration with the above. From dba27cc12cc5378541251c41c7f173f50eeed8a3 Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:49:31 +0530 Subject: [PATCH 153/627] Added how to add Lit Action as an Auth Method (#215) ### Fixes Issue: [LIT-2420](https://linear.app/litprotocol/issue/LIT-2420/missing-how-to-add-lit-action-as-an-authmethod-from-the-docs) # Description Missing how to add Lit Action as an AuthMethod from the docs. Have to use `utils.getBytesFromMultihash` to convert ipfsCid from base58 encoding to byte-like. Add it to the docs on this page as a note: https://developer.litprotocol.com/v3/sdk/wallets/auth-methods ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [x] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- docs/sdk/wallets/auth-methods.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index d628214a..887096e3 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -35,6 +35,8 @@ Several auth methods are supported by Lit directly. These include methods config Check out the implementation details within the SDK section [here](../../sdk/authentication/session-sigs/auth-methods/overview). +**Note:** When using the `ACTION` Auth Method, it's necessary to convert the IPFS CID from base58 encoding to bytes-like before passing it to the Lit Protocol SDK. You can achieve this conversion using the `getBytesFromMultihash` function provided in the `utils` module of the `contracts-sdk`. + ### Auth Method Scopes Auth methods support scoping, which permits what they can be used for within Lit. These scopes are passed in to the "scopes" array as numbers when adding an auth method, or minting a PKP with PKPHelper. An overview of minting with scopes is provided in this [section](../wallets/minting). The scopes are as follows: From 868688cc5eb5cfa21e2661e20ed2bfa18fe7838b Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:50:34 +0530 Subject: [PATCH 154/627] Fix/get session sigs params (#214) ### Fixes Issue: [LIT-2394](https://linear.app/litprotocol/issue/LIT-2394/section-for-creating-the-sessionsigs-from-social-login-has-incomplete) # Description The section for creating the sessionSigs from Social Login is incorrect - https://developer.litprotocol.com/v3/sdk/authentication/session-sigs/auth-methods/social-login/#generating-sessionsigs. It has incomplete parameters. Trying to update the docs for it! ## Type of change Please delete options that are not relevant. - [x] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- .../session-sigs/auth-methods/email-sms.md | 16 ++++++++-------- .../session-sigs/auth-methods/social-login.md | 3 ++- .../session-sigs/auth-methods/web-authn.md | 6 +++--- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md index ecb59e1b..11027fbe 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md @@ -147,21 +147,21 @@ Below is an example of an authentication method from successful authentication } ``` -### Generating `SessionSigs` +## Generating `SessionSigs` -After successfully authenticating with an `AuthMethod`, you can generate `Session Signatures` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. +After successfully authenticating with a social login provider, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, optional `LitNodeClient` object, a PKP public key, and other session-specific arguments in `SessionSigsParams` object such as `resourceAbilityRequests` and `chain`. View the [API Docs](https://js-sdk.litprotocol.com/interfaces/types_src.BaseProviderSessionSigsParams.html). ```javascript // Get session signatures for the given PKP public key and auth method const sessionSigs = await provider.getSessionSigs({ - authMethod: "", + authMethod: '', + pkpPublicKey: '' sessionSigsParams: { - chain: "ethereum", - resourceAbilityRequests: [ - { + chain: 'ethereum', + resourceAbilityRequests: [{ resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, + ability: LitAbility.AccessControlConditionDecryption + } ], }, }); diff --git a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md index 1c71a034..51093985 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md @@ -138,12 +138,13 @@ With the `AuthMethod` object, you can mint or fetch PKPs associated with the aut ## Generating `SessionSigs` -After successfully authenticating with a social login provider, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. +After successfully authenticating with a social login provider, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, optional `LitNodeClient` object, a PKP public key, and other session-specific arguments in `SessionSigsParams` object such as `resourceAbilityRequests` and `chain`. View the [API Docs](https://js-sdk.litprotocol.com/interfaces/types_src.BaseProviderSessionSigsParams.html). ```javascript // Get session signatures for the given PKP public key and auth method const sessionSigs = await provider.getSessionSigs({ authMethod: '', + pkpPublicKey: '' sessionSigsParams: { chain: 'ethereum', resourceAbilityRequests: [{ diff --git a/docs/sdk/authentication/session-sigs/auth-methods/web-authn.md b/docs/sdk/authentication/session-sigs/auth-methods/web-authn.md index 75232dfa..8052d183 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/web-authn.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/web-authn.md @@ -77,16 +77,16 @@ The `authenticate` method returns an `AuthMethod` object containing the authenti ## Generating `SessionSigs` -After successfully authenticating with a WebAuthn credential, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, a PKP public key, and other session-specific arguments such as `resourceAbilityRequests` and returns a `SessionSig` object. +After successfully authenticating with a social login provider, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, optional `LitNodeClient` object, a PKP public key, and other session-specific arguments in `SessionSigsParams` object such as `resourceAbilityRequests` and `chain`. View the [API Docs](https://js-sdk.litprotocol.com/interfaces/types_src.BaseProviderSessionSigsParams.html). ```javascript // Get session signatures for the given PKP public key and auth method const sessionSigs = await provider.getSessionSigs({ authMethod: '', + pkpPublicKey: '' sessionSigsParams: { chain: 'ethereum', - resourceAbilityRequests: [ - { + resourceAbilityRequests: [{ resource: litResource, ability: LitAbility.AccessControlConditionDecryption } From 9d4f48b4c0b556fa86f4b2d08d972859cc8222aa Mon Sep 17 00:00:00 2001 From: Bean Date: Mon, 12 Feb 2024 22:31:51 -0500 Subject: [PATCH 155/627] update toSign data and pkp permissions (#186) # Description - Fixes a few areas of auth method and signing documentation for updates to data types and method signatures. - Corrects an issue with session signature generation examples leading to permission errors. ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- .../authentication/session-sigs/auth-methods/email-sms.md | 6 ++++-- docs/sdk/serverless-signing/conditional-signing.md | 7 +++++-- docs/sdk/serverless-signing/fetch.md | 7 +++++-- docs/sdk/serverless-signing/processing-validation.md | 5 ++++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md index 11027fbe..3c439927 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md @@ -123,7 +123,9 @@ An alternative to minting the PKP NFT via the Lit Relay Server is to send a tran ```javascript // Using the session examples above you can call to fetch pkps by the auth method gotten from the provider examples -const txHash = await session.fetchPKPThroughRelayer(authMethod); +const txHash = await session.fetchPKPThroughRelayer(authMethod, { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]] +}); ``` :::note @@ -201,7 +203,7 @@ const authNeededCallback = async (params: AuthCallbackParams) => { const resourceAbilities = [ { - resource: new LitActionResource("*"), + resource: new LitPkpResource("*"), ability: LitAbility.PKPSigning, }, ]; diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index e2731dc6..7143a33b 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -40,8 +40,11 @@ const go = async () => { return; } - // this is the string "Hello World" for testing - const toSign = ethers.utils.arrayify(ethers.utils.keccak256([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100])); + const message = new Uint8Array( + await crypto.subtle.digest('SHA-256', new TextEncoder().encode('Hello world')) + ); + // this is the string "Hello World" for testing, hashed with sha-256 above. + const toSign = message; // this requests a signature share from the Lit Node // the signature share will be automatically returned in the HTTP response from the node const sigShare = await LitActions.signEcdsa({ toSign, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1" }); diff --git a/docs/sdk/serverless-signing/fetch.md b/docs/sdk/serverless-signing/fetch.md index 501d3c41..8bbcbf7d 100644 --- a/docs/sdk/serverless-signing/fetch.md +++ b/docs/sdk/serverless-signing/fetch.md @@ -55,6 +55,10 @@ go(); ```jsx const runLitAction = async () => { + const message = new Uint8Array( + await crypto.subtle.digest('SHA-256', new TextEncoder().encode('Hello world')) + ); + const litNodeClient = new LitJsSdk.LitNodeClient({ alertWhenUnauthorized: false, litNetwork: "cayenne", @@ -66,8 +70,7 @@ const runLitAction = async () => { authSig, // all jsParams can be used anywhere in your litActionCode jsParams: { - // this is the string "Hello World" for testing - toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + toSign: message, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1", diff --git a/docs/sdk/serverless-signing/processing-validation.md b/docs/sdk/serverless-signing/processing-validation.md index dcae0ad1..64a05e59 100644 --- a/docs/sdk/serverless-signing/processing-validation.md +++ b/docs/sdk/serverless-signing/processing-validation.md @@ -166,11 +166,14 @@ Lit Action code const litActionCode = ` const signEcdsa = async () => { // this Lit Action simply requests an ECDSA signature share from the Lit Node + const message = new Uint8Array( + await crypto.subtle.digest('SHA-256', new TextEncoder().encode('Hello world')) + ); const resp = await Lit.Actions.call({ ipfsId: "QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm", params: { // this is the string "Hello World" for testing - toSign: [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100], + toSign: message, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "childSig", From 8ec113df227ee449f30c6ca2e71ec20fbb15ac85 Mon Sep 17 00:00:00 2001 From: Bean Date: Mon, 12 Feb 2024 22:34:10 -0500 Subject: [PATCH 156/627] Add/storage provider doc (#194) # Description - Adds notice to session docs on providing `storageProvider` if running in NodeJS or an environment without a default `LocalStorage` implementation. Fixes # (issue) ## Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Introducing new feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Link to the relevant updated sections in the Netlify preview - [ ] Link 1: [description of change] - [ ] Link 2: [...] # Checklist: General - [ ] I have performed a self-review of my code - [ ] I have fixed all grammar issues (can use an AI tool to check), and explanations are in active voice - [ ] I have checked the additions are concise - [ ] Language is consistent with existing documentation - [ ] My changes generate no new warnings - [ ] Any dependent changes have been merged and published (ie. SDK changes, node dependencies) If I have added a new concept, I have - [ ] included a beginner friendly explanation - [ ] included a basic technical introduction and code sample - [ ] new terms are defined, both in relevant new pages and in the glossary --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 060c214e..4665a624 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -74,8 +74,8 @@ const sessionSigs = await litNodeClient.getSessionSigs({ ``` :::note - If running the sdk in a Server enviorment session signatures may not be cached unless you provide an instance of `Storage` to the runtime. - [here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. + If running the SDK in a Server environment, session signatures may *not* be cached unless you provide an instance of `Storage` to the runtime. + [Here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. If storage is not available, session keys *MUST* be persisted in an external data store. ```javascript const LocalStorage = require('node-localstorage').LocalStorage; @@ -101,4 +101,4 @@ When session capability objects are omitted from the `getSessionSigs()` function ## Clearing Local Storage -If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). \ No newline at end of file +If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). From 3f4142b35fb168f3a27ad5acaf816d6bef3f130c Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Mon, 12 Feb 2024 21:27:21 -0800 Subject: [PATCH 157/627] clarity around security properties of solana and cosmos (#222) --- docs/sdk/access-control/other-chains/cosmos-conditions.md | 6 ++++++ docs/sdk/access-control/other-chains/sol-rpc-conditions.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/docs/sdk/access-control/other-chains/cosmos-conditions.md b/docs/sdk/access-control/other-chains/cosmos-conditions.md index bc49012b..0312b3ea 100644 --- a/docs/sdk/access-control/other-chains/cosmos-conditions.md +++ b/docs/sdk/access-control/other-chains/cosmos-conditions.md @@ -4,6 +4,12 @@ sidebar_position: 5 # Cosmos Examples +:::danger + +Cosmos access control currently is missing various security properties due to the Cosmos communities lack of a standard on a signed message format. You should not use Cosmos access control for anything mission critical in it's current form. Any Cosmos signature that is valid will allow auth via Cosmos. This means, if a given wallet has ever made a Cosmos txn, it's possilble to auth as that wallet by taking the signature from the chain and presenting it to Lit for auth. If you're building on Cosmos, please reach out, so we can work on a standard signed message format to solve this problem. + +::: + Cosmos Access Control conditions work a little different than EVM access control conditions. Cosmos conditions let you make a Cosmos or KYVE RPC call, and then filter and parse the response. This is useful for checking the balance of an account, checking the owner of an account, or checking the number of tokens a user has. Note that Cosmos Conditions can only be used via the `unifiedAccessControlConditions` parameter. diff --git a/docs/sdk/access-control/other-chains/sol-rpc-conditions.md b/docs/sdk/access-control/other-chains/sol-rpc-conditions.md index 95abc5bc..ad1c3763 100644 --- a/docs/sdk/access-control/other-chains/sol-rpc-conditions.md +++ b/docs/sdk/access-control/other-chains/sol-rpc-conditions.md @@ -4,6 +4,12 @@ sidebar_position: 4 # Solana Examples +:::danger + +Solana access control currently is missing various security properties due to the Solana communities lack of a standard on a signed message format. You should not use Solana access control for anything mission critical in it's current form. Any EDDSA signature that is valid will allow auth via Solana. This means, if a given wallet has ever made a Solana txn, it's possilble to auth as that wallet by taking the signature from the chain and presenting it to Lit for auth. If you're building on Solana, please reach out, so we can work on a standard signed message format to solve this problem. + +::: + Solana Access Control conditions work a little different than EVM access control conditions. Solana conditions let you make a Solana RPC call, and then filter and parse the response. This is useful for things like checking the balance of an account, checking the owner of an account, or checking the number of tokens a user has. Note that you can use Solana RPC Conditions in the same way you would use EVM conditions, but you should pass a `solRpcConditions` array instead of a `accessControlConditions` or `evmContractConditions` array. From ee25652d46a4bdbbf549ce4730b5d9079d34a0bd Mon Sep 17 00:00:00 2001 From: Anson Date: Tue, 13 Feb 2024 22:19:16 +0300 Subject: [PATCH 158/627] update cc usage (#223) --- docs/sdk/capacity-credits.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 439728bf..ecf04a2f 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -27,9 +27,16 @@ let contractClient = new LitContracts({ }); await contractClient.connect(); +``` + +Under the hood, every request is converted to `requestsPerKilosecond`. However, for your convenience, we offer `requestsPerSecond` and `requestsPerDay`, tailored to your usage context. + +```js // this identifier will be used in delegation requests. const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ - requestsPerDay: 14400, // 10 request per minute + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, daysUntilUTCMidnightExpiration: 2, }); ``` From 155f53aeaaef54c0c1d48001a931c6b7f11717af Mon Sep 17 00:00:00 2001 From: Bean Date: Tue, 13 Feb 2024 15:13:57 -0500 Subject: [PATCH 159/627] remove tags for v3 package usage (#224) --- .husky/pre-commit | 2 +- docs/integrations/aa/pimlico.md | 2 +- docs/sdk/installation.md | 4 ++-- docs/sdk/serverless-signing/conditional-signing.md | 2 +- docs/sdk/serverless-signing/processing-validation.md | 4 ++-- docs/sdk/serverless-signing/quick-start.md | 6 +++--- docs/sdk/wallets/minting.md | 4 ++-- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index ca2cbae1..0c2e2e08 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,6 +1,6 @@ #!/bin/sh . "$(dirname "$0")/_/husky.sh" -yarn add @lit-protocol/constants@cayenne +yarn add @lit-protocol/constants yarn update-chains git add docs/resources/supported-chains.md diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md index 2cec13f9..3c3d6e80 100644 --- a/docs/integrations/aa/pimlico.md +++ b/docs/integrations/aa/pimlico.md @@ -37,7 +37,7 @@ This how-to guide walks you through the steps to integrate Lit's OTP sign-in wit #### **Installing packages** ```bash -npm install stytch @lit-protocol/pkp-ethers@cayenne @lit-protocol/lit-auth-client@cayenne @lit-protocol/auth-helpers@cayenne @lit-protocol/types@cayenne @lit-protocol/lit-node-client-nodejs@cayenne +npm install stytch @lit-protocol/pkp-ethers @lit-protocol/lit-auth-client @lit-protocol/auth-helpers @lit-protocol/types @lit-protocol/lit-node-client-nodejs ``` #### **Make an account with Stytch and get the Project ID and Secret** diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 4cdcc287..f0d8a59c 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -23,7 +23,7 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client@cayenne +yarn add @lit-protocol/lit-node-client ``` Use the **Lit JS SDK V3**: @@ -39,7 +39,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs@@cayenne +yarn add @lit-protocol/lit-node-client-nodejs ``` Use the **Lit JS SDK V3**: diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 7143a33b..5ebb24ac 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -22,7 +22,7 @@ The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert t Installed the latest client on `cayenne` ```bash -yarn install @lit-protocol/lit-node-client@cayenne +yarn install @lit-protocol/lit-node-client ``` Set up the Lit Action code to be run on the Lit nodes. diff --git a/docs/sdk/serverless-signing/processing-validation.md b/docs/sdk/serverless-signing/processing-validation.md index 64a05e59..70ea446c 100644 --- a/docs/sdk/serverless-signing/processing-validation.md +++ b/docs/sdk/serverless-signing/processing-validation.md @@ -7,7 +7,7 @@ How to generate a [signed Ethereum transaction](https://github.com/LIT-Protocol This example relies on the following packages: ```jsx -@lit-protocol/lit-node-client@cayenne +@lit-protocol/lit-node-client @ethersproject/transactions @ethersproject/signing-key @ethersproject/bytes @@ -91,7 +91,7 @@ go(); ## Generating a Session Key ```jsx -@lit-protocol/lit-node-client@cayenne +@lit-protocol/lit-node-client @ethersproject/wallet @ethersproject/transactions siwe diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 6b58b9f2..a83d5e0b 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -37,7 +37,7 @@ In the example below, we will write a simple Lit Action that requests a signatur Install the latest contracts-sdk on `cayenne` ```bash -yarn install @lit-protocol/contracts-sdk@cayenne +yarn install @lit-protocol/contracts-sdk ``` ## Set up the controller @@ -79,7 +79,7 @@ values={[ ```bash -yarn add @lit-protocol/lit-node-client@cayenne +yarn add @lit-protocol/lit-node-client ``` @@ -87,7 +87,7 @@ yarn add @lit-protocol/lit-node-client@cayenne ```bash -yarn add @lit-protocol/lit-node-client-nodejs@cayenne +yarn add @lit-protocol/lit-node-client-nodejs ``` diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 7df82735..83e136ef 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -11,8 +11,8 @@ You can also use the handy helper contract on Chronicle [here](https://chain.lit ### Installing the required packages ```bash -yarn add @lit-protocol/lit-auth-client@cayenne -yarn add @lit-protocol/contracts-sdk@cayenne +yarn add @lit-protocol/lit-auth-client +yarn add @lit-protocol/contracts-sdk ``` ### Initializing your `LitContract` instance From 5012ef910cd98db6a5a030b4d7b739aa9aeaebe5 Mon Sep 17 00:00:00 2001 From: Mark Krasner Date: Tue, 13 Feb 2024 17:33:22 -0500 Subject: [PATCH 160/627] Updating links in Ceramic guide --- docs/integrations/storage/ceramic-example.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/integrations/storage/ceramic-example.md b/docs/integrations/storage/ceramic-example.md index c7af296b..8f5ec123 100644 --- a/docs/integrations/storage/ceramic-example.md +++ b/docs/integrations/storage/ceramic-example.md @@ -39,7 +39,7 @@ For more information on how Ceramic works, visit [How it Works](https://ceramic. ## ComposeDB -ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://composedb.js.org/docs/0.5.x/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! +ComposeDB is a graph database built on Ceramic that offers further composability and ease of querying to developers. ComposeDB delivers native support for GraphQL and also splits read/write load by default for additional performance. When running a Ceramic node with ComposeDB, developers can define their own [data models](https://developers.ceramic.network/docs/composedb/create-your-composite) using GraphQL, or choose to begin indexing on existing data models already defined by the community, or both! For the purpose of this tutorial, we will be using Ceramic with ComposeDB to illustrate how developers can generate, store, and query simple encrypted messages. @@ -67,9 +67,9 @@ Open the repository in your editor of choice to continue following along. This tutorial shows developers how to run a local node with which they will deploy model definitions and publish/read transactions to the network. -In order to do this, a [server configuration](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) will have to be defined, as well as corresponding Ceramic node admin credentials. +In order to do this, a [server configuration](https://developers.ceramic.network/docs/composedb/guides/composedb-server/server-configurations) will have to be defined, as well as corresponding Ceramic node admin credentials. -We've done most of this work for you using [this script](https://github.com/mzkrasner/lit-composedb/blob/main/scripts/commands.mjs) we've provided. +We've done most of this work for you using [this script](https://github.com/ceramicstudio/lit-composedb/blob/main/scripts/commands.mjs) we've provided. To generate your credentials, run the following in your terminal: @@ -79,7 +79,7 @@ npm run generate If you explore your `composedb.config.json` and `admin_seed.txt` files, you will now see a defined JSON ComposeDB server configuration and Ceramic admin seed, respectively. -For more information on server configurations, visit [Server Configurations](https://composedb.js.org/docs/0.5.x/guides/composedb-server/server-configurations) in the ComposeDB docs. +For more information on server configurations, visit [Server Configurations](https://developers.ceramic.network/docs/composedb/guides/composedb-server/server-configurations) in the ComposeDB docs. ### Observe Your Schema Definitions @@ -103,7 +103,7 @@ type Posts @createModel(accountRelation: LIST, description: "A simple Post") { In this model definition, you'll notice that the "author" field takes a scalar type `DID` with an `@documentAccount` directive. This field definition allows each Posts instance to be queried based on the controlling Ceramic Account (based on DID), and therefore is automatically assigned each time a model instance is defined. -(For more information on controlling Accounts and Documents, visit [ComposeDB Concepts](https://composedb.js.org/docs/0.5.x/core-concepts)). +(For more information on controlling Accounts and Documents, visit [ComposeDB Concepts](https://developers.ceramic.network/docs/composedb/core-concepts)). Finally, if you navigate into the `/scripts/composites.mjs` file, you'll find the application's deployment script. When you launch the application, this script compiles the model into a composite definition that will then be deployed on your local node and writes that definition to the files located in `/src/__generated__`, which will later be used by the ComposeDB client library to read and write data. @@ -140,7 +140,7 @@ Upon opening the homepage in your browser, you will be prompted with the option Navigating back to your text editor, observe the `useEffect` lifecycle hook within /src/pages/index.tsx that checks the browser's local storage for an item with a "did" key. Upon pressing the button to initiate the authentication sequence, the `handleLogin` method on the same page is called, relying on an `authenticateCeramic` method imported from /utils/index.ts, using the client definitions imported from /context/index.tsx. -The important item to recognize during this sequence is which DID method is being used. While Ceramic supports multiple [DID methods](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/), this application authorizes Ethereum accounts using [@didtools/pkh-ethereum](https://did.js.org/docs/api/modules/pkh_ethereum/) (visit [User Sessions](https://composedb.js.org/docs/0.5.x/guides/composedb-client/user-sessions) for more information). +The important item to recognize during this sequence is which DID method is being used. While Ceramic supports multiple [DID methods](https://developers.ceramic.network/protocol/accounts/decentralized-identifiers/), this application authorizes Ethereum accounts using [@didtools/pkh-ethereum](https://did.js.org/docs/api/modules/pkh_ethereum/) (visit [User Sessions](https://developers.ceramic.network/docs/composedb/guides/composedb-client/user-sessions) for more information). This type of authentication flow offers a familiar "web2" experience allowing users to sign in once (thus generating a timebound session), removing the need to manually approve every transaction. In doing so, this method utilizes a root Ceramic `did:pkh` account with the user's wallet, and generates a temporary and resolvable Ceramic `did:key` account that lives in the browser's local storage, expiring after a default duration of 24 hours. @@ -214,11 +214,11 @@ If you want to simulate what the experience might look like with multiple users While this tutorial represents a very simple example of how to store and retrieve encrypted data on ComposeDB, there are other patterns and examples developers will find useful to learn more about building on Ceramic. -- To migrate from local development to running ComposeDB in the cloud, visit [Running in the Cloud](https://composedb.js.org/docs/0.5.x/guides/composedb-server/running-in-the-cloud). -- To move from Ceramic Testnet to Mainnet, visit [Access Ceramic Mainnet](https://composedb.js.org/docs/0.5.x/guides/composedb-server/access-mainnet). -- To view a social application example with more complex data modeling and querying based on relations, visit this [Social App ComposeDB Starter](https://github.com/ceramicstudio/EthDenver2023Demo). +- To migrate from local development to running ComposeDB in the cloud, visit [Running in the Cloud](https://developers.ceramic.network/docs/composedb/guides/composedb-server/running-in-the-cloud). +- To move from Ceramic Testnet to Mainnet, visit [Access Ceramic Mainnet](https://developers.ceramic.network/docs/composedb/guides/composedb-server/access-mainnet). +- To view a social application example with more complex data modeling and querying based on relations, visit this [Social App ComposeDB Starter](https://github.com/ceramicstudio/ComposeDbExampleApp). - To view how to generate, save, query, and verify off-chain attestations using the Ethereum Attestation Service together with ComposeDB, visit [this repository](https://github.com/ceramicstudio/ceramic-eas). -- Use the [ComposeDB API Sandbox](https://composedb.js.org/sandbox) to test example queries on a real dataset directly from your browser +- Use the [ComposeDB API Sandbox](https://developers.ceramic.network/docs/composedb/sandbox) to test example queries on a real dataset directly from your browser - Build an AI-powered Chatbot and save message history to ComposeDB by following this [ComposeDB Tutorial](https://learnweb3.io/lessons/build-an-ai-chatbot-on-compose-db-and-the-ceramic-network) ### Support from the Ceramic Team From 7e6bd31868e8a6a2eb04826b32599eb13db8d8f2 Mon Sep 17 00:00:00 2001 From: Bean Date: Thu, 15 Feb 2024 16:08:37 -0500 Subject: [PATCH 161/627] fix network flag to main net testnet (#210) * fix network flag to main net testnet * remove uneeded note * remove unneeded checkNodeAttestation param --------- Co-authored-by: Chris Cassano --- docs/sdk/capacity-credits.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index ecf04a2f..544cbc74 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -18,12 +18,11 @@ In order to increase your rate limit you'll need to mint an `Capacity Credits NF You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). - ```javascript const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: 'manzano' + network: 'manzano', }); await contractClient.connect(); @@ -60,7 +59,7 @@ Here we use the `capacityTokenId` we recieved when minting our Capacity Credit. ```javascript const litNodeClient = new LitNodeClient({ - litNetwork: "habanero", + litNetwork: "manzano", checkNodeAttestation: true, }); @@ -89,7 +88,7 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t ```javascript const litNodeClient = new LitNodeClient({ - litNetwork: "habanero", + litNetwork: "manzano", checkNodeAttestation: true, }); @@ -166,7 +165,7 @@ For more information on session signatures and pkps see [here](./authentication/ ```javascript const litNodeClient = new LitNodeClient({ - litNetwork: "habanero", + litNetwork: "manzano", checkNodeAttestation: true, }); From 68c115c69a1ed8142b153a5c4bf09dce1de0669c Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 15 Feb 2024 14:12:52 -0800 Subject: [PATCH 162/627] Update community.md --- Ecosystem/community.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ecosystem/community.md b/Ecosystem/community.md index 626fb6ae..4c9b2b40 100644 --- a/Ecosystem/community.md +++ b/Ecosystem/community.md @@ -23,7 +23,7 @@ Welcome to Lit Protocol's Community Resources! Here you'll find everything you n - **Community Calendar:** Subscribe to the Lit Community [Calendar](https://litgateway.com/calendar) to stay informed about upcoming events, workshops, and releases. ## Join Us -- **Jobs:** Explore opportunities to join our team at [Lit Protocol](https://jobs.lever.co/litprotocol). +- **Jobs:** Explore opportunities to join our team at [Lit Protocol](https://jobs.litprotocol.com). We look forward to having you be a part of our vibrant community! From afc85e0160ca67cbf5f39a7ff605f1f006857997 Mon Sep 17 00:00:00 2001 From: Ansonhkg Date: Fri, 16 Feb 2024 21:20:33 +0000 Subject: [PATCH 163/627] WIP --- docs/sdk/wallets/walletconnect.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index 80a205b6..0ad2a4c6 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -16,7 +16,9 @@ To connect a PKP and a dApp, you will need to: import { PKPClient } from "@lit-protocol/pkp-client"; const pkpClient = new PKPClient({ - controllerAuthSig: "", + authContext: {...}, + // @deprecated methods below + // controllerAuthSig: "", // Or you can also pass in controllerSessionSigs pkpPubKey: "", }); From 9f0f3006fb6f669284d77b3e1f67002f97a03226 Mon Sep 17 00:00:00 2001 From: Ansonhkg Date: Fri, 16 Feb 2024 21:25:51 +0000 Subject: [PATCH 164/627] // TODO: authContext... --- .../session-sigs/auth-methods/add-remove-auth-methods.md | 3 ++- docs/sdk/wallets/walletconnect.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index 5c0644d5..37717826 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -12,7 +12,8 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; const pkpWallet = new PKPEthersWallet({ - controllerAuthSig: "", + // TODO: authContext... + // controllerAuthSig: "", // Or you can also pass in controllerSessionSigs pkpPubKey: "", rpc: "https://chain-rpc.litprotocol.com/http", diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index 0ad2a4c6..c8157af8 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -17,6 +17,7 @@ import { PKPClient } from "@lit-protocol/pkp-client"; const pkpClient = new PKPClient({ authContext: {...}, + // // TODO: authContext... // @deprecated methods below // controllerAuthSig: "", // Or you can also pass in controllerSessionSigs From cd9c81b7e77a276cf1cab7010a17e718053a163e Mon Sep 17 00:00:00 2001 From: Ansonhkg Date: Fri, 16 Feb 2024 21:26:42 +0000 Subject: [PATCH 165/627] // TODO: authContext... --- docs/integrations/aa/pimlico.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md index 3c3d6e80..12d15302 100644 --- a/docs/integrations/aa/pimlico.md +++ b/docs/integrations/aa/pimlico.md @@ -221,7 +221,8 @@ We will now generate a wallet that can act a regular Ethers.js wallet, but will const pkpWallet = new PKPEthersWallet({ pkpPubKey: pkp[pkp.length - 1].publicKey, rpc: "", // e.g. https://rpc.ankr.com/eth_goerli - controllerSessionSigs: sessionSigs + // TODO: authContext... + // controllerSessionSigs: sessionSigs }); await pkpWallet.init(); From e0b976c5dff422cfca065a24293ab533c60646c6 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 17 Feb 2024 08:24:56 +0530 Subject: [PATCH 166/627] Removed duplicate content from Paying For Usage section --- docs/concepts/capacity-credits-concept.md | 9 ----- package.json | 2 +- yarn.lock | 41 ++++++++++++++--------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 107a6759..849a8adf 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -14,15 +14,6 @@ See [here](../network/networks/mainnet) for a list of mainnet networks. In order to use Lit, you must reserve capacity on the network. This can be done using capacity credits, which allow holders to reserve a configurable number of requests (measured in requests per day) over a fixed length of time (i.e. one week). -# **Processing Requests** - -In order to send transactions on Lit, you must first authenticate with the [Lit nodes](../sdk/authentication/overview). This can be done using one of two ways: - -1. [Session signatures](https://developer.litprotocol.com/v3/sdk/authentication/session-sigs/intro): signatures scoped to specific capabilities or resources, designed to be ephemeral and limited in scope. (RECOMMENDED) -2. [Auth sigs](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig): a signature obtained from a user proving they own a particular key (NOT RECOMMENDED) - -Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. - # **Capacity Credits** In order to send transactions on Lit, you must first authenticate with the [Lit nodes](../sdk/authentication/overview). This can be done using one of two ways: diff --git a/package.json b/package.json index 763a0d62..c15e7c70 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.0.32", + "@lit-protocol/constants": "^3.1.4", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index dfbe7e34..f126bb00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.32.tgz#1879796afee55e8c23950c9a10f2ca8bed5e1a89" - integrity sha512-QSnApvcDMkxSpRy6P46RSeCJcOJ05JC8WW++VeFkQbzRKcYU8lfkF39Xi6/I1h9sv2LFHrfbT7fY7ijPF7IjWA== +"@lit-protocol/accs-schemas@0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" + integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== + dependencies: + ajv "^8.12.0" + +"@lit-protocol/auth-helpers@3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" + integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.32.tgz#c41bd2bc0b583bed747fcf518a9c712fde7174a3" - integrity sha512-hSna3+qRGuS9Hg6VrUnBUrLH+PZQINBQAEIwq2xQzWR234H1za1g9PNMibgjCfwcV2j9f6tiJgYoPAp4n0O21w== +"@lit-protocol/constants@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" + integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== dependencies: - "@lit-protocol/auth-helpers" "3.0.32" - "@lit-protocol/types" "3.0.32" + "@lit-protocol/accs-schemas" "0.0.3" + "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/types" "3.1.4" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.32.tgz#6c0971a21dff6cb1a72ad5e70ab40f9a6caa92b6" - integrity sha512-rizsbqNzA+g8uP/Tfc3GPf+3ZCinYY886iTQbSY2wY7pj70ws3rmM9g/d5CS1laQvAhNlV6ak8uO9P0MVrppmg== +"@lit-protocol/types@3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" + integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== dependencies: - "@lit-protocol/auth-helpers" "3.0.32" + "@lit-protocol/accs-schemas" "0.0.3" + "@lit-protocol/auth-helpers" "3.1.4" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" @@ -3132,7 +3141,7 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.12.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== From 90e548737c9b5801b0af6a9a3af7d7abb6fb819d Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 17 Feb 2024 08:24:56 +0530 Subject: [PATCH 167/627] Added note for estimating gasLimit for tx --- .../auth-methods/add-remove-auth-methods.md | 8 ++++ package.json | 2 +- yarn.lock | 41 +++++++++++-------- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index 5c0644d5..07d09fcd 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -96,6 +96,10 @@ The `addPermittedAuthMethod` function takes the following arguments: - `authMethod`: The auth method you want to add - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) +**Note:** Here, we have specified a hardcoded `gasLimit` of `400000`. Users should note that this `gasLimit` is a number which is dependent on the authentication methods being added. For estimating the `gasLimit` specific to your use case, please visit [Estimating Gas](#estimating-gas) section. + +Alternatively, you can set a sufficiently high `gasLimit` fee based on your testing and requirements. + ## Remove an Auth Method To remove an auth method, call the `removePermittedAuthMethod` function on the `PKPPermissions` contract. @@ -117,6 +121,10 @@ The `removePermittedAuthMethod` function takes the following arguments: - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) +**Note:** Here, we have specified a hardcoded `gasLimit` of `400000`. Users should note that this `gasLimit` is a number which is dependent on the authentication methods being added. For estimating the `gasLimit` specific to your use case, please visit [Estimating Gas](#estimating-gas) section. + +Alternatively, you can set a sufficiently high `gasLimit` fee based on your testing and requirements. + ## Estimating Gas To estimate of the amount of gas that would be required to add and remove auth methods, you can first mock the transaction using `populateTransaction` to create an unsigned transaction and then call `estimateGas` on the unsigned transaction. diff --git a/package.json b/package.json index 763a0d62..c15e7c70 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.0.32", + "@lit-protocol/constants": "^3.1.4", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index dfbe7e34..f126bb00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.32.tgz#1879796afee55e8c23950c9a10f2ca8bed5e1a89" - integrity sha512-QSnApvcDMkxSpRy6P46RSeCJcOJ05JC8WW++VeFkQbzRKcYU8lfkF39Xi6/I1h9sv2LFHrfbT7fY7ijPF7IjWA== +"@lit-protocol/accs-schemas@0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" + integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== + dependencies: + ajv "^8.12.0" + +"@lit-protocol/auth-helpers@3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" + integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.32.tgz#c41bd2bc0b583bed747fcf518a9c712fde7174a3" - integrity sha512-hSna3+qRGuS9Hg6VrUnBUrLH+PZQINBQAEIwq2xQzWR234H1za1g9PNMibgjCfwcV2j9f6tiJgYoPAp4n0O21w== +"@lit-protocol/constants@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" + integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== dependencies: - "@lit-protocol/auth-helpers" "3.0.32" - "@lit-protocol/types" "3.0.32" + "@lit-protocol/accs-schemas" "0.0.3" + "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/types" "3.1.4" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.32.tgz#6c0971a21dff6cb1a72ad5e70ab40f9a6caa92b6" - integrity sha512-rizsbqNzA+g8uP/Tfc3GPf+3ZCinYY886iTQbSY2wY7pj70ws3rmM9g/d5CS1laQvAhNlV6ak8uO9P0MVrppmg== +"@lit-protocol/types@3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" + integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== dependencies: - "@lit-protocol/auth-helpers" "3.0.32" + "@lit-protocol/accs-schemas" "0.0.3" + "@lit-protocol/auth-helpers" "3.1.4" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" @@ -3132,7 +3141,7 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.12.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== From 700dbc3f6a17cc61173fb2795a9626b9032fed8c Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 18 Feb 2024 22:55:16 +0530 Subject: [PATCH 168/627] Added a section to add all the supported comparators --- .../unified-access-control-conditions.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md index 9fee4773..50836a28 100644 --- a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md +++ b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md @@ -136,3 +136,16 @@ var unifiedAccessControlConditions = [ }, ]; ``` + +## Supported Comparators for Return Value Test + +Below is a list of supported comparators that can be specified in the `returnValueTest.comparator` field within the `unifiedAccessControlConditions` parameter. These comparators are utilized for performing return value tests on Lit Action conditions. + +- `>` (Greater Than) +- `<` (Less Than) +- `>=` (Greater Than or Equal To) +- `<=` (Less Than or Equal To) +- `=` (Equal To) +- `!=` (Not Equal To) +- `contains` +- `!contains` From b428e7c5d8bd5beb4b3f256b4ed66845d84e1818 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Mon, 19 Feb 2024 05:55:29 +0530 Subject: [PATCH 169/627] Fixed Encryption Page --- docs/sdk/access-control/encryption.md | 6 ++-- package.json | 2 +- yarn.lock | 41 ++++++++++++++++----------- 3 files changed, 29 insertions(+), 20 deletions(-) diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 1b03c1b9..546b0673 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -73,9 +73,9 @@ Steps to Encrypt 1. Obtain an `authSig` and create an access control condition. 2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. -3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. You'll need to pass in these +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. -#### Access Control & AuthSig +#### Passing Access Control Conditions In this example, we will set the accessControlConditions on if a wallet has at least 0.000001 ETH: @@ -95,7 +95,7 @@ const accessControlConditions = [ ]; ``` -#### AuthSig +#### Passing AuthSig First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. The chain we are using in this example is `ethereum`, you can check out additional supported chains [here](../../resources/supported-chains.md). diff --git a/package.json b/package.json index 763a0d62..c15e7c70 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.0.32", + "@lit-protocol/constants": "^3.1.4", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index dfbe7e34..f126bb00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,34 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/auth-helpers@3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.0.32.tgz#1879796afee55e8c23950c9a10f2ca8bed5e1a89" - integrity sha512-QSnApvcDMkxSpRy6P46RSeCJcOJ05JC8WW++VeFkQbzRKcYU8lfkF39Xi6/I1h9sv2LFHrfbT7fY7ijPF7IjWA== +"@lit-protocol/accs-schemas@0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" + integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== + dependencies: + ajv "^8.12.0" + +"@lit-protocol/auth-helpers@3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" + integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.0.32.tgz#c41bd2bc0b583bed747fcf518a9c712fde7174a3" - integrity sha512-hSna3+qRGuS9Hg6VrUnBUrLH+PZQINBQAEIwq2xQzWR234H1za1g9PNMibgjCfwcV2j9f6tiJgYoPAp4n0O21w== +"@lit-protocol/constants@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" + integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== dependencies: - "@lit-protocol/auth-helpers" "3.0.32" - "@lit-protocol/types" "3.0.32" + "@lit-protocol/accs-schemas" "0.0.3" + "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/types" "3.1.4" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.0.32": - version "3.0.32" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.0.32.tgz#6c0971a21dff6cb1a72ad5e70ab40f9a6caa92b6" - integrity sha512-rizsbqNzA+g8uP/Tfc3GPf+3ZCinYY886iTQbSY2wY7pj70ws3rmM9g/d5CS1laQvAhNlV6ak8uO9P0MVrppmg== +"@lit-protocol/types@3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" + integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== dependencies: - "@lit-protocol/auth-helpers" "3.0.32" + "@lit-protocol/accs-schemas" "0.0.3" + "@lit-protocol/auth-helpers" "3.1.4" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" @@ -3132,7 +3141,7 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.12.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== From 76438167db02fa969b5257ecdd359b83e6fdcad4 Mon Sep 17 00:00:00 2001 From: FedericoAmura Date: Mon, 19 Feb 2024 13:13:50 -0300 Subject: [PATCH 170/627] update docs showing how to use authContext instead of passing sessionSigs --- docs/integrations/aa/pimlico.md | 23 +++++++++++++++---- docs/sdk/authentication/overview.md | 10 ++++++-- .../auth-methods/add-remove-auth-methods.md | 22 ++++++++++++++---- docs/sdk/wallets/walletconnect.md | 18 ++++++++++----- 4 files changed, 55 insertions(+), 18 deletions(-) diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md index 12d15302..a15506e6 100644 --- a/docs/integrations/aa/pimlico.md +++ b/docs/integrations/aa/pimlico.md @@ -170,7 +170,7 @@ const pkps = await session.fetchPKPsThroughRelayer(authMethod) ``` -### 7. Generate the Controller Session Signatures +### 7. Generate the Controller Session Signatures or its context to generate them on demand ```js const litNodeClient = new LitNodeClientNodeJs({ @@ -201,6 +201,7 @@ const authNeededCallback = async (params: AuthCallbackParams) => { return response.authSig; }; +// Not needed when passing authContext to PKPEthersWallet const sessionSigs = await litNodeClient.getSessionSigs({ chain: "ethereum", expiration: new Date(Date.now() + 1000 * 60 * 60 * 24 * 7).toISOString(), @@ -213,16 +214,28 @@ const sessionSigs = await litNodeClient.getSessionSigs({ }); ``` +It is recommended to generate the `authContext` to create sessionSigs on demand. That way you won't have to worry about refreshing them when they expire or network conditions have changed. + +You can check more in the [Authentication section](../../sdk/authentication/overview) + ### 8. Initialize the PKP Wallet We will now generate a wallet that can act a regular Ethers.js wallet, but will use the PKPs minted through Lit to sign transactions under the hood. ```js const pkpWallet = new PKPEthersWallet({ - pkpPubKey: pkp[pkp.length - 1].publicKey, - rpc: "", // e.g. https://rpc.ankr.com/eth_goerli - // TODO: authContext... - // controllerSessionSigs: sessionSigs + pkpPubKey: pkp[pkp.length - 1].publicKey, + rpc: "", // e.g. https://rpc.ankr.com/eth_goerli + authContext: { + client: litNodeClient, + getSessionSigsProps: { + chain: 'ethereum', + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }, + }, + // controllerSessionSigs: sesionSigs, // (deprecated) If you will be passing sessionSigs directly, do not pass authContext }); await pkpWallet.init(); diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md index abe6b159..16735663 100644 --- a/docs/sdk/authentication/overview.md +++ b/docs/sdk/authentication/overview.md @@ -4,18 +4,24 @@ sidebar_position: 1 # Overview -To interact with the nodes in the Lit Network, you will need to generate and present signatures. Currently, there are two ways to do this: +To interact with the nodes in the Lit Network, you will need to generate and present signatures. Currently, there are three ways to do this: ## Obtain an `AuthSig` A wallet signature, also referred to as `AuthSig`, is a signature that proves you own a particular public key. Learn more about wallet signatures [here](../authentication/auth-sig.md). -## Generate `SessionSigs` (Recommended) +## Generate `SessionSigs` manually Session signatures, or `SessionSigs`, are signatures that are scoped to specific capabilities and resources. For example, you can set up `SessionSigs` to permit only the encryption and decryption of data during a particular time frame. `SessionSigs` are designed to be ephemeral and limited in scope, allowing for fine-grained control and enabling secure, seamless interactions with any platform integrating Lit. Get started with `SessionSigs` [here](../authentication/session-sigs/intro). +## Generating `SessionSigs` automatically (Recommended) + +When interacting with PKP entities such as PKPEthersWallet or PKPClient, instead of passing `SessionSigs`, you can pass the context to generate them. By doing so, the PKP entity will be able to generate its `SessionSigs` automatically. + +This is the recommended way to interact with PKP entities as it will automatically handle refreshing the `SessionSigs` when they expire or network conditions have changed. + :::note `SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index 37717826..acbf9afa 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -6,15 +6,27 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../../authentication/overview). +`PKPEthersWallet` must be instantiated with an `AuthSig`, `AuthenticationProps` or a `SessionSig` (deprecated) in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../../authentication/overview). + +Ideally you would want to pass `AuthenticationProps` as it will update `SessionSigs` for you based on current conditions while retaining the benefits of sessions. + +You can only pass one of the three. If you pass more than one, `PKPEthersWallet` will throw an exception when constructing or trying to use it. ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; const pkpWallet = new PKPEthersWallet({ - // TODO: authContext... - // controllerAuthSig: "", - // Or you can also pass in controllerSessionSigs + authContext: { + client: litNodeClient, + getSessionSigsProps: { + chain: 'ethereum', + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }, + }, + // controllerAuthSig: authSig, + // controllerSessionSigs: sesionSigs, // (deprecated) pkpPubKey: "", rpc: "https://chain-rpc.litprotocol.com/http", }); @@ -25,7 +37,7 @@ To view more constructor options for `PKPEthersWallet`, check out the [API docs] :::note -**Passing `SessionSigs`** +**Passing `AuthenticationProps` or `SessionSigs`** When generating session signatures for `PKPEthersWallet`, be sure to request the ability to execute Lit Actions by passing the following object in the `resourceAbilityRequests` array: diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index c8157af8..f8d756e9 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -16,17 +16,23 @@ To connect a PKP and a dApp, you will need to: import { PKPClient } from "@lit-protocol/pkp-client"; const pkpClient = new PKPClient({ - authContext: {...}, - // // TODO: authContext... - // @deprecated methods below - // controllerAuthSig: "", - // Or you can also pass in controllerSessionSigs + authContext: { + client: litNodeClient, + getSessionSigsProps: { + chain: 'ethereum', + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }, + }, + // controllerAuthSig: authSig, + // controllerSessionSigs: sesionSigs, // (deprecated) pkpPubKey: "", }); await pkpClient.connect(); ``` -The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../../authentication/overview). +The `getSessionSigsProps`, `controllerAuthSig` or `controllerSessionSigs` (this last one deprecated) are used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../authentication/overview). To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). From 810a0a40aa3b44b6cbc4a1b92824bb26ad3efb42 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 19 Feb 2024 08:55:35 -0800 Subject: [PATCH 171/627] Update capacity-credits.md --- docs/sdk/capacity-credits.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 544cbc74..65db6c86 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -52,7 +52,7 @@ Once the `Capacity Credit` is minted the `tokenId` can be used in delegation req To use your new Capacity Credits NFT you will have to sign an `Auth Signature` with the the wallet which holds the NFT. ::: -## **Deligating Access to your Capacity Credits NFT** +## **Delegating Access to your Capacity Credits NFT** Usage of your Capacity Credits NFT may be delegated to other wallets. To create a `Capacity Credits NFT delegation` you can do so with the following example Here we use the `capacityTokenId` we recieved when minting our Capacity Credit. @@ -240,4 +240,4 @@ For more information on session signatures and pkps see [here](./authentication/ console.log("signature result ", res); -``` \ No newline at end of file +``` From 5d1bda26a98d3d97dc62aeb173f446c4dbcc61bd Mon Sep 17 00:00:00 2001 From: FedericoAmura Date: Mon, 19 Feb 2024 17:16:38 -0300 Subject: [PATCH 172/627] added previous steps to create a lit node client and auth callback params --- .../auth-methods/add-remove-auth-methods.md | 42 ++++++++++++------- docs/sdk/wallets/walletconnect.md | 27 ++++++++++++ 2 files changed, 54 insertions(+), 15 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index acbf9afa..edaa86d9 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -13,8 +13,35 @@ Ideally you would want to pass `AuthenticationProps` as it will update `SessionS You can only pass one of the three. If you pass more than one, `PKPEthersWallet` will throw an exception when constructing or trying to use it. ```js +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitAbility, LitActionResource } from '@lit-protocol/auth-helpers'; import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +// If you haven't done before, create a LitNodeClient instance +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", +}); +await litNodeClient.connect(); + +// Prepare needed params for authContext +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + statement: params.statement, + authMethods: [authMethod], + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + const pkpWallet = new PKPEthersWallet({ authContext: { client: litNodeClient, @@ -35,21 +62,6 @@ await pkpWallet.init(); To view more constructor options for `PKPEthersWallet`, check out the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPEthersWalletProp.html). -:::note - -**Passing `AuthenticationProps` or `SessionSigs`** - -When generating session signatures for `PKPEthersWallet`, be sure to request the ability to execute Lit Actions by passing the following object in the `resourceAbilityRequests` array: - -```js -{ - resource: new LitActionResource('*'), - ability: LitAbility.LitActionExecution, -} -``` - -::: - ## Initialize `LitContracts` Create an instance of `LitContracts` and pass in your `PKPEthersWallet`. diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index f8d756e9..859d6765 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -13,8 +13,35 @@ To connect a PKP and a dApp, you will need to: `PKPClient` represents a PKP and initializes signers for use across multiple blockchains (note: EVM-only at the moment). ```js +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitAbility, LitActionResource } from '@lit-protocol/auth-helpers'; import { PKPClient } from "@lit-protocol/pkp-client"; +// If you haven't done before, create a LitNodeClient instance +const litNodeClient = new LitNodeClient({ + litNetwork: "cayenne", +}); +await litNodeClient.connect(); + +// Prepare needed params for authContext +const resourceAbilities = [ + { + resource: new LitActionResource("*"), + ability: LitAbility.PKPSigning, + }, +]; + +const authNeededCallback = async (params: AuthCallbackParams) => { + const response = await litNodeClient.signSessionKey({ + statement: params.statement, + authMethods: [authMethod], + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + const pkpClient = new PKPClient({ authContext: { client: litNodeClient, From baa9c80c76e0e38826100a220f7db5ff3ee003cb Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 21 Feb 2024 07:17:28 +0530 Subject: [PATCH 173/627] Resolved comments --- docs/sdk/access-control/encryption.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 546b0673..dd0bddf3 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -75,9 +75,9 @@ Steps to Encrypt 2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. 3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata: `accessControlConditions` (or other conditions eg: `evmContractConditions`) and `chain`. -#### Passing Access Control Conditions +#### Setting Access Control Conditions -In this example, we will set the accessControlConditions on if a wallet has at least 0.000001 ETH: +In this example, our access control condition will check if a wallet has at least 0.000001 ETH: ```js const accessControlConditions = [ @@ -95,7 +95,7 @@ const accessControlConditions = [ ]; ``` -#### Passing AuthSig +#### Passing an AuthSig First, obtain an authSig. This will ask MetaMask to sign a message proving the holder owns the crypto address. The chain we are using in this example is `ethereum`, you can check out additional supported chains [here](../../resources/supported-chains.md). From 449df1274c2fb6b9fb5aa40e7b576849f7512a1e Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 21 Feb 2024 07:25:47 +0530 Subject: [PATCH 174/627] Resolved comments --- .../condition-types/unified-access-control-conditions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md index 50836a28..45837786 100644 --- a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md +++ b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md @@ -147,5 +147,5 @@ Below is a list of supported comparators that can be specified in the `returnVal - `<=` (Less Than or Equal To) - `=` (Equal To) - `!=` (Not Equal To) -- `contains` -- `!contains` +- `contains` (Contains the specified value) +- `!contains` (Does not contain the specified value) From 36078a0cd5f085732f43a0fc30424b5fc23d51ca Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 21 Feb 2024 08:59:57 +0530 Subject: [PATCH 175/627] Updated all the broken lins in doc --- docs/integrations/aa/alchemy-account-kit.md | 4 ++-- docs/integrations/storage/ceramic-example.md | 2 +- docs/integrations/storage/irys.md | 2 +- docs/intro/usecases.md | 2 +- docs/resources/how-it-works.md | 2 +- .../session-sigs/auth-methods/add-remove-auth-methods.md | 6 +++--- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/tests.md | 6 +++--- docs/sdk/wallets/walletconnect.md | 2 +- docs/support/faq.md | 8 ++++---- learningLab/intro-to-lit/prog-signing.md | 8 ++++---- 11 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 4933adf5..d365c4c1 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -138,7 +138,7 @@ Get some testLPX test tokens from Lit's [Chronicle network](../../network/rollup To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). -To define an Auth Method [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/). +To define an Auth Method [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/overview). For Authentication @@ -200,7 +200,7 @@ const provider = new AlchemyProvider({ ### 5. Authenticating with the Lit Signer Before the `AlchemyProvider` can use the `LitSigner` we must `authenticate` -To provide authentication `context` [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/). +To provide authentication `context` [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/overview). ```js litSigner.authenticate({ diff --git a/docs/integrations/storage/ceramic-example.md b/docs/integrations/storage/ceramic-example.md index 8f5ec123..52acd5b6 100644 --- a/docs/integrations/storage/ceramic-example.md +++ b/docs/integrations/storage/ceramic-example.md @@ -160,7 +160,7 @@ Finally, navigating back to /src/pages/index.tsx, you'll also notice that a `sta Now that we are authenticated with Ceramic, we can go ahead and send messages to the network. In your text editor, you'll notice that the component defined in `/src/components/Chat.tsx` imports and returns a `` component (using the raw message contents and the user's address as props). If you navigate into `/src/fragments/chatinputbox.tsx`, you'll find a flow that involves both encryption with LIT and saving to Ceramic. -Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../../../sdk/access-control/condition-types/boolean-logic) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). +Locate the `doSendMessage` method definition. You'll notice that an array named `accessControlConditions` is defined within this method that uses [Boolean Logic](../../sdk/access-control/condition-types/boolean-logic) discussed in our access control section. In this simple example, we're setting access control conditions based on the user's address (in this case, requiring that the user's address be strictly equal to the one we're currently signed in with). Next, you'll find an `encrypted` constant assigned to the evaluated result of invoking `encryptWithLit`, using the Lit client instance, the raw message, access control conditions, and the assigned chain as arguments. This method is imported from /utils/lit.ts. Similar to the Ceramic authentication flow outlined in the previous section, `encryptWithLit` first invoked a child method called `checkAndSignAuthMessage` that checks for an existing cryptographic authentication signature and creates one if it does not exist. The result of this signature is then stored in local storage so the user doesn't have to sign each time they perform an operation. diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index bbd24d6e..227513ed 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -206,7 +206,7 @@ To use Irys to store data on Arweave, first connect to an [Irys node](https://do :::info This code is configured to MATIC to pay for uploads, and while working with the Irys Devnet, you need to fund your wallet with [free MUMBAI MATIC Devnet](https://mumbaifaucet.com/) tokens. Alternatively, you could use [any other -Devnet token](../../../resources/supported-chains) supported by Irys. +Devnet token](../../resources/supported-chains) supported by Irys. ::: ```js diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 5c04f7e4..7103dc97 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -11,7 +11,7 @@ Developers can leverage the Lit Network to build decentralized applications with The Lit Network can be used to introduce private and permissioned data to the open web through [threshold encryption](../resources/how-it-works.md), addressing the “public-by-default” nature of blockchains and public storage networks like IPFS. -Encrypting your data with Lit is simple and a completely [client-side operation](../sdk/access-control/encryption.md). In order to decrypt, users have to meet the ([access control conditions](../sdk/access-control/evm/basic-examples)) you set. Some possible use cases for decentralized access control include: +Encrypting your data with Lit is simple and a completely [client-side operation](../sdk/access-control/encryption.md). In order to decrypt, users have to meet the ([access control conditions](../sdk/access-control/evm/basic-examples.md)) you set. Some possible use cases for decentralized access control include: 1. Encrypted wallet-based messaging: Secure wallet-to-wallet communication. [Examples](https://github.com/LIT-Protocol/awesome/blob/main/README.md). diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index d1b8724e..940ad135 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -37,7 +37,7 @@ Lit offers threshold encryption for regulating access to data stored on the Web An example of an Access Control Condition that utilizes on-chain data is gating by token ownership, such as requiring that a user possesses a [specific NFT](../sdk/access-control/evm/basic-examples#must-posess-a-specific-erc721-token-nft) in order to decrypt your content. When a user requests access, each Lit node confirms that the required condition has been satisfied using the user's wallet signature to verify asset ownership. Once verified, each node supplies a decryption share. After accumulating more than two-thirds of these shares, the user can decrypt the content on their device. -As mentioned above, Access Control Conditions are not limited to "on-chain" data sources. Using JavaScript logic known as [Lit Actions](../sdk/access-control/condition-types/lit-action-conditions), an identical process is supported using off-chain data as input. A simple example would be mandating that a user follows you on Twitter before granting permission to decrypt your content. The Twitter API could be utilized to feed this information into a Lit Action, which gets executed concurrently by each node. If more than two-thirds of nodes verify that the condition has been fulfilled (according to the Lit Action), the shares would be provided, and the content could be decrypted client-side. +As mentioned above, Access Control Conditions are not limited to "on-chain" data sources. Using JavaScript logic known as [Lit Actions](../sdk/access-control/lit-action-conditions.md), an identical process is supported using off-chain data as input. A simple example would be mandating that a user follows you on Twitter before granting permission to decrypt your content. The Twitter API could be utilized to feed this information into a Lit Action, which gets executed concurrently by each node. If more than two-thirds of nodes verify that the condition has been fulfilled (according to the Lit Action), the shares would be provided, and the content could be decrypted client-side. This feature empowers individuals to securely store data on the open Web and offers organizations a convenient method for sharing and distributing content across entire communities. For instance, employing NFTs to designate roles and access levels within a DAO, or using token ownership to grant exclusive discounts to users on an e-commerce platform such as Shopify. The capacity to gate access based on any arbitrary data via Lit Actions expands these possibilities even further, allowing the creation of decryption rules based on any accessible state. diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md index 5c0644d5..a6f21024 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md @@ -6,7 +6,7 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../../authentication/overview). +`PKPEthersWallet` must be instantiated with an `AuthSig` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../authentication/overview). ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; @@ -56,7 +56,7 @@ To view more constructor options for `LitContracts`, check out the [API docs](ht To add an auth method, you must pass an `authMethod` object, which should have the following properties: -- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../../../wallets/auth-methods). +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../../wallets/auth-methods). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method - `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) @@ -113,7 +113,7 @@ const transaction = The `removePermittedAuthMethod` function takes the following arguments: - `tokenId`: The token ID of the PKP you want to remove an auth method from -- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../../../wallets/auth-methods#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../../wallets/auth-methods#existing-supported-auth-methods). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index a83d5e0b..839dbe69 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -24,7 +24,7 @@ The following section provides an end-to-end example of minting a PKP (using the ## What are Lit Actions -Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../../wallets/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. +Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../wallets/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. To create a Lit Action write some JavaScript code that will accomplish your goals. The Lit Protocol provides JS function bindings to do things like request a signature or check an arbitrary condition. If you need to include dependencies like NPM packages, use a bundler like Webpack or ESBuild to create a single JS file and provide that bundle as your Lit Action. diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index 891b8ced..9f28dae4 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -32,7 +32,7 @@ values={[ | iat_outside_grace_period | When signing a JWT, the IAT is outside the grace period. This usually means that your system clock is wrong. Please check it and make sure it is set accurately for your timezone. | | incorrect_access_control_conditions | The access control conditions you passed in do not match the ones that were set by the condition creator for this resourceId or encryptedSymmetricKey. | | invalid_auth_sig | The auth_sig passed to the nodes is invalid or could not be verified. Make sure that you are passing the correct auth_sig. | -| invalid_unified_condition_type | In a unified access control condition, you passed an invalid `conditionType`. Check the docs to see what valid types [here](../access-control/condition-types/unified-access-control-conditions). | +| invalid_unified_condition_type | In a unified access control condition, you passed an invalid `conditionType`. Check the docs to see what valid types [here](../sdk/access-control/condition-types/unified-access-control-conditions). | | lit_node_client_not_ready | The Lit node client is not ready. This means that the Lit node client is not connected to the Lit network. You should run `await litNodeClient.connect()` before calling any other methods that use the Lit Node Client. | | missing_access_control_conditions | You must pass either access_control_conditions or evm_contract_conditions or sol_rpc_conditions, and you did not pass these things to the nodes. | | not_authorized | Thrown when the user does not have access to decrypt or is unauthorized to receive a JWT for an item. | @@ -77,7 +77,7 @@ values={[ | NodeResourceIdNotFound | Invalid resourceId param. | | NodeRpcError | Error making the call to RPC url for the passed chain param. Please ensure that the contract call that you're making is correct including the contract address & it's passed params. Especially ensure the correctness of the functionAbi if you're using Custom Contract calls. | | NodeStorageError | An error occured while storing the encryption condition. Please look at the returned error for more info. | -| NodeWrongNetwork | Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../resources/supported-chains/) | +| NodeWrongNetwork | Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../v3/resources/supported-chains/) | | NodeHTTPConversionError | Internal error with the RPC url for the provided chain param. Please try again. If this error persists contact us on Discord. | | NodeUnknownError | An unknow error occured. Please try again. If this error persists contact us on Discord. | | NodeParserError | Error parsing a provided param. Please look at the returned error for more info. | @@ -86,7 +86,7 @@ values={[ | NodeSIWESigConversionError | Invalid SIWE capability's sig param. Please look at the returned error for more info. | | NodeSIWESessionKeySignatureInvalid | session.pubkey isn't signed in the wallet-signed SIWE message. | | NodeBlockchainError | Error making an on-chain call. Please look at the returned error for more info. | -| NodeBlockchainChainUnknown | Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../resources/supported-chains/)] | +| NodeBlockchainChainUnknown | Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../v3/resources/supported-chains/)] | | NodeWalletSignatureJSONError | Error parsing Authsig. Please look at the returned error for more info. | | NodePOAPJSONError | Internal error parsing POAP as a JSON. Please try again. If this error persists contact us on Discord. | | NodeCosmosJSONError | Error parsing Cosmos result. Please ensure that the Cosmos condition passed is correct. | diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index 80a205b6..d346012b 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -23,7 +23,7 @@ const pkpClient = new PKPClient({ await pkpClient.connect(); ``` -The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../../authentication/overview). +The `controllerAuthSig` (or `controllerSessionSigs`) is used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../authentication/overview). To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). diff --git a/docs/support/faq.md b/docs/support/faq.md index e85551dd..2e6b8cad 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -50,7 +50,7 @@ Authorization is through auth signatures - an auth sig is always required when m ### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? -You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../../sdk/access-control/evm/basic-examples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. +You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../../../v3/sdk/access-control/evm/basic-examples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. We are currently working on implementing a more direct solution for using Lit Actions and ACCs together, allowing users to define ACCs that provision access based on the result of any Lit Action. This will enable the generation of more complex ACCs and the use of off-chain data in your conditions. @@ -124,7 +124,7 @@ Yes! Check out this [sample project.](https://github.com/dOrgJelli/lit-protocol- ### 1. Can more than one condition be added for access control? -Yes! See [boolean logic](../../sdk/access-control/condition-types/boolean-logic) for examples. +Yes! See [boolean logic](../sdk/access-control/condition-types/boolean-logic) for examples. ### 2. What’s the maximum number of accessControlConditions allowed at once? @@ -136,11 +136,11 @@ The Lit network doesn’t store these encrypted contents for you. You can store ### 4. How to construct an accessControlCondition to authorize only a specific wallet address? -Check out the solution [here](../../sdk/access-control/evm/basic-examples#a-specific-wallet-address). +Check out the solution [here](../sdk/access-control/evm/basic-examples#a-specific-wallet-address). ### 5. How to use a time-lock based accessControlCondition? -Check out the solution [here](../../sdk/access-control/evm/timelock). +Check out the solution [here](../sdk/access-control/evm/timelock).
    diff --git a/learningLab/intro-to-lit/prog-signing.md b/learningLab/intro-to-lit/prog-signing.md index 5c8bec0f..cc9c9233 100644 --- a/learningLab/intro-to-lit/prog-signing.md +++ b/learningLab/intro-to-lit/prog-signing.md @@ -29,8 +29,8 @@ Each Programmable Key Pair (PKP) is a versatile multi-party computation wallet t **Features** -1. [Blockchain Agnostic](../../../v3/resources/supported-chains): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../../v3/sdk/wallets/intro), handling authentication, or generating conditional proofs. +1. [Blockchain Agnostic](../../v3/resources/supported-chains): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. +2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../v3/sdk/wallets/intro), handling authentication, or generating conditional proofs. 3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. @@ -44,10 +44,10 @@ Lit Actions are stored on the InterPlanetary File System (IPFS). **Features** -1. [Blockchain Agnostic](../../../v3/resources/supported-chains): Lit Actions can be used to write data to blockchains using PKPs +1. [Blockchain Agnostic](../../v3/resources/supported-chains): Lit Actions can be used to write data to blockchains using PKPs 2. Immutable: Once a Lit Action has been published, it cannot be modified 3. Atomicity: Using Mint/Grant/Burn, you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set -4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](../../../v3/sdk/access-control/condition-types/lit-action-conditions) natively, without requiring the use of a third party oracle +4. Off-Chain Compatibility: Lit Actions can pull in data from [off-chain sources](../../v3/sdk/access-control/lit-action-conditions) natively, without requiring the use of a third party oracle ## How do Lit Actions and PKPs work together? From f40b3d1d8dd16533bf8269acb3514954fcf9e30f Mon Sep 17 00:00:00 2001 From: Anson Date: Thu, 22 Feb 2024 04:58:18 +0300 Subject: [PATCH 176/627] chore: migration guide to 3.2.0 (#234) * chore: migration guide to 3.2.0 * resolve: comment --- docs/sdk/migrations/3.2.0.md | 128 +++++++++++++++++++++++++++++++++++ sidebars.js | 12 ++++ 2 files changed, 140 insertions(+) create mode 100644 docs/sdk/migrations/3.2.0.md diff --git a/docs/sdk/migrations/3.2.0.md b/docs/sdk/migrations/3.2.0.md new file mode 100644 index 00000000..8efee280 --- /dev/null +++ b/docs/sdk/migrations/3.2.0.md @@ -0,0 +1,128 @@ +--- +sidebar_position: 2 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrating from 3.1.x to 3.2.0 + +# Removed `controllerSessionSigs` + +Instead of receiving the `sessionSigs` directly, now they will obtain it from the client and its auth context. This way we are unifying that management and using them from a common storage instead of making the user handle it directly. For more information, please check this [PR](https://github.com/LIT-Protocol/js-sdk/pull/358). + +The affected entities are the ones that extends the `PKPBase` class (starting with `PKP...`), including `PKPEthersWallet` and `PKPClient`, etc. + + +`3.1.x` or older + +```js + +const AUTHSIG = { + "sig": "0x...", + "derivedVia": "web3.eth.personal.sign", + "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x...\n\nHello World\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: eoeo0dsvyLL2gcHsC\nIssued At: 2023-11-17T15:04:20.324Z\nExpiration Time: 2215-07-14T15:04:20.323Z", + "address": "0x..." +}; + +const PKP_PUBLIC_KEY = `0x...`; + +const sessionKeyPair = client.getSessionKey(); + const authNeededCallback = async (params) => { + const response = await client.signSessionKey({ + statement: params.statement, + authMethods: [ + { + authMethodType: 1, + accessToken: JSON.stringify(AUTHSIG), + }, + ], + pkpPublicKey: PKP_PUBLIC_KEY, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; + }; + + const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, + ]; + + const sessionSigs = await client.getSessionSigs({ + chain: 'ethereum', + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + sessionKey: sessionKeyPair, + authNeededCallback, + }); + + const pkpWallet = new PKPEthersWallet({ + pkpPubKey: PKP_PUBLIC_KEY, + controllerSessionSigs: sessionSigs, + controllerAuthMethods: [], + }); + + await pkpWallet.init(); + + const signature = await pkpWallet.signMessage(TO_SIGN); +``` + +`3.2.0` + +```js + +const AUTHSIG = { + "sig": "0x...", + "derivedVia": "web3.eth.personal.sign", + "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x...\n\nHello World\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: eoeo0dsvyLL2gcHsC\nIssued At: 2023-11-17T15:04:20.324Z\nExpiration Time: 2215-07-14T15:04:20.323Z", + "address": "0x..." +}; + +const PKP_PUBLIC_KEY = `0x...`; + +const authNeededCallback = async (params) => { + const response = await client.signSessionKey({ + statement: params.statement, + authMethods: [ + { + authMethodType: 1, + accessToken: JSON.stringify(AUTHSIG), + }, + ], + pkpPublicKey: PKP_PUBLIC_KEY, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; + +const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, +]; + +const pkpWallet = new PKPEthersWallet({ + pkpPubKey: PKP_PUBLIC_KEY, + rpc: "https://chain-rpc.litprotocol.com/http", + litNetwork: globalThis.LitCI.network, + authContext: { + client: client, + getSessionSigsProps: { + chain: 'ethereum', + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }, + }, +}); + +await pkpWallet.init(); + +const signature = await pkpWallet.signMessage(TO_SIGN); +``` \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index cd0e734b..7e3066a7 100644 --- a/sidebars.js +++ b/sidebars.js @@ -234,6 +234,18 @@ const sidebars = { "sdk/serverless-signing/eip191", ], }, + { + type: "category", + label: "Migrations", + link: { + type: "doc", + id: "sdk/serverless-signing/overview", + }, + collapsible: true, + items: [ + "sdk/migrations/3.2.0", + ], + }, "sdk/tests", ], }, From e09bf139ebecacfdc72d7a5eb60e3a1523ac2db3 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 21 Feb 2024 18:00:12 -0800 Subject: [PATCH 177/627] Update capacity-credits.md --- docs/sdk/capacity-credits.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 65db6c86..e20fb18f 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -80,6 +80,9 @@ To delegate your Rate Limit NFT there are 4 properties to configure: - `capacityTokenId` - The `token identifier` of the Rate Limit NFT - `delegateeAddresses` - The wallet addresses which will be delegated to +:::note +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: ## **Generating Sessions from delegation signature** To create sesssions from your delegation signature you can use the following example. From 01167f14c23e3e34ee22918e3fc41d6bc6f54450 Mon Sep 17 00:00:00 2001 From: Aaryan Raj Saxena Date: Fri, 23 Feb 2024 01:10:21 +0530 Subject: [PATCH 178/627] Added capacity credit NFTs can be minted from the Lit Explorer Package changes Package changes --- docs/sdk/capacity-credits.md | 6 +++++- package.json | 2 +- yarn.lock | 42 ++++++++++++++++++------------------ 3 files changed, 27 insertions(+), 23 deletions(-) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 65db6c86..756abad0 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -14,7 +14,11 @@ For more information on Capacity Credits and network rate limiting see [here](.. ## **Minting Capacity Credits** -In order to increase your rate limit you'll need to mint an `Capacity Credits NFT`. To do so, you can use our `contract-sdk` to mint the NFT. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk) +In order to increase your rate limit, you'll need to mint a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. To do so, you can either use: +1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, +2. Our `contracts-sdk`. + +A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). diff --git a/package.json b/package.json index c15e7c70..499eb211 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.1.4", + "@lit-protocol/constants": "^3.2.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index f126bb00..669f6884 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,43 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" - integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== +"@lit-protocol/accs-schemas@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" + integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" - integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== +"@lit-protocol/auth-helpers@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" + integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" - integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== +"@lit-protocol/constants@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" + integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" - "@lit-protocol/types" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/types" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" - integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== +"@lit-protocol/types@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" + integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 9b83670673f095dfa72ddb6477103ee2f629d23e Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 23 Feb 2024 05:11:18 +0530 Subject: [PATCH 179/627] Mentioned that PKP have to be migrated Mentioned that PKP have to be migrated --- docs/network/migration-guide.md | 7 +++--- package.json | 2 +- yarn.lock | 42 ++++++++++++++++----------------- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 3ff2f23d..c4f0ca97 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -31,15 +31,16 @@ You can use the same v3 SDK for both Cayenne and Habanero, but note that you wil ### For PKP Signing / Lit Actions use cases -Since Habanero has new root keys, you will need to re-mint any PKPs on Habanero. To do this, you can loop over all your old users and simply mint a new PKP on Habanero with the exact same auth methods. At this point, your users could use both the old network PKP and the new network PKP with the same auth methods. +Since Habanero has new root keys, you will need to re-mint any PKPs on Habanero as old PKPs cannot be directly migrated from the old networks. To do this, you can loop over all your old users and simply mint a new PKP on Habanero with the exact same auth methods. -However, the ETH address of each PKP will be different. Your users may have things tied to the old PKP ETH address, like assets stored there, or AA wallets that see that PKP as authorized signer. So the next step is to migrate these items. +> **Note:** To facilitate this process, we have an example script that automates the re-minting of PKPs on Habanero. This script allows you to seamlessly generate new PKPs for all your users, ensuring the same authentication methods are preserved. You can access the script [here](https://github.com/LIT-Protocol/PKP-Migrate). + +At this point, your users could use both the old network PKPs and the new network PKPs with the same auth methods. However, the ETH address of each PKP will be different. Your users may have things tied to the old PKP ETH address, like assets stored there, or AA wallets that see that PKP as authorized signer. So the next step is to migrate these items. In the case of assets, like ETH or Tokens or NFTs, you must have the user send these to their new PKP wallet address. Once they have sent their assets, the migration is complete. In the case of AA wallets, you would change the authorized signer from the old PKP wallet address to the new PKP wallet address. Once you’ve done this, the migration is complete. -We have an example script here that will perform the re-minting for you: https://github.com/LIT-Protocol/PKP-Migrate ## Performing re-encryption diff --git a/package.json b/package.json index c15e7c70..499eb211 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.1.4", + "@lit-protocol/constants": "^3.2.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index f126bb00..669f6884 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,43 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" - integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== +"@lit-protocol/accs-schemas@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" + integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" - integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== +"@lit-protocol/auth-helpers@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" + integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" - integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== +"@lit-protocol/constants@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" + integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" - "@lit-protocol/types" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/types" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" - integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== +"@lit-protocol/types@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" + integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 541058bcb7034633eab99ed997f39819a9488ff1 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 23 Feb 2024 07:16:31 +0530 Subject: [PATCH 180/627] Example to decrypt from old to new network Example to decrypt from old to new network --- docs/network/migration-guide.md | 113 +++++++++++++++++++++++++++++++- package.json | 2 +- yarn.lock | 42 ++++++------ 3 files changed, 132 insertions(+), 25 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 3ff2f23d..71747517 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -43,11 +43,118 @@ We have an example script here that will perform the re-minting for you: https:/ ## Performing re-encryption -Re-encryption is simply, decrypting the content, then encrypting it again. In the case of a migration from an old Lit Network to Habanero, you would connect to the old network, decrypt the user’s data, and then connect to Habanero and encrypt it again. +Re-encryption is simply, decrypting the content, then encrypting it again. The v3 SDK of the encryption system introduces significant enhancements compared to v2 SDK. It employs a more intricate yet secure method of encryption and decryption, utilizing hashes and a comprehensive set of parameters to bolster security and integrity. -Since in many cases, only the end user themselves can actually decrypt the content, you may adopt a system where you migrate each user when they use the system. You may start sending traffic from new users that *don’t* have any existing content to Habanero, immediately. You may want to track which network each user is using in your user DB, and then upon login, look this up to decide which network to talk to. +Unlike v2, both encryption and decryption processes in v3 explicitly rely on the `litNodeClient` showcasing a deeper integration with the Lit network's infrastructure. Additionally, v3 incorporates a data hash (`dataToEncryptHash`) during encryption, allowing for additional validation and integrity checks, which were absent in v2. Furthermore, v3 transitions from using basic types (like `string`) to structured request and response objects, like `EncryptStringRequest` and `DecryptRequest`, indicates a shift towards more detailed and configurable encryption/decryption operations to cater to diverse use cases. + +In the case of a migration from an old Lit Network to Habanero, you would follow these steps to learn how to decrypt and re-encrypt your data: + +### 1. Connect to the old network using Lit Js SDK V2 +```js +class LitV2 { + private litNodeClient; -You may follow the docs on [encryption](../sdk/access-control/encryption.md) to learn how to decrypt and re-encrypt your data. + async connect() { + const client = new LitJsSdk.LitNodeClient(); + await client.connect(); + this.litNodeClient = client; + } +} + +export default new Lit(); +``` +### 2. Decrypt the user’s data using old network +```js +// Lit Js SDK V2 decryption example +async decrypt(encryptedString, encryptedSymmetricKey) { + if (!this.litNodeClient) { + await this.connect(); + } + + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "ethereum" }); + const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, + ]; + + const symmetricKey = await this.litNodeClient.getEncryptionKey({ + accessControlConditions, + toDecrypt: encryptedSymmetricKey, + chain: "ethereum", + authSig + }); + const decryptedString = await LitJsSdk.decryptString( + encryptedString, + symmetricKey + ); + + return { decryptedString }; +} +``` +### 3. Connect to `Habanero` or `Manzano` and encrypt it again +```js +class LitV3 { + private litNodeClient; + + async connect() { + const client = new LitJsSdk.LitNodeClient({ + litNetwork: "manzano", + }); + await client.connect(); + this.litNodeClient = client; + } + + async encrypt(message) { + if (!this.litNodeClient) { + await this.connect(); + } + + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }); + const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, + ]; + + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + authSig, + chain: 'ethereum', + dataToEncrypt: message, + }, + litNodeClient, + ); + + return { + ciphertext, + dataToEncryptHash, + }; + } +} + +export default new Lit(); + +``` + +Since in many cases, only the end user themselves can actually decrypt the content, you may adopt a system where you migrate each user when they use the system. You may start sending traffic from new users that *don’t* have any existing content to Habanero, immediately. You may want to track which network each user is using in your user DB, and then upon login, look this up to decide which network to talk to. ## Installing and Initializing the Lit SDK diff --git a/package.json b/package.json index c15e7c70..499eb211 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.1.4", + "@lit-protocol/constants": "^3.2.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index f126bb00..669f6884 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,43 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" - integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== +"@lit-protocol/accs-schemas@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" + integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" - integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== +"@lit-protocol/auth-helpers@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" + integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" - integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== +"@lit-protocol/constants@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" + integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" - "@lit-protocol/types" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/types" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" - integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== +"@lit-protocol/types@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" + integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 84319779385556d31defe3cc69f72d9664b8cc65 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 23 Feb 2024 08:30:35 +0530 Subject: [PATCH 181/627] Example for migrating to use sessionSigs instead of authSigs Example for migrating to use sessionSigs instead of authSigs --- docs/concepts/capacity-credits-concept.md | 73 +++++++++++++++++++++++ package.json | 2 +- yarn.lock | 42 ++++++------- 3 files changed, 95 insertions(+), 22 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 849a8adf..11e0835d 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -34,6 +34,79 @@ Alice can create a session capability object that specifies the ability to Authe Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. +>**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer supported for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as rate limiting is now enabled on both `Habanero` and `Manzano` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities moving forward. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): + + +```javascript + const litNodeClient = new LitNodeClient({ + litNetwork: "manzano", + checkNodeAttestation: true, + }); + + await litNodeClient.connect(); + const authNeededCallback = async ({ resources, expiration, uri }) => { + // you can change this resource to anything you would like to specify + const litResource = new LitActionResource('*'); + + const recapObject = + await litNodeClient.generateSessionCapabilityObjectWithWildcards([ + litResource, + ]); + + recapObject.addCapabilityForResource( + litResource, + LitAbility.LitActionExecution + ); + + const verified = recapObject.verifyCapabilitiesForResource( + litResource, + LitAbility.LitActionExecution + ); + + if (!verified) { + throw new Error('Failed to verify capabilities for resource'); + } + + let siweMessage = new siwe.SiweMessage({ + domain: 'localhost:3000', // change to your domain ex: example.app.com + address: dAppOwnerWallet_address, + statement: 'Some custom statement.', // configure to what ever you would like + uri, + version: '1', + chainId: '1', + expirationTime: expiration, + resources, + }); + + siweMessage = recapObject.addToSiweMessage(siweMessage); + + const messageToSign = siweMessage.prepareMessage(); + const signature = await dAppOwnerWallet.signMessage(messageToSign); + + const authSig = { + sig: signature.replace('0x', ''), + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: dAppOwnerWallet_address, + }; + + return authSig; + }; + + let sessionSigs = await litNodeClient.getSessionSigs({ + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + chain: 'ethereum', + resourceAbilityRequests: [ + { + resource: new LitActionResource('*'), + ability: LitAbility.LitActionExecution, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); +``` + ### **Best Practices** diff --git a/package.json b/package.json index c15e7c70..499eb211 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.1.4", + "@lit-protocol/constants": "^3.2.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index f126bb00..669f6884 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,43 +2242,43 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.3.tgz#fdcabd16b78df5b065e8ea581af7ba21eccf7182" - integrity sha512-hjdJzeHHRABnelu3dZVQFEJUVdtJ9bs7in6uknvWonhTgr4N2m4uMMmYSMGMLXFBpMC53F8V3iF47KxZllCHtQ== +"@lit-protocol/accs-schemas@0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" + integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.1.4.tgz#8e263e76f433acb0a63cb1ca12f5b75728384b44" - integrity sha512-Bg9SSosfS6uSvot8ewFRcTQm8rpTdOtCYXSrmIUcd7tb810F4FDslptlour+Q0fByCjIqFdOwipeznk4EDDjmw== +"@lit-protocol/auth-helpers@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" + integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/constants@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.1.4.tgz#cf55dc677c3cd9abbe5ddeee10270d5df599ad77" - integrity sha512-3aXIuea9SB5UfRbVgn5CxFnDeQe9hnoYE8r0KMq71skKt7d4AavEmVm/kIzCR7dWibbnPLdlgqBVqrGRh3S9/g== +"@lit-protocol/constants@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" + integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" - "@lit-protocol/types" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/types" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.1.4.tgz#18f23a09e3aa172b1123357b43081987567a907c" - integrity sha512-R2V/3+DLLhrriweTc1n032PqB0TszYnNJs03sEuvIy2hkIoTunwUHdLKw5glaRRzTIZRimUBmJgo/ZLQa2pkiQ== +"@lit-protocol/types@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" + integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== dependencies: - "@lit-protocol/accs-schemas" "0.0.3" - "@lit-protocol/auth-helpers" "3.1.4" + "@lit-protocol/accs-schemas" "0.0.6" + "@lit-protocol/auth-helpers" "3.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From df36e477b665a6f458fcf63efd3a3b55fa6de49d Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 28 Feb 2024 03:32:44 +0530 Subject: [PATCH 182/627] Multiple doc updates --- docs/concepts/capacity-credits-concept.md | 4 +- docs/migration/overview.md | 38 ++++++++++++------- docs/network/migration-guide.md | 16 ++++++-- docs/network/networks/mainnet.md | 2 +- docs/network/networks/testnet.md | 2 +- .../session-sigs/get-session-sigs.md | 3 +- docs/sdk/capacity-credits.md | 13 ++++--- 7 files changed, 52 insertions(+), 26 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 849a8adf..bfa75dd7 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -30,7 +30,7 @@ For minting a Capacity Credits NFT see example docs for using our contract-sdk [ ### **Delegating Capacity — Paying for Your Users’ Requests** You can also delegate your capacity credits to other users. For example, Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for a specific Lit Actions or another resource or set of resources that she owns. -Alice can create a session capability object that specifies the ability to Authenticate with an Capacity Credits NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. +Alice can create a session capability object that specifies the ability to Authenticate with an Capacity Credits NFT as well as request for Threshold Execution (collect and combine key shares from the Lit nodes above the threshold to form the complete signature after executing Lit Action and getting responses) against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. @@ -38,5 +38,5 @@ Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys ### **Best Practices** - **Capacity Management**: Keep an eye on your usage limit and expiration date. -- **Understanding Limits**: Be aware of the free tier rate limit. Capacity credits can be used to reserve more usage. +- **Understanding Limits**: Be aware of the free tier rate limit which is set to 3 free requests per day as of now on `Manzano` and `Habanero` networks. Capacity credits can be used to reserve more usage. - **Prioritization**: Utilize session signatures to ensure request prioritization. diff --git a/docs/migration/overview.md b/docs/migration/overview.md index fd198c5a..4ee7f4b3 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -14,11 +14,11 @@ The **Lit JS SDK V3** replaces the existing access control condition based encry :::caution -The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. +The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. Therefore, we will request users to migrate to `habanero` and `manzano` networks. ::: -If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But still we will recommend users to migrate to V3 SDK as it supports our new networks, `habanero` and `manzano`, which are not supported by V2 SDK. Alternatively, here are some general instructions for migrating to use the new encryption scheme: @@ -39,6 +39,16 @@ Some factors that have different implications on the migration timeline include: ## Per-Package Changes +### `@lit-protocol/encryption` + +All of the methods now require `ILitNodeClient` in the function argument. + +### `@lit-protocol/lit-node-client` and `lit-node-client-nodejs` + +All of the functionality for encrypting and decrypting private data is now implemented by the `encrypt` and `decrypt` methods. + +All of the functionality for obtaining a BLS network signature over a JWT is now implemented by the `getSignedToken` method. + ### `@lit-protocol/bls-sdk` :::note @@ -169,23 +179,13 @@ const plaintext = verifyAndDecryptWithSignatureShares( ); ``` -### `@lit-protocol/encryption` - -All of the methods now require `ILitNodeClient` in the function argument. - -### `@lit-protocol/lit-node-client` and `lit-node-client-nodejs` - -All of the functionality for encrypting and decrypting private data is now implemented by the `encrypt` and `decrypt` methods. - -All of the functionality for obtaining a BLS network signature over a JWT is now implemented by the `getSignedToken` method. - ## Notable Changes V3 includes the following breaking changes from V2. ### Supported Lit Networks -Both `jalapeno` and `serrano` will no longer be supported. `cayenne` is the only supported network and will be the new default moving forward. +Both `jalapeno` and `serrano` will no longer be supported. Now, `cayenne`, `manzano` and `habanero` are the only supported networks and we will be moving forward with them. ### Types @@ -232,6 +232,18 @@ THe following methods have their names updated in `@lit-protocol/encryption` and All method interfaces in `@lit-protocol/encryption` have been updated. +## Minting Capacity Credits for Usage + +Currently Rate Limiting is enabled on `Habanero` and `Manzano`. In order to use these networks, you must reserve capacity on them by minting a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. Capacity credits allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). For minting capacity credits, you can either use: +1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, +2. Our `contracts-sdk`. + +A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). + +You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). + +For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) + ## Troubleshooting ### Using Next.js diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index c4f0ca97..3f559fba 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -23,12 +23,10 @@ If you’re migrating from Jalapeno to Habanero, it’s important to remember th ### For encryption / decryption use cases -Cayenne and Habanero have different root keys, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero +Cayenne and Habanero have different root keys, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero. In order to perform re-encryption, you can use the same v3 SDK for both Cayenne and Habanero, but note that you will need 2 instances of the SDK, one connected to each network. First, use Cayenne SDK instance to decrypt the encrypted data and then use Habanero SDK instance to re-encrypt it. You can learn more about re-encryption at the end of this guide. -You can use the same v3 SDK for both Cayenne and Habanero, but note that you will need 2 instances of the SDK, one connected to each network. - ### For PKP Signing / Lit Actions use cases Since Habanero has new root keys, you will need to re-mint any PKPs on Habanero as old PKPs cannot be directly migrated from the old networks. To do this, you can loop over all your old users and simply mint a new PKP on Habanero with the exact same auth methods. @@ -146,3 +144,15 @@ await client.connect(); ``` Read more about using the Lit SDK, testing, and error handling [here](../sdk/tests.md). + +## Minting Capacity Credits for Usage + +Currently Rate Limiting is enabled on `Habanero` and `Manzano`. In order to use these networks, you must reserve capacity on them by minting a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. Capacity credits allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). For minting capacity credits, you can either use: +1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, +2. Our `contracts-sdk`. + +A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). + +You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). + +For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) \ No newline at end of file diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 1ed2bbe8..5f6ca273 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -16,7 +16,7 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | None | n/a | -| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | ## Token Usage If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 08bdb56b..bcfc167b 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -11,4 +11,4 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | | Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | ~ July 2024 | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | | Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | -| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Coming Soon | V3 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file +| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 4665a624..4612c523 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -17,7 +17,7 @@ const wallet = new Wallet(process.env.YOUR_PRIVATE_KEY); // Instantiate a LitNodeClient const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "manzano", debug: true, }); await litNodeClient.connect(); @@ -70,6 +70,7 @@ const sessionSigs = await litNodeClient.getSessionSigs({ } ], authNeededCallback, + capacityDelegationAuthSig, }); ``` diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 756abad0..bb5789c2 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -95,8 +95,10 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t litNetwork: "manzano", checkNodeAttestation: true, }); - await litNodeClient.connect(); + + let nonce = litNodeClient.getLatestBlockhash(); + const authNeededCallback = async ({ resources, expiration, uri }) => { // you can change this resource to anything you would like to specify const litResource = new LitActionResource('*'); @@ -129,6 +131,7 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t chainId: '1', expirationTime: expiration, resources, + nonce, }); siweMessage = recapObject.addToSiweMessage(siweMessage); @@ -193,8 +196,8 @@ For more information on session signatures and pkps see [here](./authentication/ const response = await litNodeClient.signSessionKey({ statement: 'Some custom statement.', - authMethods: [secondWalletControllerAuthMethod], - pkpPublicKey: secondWalletPKPInfo.publicKey, + authMethods: [secondWalletControllerAuthMethod], // authMethods for signing the sessionSigs + pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated expiration: expiration, resources: resources, chainId: 1, @@ -209,7 +212,7 @@ For more information on session signatures and pkps see [here](./authentication/ }; const pkpSessionSigs = await litNodeClient.getSessionSigs({ - pkpPublicKey: secondWalletPKPInfo.publicKey, + pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours chain: 'ethereum', resourceAbilityRequests: [ @@ -234,7 +237,7 @@ For more information on session signatures and pkps see [here](./authentication/ }); })();`, authMethods: [], - jsParams: { + jsParams: { // parameters to js function above dataToSign: ethers.utils.arrayify( ethers.utils.keccak256([1, 2, 3, 4, 5]) ), From 30608258c9effddef68b2bd98d99c6beb5e04184 Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Wed, 28 Feb 2024 04:36:56 +0530 Subject: [PATCH 183/627] Fixed title of LA conditons example (#231) * Fixed title of LA conditons example Fixed title of LA conditons example * more info on other comparators --------- Co-authored-by: Chris Cassano --- docs/sdk/access-control/lit-action-conditions.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/docs/sdk/access-control/lit-action-conditions.md b/docs/sdk/access-control/lit-action-conditions.md index 54e9e042..5441ed30 100644 --- a/docs/sdk/access-control/lit-action-conditions.md +++ b/docs/sdk/access-control/lit-action-conditions.md @@ -4,9 +4,9 @@ sidebar_position: 4 # Lit Action Conditions -You can create a Lit Action Condition to grant access whenever a given Lit Action returns true. Lit Actions are JS code that can be executed on the Lit Protocol network. You can use Lit Actions to create custom access control conditions. +You can create a Lit Action Condition to grant access whenever a given Lit Action meets the conditions you set. Lit Actions are JS code that can be executed on the Lit Protocol network. You can use Lit Actions to create custom access control conditions. -## Lit Action must return true +## Example: Lit Action Must Return True Suppose you wanted to make a Lit Action that returns true if the forecast temperature is below 40 degrees. You could use this to create a document that can only be decrypted when it's cold out. @@ -29,7 +29,7 @@ const go = async (maxTemp) => { Save the above code to IPFS. -In this example, the Lit Action is on IPFS with the CID "QmcgbVu2sJSPpTeFhBd174FnmYmoVYvUFJeDkS7eYtwoFY". The below condition will run the `go()` function of the Lit Action, and check if the return value is true. It will pass a parameter of 40 to the `go()` function. Note that all parameters must be strings so you must use `parseInt()` to convert the string to a number to check it against the forecast temperature. +In this example, the Lit Action is on IPFS with the CID `QmcgbVu2sJSPpTeFhBd174FnmYmoVYvUFJeDkS7eYtwoFY`. The below condition will run the `go()` function of the Lit Action, and check if the return value is true. It will pass a parameter of 40 to the `go()` function. Note that all parameters must be strings so you must use `parseInt()` to convert the string to a number to check it against the forecast temperature. ```js var accessControlConditions = [ @@ -48,3 +48,12 @@ var accessControlConditions = [ ``` You can see a full working example of this here: https://github.com/LIT-Protocol/js-serverless-function-test/blob/main/js-sdkTests/decrypt.js + +## Return Value Options + +Your JS function can return any string (not just true or false), and you can compare it against any string in your `returnValueTest`. Note that only strings are supported here, so you should stick to the `comparator` options that make sense with strings. These are below: + +* = +* != +* contains +* !contains From a0c931e1ae07f3d54158b6b1fa1d2247c78eb0c6 Mon Sep 17 00:00:00 2001 From: Aaryan R S <82698176+Aaryan-R-S@users.noreply.github.com> Date: Wed, 28 Feb 2024 04:41:53 +0530 Subject: [PATCH 184/627] Add a note section for unable to verify the first certificate in nodejs (#229) * Added a note section for unable to verify the first certificate in nodejs Added note SSL in FAQs * Resolved comments * cleared it up --------- Co-authored-by: Chris Cassano --- docs/support/faq.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/support/faq.md b/docs/support/faq.md index 2e6b8cad..1e8c1eb5 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -118,6 +118,10 @@ Check out this PKP x WalletConnect example [here](https://github.com/LIT-Protoco Yes! Check out this [sample project.](https://github.com/dOrgJelli/lit-protocol-wasm-test/blob/d4b8873f9a5bceaf98e7f7a1bf325bf597cbfa40/src/App.js#L6-L51.) +### 12. I am getting the following error when connecting to the Lit nodes: "Error: Unable to verify the first certificate in nodejs". What may be causing this? + +If you're facing this error while using Node.js, please first verify that you don't have unnecessary firewalls on your network that are preventing you from connecting to the Lit network properly. This is typically caused by some kind of man in the middle in your network, which could be something on your machine or something your ISP is doing. You could try a VPN or software solution such as https://1.1.1.1/ to remove this man in the middle. +
    ## Access Control & Encryption From 44ea73f490d854b6755c9b0ce49b2ead195f330f Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Tue, 27 Feb 2024 16:19:07 -0700 Subject: [PATCH 185/627] rewrite a few things --- docs/concepts/capacity-credits-concept.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 11e0835d..a8629c7d 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -34,7 +34,7 @@ Alice can create a session capability object that specifies the ability to Authe Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. ->**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer supported for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as rate limiting is now enabled on both `Habanero` and `Manzano` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities moving forward. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): +>**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Habanero` and `Manzano` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): ```javascript From 5079359d2bc6a04a9828e21de640d07f20fbdb4c Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Tue, 27 Feb 2024 16:22:52 -0700 Subject: [PATCH 186/627] changed more stuff --- docs/concepts/capacity-credits-concept.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index a8629c7d..25ffbbbc 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -111,5 +111,5 @@ Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys ### **Best Practices** - **Capacity Management**: Keep an eye on your usage limit and expiration date. -- **Understanding Limits**: Be aware of the free tier rate limit. Capacity credits can be used to reserve more usage. -- **Prioritization**: Utilize session signatures to ensure request prioritization. +- **Delegation**: You can create restrictions on your delegations to ensure that your users don't take your `capacityDelegationAuthSig` and use it for other apps + From 9d87504a3e6543bf4685e55b38a9ef7c276aa1f7 Mon Sep 17 00:00:00 2001 From: Anson Date: Wed, 28 Feb 2024 02:28:29 +0300 Subject: [PATCH 187/627] fix: cc example (#241) --- docs/sdk/capacity-credits.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index a7440ba6..f9143e2d 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -94,6 +94,9 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t ```javascript + + const DELEGATEE_WALLET = new ethers.Wallet(your_private_key_string, provider); + const litNodeClient = new LitNodeClient({ litNetwork: "manzano", checkNodeAttestation: true, @@ -125,7 +128,7 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t let siweMessage = new siwe.SiweMessage({ domain: 'localhost:3000', // change to your domain ex: example.app.com - address: dAppOwnerWallet_address, + address: DELEGATEE_WALLET.address, statement: 'Some custom statement.', // configure to what ever you would like uri, version: '1', @@ -137,13 +140,13 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t siweMessage = recapObject.addToSiweMessage(siweMessage); const messageToSign = siweMessage.prepareMessage(); - const signature = await dAppOwnerWallet.signMessage(messageToSign); + const signature = await DELEGATEE_WALLET.signMessage(messageToSign); const authSig = { sig: signature.replace('0x', ''), derivedVia: 'web3.eth.personal.sign', signedMessage: messageToSign, - address: dAppOwnerWallet_address, + address: DELEGATEE_WALLET.address, }; return authSig; From 223d7cea930a0c8252bcc36b481b199352d07e63 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 29 Feb 2024 22:28:16 +0530 Subject: [PATCH 188/627] Added ID based encryption --- docs/network/migration-guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 71747517..5c7b7913 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -45,6 +45,8 @@ We have an example script here that will perform the re-minting for you: https:/ Re-encryption is simply, decrypting the content, then encrypting it again. The v3 SDK of the encryption system introduces significant enhancements compared to v2 SDK. It employs a more intricate yet secure method of encryption and decryption, utilizing hashes and a comprehensive set of parameters to bolster security and integrity. +The Lit network employs an ID-based encryption method allowing only users who meet specific identity criteria to decrypt data. This process involves the use of the BLS network signature as a decryption key, which is generated based on access control conditions and private data. Encryption occurs client-side, requiring minimal network interaction—just a single round for decryption to gather necessary signature shares. Read more about ID based encryption [here](../sdk/access-control/encryption/#how-does-id-encrypt-work). + Unlike v2, both encryption and decryption processes in v3 explicitly rely on the `litNodeClient` showcasing a deeper integration with the Lit network's infrastructure. Additionally, v3 incorporates a data hash (`dataToEncryptHash`) during encryption, allowing for additional validation and integrity checks, which were absent in v2. Furthermore, v3 transitions from using basic types (like `string`) to structured request and response objects, like `EncryptStringRequest` and `DecryptRequest`, indicates a shift towards more detailed and configurable encryption/decryption operations to cater to diverse use cases. In the case of a migration from an old Lit Network to Habanero, you would follow these steps to learn how to decrypt and re-encrypt your data: From 4ea22357a7938a43db3e0e14a94d27861702e901 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 1 Mar 2024 02:00:26 +0530 Subject: [PATCH 189/627] Added about session sigs Added about session sigs --- docs/concepts/capacity-credits-concept.md | 4 +++ package.json | 2 +- yarn.lock | 33 ++++++++++++----------- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 25ffbbbc..4fd4b18b 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -34,6 +34,10 @@ Alice can create a session capability object that specifies the ability to Authe Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. +Lit employs `SessionSig` as a secure method for session management, utilizing ed25519 keypairs created randomly in the browser and stored locally. To generate a `SessionSig`, a user first needs to acquire an [AuthSig](../sdk/authentication/auth-sig.md) via an [authentication method](../sdk/authentication/session-sigs/auth-methods/overview.md) like Google OAuth. This `AuthSig`, incorporating the session keypair's public key, allows users to delegate specific actions to the session keypair, enhancing security and control over [resource](../sdk/authentication/session-sigs/resources-and-abilities.md) access. The session keypair signs all requests to Lit Nodes, with the `AuthSig` attached as a [capability](../sdk/authentication/session-sigs/capability-objects.md) to ensure that each node can verify the user's ownership of the wallet address. This process not only secures session management but also streamlines user interactions with the Lit Network's resources. + +You can read more about Session Signatures [here](../sdk/authentication/session-sigs/intro.md). + >**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Habanero` and `Manzano` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): diff --git a/package.json b/package.json index 499eb211..82cffdb7 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.1", + "@lit-protocol/constants": "^3.2.2", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 669f6884..e4cae917 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,36 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" - integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== +"@lit-protocol/auth-helpers@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.2.tgz#a982bd7c80a72a5657e2b6c7f45dd1789178bba9" + integrity sha512-S+903Ucze6QGMSu2oQxk/V0pO4bXGd4htloLsok2jToGDvz93eexdp53ZMik1Fo6tIwz647/YCq/jKEMapMWxQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" - tslib "^2.3.0" -"@lit-protocol/constants@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" - integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== +"@lit-protocol/constants@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.2.tgz#b0ebf9ab5dc9ae2b92aea34df10cf5ff13fbeac7" + integrity sha512-CH7k8ugINXsXPUv0bP7LDuAqauRTRRGd4HvsHUxPaYbDtASspKePuHpuoyzr2qNST8Pz073VEv3wyNl3a8++pw== dependencies: + "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.1" - "@lit-protocol/types" "3.2.1" + "@lit-protocol/auth-helpers" "3.2.2" + "@lit-protocol/types" "3.2.2" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" - integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== +"@lit-protocol/types@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.2.tgz#3531b4e28a977698ffa33dc1a0bc98c0392cc6fc" + integrity sha512-R7zpyHgh+IkNoEmTCScWEXLPt3qJ26bG6Sg35mypPWkXhA463Wsgtiphc0eTDsd9e5yzvcUw/0rYfuTmEzQbbA== dependencies: + "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/auth-helpers" "3.2.2" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From af137a95c3a1a3b5bbd8bf22a130630da91b3c6b Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 2 Mar 2024 01:48:04 +0530 Subject: [PATCH 190/627] Added banner and resolved comments Added banner and resolved comments --- docs/concepts/access-control-concept.md | 4 +++ docs/concepts/capacity-credits-concept.md | 20 ++++++----- docs/concepts/pkps-as-wallet.md | 2 +- docs/concepts/programmable-signing-concept.md | 4 +++ docs/intro/overview.mdx | 3 +- docs/intro/usecases.md | 4 +++ docs/intro/what-is-lit-protocol.md | 4 +++ docs/migration/changes.md | 3 ++ docs/migration/overview.md | 6 +++- docs/network/feature-matrix.md | 4 +++ docs/network/migration-guide.md | 12 +++---- docs/network/networks/mainnet.md | 4 +-- docs/network/networks/testnet.md | 4 +++ docs/network/rollup.mdx | 4 +++ docs/sdk/access-control/encryption.md | 4 +-- docs/sdk/access-control/intro.md | 4 +++ docs/sdk/authentication/overview.md | 4 +++ .../session-sigs/get-session-sigs.md | 8 +++-- docs/sdk/capacity-credits.md | 2 +- docs/sdk/installation.md | 4 +++ docs/sdk/migrations/3.2.0.md | 4 +++ docs/sdk/serverless-signing/overview.md | 2 +- docs/sdk/tests.md | 4 +++ docs/sdk/wallets/intro.md | 2 +- package.json | 2 +- sidebars.js | 4 --- yarn.lock | 33 ++++++++++--------- 27 files changed, 107 insertions(+), 48 deletions(-) diff --git a/docs/concepts/access-control-concept.md b/docs/concepts/access-control-concept.md index 46f36bb3..7029c2c9 100644 --- a/docs/concepts/access-control-concept.md +++ b/docs/concepts/access-control-concept.md @@ -4,6 +4,10 @@ sidebar_position: 1 # Decentralized Access Control +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + ## Overview Lit Protocol can be used with your storage provider of choice for secure data encryption. With Lit, you can encrypt and decrypt content client-side, defining specific rules for access using [access control conditions (ACCs)](../sdk/access-control/evm/basic-examples). diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index bfa75dd7..659d261c 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -4,7 +4,7 @@ sidebar_position: 4 # Paying For Usage -:::note +:::info Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. See [here](../network/networks/testnet) for a list of test networks. See [here](../network/networks/mainnet) for a list of mainnet networks. @@ -21,22 +21,26 @@ In order to send transactions on Lit, you must first authenticate with the [Lit 1. [Session signatures](../sdk/authentication/session-sigs/intro): signatures scoped to specific capabilities or resources, designed to be ephemeral and limited in scope. (RECOMMENDED) 2. [Auth sigs](../sdk/authentication/auth-sig): a signature obtained from a user proving they own a particular key (NOT RECOMMENDED) -Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. +Every time you authenticate with Lit, the request context (i.e. wallet address, owned capacity credits, etc) is extracted and validated against the Rate Limiting Module to ensure capacity has not been breached. In order to increase your rate limit, you'll need to mint a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. To do so, you can either use: +1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, +2. Our `contracts-sdk`. -To mint a Capacity Credit NFT, you’ll need some 'testLPX' tokens. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` test token should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/capacity-credits) +You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). + +For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/capacity-credits#minting-capacity-credits). ### **Delegating Capacity — Paying for Your Users’ Requests** You can also delegate your capacity credits to other users. For example, Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for a specific Lit Actions or another resource or set of resources that she owns. -Alice can create a session capability object that specifies the ability to Authenticate with an Capacity Credits NFT as well as request for Threshold Execution (collect and combine key shares from the Lit nodes above the threshold to form the complete signature after executing Lit Action and getting responses) against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. +Alice can create a session capability object that specifies the ability to Authenticate with an Capacity Credits NFT as well as request for Threshold Execution, for example, against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. -Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. +Alice can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. ### **Best Practices** - **Capacity Management**: Keep an eye on your usage limit and expiration date. -- **Understanding Limits**: Be aware of the free tier rate limit which is set to 3 free requests per day as of now on `Manzano` and `Habanero` networks. Capacity credits can be used to reserve more usage. -- **Prioritization**: Utilize session signatures to ensure request prioritization. +- **Understanding Limits**: Be aware that there are no free requests on `Habanero` mainnet. On `Manzano` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. +- **Delegation**: You can create restrictions on your delegations to ensure that your users don't take your `capacityDelegationAuthSig` and use it for other apps. diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index f3988d3e..c3fb33d4 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -7,7 +7,7 @@ sidebar_position: 3 :::info **STATE OF THE NETWORK** -Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Habanero Mainnet Beta](../network/networks/mainnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! +Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! ::: ## Overview diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index ebadb491..cda2f558 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -4,6 +4,10 @@ sidebar_position: 2 # Serverless Signing +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + ## Overview With the Lit network, you can generate decentralized key pairs for signing and encryption. Associated with these signing keys is the ability to create powerful serverless functions and condition-based signing automations using Lit Actions. Written in JavaScript, Lit Actions allow you to define the rules and logic PKPs should follow when signing data. These rules are: diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index d3a137c8..88d6b6de 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -13,8 +13,7 @@ import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; Lit is an internet native security and identity network. With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. :::info - -Lit v0 is now live. Take a look at the docs on [migration](https://developer.litprotocol.com/v3/network/migration-guide/) to start building today! +[Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 7103dc97..15b1d340 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -5,6 +5,10 @@ sidebar_position: 4 # Use Cases +:::info +[Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + Developers can leverage the Lit Network to build decentralized applications with programmable keys at their core. Possible use cases include: ### Decentralized Access Control diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 360d1478..9cacefa8 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -5,6 +5,10 @@ sidebar_position: 2 # What is Lit Protocol +:::info +[Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. The system builds off of contemporary work in applied cryptography, secure enclaves, and distributed systems to provide the maximum amount of control and privacy to end users, without requiring an extensive technical understanding of key management or public key cryptography. diff --git a/docs/migration/changes.md b/docs/migration/changes.md index b712ad53..8bd270e0 100644 --- a/docs/migration/changes.md +++ b/docs/migration/changes.md @@ -9,6 +9,9 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: ## `@lit-protocol/bls-sdk` diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 4ee7f4b3..75c11f66 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -9,6 +9,10 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + ## Data Migration @@ -18,7 +22,7 @@ The Lit development team will not be migrating the access control conditions tha ::: -If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But still we will recommend users to migrate to V3 SDK as it supports our new networks, `habanero` and `manzano`, which are not supported by V2 SDK. +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V3 SDK as it supports our new networks, `habanero` and `manzano`, which are not supported by V2 SDK. Alternatively, here are some general instructions for migrating to use the new encryption scheme: diff --git a/docs/network/feature-matrix.md b/docs/network/feature-matrix.md index 45629fdf..870bfcbf 100644 --- a/docs/network/feature-matrix.md +++ b/docs/network/feature-matrix.md @@ -1,5 +1,9 @@ # Feature Matrix +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + Shown below is a matrix illustrating which features are available with each SDK version. V1 refers to the deprecated [lit-js-sdk](https://github.com/LIT-Protocol/lit-js-sdk) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 3f559fba..e4d0529d 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -9,7 +9,7 @@ If you are currently in early-stage research and development, you should be usin In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 SDK. If you haven’t yet upgraded to v3, you can do so following these [upgrade instructions](../migration/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). -Once your application is using v3, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero. +Once your application is using v3, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero or Manzano. ## Migrating From Jalapeno @@ -23,15 +23,15 @@ If you’re migrating from Jalapeno to Habanero, it’s important to remember th ### For encryption / decryption use cases -Cayenne and Habanero have different root keys, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero. In order to perform re-encryption, you can use the same v3 SDK for both Cayenne and Habanero, but note that you will need 2 instances of the SDK, one connected to each network. First, use Cayenne SDK instance to decrypt the encrypted data and then use Habanero SDK instance to re-encrypt it. +Cayenne and Habanero (or Manzano) have different root keys and, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero (or Manzano). In order to perform re-encryption, you can use the same v3 SDK for both Cayenne and Habanero (or Manzano), but note that you will need 2 instances of the SDK, one connected to each network. First, use Cayenne SDK instance to decrypt the encrypted data and then use Habanero (or Manzano) SDK instance to re-encrypt it. You can learn more about re-encryption at the end of this guide. ### For PKP Signing / Lit Actions use cases -Since Habanero has new root keys, you will need to re-mint any PKPs on Habanero as old PKPs cannot be directly migrated from the old networks. To do this, you can loop over all your old users and simply mint a new PKP on Habanero with the exact same auth methods. +Since Habanero (or Manzano) has new root keys, you will need to re-mint any PKPs on Habanero (or Manzano) as old PKPs cannot be directly migrated from the old networks. To do this, you can loop over all your old users and simply mint a new PKP on Habanero (or Manzano) with the exact same auth methods. -> **Note:** To facilitate this process, we have an example script that automates the re-minting of PKPs on Habanero. This script allows you to seamlessly generate new PKPs for all your users, ensuring the same authentication methods are preserved. You can access the script [here](https://github.com/LIT-Protocol/PKP-Migrate). +> **Note:** To facilitate this process, we have an example script that automates the re-minting of PKPs on Habanero (or Manzano). This script allows you to seamlessly generate new PKPs for all your users, ensuring the same authentication methods are preserved. You can access the script [here](https://github.com/LIT-Protocol/PKP-Migrate). At this point, your users could use both the old network PKPs and the new network PKPs with the same auth methods. However, the ETH address of each PKP will be different. Your users may have things tied to the old PKP ETH address, like assets stored there, or AA wallets that see that PKP as authorized signer. So the next step is to migrate these items. @@ -42,9 +42,9 @@ In the case of AA wallets, you would change the authorized signer from the old P ## Performing re-encryption -Re-encryption is simply, decrypting the content, then encrypting it again. In the case of a migration from an old Lit Network to Habanero, you would connect to the old network, decrypt the user’s data, and then connect to Habanero and encrypt it again. +Re-encryption is simply, decrypting the content, then encrypting it again. In the case of a migration from an old Lit Network to Habanero (or Manzano), you would connect to the old network, decrypt the user’s data, and then connect to Habanero (or Manzano) and encrypt it again. -Since in many cases, only the end user themselves can actually decrypt the content, you may adopt a system where you migrate each user when they use the system. You may start sending traffic from new users that *don’t* have any existing content to Habanero, immediately. You may want to track which network each user is using in your user DB, and then upon login, look this up to decide which network to talk to. +Since in many cases, only the end user themselves can actually decrypt the content, you may adopt a system where you migrate each user when they use the system. You may start sending traffic from new users that *don’t* have any existing content to Habanero (or Manzano), immediately. You may want to track which network each user is using in your user DB, and then upon login, look this up to decide which network to talk to. You may follow the docs on [encryption](../sdk/access-control/encryption.md) to learn how to decrypt and re-encrypt your data. diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 5f6ca273..c14fdaaa 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -2,10 +2,10 @@ ## Overview -:::note +:::info **STATE OF THE NETWORK** -Lit V0, the Habanero Mainnet Beta, is now live and available for teams building apps in production. Habanero supports [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). +Lit V0, the Habanero Mainnet, is now live and available for teams building apps in production. Habanero supports [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). ::: Main networks should be used by applications that are currently live in production, supporting the storage of live assets. Mainnet keys are persistent and will not be deleted. diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index bcfc167b..dfc7ceed 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -1,5 +1,9 @@ # Testnet +:::info +[Manzano Testnet](testnet) is now live. Check out the [docs on migration](../migration-guide) to learn how you can start building on Manzano today. +::: + Test networks are designed for early-stage application development, for development and testing pre-production. Storing assets with real world value on these networks is highly discouraged and keys may be deleted. All test networks may be deprecated in the future. When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLPX'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index e82ef735..73ab94a1 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -2,6 +2,10 @@ import AddRollupButton from "@site/src/components/AddRollupButton"; # Chronicle: The Lit Rollup +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index dd0bddf3..153b7cdd 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -2,8 +2,8 @@ The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. -:::note -The Lit Habanero Mainnet Beta is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. +:::info +Habanero Mainnet and Manzano Testnet are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: ### How Does ID Encrypt Work diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index e991fa6a..b03c357e 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -4,6 +4,10 @@ sidebar_position: 1 # Intro +:::info +[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + ## Quick Start Ready to jump right in? Quickly learn how you can integrate decentralized access control today: diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md index 16735663..797b46ee 100644 --- a/docs/sdk/authentication/overview.md +++ b/docs/sdk/authentication/overview.md @@ -4,6 +4,10 @@ sidebar_position: 1 # Overview +:::info +[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + To interact with the nodes in the Lit Network, you will need to generate and present signatures. Currently, there are three ways to do this: ## Obtain an `AuthSig` diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 4612c523..7649ae30 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,7 +6,9 @@ sidebar_position: 2 You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. -**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake +In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Habanero` and `Manzano` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. + +You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way: ```javascript import { LitNodeClient } from '@lit-protocol/lit-node-client'; @@ -70,10 +72,12 @@ const sessionSigs = await litNodeClient.getSessionSigs({ } ], authNeededCallback, - capacityDelegationAuthSig, + capacityDelegationAuthSig, // here is where we add the delegation to our session request }); ``` +**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. + :::note If running the SDK in a Server environment, session signatures may *not* be cached unless you provide an instance of `Storage` to the runtime. [Here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index bb5789c2..2bfca3b9 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -1,6 +1,6 @@ # Capacity Credits -:::note +:::info Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. See [here](../network/networks/testnet.md) for a list of test networks. See [here](../network/networks/mainnet.md) for a list of mainnet networks. diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index f0d8a59c..71bb29b0 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -3,6 +3,10 @@ import TabItem from '@theme/TabItem'; # Installation +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. diff --git a/docs/sdk/migrations/3.2.0.md b/docs/sdk/migrations/3.2.0.md index 8efee280..8218bd1b 100644 --- a/docs/sdk/migrations/3.2.0.md +++ b/docs/sdk/migrations/3.2.0.md @@ -7,6 +7,10 @@ import TabItem from '@theme/TabItem'; # Migrating from 3.1.x to 3.2.0 +:::info +[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + # Removed `controllerSessionSigs` Instead of receiving the `sessionSigs` directly, now they will obtain it from the client and its auth context. This way we are unifying that management and using them from a common storage instead of making the user handle it directly. For more information, please check this [PR](https://github.com/LIT-Protocol/js-sdk/pull/358). diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 15e47462..51390df8 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -3,7 +3,7 @@ :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Habanero Mainnet Beta](../../network/networks/mainnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. +Using Lit Actions in production IS now supported on the [Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. ::: diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index 9f28dae4..bf052280 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -7,6 +7,10 @@ import TabItem from '@theme/TabItem'; # Testing and Error Handling +:::info +[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + Currently we have manual tests that you can run in the browser in `manual_tests.html`. To run these, set up a HTTP server in the build folder. We use python for this with the built in SimpleHTTPServer module by running `python2 -m SimpleHTTPServer` and then going to `http://localhost:8000/manual_tests.html` in a browser. There is also an attempt at automated tests in the tests folder but running it with nodejs does not work because this project is bundled. An attempt at bundling the tests as well is in `esbuild-tests.js` which should work someday, but more work needs to be done. diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 7b55e12d..44469fd4 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -3,7 +3,7 @@ :::info **STATE OF THE NETWORK** -The Lit Habanero Mainnet Beta is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. +[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ ::: diff --git a/package.json b/package.json index 499eb211..82cffdb7 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.1", + "@lit-protocol/constants": "^3.2.2", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 7e3066a7..7c423d69 100644 --- a/sidebars.js +++ b/sidebars.js @@ -237,10 +237,6 @@ const sidebars = { { type: "category", label: "Migrations", - link: { - type: "doc", - id: "sdk/serverless-signing/overview", - }, collapsible: true, items: [ "sdk/migrations/3.2.0", diff --git a/yarn.lock b/yarn.lock index 669f6884..e4cae917 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,36 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" - integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== +"@lit-protocol/auth-helpers@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.2.tgz#a982bd7c80a72a5657e2b6c7f45dd1789178bba9" + integrity sha512-S+903Ucze6QGMSu2oQxk/V0pO4bXGd4htloLsok2jToGDvz93eexdp53ZMik1Fo6tIwz647/YCq/jKEMapMWxQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" - tslib "^2.3.0" -"@lit-protocol/constants@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" - integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== +"@lit-protocol/constants@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.2.tgz#b0ebf9ab5dc9ae2b92aea34df10cf5ff13fbeac7" + integrity sha512-CH7k8ugINXsXPUv0bP7LDuAqauRTRRGd4HvsHUxPaYbDtASspKePuHpuoyzr2qNST8Pz073VEv3wyNl3a8++pw== dependencies: + "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.1" - "@lit-protocol/types" "3.2.1" + "@lit-protocol/auth-helpers" "3.2.2" + "@lit-protocol/types" "3.2.2" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" - integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== +"@lit-protocol/types@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.2.tgz#3531b4e28a977698ffa33dc1a0bc98c0392cc6fc" + integrity sha512-R7zpyHgh+IkNoEmTCScWEXLPt3qJ26bG6Sg35mypPWkXhA463Wsgtiphc0eTDsd9e5yzvcUw/0rYfuTmEzQbbA== dependencies: + "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/auth-helpers" "3.2.2" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From a5278ce8431e7c265565482d1e9c43fab6acdde7 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Mon, 4 Mar 2024 23:58:38 +0530 Subject: [PATCH 191/627] changed docusauras config changed docusauras config --- docusaurus.config.js | 1 + package.json | 2 +- yarn.lock | 33 +++++++++++++++++---------------- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index dbf80e47..b7862cb9 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -11,6 +11,7 @@ const config = { 'Blockchain based access control and programmatic signing for the web', url: 'https://developer.litprotocol.com', baseUrl: '/', + trailingSlash: false, onBrokenLinks: 'warn', onBrokenMarkdownLinks: 'warn', favicon: 'brand/favicon.ico', diff --git a/package.json b/package.json index 499eb211..82cffdb7 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.1", + "@lit-protocol/constants": "^3.2.2", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 669f6884..e4cae917 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,36 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.1.tgz#7f4c47a608221316ccd6e65bd634e03dbc02f859" - integrity sha512-nkuEifffHbfgQ3M9dSnSyP+sE+JN2vNrz6cLvpPO/gmDldL4c5KebPHUNeEa+LSxuaXLo5G46RsM7pBcStUrpw== +"@lit-protocol/auth-helpers@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.2.tgz#a982bd7c80a72a5657e2b6c7f45dd1789178bba9" + integrity sha512-S+903Ucze6QGMSu2oQxk/V0pO4bXGd4htloLsok2jToGDvz93eexdp53ZMik1Fo6tIwz647/YCq/jKEMapMWxQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" - tslib "^2.3.0" -"@lit-protocol/constants@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.1.tgz#c78bd37bfd6acc568cf18b97aac7685a926aaa74" - integrity sha512-gYXLpSBsFHZsS8OTjdKdZYjuWbOemgO/ujKX479TBl7nPvit41Xi+EeyAqTaE27qDepZ7Fi2jBGrlovI9alROw== +"@lit-protocol/constants@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.2.tgz#b0ebf9ab5dc9ae2b92aea34df10cf5ff13fbeac7" + integrity sha512-CH7k8ugINXsXPUv0bP7LDuAqauRTRRGd4HvsHUxPaYbDtASspKePuHpuoyzr2qNST8Pz073VEv3wyNl3a8++pw== dependencies: + "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.1" - "@lit-protocol/types" "3.2.1" + "@lit-protocol/auth-helpers" "3.2.2" + "@lit-protocol/types" "3.2.2" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.1.tgz#b0e63988663a98d06a6fcbdb9b0694e7b10ada98" - integrity sha512-fnPtXTfvXqU2dvyaT4wnBb31V3B3EaZQfueKbHziloif8N2nX8ApJd0X/v2fae5yzuXcPaCfC9oyIUsQIJIQ+g== +"@lit-protocol/types@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.2.tgz#3531b4e28a977698ffa33dc1a0bc98c0392cc6fc" + integrity sha512-R7zpyHgh+IkNoEmTCScWEXLPt3qJ26bG6Sg35mypPWkXhA463Wsgtiphc0eTDsd9e5yzvcUw/0rYfuTmEzQbbA== dependencies: + "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.1" + "@lit-protocol/auth-helpers" "3.2.2" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 54be7b7e83406cbd064e23b376a89f838cbc937b Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 6 Mar 2024 21:19:34 +0530 Subject: [PATCH 192/627] Move Auth Methods section from Session Sigs to User Wallets --- .../session-sigs/walletless-sigs.md | 21 +++++++++ docs/sdk/wallets/auth-methods.md | 8 ++-- .../auth-methods/custom-auth.md | 8 ++-- .../add-remove-auth-methods.md | 4 +- .../lit-auth-methods}/email-sms.md | 0 .../lit-auth-methods}/social-login.md | 0 .../lit-auth-methods}/web-authn.md | 0 .../auth-methods/overview.md | 6 +-- sidebars.js | 45 ++++++++++++------- 9 files changed, 63 insertions(+), 29 deletions(-) create mode 100644 docs/sdk/authentication/session-sigs/walletless-sigs.md rename docs/sdk/{authentication/session-sigs => wallets}/auth-methods/custom-auth.md (91%) rename docs/sdk/{authentication/session-sigs/auth-methods => wallets/auth-methods/lit-auth-methods}/add-remove-auth-methods.md (98%) rename docs/sdk/{authentication/session-sigs/auth-methods => wallets/auth-methods/lit-auth-methods}/email-sms.md (100%) rename docs/sdk/{authentication/session-sigs/auth-methods => wallets/auth-methods/lit-auth-methods}/social-login.md (100%) rename docs/sdk/{authentication/session-sigs/auth-methods => wallets/auth-methods/lit-auth-methods}/web-authn.md (100%) rename docs/sdk/{authentication/session-sigs => wallets}/auth-methods/overview.md (84%) diff --git a/docs/sdk/authentication/session-sigs/walletless-sigs.md b/docs/sdk/authentication/session-sigs/walletless-sigs.md new file mode 100644 index 00000000..c3e7caa7 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/walletless-sigs.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +--- + +# Walletless Signatures + +With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: + +- [Social Login (e.g., Google, Discord)](../../wallets/auth-methods/lit-auth-methods/social-login) +- [WebAuthn](../../wallets/auth-methods/lit-auth-methods/web-authn) +- [Email / SMS](../../wallets/auth-methods/lit-auth-methods/email-sms) + +Support for one-time passcodes (OTPs) through email and SMS is coming soon. + +By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management. + +:::note + +Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit JS SDK. + +::: diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 887096e3..b2624a96 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -9,7 +9,9 @@ Authentication methods are ways of asigning Programmable Key Pairs (PKP) to a sp An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. Only the auth method associated with a particular PKP has the ability to combine the underlying shares. You can read more about how authentication works with PKPs on our [blog](https://spark.litprotocol.com/how-authentication-works-with-pkps/). -Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below. +Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below: +1. [Using Lit Auth Directly](#using-lit-auth-directly) +2. [Custom Auth / Adding new Auth Methods not yet supported by Lit](#custom-auth--adding-new-auth-methods-not-yet-supported-by-lit) ## Using Lit Auth Directly @@ -33,7 +35,7 @@ Several auth methods are supported by Lit directly. These include methods config | STYTCH_WHATS_APP_OTP | 12 | Stytch Login using the Stytch user's WhatsApp number. This is a one-time password (OTP) sent to the user's WhatsApp account. | | STYTCH_TOTP | 13 | Stytch Login using the Stytch user's TOTP. This is a one-time password (OTP) generated by the user's authenticator app. | -Check out the implementation details within the SDK section [here](../../sdk/authentication/session-sigs/auth-methods/overview). +Check out the implementation details within the SDK section [here](auth-methods/overview). **Note:** When using the `ACTION` Auth Method, it's necessary to convert the IPFS CID from base58 encoding to bytes-like before passing it to the Lit Protocol SDK. You can achieve this conversion using the `getBytesFromMultihash` function provided in the `utils` module of the `contracts-sdk`. @@ -135,4 +137,4 @@ You will also need the PKP public key in order to generate a [sessionSig](https: ## Custom Auth / Adding new Auth Methods not yet supported by Lit -More info on this is available [here](https://developer.litprotocol.com/v3/sdk/authentication/session-sigs/auth-methods/custom-auth). +More info on this is available [here](auth-methods/custom-auth). diff --git a/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md b/docs/sdk/wallets/auth-methods/custom-auth.md similarity index 91% rename from docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md rename to docs/sdk/wallets/auth-methods/custom-auth.md index 5d7afaa3..4b45f7be 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/custom-auth.md +++ b/docs/sdk/wallets/auth-methods/custom-auth.md @@ -1,4 +1,4 @@ -# Custom Auth +# Custom Auth Methods If you would like further customization over your PKP auth methods, or want to add a new one not yet supported by Lit, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. @@ -12,7 +12,7 @@ Authentication refers to confirming a users identity. This generally involves r Authorization refers to confirming that a user is allowed to use a PKP. Specifically, it's checking the permissions of a PKP and making sure that the user that was Authenticated is also authorized to use a PKP. -Note: Currently, an [auth signature](../../auth-sig), is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. +Note: Currently, an [auth signature](../../authentication/auth-sig), is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, an auth sig will always be required. In the case that a user doesn’t own a wallet (and therefore cannot produce a valid AuthSig), and you're using an Auth Method supported by Lit, they can present their alternative auth method to the Lit SDK which will convert it into a “compliant” AuthSig. This is documented in our [docs](overview). If you're not using an auth method supported by Lit, then your AuthSig is not for authorization, but you must still present one for Rate Limit authentication. In this case, the rate limit is tracked against the AuthSig, and you may wish to pay for your users requests by giving this wallet a Capacity Credit NFT. @@ -28,7 +28,7 @@ Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pr - actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. - authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. -- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](../../../../sdk/wallets/auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. +- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](../auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. @@ -127,7 +127,7 @@ If you use the deployed Lit PKPPermissions contract, then it is important to pic ## Steps to implement both custom authentication and authorization 1. Get your user's identity material. For example, if you were implementing Roblox Oauth, this would be your user's Roblox user id. -2. Get your user a PKP. You can use the open source Lit relayer for this, which is documented [here](../../../../sdk/wallets/minting/#minting-pkps-using-the-lit-relayer). You can use our hosted relayer or run your own. You will supply the identity material (like their Roblox user id, for example) when minting the PKP. You should hash the identity material before sending it to the relayer, to provide some privacy for your users and prevent people from checking the chain to find your users. Minting a PKP with the relayer will atomically mint a new PKP and create an entry in the PKPPermissions contract to authorize that user to use that PKP. +2. Get your user a PKP. You can use the open source Lit relayer for this, which is documented [here](../minting/#minting-pkps-using-the-lit-relayer). You can use our hosted relayer or run your own. You will supply the identity material (like their Roblox user id, for example) when minting the PKP. You should hash the identity material before sending it to the relayer, to provide some privacy for your users and prevent people from checking the chain to find your users. Minting a PKP with the relayer will atomically mint a new PKP and create an entry in the PKPPermissions contract to authorize that user to use that PKP. 3. Write a Lit Action for your custom authentication and authorization, which is documented further below. ### Writing a Lit Action for custom authentication and authorization diff --git a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md similarity index 98% rename from docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md rename to docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md index 3b0e4009..6ca3bb2f 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md @@ -81,7 +81,7 @@ To view more constructor options for `LitContracts`, check out the [API docs](ht To add an auth method, you must pass an `authMethod` object, which should have the following properties: -- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../../wallets/auth-methods). +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../auth-methods). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method - `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) @@ -142,7 +142,7 @@ const transaction = The `removePermittedAuthMethod` function takes the following arguments: - `tokenId`: The token ID of the PKP you want to remove an auth method from -- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../../wallets/auth-methods#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../auth-methods#existing-supported-auth-methods). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/email-sms.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md similarity index 100% rename from docs/sdk/authentication/session-sigs/auth-methods/email-sms.md rename to docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md similarity index 100% rename from docs/sdk/authentication/session-sigs/auth-methods/social-login.md rename to docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/web-authn.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md similarity index 100% rename from docs/sdk/authentication/session-sigs/auth-methods/web-authn.md rename to docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md diff --git a/docs/sdk/authentication/session-sigs/auth-methods/overview.md b/docs/sdk/wallets/auth-methods/overview.md similarity index 84% rename from docs/sdk/authentication/session-sigs/auth-methods/overview.md rename to docs/sdk/wallets/auth-methods/overview.md index fd99d5f3..99bbfa93 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/overview.md +++ b/docs/sdk/wallets/auth-methods/overview.md @@ -6,9 +6,9 @@ sidebar_position: 1 With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: -- [Social Login (e.g., Google, Discord)](../auth-methods/social-login.md) -- [WebAuthn](../auth-methods/web-authn.md) -- [Email / SMS](../auth-methods/email-sms.md) +- [Social Login (e.g., Google, Discord)](lit-auth-methods/social-login) +- [WebAuthn](lit-auth-methods/web-authn) +- [Email / SMS](lit-auth-methods/email-sms) Support for one-time passcodes (OTPs) through email and SMS is coming soon. diff --git a/sidebars.js b/sidebars.js index 7c423d69..416bf9ae 100644 --- a/sidebars.js +++ b/sidebars.js @@ -121,22 +121,7 @@ const sidebars = { "sdk/authentication/session-sigs/capability-objects", "sdk/authentication/session-sigs/get-session-sigs", "sdk/authentication/session-sigs/usage", - { - type: "category", - label: "Walletless Signatures", - link: { - type: "doc", - id: "sdk/authentication/session-sigs/auth-methods/overview", - }, - collapsed: true, - items: [ - "sdk/authentication/session-sigs/auth-methods/add-remove-auth-methods", - "sdk/authentication/session-sigs/auth-methods/social-login", - "sdk/authentication/session-sigs/auth-methods/web-authn", - "sdk/authentication/session-sigs/auth-methods/email-sms", - "sdk/authentication/session-sigs/auth-methods/custom-auth", - ], - }, + "sdk/authentication/session-sigs/walletless-sigs", ], }, "sdk/authentication/security", @@ -202,7 +187,33 @@ const sidebars = { }, collapsible: true, items: [ - "sdk/wallets/auth-methods", + { + type: "category", + label: "Auth Methods", + link: { + type: "doc", + id: "sdk/wallets/auth-methods", + }, + collapsed: true, + items: [ + { + type: "category", + label: "Lit Auth Methods", + link: { + type: "doc", + id: "sdk/wallets/auth-methods/overview", + }, + collapsed: true, + items: [ + "sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods", + "sdk/wallets/auth-methods/lit-auth-methods/social-login", + "sdk/wallets/auth-methods/lit-auth-methods/web-authn", + "sdk/wallets/auth-methods/lit-auth-methods/email-sms", + ], + }, + "sdk/wallets/auth-methods/custom-auth", + ], + }, "sdk/wallets/minting", "sdk/wallets/walletconnect", { From b6a5f0fb546493bf2de396aee570545e17ec2eb0 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 7 Mar 2024 04:14:30 +0530 Subject: [PATCH 193/627] Split Minting a PKP section and add an example for Mint via Social Split Minting a PKP section and add an example for Mint via Social --- docs/sdk/wallets/intro.md | 2 + .../minting-methods/mint-via-contracts.md | 122 ++++++++++++++ .../minting-methods/mint-via-social.md | 116 +++++++++++++ .../minting-methods/mint-via-web-authn.md | 22 +++ docs/sdk/wallets/minting.md | 159 +----------------- package.json | 2 +- sidebars.js | 15 +- yarn.lock | 62 ++----- 8 files changed, 300 insertions(+), 200 deletions(-) create mode 100644 docs/sdk/wallets/minting-methods/mint-via-contracts.md create mode 100644 docs/sdk/wallets/minting-methods/mint-via-social.md create mode 100644 docs/sdk/wallets/minting-methods/mint-via-web-authn.md diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 44469fd4..ad28976e 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -19,6 +19,8 @@ Ready to jump right in? Quickly learn how you can integrate Programmable Key Pai ## Overview +Each PKP is functionally a wallet, where the private key lives across the Lit Network. It is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../authentication/overview) mechanisms to their PKP using Lit Actions. + Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be used to [seamlessly onboard](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) users into web3 and provide flexible and intuitive asset management experiences. ## Features diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md new file mode 100644 index 00000000..cd00421c --- /dev/null +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -0,0 +1,122 @@ +# Mint via Contracts + +You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using +1. The [Lit explorer](https://explorer.litprotocol.com/mint-pkp), +2. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or +3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html). + +The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. + +You can also use the handy helper contract on Chronicle [here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) to mint and assign auth methods, as well as view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/cayenne). + +## Installing the required packages +```bash +yarn add @lit-protocol/lit-auth-client +yarn add @lit-protocol/contracts-sdk +``` + +## Initializing your `LitContract` instance +```js +import { LitContracts } from '@lit-protocol/contracts-sdk'; + +// if no signer is provided, it will attempt to use window.etheruem +const contractClient = new LitContracts({ signer }); +await contractClient.connect(); +``` + +## Minting a PKP and adding permitted scopes +```js +import { AuthMethodScope } from '@lit-protocol/constants'; + +const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: '...', +}; + +const mintInfo = await contractClient.mintWithAuth({ + authMethod: authMethod, + scopes: [ + // AuthMethodScope.NoPermissions, + AuthMethodScope.SignAnything, + AuthMethodScope.PersonalSign + ], +}); + +// output: +{ + pkp: { + tokenId: string; + publicKey: string; + ethAddress: string; + }; + tx: ethers.ContractReceipt; +} +``` + +## Minting PKPs using the Lit relayer + +The relayer is an open source project, and we run one for your use. The source code is available [here](https://github.com/LIT-Protocol/relay-server). If you want to use our Relayer, you'll need a free API key which you can get by filling out [this form](https://forms.gle/RNZYtGYTY9BcD9MEA). + +## Authenticating using `signMessage` Callback +If you wish to sign with an ethers wallet type or `signer` you may use the `signMessage` callback to implement a signing callback for the `SIWE` message. +```js +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, AuthMethodType, ProviderType } from '@lit-protocol/constants'; +import * as ethers from 'ethers'; + +const provider = new ethers.providers.JsonRpcProvider("your rpc url"); +let wallet = new ethers.Wallet("your wallet private key", provider); +const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); + +let authMethod = authProvider.authenticate({ + signMessage: (message: string) => { + return await wallet.signMessage(message); + } +}); + +// -- setting scope for the auth method +// +const options = { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], +}; + +const mintTx = await authProvider.mintPKPThroughRelayer( + authMethod, + options +); +``` + +## Authenticating using `Web3 Provider` +In the case where you wish to generagte a signature from a browser extension wallet (MetaMask, Brave Wallet, etc) +you may simply call `authenticate` which calls `checkAndSignAuthMessage`. +```js +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, AuthMethodType, ProviderType } from '@lit-protocol/constants'; +import {Wallet} from 'ethers'; + +const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); + +// Will call `checkAndSignAuthMessage({chain: ethereum})` +let authMethod = await authProvider.authenticate({chain: "ethereum"}); + +// -- setting scope for the auth method +// +const options = { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], +}; + +const mintTx = await authProvider.mintPKPThroughRelayer( + authMethod, + options +); +``` + + +**Demos**: +1. [Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs) + +2. [Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs) + +3. [Minting a PKP with no permissions, then add permitted scopes](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-then-set-scope-1.mjs) + +4. [Minting a PKP using the relayer, adding permitted scopes, and getting session sigs](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/e2e-nodejs/group-pkp-session-sigs) \ No newline at end of file diff --git a/docs/sdk/wallets/minting-methods/mint-via-social.md b/docs/sdk/wallets/minting-methods/mint-via-social.md new file mode 100644 index 00000000..f02f8bc8 --- /dev/null +++ b/docs/sdk/wallets/minting-methods/mint-via-social.md @@ -0,0 +1,116 @@ +# Mint via Social or Email/SMS (OTP) + +## Social + +You can mint a PKP by presenting a valid OAuth token as an authentication method to the Lit Relay server. Currently, only Google OAuth tokens are supported, but we plan to support Discord in the near term. + +You can mint PKPs using Google OAuth tokens by following these steps: + +### Installing the `LitAuthClient` package +```bash +yarn add @lit-protocol/lit-auth-client +``` + +### Integrating Social Login + +`@lit-protocol/lit-auth-client` makes it easy to implement social login in your web apps. The library provides a `LitAuthClient` class that you can use to initialize a provider for each supported social login method. Each provider has a `signIn()` method that you can call to begin the authentication flow. + +```javascript +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { ProviderType } from '@lit-protocol/constants'; + +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Initialize Google provider +litAuthClient.initProvider(ProviderType.Google, { + // The URL of your web app where users will be redirected after authentication + redirectUri: '', +}); + +// Begin login flow with Google +async function authWithGoogle() { + const provider = litAuthClient.getProvider( + ProviderType.Google + ); + await provider.signIn(); +} +``` + +:::note + +The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. + +If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). + +::: + +### Handling the Redirect + +At the `redirectUri` specified when initializing the providers, call `handleSignInRedirect`. You can also use `isSignInRedirect` method to check if the app is in the redirect state or not. + +```javascript +import { LitAuthClient, isSignInRedirect } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, ProviderType } from '@lit-protocol/constants'; + +async function handleRedirect() { + // Check if app has been redirected from Lit login server + if (isSignInRedirect(redirectUri)) { + // Get the provider that was used to sign in + const provider = provider = litAuthClient.getProvider( + ProviderType.Google, + ); + // Get auth method object that has the OAuth token from redirect callback + const authMethod: AuthMethod = await provider.authenticate(); + // -- setting scope for the auth method + // + const options = { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], + }; + // Mint PKP using the auth method + const mintTx = await provider.mintPKPThroughRelayer( + authMethod, + options + ); + // Fetch PKPs associated with the authenticated social account + const pkps = await provider.fetchPKPsThroughRelayer(authMethod); + return pkps; + } +} +``` + +The provider's `authenticate` method validates the URL parameters returned from Lit's login server after a successful login, and then returns an `AuthMethod` object containing the OAuth token. + +With the `AuthMethod` object, you can mint and fetch PKPs associated with the authenticated social account. View the available methods in the [API docs](https://js-sdk.litprotocol.com/modules/lit_auth_client_src.html). + +### Generating `SessionSigs` + +After successfully authenticating with a social login provider, you can generate `SessionSigs` using the provider's `getSessionSigs` method. The `getSessionSigs` method takes in an `AuthMethod` object, optional `LitNodeClient` object, a PKP public key, and other session-specific arguments in `SessionSigsParams` object such as `resourceAbilityRequests` and `chain`. View the [API Docs](https://js-sdk.litprotocol.com/interfaces/types_src.BaseProviderSessionSigsParams.html). + +```javascript +// Get session signatures for the given PKP public key and auth method +const sessionSigs = await provider.getSessionSigs({ + authMethod: '', + pkpPublicKey: pkps[0].publicKey, // Note, an AuthMethod can own more than one PKP + sessionSigsParams: { + chain: 'ethereum', + resourceAbilityRequests: [{ + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption + } + ], + }, +}); +``` + + +## Email / SMS (OTP) + +You can also mint a PKP by presenting a generated token from sucessful OTP code confirmation, which will be returned by the `lit-auth-client` in the `AuthMethod` return from successful code confirmation. + +Read more about this process [here](../auth-methods). \ No newline at end of file diff --git a/docs/sdk/wallets/minting-methods/mint-via-web-authn.md b/docs/sdk/wallets/minting-methods/mint-via-web-authn.md new file mode 100644 index 00000000..73c37f1a --- /dev/null +++ b/docs/sdk/wallets/minting-methods/mint-via-web-authn.md @@ -0,0 +1,22 @@ +# Mint via WebAuthn + +You can mint a PKP by presenting a valid WebAuthn credential generated by your browser to the Lit Relay server. + +We have a frontend that helps with this process at https://pkp-walletconnect.vercel.app/. + +We currently support both username-based and username-less WebAuthn registration, and usernames are purely used for your convenience / reference on the client-side. + +## Technical Details + +### Contract Specifics + +- The `authMethodId` is derived from the credential's [rawId](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-rawid) parameter. +- The `authMethodPubkey` is the [COSE credential public key](https://datatracker.ietf.org/doc/html/rfc8812). **We currently only support Elliptic Curve COSE Key Type IDs**. + +### Relying Parties and Supported Origins + +In order to allow for various frontends to integrate with our platform, we plan to support any domain to act as a [Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party) in the long run. However, we are in the process of slowly rolling out this authentication method currently maintain an allowlist of origins / domains that can integrate with the Lit network. + +### Challenge-Free Registration + +We do not currently use challenges as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 83e136ef..e6143bb8 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -1,158 +1,13 @@ # Minting a PKP -This page will walk you through the process of creating PKPs using the [V3 SDK](../../migration/overview), including adding [permitted scopes](../wallets/auth-methods#auth-method-scopes), which are now required in order to create [session signatures](../authentication/session-sigs/intro). -## Mint via Contracts +A PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. In other words, each PKP is functionally a wallet, where the private key lives across the Lit Network. -You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using the [Lit explorer](https://explorer.litprotocol.com/mint-pkp), the Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or the contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html). +A PKP is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../authentication/overview) mechanisms to their PKP using Lit Actions. -The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. +This section will walk you through the process of creating PKPs using the [V3 SDK](../../migration/overview), including adding [permitted scopes](../wallets/auth-methods#auth-method-scopes), which are now required in order to create [session signatures](../authentication/session-sigs/intro). -You can also use the handy helper contract on Chronicle [here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) to mint and assign auth methods, as well as view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/cayenne). +You can mint PKPs using the following methods: -### Installing the required packages -```bash -yarn add @lit-protocol/lit-auth-client -yarn add @lit-protocol/contracts-sdk -``` - -### Initializing your `LitContract` instance -```js -import { LitContracts } from '@lit-protocol/contracts-sdk'; - -// if no signer is provided, it will attempt to use window.etheruem -const contractClient = new LitContracts({ signer }); -await contractClient.connect(); -``` - -### Minting a PKP and adding permitted scopes -```js -import { AuthMethodScope } from '@lit-protocol/constants'; - -const authMethod = { - authMethodType: AuthMethodType.EthWallet, - accessToken: '...', -}; - -const mintInfo = await contractClient.mintWithAuth({ - authMethod: authMethod, - scopes: [ - // AuthMethodScope.NoPermissions, - AuthMethodScope.SignAnything, - AuthMethodScope.PersonalSign - ], -}); - -// output: -{ - pkp: { - tokenId: string; - publicKey: string; - ethAddress: string; - }; - tx: ethers.ContractReceipt; -} -``` - -### Minting PKPs using the Lit relayer - -The relayer is an open source project, and we run one for your use. The source code is available [here](https://github.com/LIT-Protocol/relay-server). If you want to use our Relayer, you'll need a free API key which you can get by filling out [this form](https://forms.gle/RNZYtGYTY9BcD9MEA). - -### Authenticating using `signMessage` Callback -If you wish to sign with an ethers wallet type or `signer` you may use the `signMessage` callback to implement a signing callback for the `SIWE` message. -```js -import { LitAuthClient } from '@lit-protocol/lit-auth-client'; -import { AuthMethodScope, AuthMethodType, ProviderType } from '@lit-protocol/constants'; -import * as ethers from 'ethers'; - -const provider = new ethers.providers.JsonRpcProvider("your rpc url"); -let wallet = new ethers.Wallet("your wallet private key", provider); -const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); - -let authMethod = authProvider.authenticate({ - signMessage: (message: string) => { - return await wallet.signMessage(message); - } -}); - -// -- setting scope for the auth method -// -const options = { - permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], -}; - -const mintTx = await authProvider.mintPKPThroughRelayer( - authMethod, - options -); -``` - -### Authenticating using `Web3 Provider` -In the case where you wish to generagte a signature from a browser extension wallet (MetaMask, Brave Wallet, etc) -you may simply call `authenticate` which calls `checkAndSignAuthMessage`. -```js -import { LitAuthClient } from '@lit-protocol/lit-auth-client'; -import { AuthMethodScope, AuthMethodType, ProviderType } from '@lit-protocol/constants'; -import {Wallet} from 'ethers'; - -const authProvider = litAuthClient.initProvider(ProviderType.EthWallet); - -// Will call `checkAndSignAuthMessage({chain: ethereum})` -let authMethod = await authProvider.authenticate({chain: "ethereum"}); - -// -- setting scope for the auth method -// -const options = { - permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], -}; - -const mintTx = await authProvider.mintPKPThroughRelayer( - authMethod, - options -); -``` - - -**Demos**: -1. [Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs) - -2. [Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs) - -3. [Minting a PKP with no permissions, then add permitted scopes](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-then-set-scope-1.mjs) - -4. [Minting a PKP using the relayer, adding permitted scopes, and getting session sigs](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/e2e-nodejs/group-pkp-session-sigs) - -## Mint via Social or Email/SMS (OTP) - -### Social - -You can mint a PKP by presenting a valid OAuth token as an authentication method to the Lit Relay server. Currently, only Google OAuth tokens are supported, but we plan to support Discord in the near term. - - -### Email / SMS (OTP) - -You can mint a PKP by presenting a generated token from sucessful OTP code confirmation, which will be returned by the `lit-auth-client` in the `AuthMethod` return from successful code confirmation. - -Read more about this process [here](../wallets/auth-methods.md). - -## Mint via WebAuthn - -You can mint a PKP by presenting a valid WebAuthn credential generated by your browser to the Lit Relay server. - -We have a frontend that helps with this process at https://pkp-walletconnect.vercel.app/. - -We currently support both username-based and username-less WebAuthn registration, and usernames are purely used for your convenience / reference on the client-side. - -### Technical Details - -#### Contract Specifics - -- The `authMethodId` is derived from the credential's [rawId](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-rawid) parameter. -- The `authMethodPubkey` is the [COSE credential public key](https://datatracker.ietf.org/doc/html/rfc8812). **We currently only support Elliptic Curve COSE Key Type IDs**. - -#### Relying Parties and Supported Origins - -In order to allow for various frontends to integrate with our platform, we plan to support any domain to act as a [Relying Party](https://www.w3.org/TR/webauthn-2/#webauthn-relying-party) in the long run. However, we are in the process of slowly rolling out this authentication method currently maintain an allowlist of origins / domains that can integrate with the Lit network. - -#### Challenge-Free Registration - -We do not currently use challenges as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. +- [Mint via Contracts](minting-methods/mint-via-contracts) +- [Mint via Social or Email/SMS (OTP) ](minting-methods/mint-via-social) +- [Mint via WebAuthn](minting-methods/mint-via-web-authn) \ No newline at end of file diff --git a/package.json b/package.json index 82cffdb7..ea1bf272 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.2", + "@lit-protocol/constants": "^3.2.3", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 7c423d69..7f33f388 100644 --- a/sidebars.js +++ b/sidebars.js @@ -203,7 +203,20 @@ const sidebars = { collapsible: true, items: [ "sdk/wallets/auth-methods", - "sdk/wallets/minting", + { + type: "category", + label: "Minting a PKP", + link: { + type: "doc", + id: "sdk/wallets/minting", + }, + collapsible: true, + items: [ + "sdk/wallets/minting-methods/mint-via-contracts", + "sdk/wallets/minting-methods/mint-via-social", + "sdk/wallets/minting-methods/mint-via-web-authn", + ], + }, "sdk/wallets/walletconnect", { type: "category", diff --git a/yarn.lock b/yarn.lock index 8b2e4295..4d54ddbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,40 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.2.tgz#a982bd7c80a72a5657e2b6c7f45dd1789178bba9" - integrity sha512-S+903Ucze6QGMSu2oQxk/V0pO4bXGd4htloLsok2jToGDvz93eexdp53ZMik1Fo6tIwz647/YCq/jKEMapMWxQ== +"@lit-protocol/auth-helpers@3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.3.tgz#03aeba16389088bdebf89a8c8a8ac202e7e2850b" + integrity sha512-ywfTE0OQho76wmPHMyTGld5HZJs4oX+JVs2W/xyarQL9fYCe5Vf9BkA0ozTG83AzzgioH5Z5kDU0tNzfLobsqQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.2.tgz#b0ebf9ab5dc9ae2b92aea34df10cf5ff13fbeac7" - integrity sha512-CH7k8ugINXsXPUv0bP7LDuAqauRTRRGd4HvsHUxPaYbDtASspKePuHpuoyzr2qNST8Pz073VEv3wyNl3a8++pw== +"@lit-protocol/constants@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.3.tgz#a980626960550cb31d8a6572ad65095d69dbbca9" + integrity sha512-HVXb4hhtJlQoj1obZ8mnwRb7xM2vrvs0cdcVtI/qd1Kani2DH6cXqjdxulC06Mgwu8WlBlchpdTZQsmjIHz4LQ== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.2" - "@lit-protocol/types" "3.2.2" + "@lit-protocol/auth-helpers" "3.2.3" + "@lit-protocol/types" "3.2.3" ethers "^5.7.1" - jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" - -"@lit-protocol/types@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.2.tgz#3531b4e28a977698ffa33dc1a0bc98c0392cc6fc" - integrity sha512-R7zpyHgh+IkNoEmTCScWEXLPt3qJ26bG6Sg35mypPWkXhA463Wsgtiphc0eTDsd9e5yzvcUw/0rYfuTmEzQbbA== +"@lit-protocol/types@3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.3.tgz#6906ccb092b9333db53d58f252d4fe3cf2a095f0" + integrity sha512-dZeAIoAFO0npdpIkBTBmlpQiay/mwtIN2+1c4YfQ7KPGXFzfOuM9xxT2B8cAU0+3bdHVjxLD+ixGoaE46eX4yw== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.2" + "@lit-protocol/auth-helpers" "3.2.3" ethers "^5.7.1" - jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" @@ -5568,11 +5565,6 @@ image-size@^1.0.1: dependencies: queue "6.0.2" -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - immer@^9.0.7: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -6085,16 +6077,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jszip@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" - integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - setimmediate "^1.0.5" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -6132,13 +6114,6 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -6758,11 +6733,6 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pako@~1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -7516,7 +7486,7 @@ react@^17.0.1: loose-envify "^1.1.0" object-assign "^4.1.1" -readable-stream@^2.0.1, readable-stream@~2.3.6: +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== From 51bedb0702900334c1166abf21cc785c2c50c58e Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 8 Mar 2024 02:57:34 +0530 Subject: [PATCH 194/627] Remove duplicate section and update broken links Remove duplicate section and update broken links --- docs/concepts/capacity-credits-concept.md | 2 +- docs/concepts/pkps-as-wallet.md | 8 +-- docs/integrations/aa/alchemy-account-kit.md | 4 +- .../session-sigs/walletless-sigs.md | 12 ++-- docs/sdk/serverless-signing/key-claiming.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/auth-methods.md | 4 +- docs/sdk/wallets/auth-methods/custom-auth.md | 2 +- docs/sdk/wallets/auth-methods/overview.md | 21 ------- package.json | 2 +- sidebars.js | 4 -- yarn.lock | 61 +++++-------------- 12 files changed, 33 insertions(+), 91 deletions(-) delete mode 100644 docs/sdk/wallets/auth-methods/overview.md diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 289300a6..4a019b37 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -38,7 +38,7 @@ Alice can create a session capability object that specifies the ability to Authe Alice can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. -Lit employs `SessionSig` as a secure method for session management, utilizing ed25519 keypairs created randomly in the browser and stored locally. To generate a `SessionSig`, a user first needs to acquire an [AuthSig](../sdk/authentication/auth-sig.md) via an [authentication method](../sdk/authentication/session-sigs/auth-methods/overview.md) like Google OAuth. This `AuthSig`, incorporating the session keypair's public key, allows users to delegate specific actions to the session keypair, enhancing security and control over [resource](../sdk/authentication/session-sigs/resources-and-abilities.md) access. The session keypair signs all requests to Lit Nodes, with the `AuthSig` attached as a [capability](../sdk/authentication/session-sigs/capability-objects.md) to ensure that each node can verify the user's ownership of the wallet address. This process not only secures session management but also streamlines user interactions with the Lit Network's resources. +Lit employs `SessionSig` as a secure method for session management, utilizing ed25519 keypairs created randomly in the browser and stored locally. To generate a `SessionSig`, a user first needs to acquire an [AuthSig](../sdk/authentication/auth-sig.md) via an [authentication method](../sdk/wallets/auth-methods) like Google OAuth. This `AuthSig`, incorporating the session keypair's public key, allows users to delegate specific actions to the session keypair, enhancing security and control over [resource](../sdk/authentication/session-sigs/resources-and-abilities.md) access. The session keypair signs all requests to Lit Nodes, with the `AuthSig` attached as a [capability](../sdk/authentication/session-sigs/capability-objects.md) to ensure that each node can verify the user's ownership of the wallet address. This process not only secures session management but also streamlines user interactions with the Lit Network's resources. You can read more about Session Signatures [here](../sdk/authentication/session-sigs/intro.md). diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index c3fb33d4..d671c896 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -21,10 +21,10 @@ Each key generated by the Lit Network is distributed as shares among each partic This two-thirds threshold design provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to custody a key share. This means the goal of a seamless, “web2” style onboarding UX is not possible (onboarding without seed phrases or private key management), instead delivering the UX of self-custody with additional steps. With Lit, the entire key lives in the network and any arbitrary [authentication](../sdk/wallets/auth-methods) logic can be assigned to that key pair. This authentication logic determines what individuals or credentials have the ability to control these keys and use them. This gives the application developer or end user full control over designing how interactions with the MPC wallet should be managed. For example, allowing a user to onboard into web3 with [nothing but their Gmail account](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/), or requiring multi-factor authentication (MFA) when attempting to spend more than X amount of assets, or even enabling more complex social recovery mechanisms. Today, the following [auth methods](../sdk/wallets/auth-methods) are supported by Lit that make the onboarding process seamless: -- [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/authentication/session-sigs/auth-methods/web-authn) (AKA Apple Passkey, [demo](https://lit-pkp-auth-demo.vercel.app/)) +- [WebAuthn](../sdk/wallets/auth-methods#existing-supported-auth-methods) from [FIDO Alliance](../sdk/wallets/auth-methods/lit-auth-methods/web-authn) (AKA Apple Passkey, [demo](https://lit-pkp-auth-demo.vercel.app/)) - Web3 ownership (holding the “controller” [PKP NFT](https://explorer.litprotocol.com/mint-pkp)) -- [Social login](../sdk/authentication/session-sigs/auth-methods/social-login) (Google, Discord) -- [Email and SMS](../sdk/authentication/session-sigs/auth-methods/email-sms) +- [Social login](../sdk/wallets/auth-methods/lit-auth-methods/social-login) (Google, Discord) +- [Email and SMS](../sdk/wallets/auth-methods/lit-auth-methods/email-sms) - Self-custody key (such as a Ledger hardware wallet) What’s the end goal? Providing a seamless onboarding experience for the next one billion users in web3! @@ -36,4 +36,4 @@ Some links to further reading and resources to help you get started building wit - Getting started with the [Lit SDK](../sdk/installation) - Working with [User Wallets](../sdk/wallets/intro) - [Creating a wallet](../sdk/wallets/minting) -- Overview of supported [authentication methods](../sdk/authentication/session-sigs/auth-methods/overview) +- Overview of supported [authentication methods](../sdk/wallets/auth-methods) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index d365c4c1..ca61b2bf 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -138,7 +138,7 @@ Get some testLPX test tokens from Lit's [Chronicle network](../../network/rollup To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). -To define an Auth Method [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/overview). +To define an Auth Method [read about Lit's authentication methods](../../sdk/wallets/auth-methods). For Authentication @@ -200,7 +200,7 @@ const provider = new AlchemyProvider({ ### 5. Authenticating with the Lit Signer Before the `AlchemyProvider` can use the `LitSigner` we must `authenticate` -To provide authentication `context` [read about Lit's authentication methods](../../sdk/authentication/session-sigs/auth-methods/overview). +To provide authentication `context` [read about Lit's authentication methods](../../sdk/wallets/auth-methods). ```js litSigner.authenticate({ diff --git a/docs/sdk/authentication/session-sigs/walletless-sigs.md b/docs/sdk/authentication/session-sigs/walletless-sigs.md index c3e7caa7..dd637942 100644 --- a/docs/sdk/authentication/session-sigs/walletless-sigs.md +++ b/docs/sdk/authentication/session-sigs/walletless-sigs.md @@ -10,12 +10,8 @@ With Lit Protocol, you can seamlessly onboard users into web3 using familiar aut - [WebAuthn](../../wallets/auth-methods/lit-auth-methods/web-authn) - [Email / SMS](../../wallets/auth-methods/lit-auth-methods/email-sms) -Support for one-time passcodes (OTPs) through email and SMS is coming soon. - -By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management. - -:::note - -Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit JS SDK. - +:::info +Support for one-time passcodes (OTPs) through email and SMS is now live! ::: + +By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management and without trusting a centralized custodian with your data. \ No newline at end of file diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index f4a9aa79..f15be0db 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem'; ## Overview -Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md) which instead of using an [auth method](../authentication/session-sigs/auth-methods/overview.md) allows for using your own `userId` with the lit action's `IPFS CID` being the `appId` which allows for deriving custom claims which do not have to be derived through a support authentication method. +Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md) which instead of using an [auth method](../wallets/auth-methods) allows for using your own `userId` with the lit action's `IPFS CID` being the `appId` which allows for deriving custom claims which do not have to be derived through a support authentication method. # How it works Instead of pre authenticating the `access token` within an `Authentication Method` claiming in a Lit Action allows you to define your own `UserId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. this will not require a pre authentication step which allows you to set up your own clams which can then be routed on chain withh our `contract-sdk`. diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 839dbe69..680cd770 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -42,7 +42,7 @@ yarn install @lit-protocol/contracts-sdk ## Set up the controller -To initialize a LitContracts client you need an Eth Signer. This can be a standard Ethers wallet or also a `PKPEthersWallet` (more info on the latter [here](../authentication/session-sigs/auth-methods/add-remove-auth-methods)). But here, we're gonna use the standard Ethers wallet. +To initialize a LitContracts client you need an Eth Signer. This can be a standard Ethers wallet or also a `PKPEthersWallet` (more info on the latter [here](../wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)). But here, we're gonna use the standard Ethers wallet. ## Initialize the ContractsSDK diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index b2624a96..f6c5b1b7 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -11,7 +11,7 @@ An authentication method refers to the specific credential (i.e a wallet address Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below: 1. [Using Lit Auth Directly](#using-lit-auth-directly) -2. [Custom Auth / Adding new Auth Methods not yet supported by Lit](#custom-auth--adding-new-auth-methods-not-yet-supported-by-lit) +2. [Custom Auth / Adding new Auth Methods not yet supported by Lit](auth-methods/custom-auth) ## Using Lit Auth Directly @@ -35,7 +35,7 @@ Several auth methods are supported by Lit directly. These include methods config | STYTCH_WHATS_APP_OTP | 12 | Stytch Login using the Stytch user's WhatsApp number. This is a one-time password (OTP) sent to the user's WhatsApp account. | | STYTCH_TOTP | 13 | Stytch Login using the Stytch user's TOTP. This is a one-time password (OTP) generated by the user's authenticator app. | -Check out the implementation details within the SDK section [here](auth-methods/overview). +Check out the implementation details within the SDK section [here](auth-methods/lit-auth-methods/add-remove-auth-methods). **Note:** When using the `ACTION` Auth Method, it's necessary to convert the IPFS CID from base58 encoding to bytes-like before passing it to the Lit Protocol SDK. You can achieve this conversion using the `getBytesFromMultihash` function provided in the `utils` module of the `contracts-sdk`. diff --git a/docs/sdk/wallets/auth-methods/custom-auth.md b/docs/sdk/wallets/auth-methods/custom-auth.md index 4b45f7be..adc1745f 100644 --- a/docs/sdk/wallets/auth-methods/custom-auth.md +++ b/docs/sdk/wallets/auth-methods/custom-auth.md @@ -28,7 +28,7 @@ Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pr - actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. - authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. -- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](../auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25) in the PKPPermissions Contract. +- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](../auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L14) in the PKPPermissions Contract. Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. diff --git a/docs/sdk/wallets/auth-methods/overview.md b/docs/sdk/wallets/auth-methods/overview.md deleted file mode 100644 index 99bbfa93..00000000 --- a/docs/sdk/wallets/auth-methods/overview.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Overview - -With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: - -- [Social Login (e.g., Google, Discord)](lit-auth-methods/social-login) -- [WebAuthn](lit-auth-methods/web-authn) -- [Email / SMS](lit-auth-methods/email-sms) - -Support for one-time passcodes (OTPs) through email and SMS is coming soon. - -By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management. - -:::note - -Generating `SessionSigs` using various authentication methods is still in active development, so things may change. To stay up-to-date, always use the latest version of the Lit JS SDK. - -::: diff --git a/package.json b/package.json index 82cffdb7..ea1bf272 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.2", + "@lit-protocol/constants": "^3.2.3", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 416bf9ae..f0dac225 100644 --- a/sidebars.js +++ b/sidebars.js @@ -199,10 +199,6 @@ const sidebars = { { type: "category", label: "Lit Auth Methods", - link: { - type: "doc", - id: "sdk/wallets/auth-methods/overview", - }, collapsed: true, items: [ "sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods", diff --git a/yarn.lock b/yarn.lock index e4cae917..4d54ddbb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,39 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.2.tgz#a982bd7c80a72a5657e2b6c7f45dd1789178bba9" - integrity sha512-S+903Ucze6QGMSu2oQxk/V0pO4bXGd4htloLsok2jToGDvz93eexdp53ZMik1Fo6tIwz647/YCq/jKEMapMWxQ== +"@lit-protocol/auth-helpers@3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.3.tgz#03aeba16389088bdebf89a8c8a8ac202e7e2850b" + integrity sha512-ywfTE0OQho76wmPHMyTGld5HZJs4oX+JVs2W/xyarQL9fYCe5Vf9BkA0ozTG83AzzgioH5Z5kDU0tNzfLobsqQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.2.tgz#b0ebf9ab5dc9ae2b92aea34df10cf5ff13fbeac7" - integrity sha512-CH7k8ugINXsXPUv0bP7LDuAqauRTRRGd4HvsHUxPaYbDtASspKePuHpuoyzr2qNST8Pz073VEv3wyNl3a8++pw== +"@lit-protocol/constants@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.3.tgz#a980626960550cb31d8a6572ad65095d69dbbca9" + integrity sha512-HVXb4hhtJlQoj1obZ8mnwRb7xM2vrvs0cdcVtI/qd1Kani2DH6cXqjdxulC06Mgwu8WlBlchpdTZQsmjIHz4LQ== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.2" - "@lit-protocol/types" "3.2.2" + "@lit-protocol/auth-helpers" "3.2.3" + "@lit-protocol/types" "3.2.3" ethers "^5.7.1" - jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.2.tgz#3531b4e28a977698ffa33dc1a0bc98c0392cc6fc" - integrity sha512-R7zpyHgh+IkNoEmTCScWEXLPt3qJ26bG6Sg35mypPWkXhA463Wsgtiphc0eTDsd9e5yzvcUw/0rYfuTmEzQbbA== +"@lit-protocol/types@3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.3.tgz#6906ccb092b9333db53d58f252d4fe3cf2a095f0" + integrity sha512-dZeAIoAFO0npdpIkBTBmlpQiay/mwtIN2+1c4YfQ7KPGXFzfOuM9xxT2B8cAU0+3bdHVjxLD+ixGoaE46eX4yw== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.2" + "@lit-protocol/auth-helpers" "3.2.3" ethers "^5.7.1" - jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" @@ -5567,11 +5565,6 @@ image-size@^1.0.1: dependencies: queue "6.0.2" -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - immer@^9.0.7: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -6084,16 +6077,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jszip@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" - integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - setimmediate "^1.0.5" - keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -6131,13 +6114,6 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -6757,11 +6733,6 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" -pako@~1.0.2: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -7515,7 +7486,7 @@ react@^17.0.1: loose-envify "^1.1.0" object-assign "^4.1.1" -readable-stream@^2.0.1, readable-stream@~2.3.6: +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== From b86480f844baaf361f42396ab176ae9e093144c4 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 8 Mar 2024 06:54:21 +0530 Subject: [PATCH 195/627] Add Email/SMS (OTP) example --- .../session-sigs/auth-methods/social-login.md | 2 +- docs/sdk/wallets/auth-methods.md | 2 +- docs/sdk/wallets/intro.md | 2 +- .../minting-methods/mint-via-contracts.md | 11 +++- .../minting-methods/mint-via-social.md | 66 +++++++++++++++++++ .../minting-methods/mint-via-web-authn.md | 2 +- docs/sdk/wallets/minting.md | 4 +- 7 files changed, 79 insertions(+), 10 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md index 51093985..7f0b3970 100644 --- a/docs/sdk/authentication/session-sigs/auth-methods/social-login.md +++ b/docs/sdk/authentication/session-sigs/auth-methods/social-login.md @@ -122,7 +122,7 @@ async function handleRedirect() { // Check if app has been redirected from Lit login server if (isSignInRedirect(redirectUri)) { // Get the provider that was used to sign in - const provider = provider = litAuthClient.getProvider( + const provider = litAuthClient.getProvider( ProviderType.Google, ); // Get auth method object that has the OAuth token from redirect callback diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 887096e3..4f9db43a 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -46,7 +46,7 @@ Auth methods support scoping, which permits what they can be used for within Lit | Sign Anything | 1 | This scope allows signing any data | | Personal Sign | 2 | This scope only allows signing messages using the [EIP-191 scheme](https://eips.ethereum.org/EIPS/eip-191) which prefixes "Ethereum Signed Message" to the data to be signed. This prefix prevents creating signatures that can be used for transactions. | -You can also set scopes: [] which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. Any auth methods (regardless of scope) passed in to a Lit Action will be resolved/checked and put into the Lit.Auth object which is available inside the Lit Action. However, when you try to sign something using signEcdsa(), you'll find that it checks the scopes of the auth methods passed in, and will only sign if the appropriate scope is present. diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index ad28976e..d50702e9 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -19,7 +19,7 @@ Ready to jump right in? Quickly learn how you can integrate Programmable Key Pai ## Overview -Each PKP is functionally a wallet, where the private key lives across the Lit Network. It is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../authentication/overview) mechanisms to their PKP using Lit Actions. +Each PKP is functionally a wallet, where the private key lives across the Lit Network. It is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication methods](../authentication/overview) to their PKP using Lit Actions. Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be used to [seamlessly onboard](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) users into web3 and provide flexible and intuitive asset management experiences. diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md index cd00421c..33d26ecb 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-contracts.md +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -3,11 +3,10 @@ You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using 1. The [Lit explorer](https://explorer.litprotocol.com/mint-pkp), 2. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or -3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html). +3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/habanero)). The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. -You can also use the handy helper contract on Chronicle [here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) to mint and assign auth methods, as well as view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/cayenne). ## Installing the required packages ```bash @@ -25,8 +24,14 @@ await contractClient.connect(); ``` ## Minting a PKP and adding permitted scopes +Permitted scopes are a crucial part of defining the capabilities of authentication methods. They determine what actions an authentication method can perform within the system. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. + +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes [here](../auth-methods/#auth-method-scopes). + +The following code block demonstrates how to mint a PKP with specific permitted scopes: + ```js -import { AuthMethodScope } from '@lit-protocol/constants'; +import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; const authMethod = { authMethodType: AuthMethodType.EthWallet, diff --git a/docs/sdk/wallets/minting-methods/mint-via-social.md b/docs/sdk/wallets/minting-methods/mint-via-social.md index f02f8bc8..c06ca926 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-social.md +++ b/docs/sdk/wallets/minting-methods/mint-via-social.md @@ -113,4 +113,70 @@ const sessionSigs = await provider.getSessionSigs({ You can also mint a PKP by presenting a generated token from sucessful OTP code confirmation, which will be returned by the `lit-auth-client` in the `AuthMethod` return from successful code confirmation. +```javascript +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, ProviderType } from '@lit-protocol/constants'; + +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Send one-time passcodes via email or phone number through Stytch +async function sendPasscode(method, userId) { + // method: 'email' or 'sms', userId: email or phone number + let response; + if (method === 'email') { + response = await stytchClient.otps.email.loginOrCreate(userId); + } else { + response = await stytchClient.otps.sms.loginOrCreate( + !userId.startsWith('+') ? `+${userId}` : userId + ); + } + return response.method_id; +} + +// Get auth method object by validating Stytch JWT and mint PKP after authenticating it +async function authenticateWithStytch(method, code, methodId) { + // method: 'email' or 'sms', code: OTP code, methodId: method_id returned from sendPasscode + + // Authenticate the OTP code with Stytch + const response = await stytchClient.otps.authenticate(code, methodId, { + session_duration_minutes: 60, + }); + + // Initialize StytchEmailFactorOtp or StytchSmsFactorOtp provider + let provider; + if (method === "email") { + provider = litAuthClient.initProvider(ProviderType.StytchEmailFactorOtp, { + appId: YOUR_STYTCH_PROJECT_ID, + }); + } else { + provider = litAuthClient.initProvider(ProviderType.StytchSmsFactorOtp, { + appId: YOUR_STYTCH_PROJECT_ID + }); + } + + // Get auth method object after autheticating Stytch JWT + const authMethod = await provider.authenticate({ response.session_jwt, response.user_id }); + + // -- setting scope for the auth method + // + const options = { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], + }; + // Mint PKP using the auth method + const mintTx = await provider.mintPKPThroughRelayer( + authMethod, + options + ); + // Fetch PKPs associated with the authenticated social account + const pkps = await provider.fetchPKPsThroughRelayer(authMethod); + return pkps; +} +``` + Read more about this process [here](../auth-methods). \ No newline at end of file diff --git a/docs/sdk/wallets/minting-methods/mint-via-web-authn.md b/docs/sdk/wallets/minting-methods/mint-via-web-authn.md index 73c37f1a..b4195954 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-web-authn.md +++ b/docs/sdk/wallets/minting-methods/mint-via-web-authn.md @@ -2,7 +2,7 @@ You can mint a PKP by presenting a valid WebAuthn credential generated by your browser to the Lit Relay server. -We have a frontend that helps with this process at https://pkp-walletconnect.vercel.app/. +We have a frontend that helps with this process at https://lit-pkp-auth-demo.vercel.app/. We currently support both username-based and username-less WebAuthn registration, and usernames are purely used for your convenience / reference on the client-side. diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index e6143bb8..d2368689 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -4,9 +4,7 @@ A PKP is a public/private key-pair generated by the Lit Network using Distribute A PKP is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../authentication/overview) mechanisms to their PKP using Lit Actions. -This section will walk you through the process of creating PKPs using the [V3 SDK](../../migration/overview), including adding [permitted scopes](../wallets/auth-methods#auth-method-scopes), which are now required in order to create [session signatures](../authentication/session-sigs/intro). - -You can mint PKPs using the following methods: +This section will walk you through the process of creating PKPs using the [V3 SDK](../../migration/overview). You can mint PKPs using the following methods: - [Mint via Contracts](minting-methods/mint-via-contracts) - [Mint via Social or Email/SMS (OTP) ](minting-methods/mint-via-social) From 7a2ffa30f34727b321f28e86d370edc666eadc19 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 8 Mar 2024 07:03:43 +0530 Subject: [PATCH 196/627] Remove Cayenne from title --- docs/resources/supported-chains.md | 2 +- updateChains.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 73729c2a..9b356dd9 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -9,7 +9,7 @@ Don't see a blockchain you want? Fill out this form for EVM chains and we'll ad You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) -## Cayenne (Access Control & PKP) +## Supported Chains (Access Control & PKP) - alfajores diff --git a/updateChains.js b/updateChains.js index 50ae0366..f3da29eb 100644 --- a/updateChains.js +++ b/updateChains.js @@ -18,7 +18,7 @@ md += "You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html)\n\n"; md += - "## Cayenne (Access Control & PKP)\n\n"; + "## Supported Chains (Access Control & PKP)\n\n"; md += Object.keys(ALL_LIT_CHAINS) .sort() From f9817241c0631152836a00a2a3a15bc5d7fb2c6e Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 9 Mar 2024 05:52:35 +0530 Subject: [PATCH 197/627] Add minting with multiple Auth Methods via LitAuthClient and ContractsSDK --- .../mint-via-multiple-auth-methods.md | 232 ++++++++++++++++++ docs/sdk/wallets/minting.md | 3 +- sidebars.js | 1 + 3 files changed, 235 insertions(+), 1 deletion(-) create mode 100644 docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md diff --git a/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md b/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md new file mode 100644 index 00000000..a5f9455c --- /dev/null +++ b/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md @@ -0,0 +1,232 @@ +# Mint via multiple Auth Methods +You can also mint a PKP using [multiple Auth Methods](../auth-methods#existing-supported-auth-methods) (i.e. Multi-Factor Authentication). This can be done in two different ways: +1. [Using `LitAuthClient`](#using-litauthclient) +2. [Using `ContractsSDK`](#using-contractssdk) + +## Using `LitAuthClient` + +In this section, we will demonstrate how to mint a PKP using two popular authentication methods: +1. Google OAuth Login, and +2. Stytch SMS (OTP) + +via `LitAuthClient`. This approach enhances security by requiring authentication through both a social login provider and a one-time password sent via SMS. You can mint a PKP using Google OAuth token and a generated token from sucessful OTP code confirmation, by following these steps: + +### Installing the `LitAuthClient` package +```bash +yarn add @lit-protocol/lit-auth-client +``` + +### Integrating Google OAuth Login + +`@lit-protocol/lit-auth-client` makes it easy to implement social login in your web apps. The library provides a `LitAuthClient` class that you can use to initialize a provider for each supported social login method. Each provider has a `signIn()` method that you can call to begin the authentication flow. + +```javascript +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { ProviderType } from '@lit-protocol/constants'; + +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Initialize Google provider +litAuthClient.initProvider(ProviderType.Google, { + // The URL of your web app where users will be redirected after authentication + redirectUri: '', +}); + +// Begin login flow with Google +async function authWithGoogle() { + const provider = litAuthClient.getProvider( + ProviderType.Google + ); + await provider.signIn(); +} +``` + +:::note + +The Lit Relay Server enables you to mint PKPs without worrying about gas fees. You can also use your own relay server or mint PKPs directly using Lit's contracts. + +If you are using Lit Relay Server, you will need to request an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA). + +::: + +### Handling the Redirect + +At the `redirectUri` specified when initializing the providers, call `handleSignInRedirect`. You can also use `isSignInRedirect` method to check if the app is in the redirect state or not. + +```javascript +import { LitAuthClient, isSignInRedirect } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, ProviderType } from '@lit-protocol/constants'; + +async function handleRedirect() { + // Check if app has been redirected from Lit login server + if (isSignInRedirect(redirectUri)) { + // Get the provider that was used to sign in + const provider = provider = litAuthClient.getProvider( + ProviderType.Google, + ); + // Get auth method object that has the OAuth token from redirect callback + const authMethodGoogle: AuthMethod = await provider.authenticate(); + return authMethodGoogle; + } +} +``` + +The provider's `authenticate` method validates the URL parameters returned from Lit's login server after a successful login, and then returns an `AuthMethod` object containing the OAuth token. + +### Integrating SMS (OTP) Authentication + +You can also authenticate users using SMS (OTP) by sending a one-time passcode to their phone number. This can be done using the `Stytch` provider. + +```javascript +import { LitAuthClient } from '@lit-protocol/lit-auth-client'; +import { AuthMethodScope, ProviderType } from '@lit-protocol/constants'; + +// Set up LitAuthClient +const litAuthClient = new LitAuthClient({ + litRelayConfig: { + // Request a Lit Relay Server API key here: https://forms.gle/RNZYtGYTY9BcD9MEA + relayApiKey: '', + }, +}); + +// Send one-time passcodes via phone number through Stytch +async function sendPasscode(userId) { + // userId: phone number + const response = await stytchClient.otps.sms.loginOrCreate( + !userId.startsWith('+') ? `+${userId}` : userId + ); + return response.method_id; +} +``` + +### Authenticating with SMS (OTP) + +After sending the OTP code, you can authenticate the user with the code and the method ID returned from `sendPasscode`. + +```javascript +// Get auth method object by validating Stytch JWT +async function authenticateWithStytch(code, methodId) { + // code: OTP code, methodId: method_id returned from sendPasscode + + // Authenticate the OTP code with Stytch + const response = await stytchClient.otps.authenticate(code, methodId, { + session_duration_minutes: 60, + }); + + // Initialize StytchSmsFactorOtp provider + const provider = litAuthClient.initProvider(ProviderType.StytchSmsFactorOtp, { + appId: YOUR_STYTCH_PROJECT_ID + }); + + // Get auth method object after autheticating Stytch JWT + const authMethodSMS = await provider.authenticate({ response.session_jwt, response.user_id }); + return authMethodSMS; +} +``` + +### Mint PKP with Multiple Auth Methods + +Once you have authenticated the user with both Google OAuth Login and SMS (OTP), you can proceed to mint a PKP using both Auth Methods. + +```javascript +async function mintPKPWithMultipleAuthMethods(authMethodGoogle, authMethodSMS) { + let authClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: '', + }, + }); + + // Mint PKP using both Auth Methods + let res = await authClient.mintPKPWithAuthMethods( + [authMethodGoogle, authMethodSMS], // Auth Methods + { + pkpPermissionScopes: [[1], [1]], // PKP Permission Scopes + sendPkpToitself: true, // whether to send PKP to itself or not + addPkpEthAddressAsPermittedAddress: true, // whether to add PKP eth address as permitted address or not + } + ); + + if (typeof res != 'object') { + console.error('Minting failed'); + return; + } + + console.log('Minting successful', res); + return res; +} +``` + +View `Minting a PKP with multiple Auth Methods via LitAuthClient` example in our SDK [here](https://github.com/LIT-Protocol/js-sdk/blob/master/e2e-nodejs/group-pkp-auth-method/test-pkp-auth-method-multiple-auth-method-mint.mjs). + +## Using `ContractsSDK` + +You can also mint a PKP using multiple Auth Methods via `ContractsSDK` by following these steps: + +### Installing the `LitAuthClient` package +```bash +yarn add @lit-protocol/lit-auth-client +yarn add @lit-protocol/contracts-sdk +``` + +### Setting up the `LitContracts` client + +First, configure your Ethereum provider and the controller wallet. Initialize the LitContracts client with the appropriate network settings. + +```javascript +import { LitContracts } from '@lit-protocol/contracts-sdk'; + +const contractClient = new LitContracts({ + signer: controllerWallet, // Your ethers wallet + network: 'manzano', +}); + +await contractClient.connect(); +``` + +### Defining the Auth Methods +Define the auth method you intend to use for minting the PKP. This example uses an Ethereum wallet's authentication signature, but you can adapt this to include other methods such as OAuth tokens from social logins or OTP codes from email/SMS verification. + +```javascript +const authMethodWallet = { + authMethodType: 1, // Adjust based on the auth method + accessToken: JSON.stringify(authSig), // Use authSig obtained from the controller wallet +}; + +const authIdWallet = LitAuthClient.getAuthIdByAuthMethod(authMethodWallet); + +const authIdAction = contractClient.utils.getBytesFromMultihash(''); +``` + +### Minting PKP with Multiple Auth Methods + +Once you have defined the auth methods, you can proceed to mint a PKP using both Auth Methods. + +```javascript +// Get the mint cost +const mintCost = await contractClient.pkpNftContract.read.mintCost(); + +// Mint PKP using both Auth Methods +const mintTx = await contractClient.pkpHelperContract.write.mintNextAndAddAuthMethods( + 2, // key type + [AuthMethodType.EthWallet, AuthMethodType.LitAction], // Specify the auth method types + [authIdWallet, authIdAction], // Specify the auth method IDs + ['0x', '0x'], // Specify the auth method public keys + [[1], [1]], // Specify the auth method scopes + true, // Whether to add PKP eth address as permitted address or not + true, // Whether to send PKP to itself or not + { value: mintCost } +); + +// Wait for the transaction to be mined +const mintTxReceipt = await mintTx.wait(); +// Get the tokenId of the minted PKP +const tokenId = mintTxReceipt.events[0].topics[1]; +``` + +View `Minting a PKP with multiple Auth Methods via ContractsSDK` example in our SDK [here](https://github.com/LIT-Protocol/js-sdk/blob/251482b90761e9e0e734cb08c0c4a93b563b6869/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs). \ No newline at end of file diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index d2368689..83adf114 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -8,4 +8,5 @@ This section will walk you through the process of creating PKPs using the [V3 SD - [Mint via Contracts](minting-methods/mint-via-contracts) - [Mint via Social or Email/SMS (OTP) ](minting-methods/mint-via-social) -- [Mint via WebAuthn](minting-methods/mint-via-web-authn) \ No newline at end of file +- [Mint via WebAuthn](minting-methods/mint-via-web-authn) +- [Mint via Multiple Auth Methods](minting-methods/mint-via-multiple-auth-methods) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index f049b816..f0a8bd18 100644 --- a/sidebars.js +++ b/sidebars.js @@ -222,6 +222,7 @@ const sidebars = { "sdk/wallets/minting-methods/mint-via-contracts", "sdk/wallets/minting-methods/mint-via-social", "sdk/wallets/minting-methods/mint-via-web-authn", + "sdk/wallets/minting-methods/mint-via-multiple-auth-methods", ], }, "sdk/wallets/walletconnect", From 727ce3e18b1453e3a822cf9a0200257170a170ec Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 Date: Mon, 11 Mar 2024 17:31:36 -0700 Subject: [PATCH 198/627] fix: Add jszip polyfill --- docs/migration/overview.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/migration/overview.md b/docs/migration/overview.md index 75c11f66..a6bd4998 100644 --- a/docs/migration/overview.md +++ b/docs/migration/overview.md @@ -276,7 +276,7 @@ module.exports = { ``` ### Using Create React App (CRA) -If you are using CRA you may see the errors related to `stream`, `buffer`, `crypto`, `http`, `https`, `url`, `zlib` and `assert` to being found / handled. You can fix this with the following webpack override +If you are using CRA you may see the errors related to `stream`, `buffer`, `crypto`, `http`, `https`, `url`, `zlib`, `jszip` and `assert` to being found / handled. You can fix this with the following webpack override ```javascript const webpack = require('webpack'); // Import webpack @@ -295,6 +295,7 @@ module.exports = { 'https': require.resolve('https-browserify'), // Add this line 'url': require.resolve('url/'), // Add this line 'zlib': require.resolve('browserify-zlib'), // Add this line + 'jszip': require.resolve('jszip/'), // Add this line 'assert': require.resolve('assert/'), // Add this line }, }; @@ -322,7 +323,7 @@ module.exports = { }; ``` -In the above we are replacing `stream`, `buffer`, `crypto`, `http`, `https`, `url`, `zlib` and `assert` with browser compatible replacements. +In the above we are replacing `stream`, `buffer`, `crypto`, `http`, `https`, `url`, `zlib`, `jszip` and `assert` with browser compatible replacements. We also modify the default Create React App's `module rules` to include other JavaScript file extensions. You may need to install [react-app-rewired](https://www.npmjs.com/package/react-app-rewired) to override the webpack confgiuration with the above. From 524d37fadd2db90a611b29d577569d45381e57c2 Mon Sep 17 00:00:00 2001 From: zach-is-my-name Date: Mon, 11 Mar 2024 21:59:12 -0500 Subject: [PATCH 199/627] Update key-claiming.md Various type-o's and grammar for clarity --- docs/sdk/serverless-signing/key-claiming.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index f15be0db..63493a0f 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -10,10 +10,10 @@ import TabItem from '@theme/TabItem'; ## Overview -Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md) which instead of using an [auth method](../wallets/auth-methods) allows for using your own `userId` with the lit action's `IPFS CID` being the `appId` which allows for deriving custom claims which do not have to be derived through a support authentication method. +Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md). Instead of using an [auth method](../wallets/auth-methods) use your own `userId` with the Lit Action's `IPFS CID` to create an `appId`. This allows for deriving custom claims without the need for an authentication method. # How it works -Instead of pre authenticating the `access token` within an `Authentication Method` claiming in a Lit Action allows you to define your own `UserId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. this will not require a pre authentication step which allows you to set up your own clams which can then be routed on chain withh our `contract-sdk`. +Instead of pre-authenticating the `access token` within an `Authentication Method`, claiming in a Lit Action allows you to define your own `userId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. This doesn't require a pre-authentication step which allows you to set up your own claims to them be routed on-chain with our `contract-sdk`. ## Example @@ -68,4 +68,4 @@ Instead of pre authenticating the `access token` within an `Authentication Metho addPkpEthAddressAsPermittedAddress: true, sendPkpToItself: true }); -``` \ No newline at end of file +``` From d754355d4f5700fd4e1599b973dfce6761279f2a Mon Sep 17 00:00:00 2001 From: zach-is-my-name Date: Mon, 11 Mar 2024 22:56:11 -0500 Subject: [PATCH 200/627] Update key-claiming.md additional type-o --- docs/sdk/serverless-signing/key-claiming.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index 63493a0f..de649eb0 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -13,7 +13,7 @@ import TabItem from '@theme/TabItem'; Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md). Instead of using an [auth method](../wallets/auth-methods) use your own `userId` with the Lit Action's `IPFS CID` to create an `appId`. This allows for deriving custom claims without the need for an authentication method. # How it works -Instead of pre-authenticating the `access token` within an `Authentication Method`, claiming in a Lit Action allows you to define your own `userId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. This doesn't require a pre-authentication step which allows you to set up your own claims to them be routed on-chain with our `contract-sdk`. +Instead of pre-authenticating the `access token` within an `Authentication Method`, claiming in a Lit Action allows you to define your own `userId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. This doesn't require a pre-authentication step which allows you to set up your own claims to then be routed on-chain with our `contract-sdk`. ## Example From 9f6bccaad533bafa34b9e4020feca6b74186c57b Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 12 Mar 2024 21:35:39 -0700 Subject: [PATCH 201/627] Update what-is-lit-protocol.md --- docs/intro/what-is-lit-protocol.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 9cacefa8..0057fb70 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -17,6 +17,8 @@ Developers can use Lit to build apps with [private data](../sdk/access-control/i Get started with the [Lit SDK](../sdk/installation.md). +Read the Lit [Whitepaper](https://github.com/LIT-Protocol/whitepaper). + ## Use Cases Lit Protocol can be utilized for various web3 applications, including: From bda65c8efda41505b1a1be7f77af2ec670a8faf2 Mon Sep 17 00:00:00 2001 From: Daryl Collins Date: Wed, 13 Mar 2024 16:39:56 +0000 Subject: [PATCH 202/627] docs: LIT-2560 - Add documentation for litNodeClient.disconnect() --- docs/network/migration-guide.md | 7 +++++++ docs/sdk/installation.md | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index b9a22390..e6c2e1f2 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -236,6 +236,13 @@ app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ await app.locals.litNodeClient.connect(); ``` +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. +To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` + +```js +await app.locals.litNodeClient.disconnect() +``` + ### SDK installed for client side usage Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 71bb29b0..476b8626 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -83,6 +83,13 @@ app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ await app.locals.litNodeClient.connect(); ``` +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. +To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` + +```js +await app.locals.litNodeClient.disconnect() +``` + ### SDK installed for client side usage Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. From a600b3ecad829ed0461ae8963d6466c0f4e58bf9 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 23 Mar 2024 07:12:48 +0530 Subject: [PATCH 203/627] fix(faq): fix broken link and modify title fix(faq): fix broken link and modify title --- docs/resources/supported-chains.md | 2 + docs/support/faq.md | 2 +- package.json | 2 +- sidebars.js | 2 +- yarn.lock | 61 ++++++++++++++++++++++-------- 5 files changed, 50 insertions(+), 19 deletions(-) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 9b356dd9..bdf495fa 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -111,6 +111,8 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp - solanaTestnet +- verifyTestnet + - waevEclipseDevnet - waevEclipseTestnet diff --git a/docs/support/faq.md b/docs/support/faq.md index 1e8c1eb5..5b96751d 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -24,7 +24,7 @@ In the end, rate limiting (if applied correctly and in good faith!) is a reasona ### 1. Can’t use checkAndSignAuthMessage in a backend project? -`checkAndSignAuthMessage` can only be used in browsers as it pops up Metamask or other crypto wallets for you to sign & generate the Authsig. In a backend project, you have to use hot wallet signing to generate the AuthSig. Check out this project: https://github.com/LIT-Protocol/hotwallet-signing-example/blob/main/sign.js +`checkAndSignAuthMessage` can only be used in browsers as it pops up Metamask or other crypto wallets for you to sign & generate the Authsig. In a backend project, you have to use hot wallet signing to generate the AuthSig. Check out this project: https://github.com/LIT-Protocol/hotwallet-signing-example/blob/main/sign.mjs ### 2. My AuthSig was working before but now I get the error: Error getting auth context: Signature is not valid diff --git a/package.json b/package.json index ea1bf272..ffaa23c6 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.3", + "@lit-protocol/constants": "^4.1.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index f049b816..69e71303 100644 --- a/sidebars.js +++ b/sidebars.js @@ -239,7 +239,7 @@ const sidebars = { }, { type: "category", - label: "Serverless Signing", + label: "Serverless Signing (Lit Actions)", link: { type: "doc", id: "sdk/serverless-signing/overview", diff --git a/yarn.lock b/yarn.lock index 4d54ddbb..9f40bc5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,37 +2249,39 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.3.tgz#03aeba16389088bdebf89a8c8a8ac202e7e2850b" - integrity sha512-ywfTE0OQho76wmPHMyTGld5HZJs4oX+JVs2W/xyarQL9fYCe5Vf9BkA0ozTG83AzzgioH5Z5kDU0tNzfLobsqQ== +"@lit-protocol/auth-helpers@4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.1.1.tgz#8bb6ec309db2541697b993b06918bf2816bd90bc" + integrity sha512-N1wzaDwsGhfeOlirb3KgubsvqRZFQFGkVgFRQl4wyNshueyaY2VwVTDj869pf2DVKapzC17C8OZfE2r10j3WpA== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.3.tgz#a980626960550cb31d8a6572ad65095d69dbbca9" - integrity sha512-HVXb4hhtJlQoj1obZ8mnwRb7xM2vrvs0cdcVtI/qd1Kani2DH6cXqjdxulC06Mgwu8WlBlchpdTZQsmjIHz4LQ== +"@lit-protocol/constants@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.1.1.tgz#f0a16e475d17f3bbf43c3249db3bba8fb28e12d7" + integrity sha512-FmJEAweMGvOnQrWh4B3Bxdt2EdWKjwIXZp3McSlCbAdVvqTumj3qRrCqmPummJ1ajelxePKuwHZ17xv0yTnJMg== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.3" - "@lit-protocol/types" "3.2.3" + "@lit-protocol/auth-helpers" "4.1.1" + "@lit-protocol/types" "4.1.1" ethers "^5.7.1" + jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.3.tgz#6906ccb092b9333db53d58f252d4fe3cf2a095f0" - integrity sha512-dZeAIoAFO0npdpIkBTBmlpQiay/mwtIN2+1c4YfQ7KPGXFzfOuM9xxT2B8cAU0+3bdHVjxLD+ixGoaE46eX4yw== +"@lit-protocol/types@4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.1.1.tgz#f0056d2b80e987bb4b4ec168d0cf980094bbd893" + integrity sha512-d0oq6JU4Ls0n7aJ/7duH3y9gXaWO3++1RaJeKvwRkfpRLKCsfLNCl+yfvcRD+LHSADeMYTN1b99dLY9ao+5u7Q== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.3" + "@lit-protocol/auth-helpers" "4.1.1" ethers "^5.7.1" + jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" @@ -5565,6 +5567,11 @@ image-size@^1.0.1: dependencies: queue "6.0.2" +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + immer@^9.0.7: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -6077,6 +6084,16 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jszip@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -6114,6 +6131,13 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -6733,6 +6757,11 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -7486,7 +7515,7 @@ react@^17.0.1: loose-envify "^1.1.0" object-assign "^4.1.1" -readable-stream@^2.0.1: +readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== From 4b60108b5a44ffe6bfc94724b6bdcee92cbe573a Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 24 Mar 2024 06:44:45 +0530 Subject: [PATCH 204/627] fix(keyClaim): add calculating key id section fix(keyClaim): add calculating key id section --- docs/resources/supported-chains.md | 2 + docs/sdk/serverless-signing/key-claiming.md | 22 ++++++-- package.json | 2 +- yarn.lock | 61 +++++++++++++++------ 4 files changed, 65 insertions(+), 22 deletions(-) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 9b356dd9..bdf495fa 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -111,6 +111,8 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp - solanaTestnet +- verifyTestnet + - waevEclipseDevnet - waevEclipseTestnet diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index de649eb0..879ebcb2 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -16,16 +16,26 @@ Lit Actions have their own support for [claiming](../wallets/claimable-keys/intr Instead of pre-authenticating the `access token` within an `Authentication Method`, claiming in a Lit Action allows you to define your own `userId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. This doesn't require a pre-authentication step which allows you to set up your own claims to then be routed on-chain with our `contract-sdk`. ## Example +Here is an example of how to claim a key using the Lit SDK and then mint a claim using the `contract-sdk`. + +### Calculating your key id +You can create key id by taking the keccak256 hash of the `theIPFSIdOfYourLitAction_yourUserId` where `theIPFSIdOfYourLitAction` is the IPFS CID of your lit action that will be used for claiming and then `yourUserId` is the user id of the user.  You need to separate these items with an `_` in the string. + +```jsx +const keyId = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("theIPFSIdOfYourLitAction_yourUserId")) +``` + +### Minting a claim ```jsx const res = await client.executeJs({ authSig, code: `(async () => { - Lit.Actions.claimKey({keyId: userId}); + Lit.Actions.claimKey({keyId}); })();`, authMethods: [], jsParams: { - userId: 'foo' + keyId }, }); @@ -33,7 +43,7 @@ Instead of pre-authenticating the `access token` within an `Authentication Metho let tx = await contractClient.pkpNftContract.write.claimAndMint(2, res.claims['foo'].derivedKeyId, res.claims['foo'].signatures); ``` -### adding an auth method when minting a claim +### Adding an auth method when minting a claim ```jsx const authMethod = { authMethodType: AuthMethodType.EthWallet, @@ -42,13 +52,15 @@ Instead of pre-authenticating the `access token` within an `Authentication Metho const authMethodId = LitAuthClient.getAuthMethodId(authMethod); + const keyId = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("theIPFSIdOfYourLitAction_yourUserId")) + const res = await client.executeJs({ authSig, code: `(async () => { - Lit.Actions.claimKey({keyId: userId}); + Lit.Actions.claimKey({keyId}); })();`, jsParams: { - userId: 'foo' + keyId }, }); diff --git a/package.json b/package.json index ea1bf272..ffaa23c6 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^3.2.3", + "@lit-protocol/constants": "^4.1.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 4d54ddbb..9f40bc5c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,37 +2249,39 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-3.2.3.tgz#03aeba16389088bdebf89a8c8a8ac202e7e2850b" - integrity sha512-ywfTE0OQho76wmPHMyTGld5HZJs4oX+JVs2W/xyarQL9fYCe5Vf9BkA0ozTG83AzzgioH5Z5kDU0tNzfLobsqQ== +"@lit-protocol/auth-helpers@4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.1.1.tgz#8bb6ec309db2541697b993b06918bf2816bd90bc" + integrity sha512-N1wzaDwsGhfeOlirb3KgubsvqRZFQFGkVgFRQl4wyNshueyaY2VwVTDj869pf2DVKapzC17C8OZfE2r10j3WpA== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-3.2.3.tgz#a980626960550cb31d8a6572ad65095d69dbbca9" - integrity sha512-HVXb4hhtJlQoj1obZ8mnwRb7xM2vrvs0cdcVtI/qd1Kani2DH6cXqjdxulC06Mgwu8WlBlchpdTZQsmjIHz4LQ== +"@lit-protocol/constants@^4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.1.1.tgz#f0a16e475d17f3bbf43c3249db3bba8fb28e12d7" + integrity sha512-FmJEAweMGvOnQrWh4B3Bxdt2EdWKjwIXZp3McSlCbAdVvqTumj3qRrCqmPummJ1ajelxePKuwHZ17xv0yTnJMg== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.3" - "@lit-protocol/types" "3.2.3" + "@lit-protocol/auth-helpers" "4.1.1" + "@lit-protocol/types" "4.1.1" ethers "^5.7.1" + jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-3.2.3.tgz#6906ccb092b9333db53d58f252d4fe3cf2a095f0" - integrity sha512-dZeAIoAFO0npdpIkBTBmlpQiay/mwtIN2+1c4YfQ7KPGXFzfOuM9xxT2B8cAU0+3bdHVjxLD+ixGoaE46eX4yw== +"@lit-protocol/types@4.1.1": + version "4.1.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.1.1.tgz#f0056d2b80e987bb4b4ec168d0cf980094bbd893" + integrity sha512-d0oq6JU4Ls0n7aJ/7duH3y9gXaWO3++1RaJeKvwRkfpRLKCsfLNCl+yfvcRD+LHSADeMYTN1b99dLY9ao+5u7Q== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "3.2.3" + "@lit-protocol/auth-helpers" "4.1.1" ethers "^5.7.1" + jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" @@ -5565,6 +5567,11 @@ image-size@^1.0.1: dependencies: queue "6.0.2" +immediate@~3.0.5: + version "3.0.6" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== + immer@^9.0.7: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" @@ -6077,6 +6084,16 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +jszip@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2" + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g== + dependencies: + lie "~3.3.0" + pako "~1.0.2" + readable-stream "~2.3.6" + setimmediate "^1.0.5" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -6114,6 +6131,13 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +lie@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + dependencies: + immediate "~3.0.5" + lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" @@ -6733,6 +6757,11 @@ package-json@^6.3.0: registry-url "^5.0.0" semver "^6.2.0" +pako@~1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" @@ -7486,7 +7515,7 @@ react@^17.0.1: loose-envify "^1.1.0" object-assign "^4.1.1" -readable-stream@^2.0.1: +readable-stream@^2.0.1, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== From 9a31a285e8386a1af12e0206376097c84a161271 Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Thu, 28 Mar 2024 14:15:20 -0700 Subject: [PATCH 205/627] add docs on dependencies (#254) --- docs/sdk/serverless-signing/dependencies.md | 15 + sidebars.js | 292 ++++++++++---------- 2 files changed, 158 insertions(+), 149 deletions(-) create mode 100644 docs/sdk/serverless-signing/dependencies.md diff --git a/docs/sdk/serverless-signing/dependencies.md b/docs/sdk/serverless-signing/dependencies.md new file mode 100644 index 00000000..c5b03cb2 --- /dev/null +++ b/docs/sdk/serverless-signing/dependencies.md @@ -0,0 +1,15 @@ +# Dependencies in Lit Actions + +We preload some dependencies for you: + +* Ethers v5.7 is loaded and available via the global `ethers` object +* The jsonwebtoken library located here https://www.npmjs.com/package/jsonwebtoken is loaded and available via the global `jsonwebtoken` object + + +## Adding your own dependencies + +To add your own dependencies, you'll have to use a bundler, and provide the bundle as your Lit Action. There's an example of how to do this using esbuild here, but you could use any bundler: https://github.com/LIT-Protocol/js-serverless-function-test/tree/main/bundleTests/siwe + +## Built in functions + +We provide a number of functions in the Lit.Actions.* namespace, to do things like call a contract or check an access control condition. The API docs for this are located here: https://actions-docs.litprotocol.com/ \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 563574fb..35d76089 100644 --- a/sidebars.js +++ b/sidebars.js @@ -42,290 +42,284 @@ const sidebars = { docs: [ { - type: "category", - label: "Getting Started", + type: 'category', + label: 'Getting Started', collapsible: false, - className: "category-not-collapsible", - items: ["intro/overview", "intro/what-is-lit-protocol", "intro/usecases"], + className: 'category-not-collapsible', + items: ['intro/overview', 'intro/what-is-lit-protocol', 'intro/usecases'], }, { - type: "category", - label: "Concepts", + type: 'category', + label: 'Concepts', collapsible: false, - className: "category-not-collapsible", + className: 'category-not-collapsible', items: [ - "concepts/access-control-concept", - "concepts/programmable-signing-concept", - "concepts/pkps-as-wallet", - "concepts/capacity-credits-concept", + 'concepts/access-control-concept', + 'concepts/programmable-signing-concept', + 'concepts/pkps-as-wallet', + 'concepts/capacity-credits-concept', ], }, { - type: "category", - label: "Network", + type: 'category', + label: 'Network', collapsible: false, - className: "category-not-collapsible", + className: 'category-not-collapsible', items: [ { - type: "category", - label: "Lit Networks", + type: 'category', + label: 'Lit Networks', collapsed: true, - items: [ - "network/networks/testnet", - "network/networks/mainnet", - ] + items: ['network/networks/testnet', 'network/networks/mainnet'], }, - "network/feature-matrix", - "network/rollup", - "network/migration-guide" + 'network/feature-matrix', + 'network/rollup', + 'network/migration-guide', ], }, { - type: "category", - label: "Migrating to the SDK V3", + type: 'category', + label: 'Migrating to the SDK V3', collapsible: true, items: [ - "migration/overview", - "network/feature-matrix", - "migration/changes", + 'migration/overview', + 'network/feature-matrix', + 'migration/changes', ], }, { - type: "category", - label: "SDK Reference", + type: 'category', + label: 'SDK Reference', collapsible: false, - className: "category-not-collapsible", + className: 'category-not-collapsible', items: [ - "sdk/installation", - "sdk/capacity-credits", + 'sdk/installation', + 'sdk/capacity-credits', { - type: "category", - label: "Authentication", + type: 'category', + label: 'Authentication', link: { - type: "doc", - id: "sdk/authentication/overview", + type: 'doc', + id: 'sdk/authentication/overview', }, collapsed: true, items: [ - "sdk/authentication/auth-sig", + 'sdk/authentication/auth-sig', { - type: "category", - label: "Session Signatures", + type: 'category', + label: 'Session Signatures', link: { - type: "doc", - id: "sdk/authentication/session-sigs/intro", + type: 'doc', + id: 'sdk/authentication/session-sigs/intro', }, collapsed: true, items: [ - "sdk/authentication/session-sigs/resources-and-abilities", - "sdk/authentication/session-sigs/capability-objects", - "sdk/authentication/session-sigs/get-session-sigs", - "sdk/authentication/session-sigs/usage", - "sdk/authentication/session-sigs/walletless-sigs", + 'sdk/authentication/session-sigs/resources-and-abilities', + 'sdk/authentication/session-sigs/capability-objects', + 'sdk/authentication/session-sigs/get-session-sigs', + 'sdk/authentication/session-sigs/usage', + 'sdk/authentication/session-sigs/walletless-sigs', ], }, - "sdk/authentication/security", + 'sdk/authentication/security', ], }, { - type: "category", - label: "Access Control", + type: 'category', + label: 'Access Control', link: { - type: "doc", - id: "sdk/access-control/intro", + type: 'doc', + id: 'sdk/access-control/intro', }, collapsible: true, items: [ - "sdk/access-control/encryption", - "sdk/access-control/jwt-auth", + 'sdk/access-control/encryption', + 'sdk/access-control/jwt-auth', { - type: "category", - label: "Types of Conditions", + type: 'category', + label: 'Types of Conditions', collapsed: true, items: [ - "sdk/access-control/condition-types/unified-access-control-conditions", - "sdk/access-control/condition-types/boolean-logic", + 'sdk/access-control/condition-types/unified-access-control-conditions', + 'sdk/access-control/condition-types/boolean-logic', ], }, { - type: "category", - label: "EVM", + type: 'category', + label: 'EVM', collapsed: true, items: [ - "sdk/access-control/evm/basic-examples", - "sdk/access-control/evm/custom-contract-calls", - "sdk/access-control/evm/poap", - "sdk/access-control/evm/timelock", - "sdk/access-control/evm/siwe", + 'sdk/access-control/evm/basic-examples', + 'sdk/access-control/evm/custom-contract-calls', + 'sdk/access-control/evm/poap', + 'sdk/access-control/evm/timelock', + 'sdk/access-control/evm/siwe', ], }, { - type: "category", - label: "Other Chains", + type: 'category', + label: 'Other Chains', collapsed: true, items: [ - "sdk/access-control/other-chains/sol-rpc-conditions", - "sdk/access-control/other-chains/cosmos-conditions", + 'sdk/access-control/other-chains/sol-rpc-conditions', + 'sdk/access-control/other-chains/cosmos-conditions', ], }, { - type: "category", - label: "Off-Chain", + type: 'category', + label: 'Off-Chain', collapsed: true, - items: [ - "sdk/access-control/lit-action-conditions", - ], + items: ['sdk/access-control/lit-action-conditions'], }, ], }, { - type: "category", - label: "User Wallets", + type: 'category', + label: 'User Wallets', link: { - type: "doc", - id: "sdk/wallets/intro", + type: 'doc', + id: 'sdk/wallets/intro', }, collapsible: true, items: [ { - type: "category", - label: "Auth Methods", + type: 'category', + label: 'Auth Methods', link: { - type: "doc", - id: "sdk/wallets/auth-methods", + type: 'doc', + id: 'sdk/wallets/auth-methods', }, collapsed: true, items: [ { - type: "category", - label: "Lit Auth Methods", + type: 'category', + label: 'Lit Auth Methods', collapsed: true, items: [ - "sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods", - "sdk/wallets/auth-methods/lit-auth-methods/social-login", - "sdk/wallets/auth-methods/lit-auth-methods/web-authn", - "sdk/wallets/auth-methods/lit-auth-methods/email-sms", + 'sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods', + 'sdk/wallets/auth-methods/lit-auth-methods/social-login', + 'sdk/wallets/auth-methods/lit-auth-methods/web-authn', + 'sdk/wallets/auth-methods/lit-auth-methods/email-sms', ], }, - "sdk/wallets/auth-methods/custom-auth", + 'sdk/wallets/auth-methods/custom-auth', ], }, { - type: "category", - label: "Minting a PKP", + type: 'category', + label: 'Minting a PKP', link: { - type: "doc", - id: "sdk/wallets/minting", + type: 'doc', + id: 'sdk/wallets/minting', }, collapsible: true, items: [ - "sdk/wallets/minting-methods/mint-via-contracts", - "sdk/wallets/minting-methods/mint-via-social", - "sdk/wallets/minting-methods/mint-via-web-authn", - "sdk/wallets/minting-methods/mint-via-multiple-auth-methods", + 'sdk/wallets/minting-methods/mint-via-contracts', + 'sdk/wallets/minting-methods/mint-via-social', + 'sdk/wallets/minting-methods/mint-via-web-authn', + 'sdk/wallets/minting-methods/mint-via-multiple-auth-methods', ], }, - "sdk/wallets/walletconnect", + 'sdk/wallets/walletconnect', { - type: "category", - label: "Claimable Keys (HD Keys)", + type: 'category', + label: 'Claimable Keys (HD Keys)', link: { - type: "doc", - id: "sdk/wallets/claimable-keys/intro", + type: 'doc', + id: 'sdk/wallets/claimable-keys/intro', }, collapsible: true, - items: ["sdk/wallets/claimable-keys/usage"], + items: ['sdk/wallets/claimable-keys/usage'], }, ], }, { - type: "category", - label: "Serverless Signing (Lit Actions)", + type: 'category', + label: 'Serverless Signing (Lit Actions)', link: { - type: "doc", - id: "sdk/serverless-signing/overview", + type: 'doc', + id: 'sdk/serverless-signing/overview', }, collapsible: true, items: [ - "sdk/serverless-signing/quick-start", - "sdk/serverless-signing/conditional-signing", - "sdk/serverless-signing/fetch", - "sdk/serverless-signing/processing-validation", - "sdk/serverless-signing/key-claiming", - "sdk/serverless-signing/eip191", + 'sdk/serverless-signing/quick-start', + 'sdk/serverless-signing/conditional-signing', + 'sdk/serverless-signing/fetch', + 'sdk/serverless-signing/processing-validation', + 'sdk/serverless-signing/key-claiming', + 'sdk/serverless-signing/eip191', + 'sdk/serverless-signing/dependencies', ], }, { - type: "category", - label: "Migrations", + type: 'category', + label: 'Migrations', collapsible: true, - items: [ - "sdk/migrations/3.2.0", - ], + items: ['sdk/migrations/3.2.0'], }, - "sdk/tests", + 'sdk/tests', ], }, { - type: "category", - label: "Tools", + type: 'category', + label: 'Tools', collapsed: true, items: [ - "tools/access-control", - "tools/getlit-cli", - "tools/event-listener", - "tools/pkpexplorer", + 'tools/access-control', + 'tools/getlit-cli', + 'tools/event-listener', + 'tools/pkpexplorer', ], }, { - type: "category", - label: "Integrations", + type: 'category', + label: 'Integrations', collapsed: true, items: [ { - type: "category", - label: "Smart Contract Accounts", + type: 'category', + label: 'Smart Contract Accounts', link: { - type: "doc", - id: "integrations/aa/overview", + type: 'doc', + id: 'integrations/aa/overview', }, collapsible: true, items: [ - "integrations/aa/alchemy-account-kit", - "integrations/aa/pimlico", - "integrations/aa/openfort", + 'integrations/aa/alchemy-account-kit', + 'integrations/aa/pimlico', + 'integrations/aa/openfort', ], }, { - type: "category", - label: "Storage", + type: 'category', + label: 'Storage', collapsible: true, items: [ - "integrations/storage/ceramic-example", - "integrations/storage/irys", + 'integrations/storage/ceramic-example', + 'integrations/storage/irys', ], }, ], }, { - type: "category", - label: "Resources", + type: 'category', + label: 'Resources', collapsible: false, - className: "category-not-collapsible", + className: 'category-not-collapsible', items: [ - "resources/how-it-works", - "resources/supported-chains", - "resources/contracts", - "resources/glossary", + 'resources/how-it-works', + 'resources/supported-chains', + 'resources/contracts', + 'resources/glossary', ], }, { - type: "category", - label: "Support", + type: 'category', + label: 'Support', collapsible: false, - className: "category-not-collapsible", - items: ["support/faq", "support/bug-bounty"], + className: 'category-not-collapsible', + items: ['support/faq', 'support/bug-bounty'], }, ], }; From 67a24ee581711dfa388f838fb53adc511cf7148e Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 29 Mar 2024 22:55:46 +0530 Subject: [PATCH 206/627] fix(keyClaim): fix parameters to executeJs in example --- docs/sdk/serverless-signing/key-claiming.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index 879ebcb2..0ea1fef6 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -31,11 +31,11 @@ const keyId = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("theIPFSIdOfYourLi const res = await client.executeJs({ authSig, code: `(async () => { - Lit.Actions.claimKey({keyId}); + Lit.Actions.claimKey({keyId: userId}); })();`, authMethods: [], jsParams: { - keyId + userId: 'foo' }, }); @@ -57,10 +57,10 @@ const keyId = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("theIPFSIdOfYourLi const res = await client.executeJs({ authSig, code: `(async () => { - Lit.Actions.claimKey({keyId}); + Lit.Actions.claimKey({keyId: userId}); })();`, jsParams: { - keyId + userId: 'foo' }, }); From b716ed09763e882e4fb2f94bb2dd57e370226a90 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 29 Mar 2024 23:43:21 +0530 Subject: [PATCH 207/627] fix(faq): fix spelling mistakes in FAQ page --- docs/support/faq.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/support/faq.md b/docs/support/faq.md index 5b96751d..eacc492d 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -158,23 +158,23 @@ For other permissions, please see the contract [here](https://github.com/LIT-Pro ### 2. How to allow permitted users to execute only specific LitActions? -Assign the PKP to itself as we don’t want the PKP owner to arbitrarily change the functioning of the LitAction. Use the PKPHelper.`mintNextAndAddAuthMethods()` for that & to initially setup allow only specific IPFS CIDs to execute. +Assign the PKP to itself as we don't want the PKP owner to arbitrarily change the functioning of the LitAction. Use the PKPHelper.`mintNextAndAddAuthMethods()` for that & to initially set up allowing only specific IPFS CIDs to execute. -But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction, can fetch it from there or put that in the LitAction itself and use `conditional-signing` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../sdk/serverless-signing/conditional-signing.md). +But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction can fetch it from there or put that in the LitAction itself and use `conditional-signing` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../sdk/serverless-signing/conditional-signing.md). ### 3. But I want to upgrade the permitted lit-actions/users? -Since the PKP is assigned to itself in the setup stage as described above, we can’t directly permit any new users/LitActions. Thus we have to lay down the upgrade logic in the LitAction itself. We can have an admin user that can satisfy the update AuthSig check & upgrade the LitAction to a new IPFS CID which will have the new permitted addresses/code. +Since the PKP is assigned to itself in the setup stage as described above, we can't directly permit any new users/LitActions. Thus we have to lay down the upgrade logic in the LitAction itself. We can have an admin user that can satisfy the update AuthSig check & upgrade the LitAction to a new IPFS CID which will have the new permitted addresses/code. ### 4. I want to create multiple different AuthSigs but don't want my users to sign multiple times? -Firstly, if you are using Lit in a browser, the AuthSig is stored in its local storage so you don’t need to sign multiple times as the stored AuthSig will be used subsequently. This design pattern is specifically applicable to when you want to sign different SIWE resources or messages which is generally required in [Custom Contract Calls](../sdk/access-control/evm/custom-contract-calls.md). +Firstly, if you are using Lit in a browser, the AuthSig is stored in its local storage so you don't need to sign multiple times as the stored AuthSig will be used subsequently. This design pattern is specifically applicable when you want to sign different SIWE resources or messages, which is generally required in [Custom Contract Calls](../sdk/access-control/evm/custom-contract-calls.md). -For different resources you’ll be required to sign each time since the signed message is different. One way to get around this is to use a PKP to do the signing for you. This is how it works: The user owns a PKP & uses it to sign a message in a LitAction with `Lit.Actions.signEcdsa()`. Then return all the sigShares from the LitAction to the app. Here the user can loop through & craft AuthSigs for each returned sigShare and process the required access control operation like decryption. Another way is to return the crafted AuthSigs from the LitActions directly. +For different resources, you'll be required to sign each time since the signed message is different. One way to get around this is to use a PKP to do the signing for you. This is how it works: The user owns a PKP & uses it to sign a message in a LitAction with `Lit.Actions.signEcdsa()`. Then return all the sigShares from the LitAction to the app. Here the user can loop through & craft AuthSigs for each returned sigShare and process the required access control operation like decryption. Another way is to return the crafted AuthSigs from the LitActions directly. ### 5. Out of the above two approaches, which one is preferred? -A key point to note here is that the LitAction can execute only for 60 seconds after which it times out. Hence it makes sense to reduce complexity in the LitActions code. Also if you want to create a lot of AuthSigs process those in batches. This will require multiple calls to execute the LitAction. You may also parallelize these promises using a package like [p-queue](https://www.npmjs.com/package/p-queue). +A key point to note here is that the LitAction can execute only for 60 seconds after which it times out. Hence it makes sense to reduce complexity in the LitActions code. Also, if you want to create a lot of AuthSigs, process those in batches. This will require multiple calls to execute the LitAction. You may also parallelize these promises using a package like [p-queue](https://www.npmjs.com/package/p-queue).
    @@ -182,17 +182,17 @@ A key point to note here is that the LitAction can execute only for 60 seconds a ### 1. What encryption algorithm are you using? AES? -Yes. AES-GCM webcrypto for the symmetric encryption. then that key is encrypted to the Lit network's BLS public key. the BLS private key shares are used by the nodes to decrypt. +Yes, AES-GCM webcrypto is used for symmetric encryption. Then that key is encrypted to the Lit network's BLS public key. The BLS private key shares are used by the nodes to decrypt. -### 2. How does Lit handles key management? +### 2. How does Lit handle key management? -There is only one key, created with distributed key generation. The nodes all know the public key but nobody knows the whole private key. +There is only one key, created with distributed key generation. The nodes all know the public key, but nobody knows the whole private key. ### 3. What's to prevent a Lit node operator from discovering all the symmetric keys stored on the network and being able to decrypt anything? -**(cont'd) It says that it uses BLS threshold signatures so that the decryption key is split into multiple pieces, but that doesn't really totally explain how the key management works? How nodes learn about the various keys being managed by the network? How you prevent one node operator from accumulating all the component keys needed to reconstruct any of the symmetric decryption keys?** +**(cont'd) It says that it uses BLS threshold signatures so that the decryption key is split into multiple pieces, but that doesn't really totally explain how the key management works? How do nodes learn about the various keys being managed by the network? How do you prevent one node operator from accumulating all the component keys needed to reconstruct any of the symmetric decryption keys?** -Each node only holds a private key share. When a user wants to decrypt something, he presents the thing to decrypt, and proof that he meets the conditions (a wallet signature). Each node independently checks that the user meets the condition with a RPC call to an ETH node. If the user meets the condition, the node uses its private key share to create a decryption share. The user collects the decryption shares and accumulates them above the threshold, and is then able to decrypt the content. +Each node only holds a private key share. When a user wants to decrypt something, they present the thing to decrypt and proof that they meet the conditions (a wallet signature). Each node independently checks that the user meets the condition with an RPC call to an ETH node. If the user meets the condition, the node uses its private key share to create a decryption share. The user collects the decryption shares and accumulates them above the threshold and is then able to decrypt the content. So, you can see, the nodes don't talk to each other when decrypting the content. Each node's private key share never leaves the node. @@ -200,33 +200,33 @@ So, you can see, the nodes don't talk to each other when decrypting the content. **(cont'd) If the latter, then doesn't that mean that there's no redundancy on the key fragments and you're very susceptible to nodes going offline? Like if too many nodes go offline then you might no longer have enough key fragments in the online nodes to decrypt some pieces of content?** -Right now, we're running all the nodes, so the nodes and shares don't change. soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. we use a process called proactive secret sharing to share the private key shares with new nodes as they come online. the shares given to new nodes are incompatible with any nodes that have left the network. we use threshold encryption with a 2/3 threshold so redundancy is built in. +Right now, we're running all the nodes, so the nodes and shares don't change. Soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. We use a process called proactive secret sharing to share the private key shares with new nodes as they come online. The shares given to new nodes are incompatible with any nodes that have left the network. We use threshold encryption with a 2/3 threshold, so redundancy is built-in. ### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? -In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node. so, you can do the math there to figure out the cryptoeconomic guarantees depending on the number of nodes and the staking cost, which are parameters we will tune. We also intend to use probabilistic guarantees that make it difficult for a given node operator to actually know which private key shares they have and which public keys they correspond to. Meaning, a node operator doesn't actually know what stuff the key share they are holding will unlock. the goal here is to make it difficult to amass 2/3 of the private key shares for a given private key. +In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node. So, you can do the math there to figure out the cryptoeconomic guarantees depending on the number of nodes and the staking cost, which are parameters we will tune. We also intend to use probabilistic guarantees that make it difficult for a given node operator to actually know which private key shares they have and which public keys they correspond to. Meaning, a node operator doesn't actually know what stuff the key share they are holding will unlock. The goal here is to make it difficult to amass 2/3 of the private key shares for a given private key. ### 6. Orphaned and unreachable data due to nodes rotating **(cont'd) Even with the redundancy that 2/3 threshold encryption gives you, that's 2/3 of the number of shares at the time of the encryption right? So over a long enough time horizon, isn't it fairly likely that after a few years you'll have had enough nodes rotate off the network that more than a third of the shares for some early content encrypted by the network are now lost, leaving that data orphaned and unable to ever be decrypted?** -Nope! you're probably thinking of shares in the context of shamir's secret sharing? We use threshold encryption which is different. Nodes all share one big private key generated via a distributed key generation operation. Nobody knows the whole private key. As nodes join and leave the network, through a process called proactive secret sharing, the private key shares are regenerated and each node gets a new private key share. But the shares, together, still represent the original private key. +Nope! You're probably thinking of shares in the context of Shamir's secret sharing? We use threshold encryption, which is different. Nodes all share one big private key generated via a distributed key generation operation. Nobody knows the whole private key. As nodes join and leave the network, through a process called proactive secret sharing, the private key shares are regenerated, and each node gets a new private key share. But the shares, together, still represent the original private key. -So the entire network could turnover (all nodes that were there when you encrypted content are gone) but you can still decrypt the content, becuause the private key itself is persisted +So the entire network could turnover (all nodes that were there when you encrypted content are gone), but you can still decrypt the content because the private key itself is persisted. ### 7. So you need 2/3 of the entire network to decrypt content? not 2/3 of some fixed constant number of key fragments? -Yup! those are the default params we are launching with. Over time, we want to let users launch their own "subnets" with their own parameters. +Yup! Those are the default params we are launching with. Over time, we want to let users launch their own "subnets" with their parameters. ### 8. As the number of nodes on the network grows, it gets more secure, but also slower to decrypt content? -Yeah that's correct. we plan to tune the network to have the max number of nodes while still remaining within some performance bounds. like if we can have 100 nodes and it takes less than 2 seconds to unlock something, that would be acceptable. when the network grows beyond that size, we support the automatic creation of subnets, which are basically just parallel networks. and then when someone goes to store some content, automatically load balance between those subnets +Yeah, that's correct. We plan to tune the network to have the max number of nodes while still remaining within some performance bounds. Like if we can have 100 nodes and it takes less than 2 seconds to unlock something, that would be acceptable. When the network grows beyond that size, we support the automatic creation of subnets, which are basically just parallel networks. And then when someone goes to store some content, automatically load balance between those subnets. -### 9. So long as that an attack on the network remains impractical then the system is pretty robust? +### 9. So long as an attack on the network remains impractical, then the system is pretty robust? **(cont'd) One operator runs enough nodes to gather sufficient fragments to decrypt stuff - is sufficiently difficult and costly to execute so as to be impractical. That still seems like the most likely attack vector if things aren't designed just right. ** -Yeah you nailed it - there are lots of little tricks we can use there. like suppose there are 10 subnets each with their own private key, each with 100 nodes. if you wanted to break one of those private keys, you would need to run 66 of 100 of those nodes. but, when you join the network, the subnet you are assigned to is uniformly random. so now, you need to run 666 of 1000 nodes to amass those 66 shares for a single given subnet (maybe technically less due to the birthday problem). we could give out fake shares. we could make it difficult to discover which public key goes with which private key share, so as a node operator can't even tell which shares will unlock a given piece of data. It's a hard problem to solve but we have a lot of tools. +Yeah, you nailed it - there are lots of little tricks we can use there. Like suppose there are 10 subnets each with their private key, each with 100 nodes. If you wanted to break one of those private keys, you would need to run 66 of 100 of those nodes. But when you join the network, the subnet you are assigned to is uniformly random. So now, you need to run 666 of 1000 nodes to amass those 66 shares for a single given subnet (maybe technically less due to the birthday problem). We could give out fake shares. We could make it difficult to discover which public key goes with which private key share, so a node operator can't even tell which shares will unlock a given piece of data. It's a hard problem to solve, but we have a lot of tools.
    From 2e6ec67e89b7f2c1f9a82e01bb676c3c7b0c6d2d Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Tue, 2 Apr 2024 02:14:27 +0530 Subject: [PATCH 208/627] fix(faq): fixed things in FAQ page --- docs/support/faq.md | 132 +++++++++++++++++--------------------------- 1 file changed, 52 insertions(+), 80 deletions(-) diff --git a/docs/support/faq.md b/docs/support/faq.md index eacc492d..658fa67c 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -6,37 +6,33 @@ sidebar_position: 2 ## General Questions -### 1. Does the SDK work with Typescript? +### 1. Does the Lit SDK work with Typescript? Yes, you can find the latest Lit JS SDK version [here](https://github.com/LIT-Protocol/js-sdk). The older JavaScript library [lit-js-sdk](https://github.com/LIT-Protocol/lit-js-sdk) has been deprecated as of March 2023. -### 2. Are there fees for using Lit? What about rate limits? +### 2. How do I pay for using the Lit Network? -Currently access control conditions aren’t very expensive in terms of compute & storage, so we’ve been working under the premise that the “artificial” rate limiting of web3 (i.e., RPC endpoints aren’t lightning fast right now) will provide all users with an equal opportunity of excellent network performance. Our payment model, when it becomes active, is predicated on payment being made to store access control conditions - not to read & evaluate them. - -So while we don’t have plans for access control rate limiting yet, it could help with scaling up; Lit could envision a project that stores a single access control conditions, and then effectively attempts to “read” it a thousand times a second … obviously this starts to add up, and takes from other projects. This could create a rate limiting scenario - though we’d prefer to scale up first! - -In the end, rate limiting (if applied correctly and in good faith!) is a reasonable economic measure that falls into the web3 ethos of paying for what gets used - and only what gets used. 🙂 +To use the Lit Network you must mint Capacity Credits, which permit you to execute a configurable number of requests per second over a given period of time. You can read the docs on payments here: https://developer.litprotocol.com/v3/concepts/capacity-credits-concept.
    ## Auth Sigs & Session Sigs -### 1. Can’t use checkAndSignAuthMessage in a backend project? +### 1. Can I use checkAndSignAuthMessage in a backend project? -`checkAndSignAuthMessage` can only be used in browsers as it pops up Metamask or other crypto wallets for you to sign & generate the Authsig. In a backend project, you have to use hot wallet signing to generate the AuthSig. Check out this project: https://github.com/LIT-Protocol/hotwallet-signing-example/blob/main/sign.mjs +The `checkAndSignAuthMessage` function can only be used in browser environments as it will prompt a Metamask (or other crypto wallet) popup for you to sign & generate the Authsig. If you are building a backend project, you have to use hot wallet signing to generate the AuthSig. You can learn how to do so following this project: https://github.com/LIT-Protocol/hotwallet-signing-example/blob/main/sign.mjs ### 2. My AuthSig was working before but now I get the error: Error getting auth context: Signature is not valid -We’ve enforced [EIP-55](https://eips.ethereum.org/EIPS/eip-55) compliance so now it’s necessary to use a SIWE message if you’re using hot wallet signing. +We are enforcing compliance with [EIP-55](https://eips.ethereum.org/EIPS/eip-55) so it is now necessary to use a SIWE message if you’re using hot wallet signing. ### 3. Why don’t I get a MetaMask popup for signing? -The signature is stored in your browser local storage for convenience. You can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html) to delete it from the local storage. +The auth signature is stored in your browser's local storage for convenience. You can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html) to delete it from local storage. ### 4. How would this work if we wanted to use a custodial wallet instead? -With a custodial wallet, there is no need to store the signature. the reason it's stored is to prevent the user from having to sign the MetaMask popup a dozen times if they're doing a dozen operations. but with a custodial wallet, there is no MetaMask popup, so you can just create the signature fresh each time. +With a custodial wallet, there is no need to store the signature. The reason it's stored is to prevent the user from having to sign the MetaMask popup a dozen times if they're doing a dozen operations. If you are using a custodial wallet, there is no MetaMask popup, so you can just create the signature fresh each time.
    @@ -44,17 +40,13 @@ With a custodial wallet, there is no need to store the signature. the reason it' ### 1. What is the difference between authorization and authentication? -An authentication method refers to the specific credential (i.e a wallet address, Google oAuth, or Discord account) that is programmatically tied to the PKP and used to control the underlying key-pair. +Authentication refers to the specific credential(s) (i.e a wallet address, Google oAuth, or Discord account) that get programmatically "assigned" to a PKP and have the ability to control the underlying key-pair. Read more about authentication here: https://developer.litprotocol.com/v3/sdk/wallets/auth-methods. -Authorization is through auth signatures - an auth sig is always required when making a request to Lit, whether it be decrypting some piece of content or sending a transaction with a PKP. +Authorization refers to the use of an auth signature, which is always required when making a request to the Lit Network, whether it be decrypting some piece of content or sending a transaction with a PKP. You can read more about auth sigs here: https://developer.litprotocol.com/v3/sdk/authentication/overview. ### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? -You can start by minting a PKP and granting permission to your Lit Action to sign using it. Since each PKP is a valid Ethereum wallet, your Access Control Condition should be checking for ownership of a particular wallet address. For this context, the public address of the PKP should be passed in as your [parameter](../../../v3/sdk/access-control/evm/basic-examples#a-specific-wallet-address). You can configure your Lit Action to create an SIWE AuthSig using the PKP, only if your conditions have been met. - -We are currently working on implementing a more direct solution for using Lit Actions and ACCs together, allowing users to define ACCs that provision access based on the result of any Lit Action. This will enable the generation of more complex ACCs and the use of off-chain data in your conditions. - -Before this solution has been released (ETA ~1 month) make sure you set the expiration time in the SIWE Auth Sig to something short so that the user can't take it and pass it around to others who shouldn’t have access. +Yes this is possible. You can follow the docs on Lit Actions Conditions to get started with this You can read more about auth sigs here: https://developer.litprotocol.com/v3/sdk/authentication/overview functionality: https://developer.litprotocol.com/v3/sdk/access-control/lit-action-conditions. ### 3. How to get the BTC address for a PKP? @@ -74,13 +66,13 @@ const pkpBTCAddress = bitcoinjs.payments.p2pkh({ }).address; ``` -### 3. "Internal JSON-RPC error" When attempting to mint a PKP +### 4. "Internal JSON-RPC error" When attempting to mint a PKP -You must have `Lit` test token in your wallet when minting a pkp, as it is used to pay the gas cost. +Make sure that you have some LPX test tokens in your wallet before minting a PKP in order to pay for gas. You can use the faucet to claim test tokens: https://faucet.litprotocol.com/. -### 4. “Error: Invalid arrayify value”upon passing IPFS CID to functions (isPermittedActions, etc.) while interacting with PKPPermissions contract? +### 5. “Error: Invalid arrayify value” upon passing an IPFS CID to a function (e.g. isPermittedActions) while interacting with the PKPPermissions contract? -The error is because the expected data type for IPFS CID in the contract is bytes. You have to use the conversion function below to convert your IPFS to bytes: +This occurs because the expected data type for an IPFS CID in the PKPPermissions contract is bytes. You have to use the conversion function below to convert your IPFS to bytes: ```js function getBytesFromMultihash(ipfsId) { @@ -90,31 +82,27 @@ function getBytesFromMultihash(ipfsId) { } ``` -### 5. How to import an npm package inside a LitAction? +### 6. How to import an npm package inside a Lit Action? -You have to use `esbuild` to create a bundle & use that. See example [here](https://github.com/LIT-Protocol/js-serverless-function-test/tree/main/bundleTests/siwe). +You have to use `esbuild` to create a bundle & use that. Check out an example [here](https://github.com/LIT-Protocol/js-serverless-function-test/tree/main/bundleTests/siwe). -### 6. I’ve permitted LitAction for my PKP, do I still need to pass a valid authSig? +### 7. I’ve permitted a Lit Action to use my PKP, do I still need to pass a valid authSig? -Yes, the AuthSig is required to authenticate with the nodes. If you pass an empty object, the nodes will throw an error. You can use a global AuthSig if it’s not being used for auth hence it can be made available to all the users. Alternatively you may produce an AuthSig on the fly using hot wallet signing. +Yes, the AuthSig is required to authenticate with the Lit nodes in the first place. If you pass an empty object, the nodes will throw an error. You can use a global AuthSig if it’s not being used for auth directly, which will mean that it can be made available to all of your users. Alternatively you can produce an AuthSig on the fly using hot wallet signing. -### 7. What should be the value of keyType when interacting directly with the PKPNFT Contract? +### 8. What should be the value of keyType when interacting directly with the PKPNFT Contract? -The value should be `2` as it represents ECDSA which supports the PKP. +The value should be `2` as it represents ECDSA signing. Currently, this is the only supported algorithm for signing with PKPs -### 8. I want to understand how the PKP works internally. +### 9. Can I use a PKP to sign/send transactions like a regular Ethereum wallet? -Check out our [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/) on how authentication works with PKPs. +Yes, please check out the [pkp-ethers package](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-ethers) in the Lit SDK. -### 9. Can I use PKP to sign/send transactions as a regular Ethers Wallet object? +### 10. How can I use an Ethereum JSON RPC requests to sign and send transactions? -Yes, please check out the [pkp-ethers package](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-ethers). +Check out this PKP x WalletConnect example [here](https://github.com/LIT-Protocol/pkp-walletconnect) to see how one can use PKP to connect to dApps and sign and send Ethereum requests using WalletConnect. -### 10. But how can I use Ethereum JSON RPC requests for signing and sending transactions? - -Check out this PKP x WalletConnect example [here](https://github.com/LIT-Protocol/pkp-walletconnect) to see how one can use PKP to connect to dApps and sign and send Ethereum requests through WalletConnect. - -### 11. Is Web Assembly supported in LitActions? +### 11. Is Web Assembly supported in Lit Actions? Yes! Check out this [sample project.](https://github.com/dOrgJelli/lit-protocol-wasm-test/blob/d4b8873f9a5bceaf98e7f7a1bf325bf597cbfa40/src/App.js#L6-L51.) @@ -136,97 +124,81 @@ Yes! See [boolean logic](../sdk/access-control/condition-types/boolean-logic) fo ### 3. Where can I save the ciphertext & dataToEncryptHash? -The Lit network doesn’t store these encrypted contents for you. You can store these anywhere you want; in a database, in an on-chain smart contract, IPFS, anywhere else you like. +The Lit network doesn’t store any encrypted content for you. You can store these anywhere you want; in a database, in an on-chain smart contract, IPFS, anywhere else you like. ### 4. How to construct an accessControlCondition to authorize only a specific wallet address? -Check out the solution [here](../sdk/access-control/evm/basic-examples#a-specific-wallet-address). +Check out an example [here](../sdk/access-control/evm/basic-examples#a-specific-wallet-address). ### 5. How to use a time-lock based accessControlCondition? -Check out the solution [here](../sdk/access-control/evm/timelock). +Check out an example [here](../sdk/access-control/evm/timelock).
    ## Design Patterns -### 1. How to allow only permitted users to execute a LitAction? - -Use the `PKPPermission.addPermittedAddress()` to allow only specific users to execute a LitAction. Note, this will allow these users to execute any LitAction. +### 1. How to allow only permitted users to execute a given Lit Action? -For other permissions, please see the contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol). +You can use the `PKPPermission.addPermittedAddress()` function to give other users permission to sign using your PKP. Any Lit Actions assigned to that PKP can then be executed by those users. -### 2. How to allow permitted users to execute only specific LitActions? +To configure other permissions, please use the contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol). -Assign the PKP to itself as we don't want the PKP owner to arbitrarily change the functioning of the LitAction. Use the PKPHelper.`mintNextAndAddAuthMethods()` for that & to initially set up allowing only specific IPFS CIDs to execute. +### 2. How to allow permitted users to execute only specific Lit Actions? -But anyone can now call these LitActions, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or the LitAction can fetch it from there or put that in the LitAction itself and use `conditional-signing` to check whether the provided AuthSig is permitted to execute the LitAction. Learn more [here](../sdk/serverless-signing/conditional-signing.md). +You can start by assigning the PKP to itself as we don't want the PKP owner to arbitrarily change the Lit Action. Check out the docs on doing so here: https://developer.litprotocol.com/v3/sdk/wallets/auth-methods#sending-the-pkp-to-itself. You can also use the PKPHelper.`mintNextAndAddAuthMethods()` function to do this by passing in a specific IPFS CIDs with permission to execute. -### 3. But I want to upgrade the permitted lit-actions/users? +Note that now anyone call your Lit Action, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or in the Lit Action itself and, fetch it from there. If you decide to put the access list in the Lit Action itself, you can use `conditional-signing` to check whether the provided AuthSig is permitted to execute the Lit Action. Learn more [here](../sdk/serverless-signing/conditional-signing.md). -Since the PKP is assigned to itself in the setup stage as described above, we can't directly permit any new users/LitActions. Thus we have to lay down the upgrade logic in the LitAction itself. We can have an admin user that can satisfy the update AuthSig check & upgrade the LitAction to a new IPFS CID which will have the new permitted addresses/code. +### 3. How can I update the permitted Lit Actions/users assigned to a PKP? -### 4. I want to create multiple different AuthSigs but don't want my users to sign multiple times? +Since the PKP is assigned to itself in the setup stage as described above, we can't directly permit any new users/Lit Actions. Thus we have to lay down the upgrade logic in the Lit Action itself. We can have an admin user that can satisfy the update AuthSig check & upgrade the Lit Action to a new IPFS CID which will have the new permitted addresses/code. -Firstly, if you are using Lit in a browser, the AuthSig is stored in its local storage so you don't need to sign multiple times as the stored AuthSig will be used subsequently. This design pattern is specifically applicable when you want to sign different SIWE resources or messages, which is generally required in [Custom Contract Calls](../sdk/access-control/evm/custom-contract-calls.md). +### 4. I want to create multiple different AuthSigs but don't want to require my users to sign multiple times? -For different resources, you'll be required to sign each time since the signed message is different. One way to get around this is to use a PKP to do the signing for you. This is how it works: The user owns a PKP & uses it to sign a message in a LitAction with `Lit.Actions.signEcdsa()`. Then return all the sigShares from the LitAction to the app. Here the user can loop through & craft AuthSigs for each returned sigShare and process the required access control operation like decryption. Another way is to return the crafted AuthSigs from the LitActions directly. +Firstly, if you are using Lit in a browser environment, the AuthSig is stored in local storage so you don't need to sign multiple times as the stored AuthSig will be used in subsequent requests made by that user. This design pattern is specifically applicable when you want to sign different SIWE resources or messages, which is generally required when making [Custom Contract Calls](../sdk/access-control/evm/custom-contract-calls.md). -### 5. Out of the above two approaches, which one is preferred? +For different resources, you'll be required to sign each time since the signed message is different. One way to get around this is to use a PKP to do the signing for you. This is how it works: The user owns a PKP & uses it to sign a message in a Lit Action with `Lit.Actions.signEcdsa()` function. You can then return all of the sigShares from the Lit Action to your application. Here the user can loop through & craft AuthSigs for each returned sigShare and process the required access control operation (i.e. decryption). Another way is to return the crafted AuthSig from the Lit Action directly. -A key point to note here is that the LitAction can execute only for 60 seconds after which it times out. Hence it makes sense to reduce complexity in the LitActions code. Also, if you want to create a lot of AuthSigs, process those in batches. This will require multiple calls to execute the LitAction. You may also parallelize these promises using a package like [p-queue](https://www.npmjs.com/package/p-queue). +A key point to note here is that the Lit Action can only execute for 60 seconds before it times out. Hence it makes sense to reduce complexity in your Lit Actions code. If you want to create a lot of AuthSigs, you should process those in batches. This will require multiple calls to execute the Lit Action. You may also parallelize these processes using a package like [p-queue](https://www.npmjs.com/package/p-queue).
    ## Security & Trust Implications -### 1. What encryption algorithm are you using? AES? +### 1. What encryption algorithm does Lit uses? -Yes, AES-GCM webcrypto is used for symmetric encryption. Then that key is encrypted to the Lit network's BLS public key. The BLS private key shares are used by the nodes to decrypt. +The Lit network uses an identity (ID) based encryption scheme with BLS signatures to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. Read out more [here](https://developer.litprotocol.com/v3/sdk/access-control/encryption). ### 2. How does Lit handle key management? There is only one key, created with distributed key generation. The nodes all know the public key, but nobody knows the whole private key. -### 3. What's to prevent a Lit node operator from discovering all the symmetric keys stored on the network and being able to decrypt anything? +### 3. What's to prevent a Lit node operator from discovering all of the key shares stored in the network and being able to use them to sign or decrypt anything? -**(cont'd) It says that it uses BLS threshold signatures so that the decryption key is split into multiple pieces, but that doesn't really totally explain how the key management works? How do nodes learn about the various keys being managed by the network? How do you prevent one node operator from accumulating all the component keys needed to reconstruct any of the symmetric decryption keys?** - -Each node only holds a private key share. When a user wants to decrypt something, they present the thing to decrypt and proof that they meet the conditions (a wallet signature). Each node independently checks that the user meets the condition with an RPC call to an ETH node. If the user meets the condition, the node uses its private key share to create a decryption share. The user collects the decryption shares and accumulates them above the threshold and is then able to decrypt the content. +Each node only holds a private key share. When a user wants to decrypt or sign something, they present the thing to decrypt and proof that they meet the conditions (using a wallet signature or permitted auth method). Each node independently checks that the user meets the condition with an RPC call to the applicable network. If the user meets the condition, the node uses its private key share to create a decryption os signing share. The user collects the decryption shares and accumulates them above the threshold and is then able to decrypt or sign the content. So, you can see, the nodes don't talk to each other when decrypting the content. Each node's private key share never leaves the node. -### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? Or is each key fragment tied to a single node lifetime? - -**(cont'd) If the latter, then doesn't that mean that there's no redundancy on the key fragments and you're very susceptible to nodes going offline? Like if too many nodes go offline then you might no longer have enough key fragments in the online nodes to decrypt some pieces of content?** +### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? Right now, we're running all the nodes, so the nodes and shares don't change. Soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. We use a process called proactive secret sharing to share the private key shares with new nodes as they come online. The shares given to new nodes are incompatible with any nodes that have left the network. We use threshold encryption with a 2/3 threshold, so redundancy is built-in. ### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? -In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node. So, you can do the math there to figure out the cryptoeconomic guarantees depending on the number of nodes and the staking cost, which are parameters we will tune. We also intend to use probabilistic guarantees that make it difficult for a given node operator to actually know which private key shares they have and which public keys they correspond to. Meaning, a node operator doesn't actually know what stuff the key share they are holding will unlock. The goal here is to make it difficult to amass 2/3 of the private key shares for a given private key. - -### 6. Orphaned and unreachable data due to nodes rotating - -**(cont'd) Even with the redundancy that 2/3 threshold encryption gives you, that's 2/3 of the number of shares at the time of the encryption right? So over a long enough time horizon, isn't it fairly likely that after a few years you'll have had enough nodes rotate off the network that more than a third of the shares for some early content encrypted by the network are now lost, leaving that data orphaned and unable to ever be decrypted?** +In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node which means, you can do the math to figure out the cryptoeconomic guarantees depending on the number of nodes and the required stake amount, which are parameters that will be fine-tuned. We also intend to use probabilistic guarantees that make it difficult for a given node operator to actually know which private key shares they have and which public keys they correspond to. Meaning, a node operator doesn't actually know what stuff the key share they are holding will unlock. Additionally, the use of SEV-SNP as a hardware requirement means node operators ever have access to any of the underlying key material contained within their node. -Nope! You're probably thinking of shares in the context of Shamir's secret sharing? We use threshold encryption, which is different. Nodes all share one big private key generated via a distributed key generation operation. Nobody knows the whole private key. As nodes join and leave the network, through a process called proactive secret sharing, the private key shares are regenerated, and each node gets a new private key share. But the shares, together, still represent the original private key. - -So the entire network could turnover (all nodes that were there when you encrypted content are gone), but you can still decrypt the content because the private key itself is persisted. - -### 7. So you need 2/3 of the entire network to decrypt content? not 2/3 of some fixed constant number of key fragments? +### 6. So you need 2/3 of the entire network to decrypt or sign the content? Not 2/3 of some fixed constant number of key fragments? Yup! Those are the default params we are launching with. Over time, we want to let users launch their own "subnets" with their parameters. -### 8. As the number of nodes on the network grows, it gets more secure, but also slower to decrypt content? - -Yeah, that's correct. We plan to tune the network to have the max number of nodes while still remaining within some performance bounds. Like if we can have 100 nodes and it takes less than 2 seconds to unlock something, that would be acceptable. When the network grows beyond that size, we support the automatic creation of subnets, which are basically just parallel networks. And then when someone goes to store some content, automatically load balance between those subnets. +### 7. How is performance impacted as the number of nodes in the network increases? -### 9. So long as an attack on the network remains impractical, then the system is pretty robust? +The network is designed to handle a large number of nodes while maintaining acceptable performance. As the network grows, subnets can be automatically created to distribute the load and improve performance. -**(cont'd) One operator runs enough nodes to gather sufficient fragments to decrypt stuff - is sufficiently difficult and costly to execute so as to be impractical. That still seems like the most likely attack vector if things aren't designed just right. ** +### 8. Is the system robust against attacks? -Yeah, you nailed it - there are lots of little tricks we can use there. Like suppose there are 10 subnets each with their private key, each with 100 nodes. If you wanted to break one of those private keys, you would need to run 66 of 100 of those nodes. But when you join the network, the subnet you are assigned to is uniformly random. So now, you need to run 666 of 1000 nodes to amass those 66 shares for a single given subnet (maybe technically less due to the birthday problem). We could give out fake shares. We could make it difficult to discover which public key goes with which private key share, so a node operator can't even tell which shares will unlock a given piece of data. It's a hard problem to solve, but we have a lot of tools. +The system is designed to mitigate attacks, including the scenario where an operator runs multiple nodes to gather sufficient fragments to decrypt data. Various techniques are employed, such as distributing private keys across subnets and making it difficult to determine which shares correspond to specific data. These measures make such attacks impractical and costly to execute.
    From 846fcc6a7b84362fb13f560313da387dc292f627 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Tue, 2 Apr 2024 02:46:40 +0530 Subject: [PATCH 209/627] fix(faq): fixed few more things in FAQ page --- docs/support/faq.md | 4 ++-- package.json | 2 +- yarn.lock | 42 +++++++++++++++++++++--------------------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/support/faq.md b/docs/support/faq.md index 658fa67c..065a38f3 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -172,7 +172,7 @@ The Lit network uses an identity (ID) based encryption scheme with BLS signature ### 2. How does Lit handle key management? -There is only one key, created with distributed key generation. The nodes all know the public key, but nobody knows the whole private key. +Lit handles PKPs which are public/private key-pairs generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. Read more about this [here](https://developer.litprotocol.com/v3/resources/how-it-works#decentralized-programmable-signing-and-mpc-wallets). ### 3. What's to prevent a Lit node operator from discovering all of the key shares stored in the network and being able to use them to sign or decrypt anything? @@ -182,7 +182,7 @@ So, you can see, the nodes don't talk to each other when decrypting the content. ### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? -Right now, we're running all the nodes, so the nodes and shares don't change. Soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. We use a process called proactive secret sharing to share the private key shares with new nodes as they come online. The shares given to new nodes are incompatible with any nodes that have left the network. We use threshold encryption with a 2/3 threshold, so redundancy is built-in. +Right now, we're running the nodes for the Manzano and Habanero networks, which are decentralized networks being run by 3rd party operators. The nodes and shares for these networks don't change. Soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. We use a process called proactive secret sharing to share the private key shares with new nodes as they come online. The shares given to new nodes are incompatible with any nodes that have left the network. We use threshold encryption with a 2/3 threshold, so redundancy is built-in. ### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? diff --git a/package.json b/package.json index ffaa23c6..dd3c5589 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^4.1.1", + "@lit-protocol/constants": "^4.2.0", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 9f40bc5c..071c0915 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,44 +2242,44 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" - integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== +"@lit-protocol/accs-schemas@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.7.tgz#aad45c27f8c1dc0363a08771bdab50b595dc34d7" + integrity sha512-n8fJ6NMh2T3KgSKe0CRB0Uam6ZwxUTQV0oQXY0vEmSL+Q2a1PsM2FX42szOM+O7LgY+Bko7AiCjjDHbqQoJydg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.1.1.tgz#8bb6ec309db2541697b993b06918bf2816bd90bc" - integrity sha512-N1wzaDwsGhfeOlirb3KgubsvqRZFQFGkVgFRQl4wyNshueyaY2VwVTDj869pf2DVKapzC17C8OZfE2r10j3WpA== +"@lit-protocol/auth-helpers@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.0.tgz#1c6bf0f691208ff3bed2db9f8dfa518e708251f3" + integrity sha512-dKgBBWwsoFzbVfxOJAI4Nf1mZ4kE7sZ+ynzrXqfpIF7KRejjv43At7nJbZU+BdaqrJb7F7H3CvbL7y5WWEVJWg== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.1.1.tgz#f0a16e475d17f3bbf43c3249db3bba8fb28e12d7" - integrity sha512-FmJEAweMGvOnQrWh4B3Bxdt2EdWKjwIXZp3McSlCbAdVvqTumj3qRrCqmPummJ1ajelxePKuwHZ17xv0yTnJMg== +"@lit-protocol/constants@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.0.tgz#d007f5efd32f6086af2976517fc369d806a6e554" + integrity sha512-AA2jO4nZwInPcMOztsHWSZe2heY3oxRchy98AhP3T0vcH5qCLwWZjr3P84EVWRu8rYqH6HXTHZCEr+CMo7hmGg== dependencies: "@ethersproject/abstract-provider" "5.7.0" - "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "4.1.1" - "@lit-protocol/types" "4.1.1" + "@lit-protocol/accs-schemas" "0.0.7" + "@lit-protocol/auth-helpers" "4.2.0" + "@lit-protocol/types" "4.2.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.1.1.tgz#f0056d2b80e987bb4b4ec168d0cf980094bbd893" - integrity sha512-d0oq6JU4Ls0n7aJ/7duH3y9gXaWO3++1RaJeKvwRkfpRLKCsfLNCl+yfvcRD+LHSADeMYTN1b99dLY9ao+5u7Q== +"@lit-protocol/types@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.0.tgz#ba377207a39ac12f4d78b20c2f7b1db2459343f7" + integrity sha512-9lRXsV9A377RBsvqUUE5a0ajV8UxBJ6nijT3zaGOd+Kkp8l6x72hkIdkxUP6GwIiocIgAglVssAuhlXYIDTFPQ== dependencies: "@ethersproject/abstract-provider" "5.7.0" - "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "4.1.1" + "@lit-protocol/accs-schemas" "0.0.7" + "@lit-protocol/auth-helpers" "4.2.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 8fbb36a147b738a3095ee60f031a68ba9c4d668a Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 3 Apr 2024 17:28:28 +0530 Subject: [PATCH 210/627] fix(faq): fixed few more things in FAQ page --- docs/support/faq.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/support/faq.md b/docs/support/faq.md index 065a38f3..322b6b4e 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -182,15 +182,15 @@ So, you can see, the nodes don't talk to each other when decrypting the content. ### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? -Right now, we're running the nodes for the Manzano and Habanero networks, which are decentralized networks being run by 3rd party operators. The nodes and shares for these networks don't change. Soon, we will run a federated network with named nodes, and the ultimate goal is to run a permissionless one. We use a process called proactive secret sharing to share the private key shares with new nodes as they come online. The shares given to new nodes are incompatible with any nodes that have left the network. We use threshold encryption with a 2/3 threshold, so redundancy is built-in. +Right now, Manzano and Habanero are federated networks being run by named 3rd party operators. The ultimate goal is to transition to a fully permissionless network. Root keys are updated every epoch, rendering old shares functionally useless. New shares are shared with new operators through proactive secret sharing. The network uses threshold encryption with a 2/3 threshold, providing redundancy and security. ### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? -In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node which means, you can do the math to figure out the cryptoeconomic guarantees depending on the number of nodes and the required stake amount, which are parameters that will be fine-tuned. We also intend to use probabilistic guarantees that make it difficult for a given node operator to actually know which private key shares they have and which public keys they correspond to. Meaning, a node operator doesn't actually know what stuff the key share they are holding will unlock. Additionally, the use of SEV-SNP as a hardware requirement means node operators ever have access to any of the underlying key material contained within their node. +In the federated network with named nodes, we know who the operators are, so a sybil attack is pretty hard. In the permissionless network, node operators must stake to run a node which means, you can do the math to figure out the cryptoeconomic guarantees depending on the number of nodes and the required stake amount, which are parameters that will be fine-tuned. Additionally, the use of SEV-SNP as a hardware requirement means node operators never have access to any of the underlying key material contained within their node. ### 6. So you need 2/3 of the entire network to decrypt or sign the content? Not 2/3 of some fixed constant number of key fragments? -Yup! Those are the default params we are launching with. Over time, we want to let users launch their own "subnets" with their parameters. +Yes, those are the default parameters that the Lit Network has launched with. We are currently exploring a 'subnet' architecture which would allow developers to launch their own subnets with their desired parameters ### 7. How is performance impacted as the number of nodes in the network increases? @@ -198,7 +198,9 @@ The network is designed to handle a large number of nodes while maintaining acce ### 8. Is the system robust against attacks? -The system is designed to mitigate attacks, including the scenario where an operator runs multiple nodes to gather sufficient fragments to decrypt data. Various techniques are employed, such as distributing private keys across subnets and making it difficult to determine which shares correspond to specific data. These measures make such attacks impractical and costly to execute. +The system is designed with several security measures to mitigate attacks and ensure the confidentiality and integrity of data. The network consists of multiple node operators, which enhances security by distributing the private keys across different nodes. This makes it difficult for an attacker to gather sufficient key fragments to decrypt data. The system employs a threshold consensus mechanism, where 2/3 of the network nodes must agree to decrypt or sign content. This provides redundancy and security against malicious actors. The use of Secure Enclave Virtualization-Secure Nested Paging (SEV-SNP) ensures that node operators do not have direct access to the underlying key shares. This hardware requirement adds an additional layer of protection to the key material. + +These security measures work together to make attacks, such as running multiple nodes to acquire key fragments or decrypt data, impractical and costly to execute.
    From a8ce3d5c342d039c4c5bbfdab96bc2af32fb04f1 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 3 Apr 2024 20:38:44 +0530 Subject: [PATCH 211/627] fix(migrations): move migrating to v3 sdk to migrations section --- docs/network/migration-guide.md | 2 +- docs/network/networks/mainnet.md | 2 +- docs/{migration => sdk/migrations/3.0.0}/changes.md | 0 docs/{migration => sdk/migrations/3.0.0}/overview.md | 0 docs/sdk/wallets/minting.md | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) rename docs/{migration => sdk/migrations/3.0.0}/changes.md (100%) rename docs/{migration => sdk/migrations/3.0.0}/overview.md (100%) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index e6c2e1f2..ebaa69d7 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -7,7 +7,7 @@ The keys created and managed on the Habanero Mainnet Beta are ready to be used f If you are currently in early-stage research and development, you should be using the Manzano Testnet. Sending, receiving, and managing real world assets on Manzano is NOT recommended. -In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 SDK. If you haven’t yet upgraded to v3, you can do so following these [upgrade instructions](../migration/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). +In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 SDK. If you haven’t yet upgraded to v3, you can do so following these [upgrade instructions](../sdk/migrations/3.0.0/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). Once your application is using v3, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero or Manzano. diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index c14fdaaa..02b304fe 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -24,7 +24,7 @@ If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for netw ## Migration In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the v3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the v2 SDK, you'll need to update your app to use v3. -Upgrading to the v3 SDK can be done by following the [migration guide](../../migration/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. +Upgrading to the v3 SDK can be done by following the [migration guide](../../sdk/migrations/3.0.0/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. If your app currently has users in production (on the v1 or v2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to v3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: - If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. diff --git a/docs/migration/changes.md b/docs/sdk/migrations/3.0.0/changes.md similarity index 100% rename from docs/migration/changes.md rename to docs/sdk/migrations/3.0.0/changes.md diff --git a/docs/migration/overview.md b/docs/sdk/migrations/3.0.0/overview.md similarity index 100% rename from docs/migration/overview.md rename to docs/sdk/migrations/3.0.0/overview.md diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 83adf114..0bc95944 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -4,7 +4,7 @@ A PKP is a public/private key-pair generated by the Lit Network using Distribute A PKP is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../authentication/overview) mechanisms to their PKP using Lit Actions. -This section will walk you through the process of creating PKPs using the [V3 SDK](../../migration/overview). You can mint PKPs using the following methods: +This section will walk you through the process of creating PKPs using the [V3 SDK](../migrations/3.0.0/overview.md). You can mint PKPs using the following methods: - [Mint via Contracts](minting-methods/mint-via-contracts) - [Mint via Social or Email/SMS (OTP) ](minting-methods/mint-via-social) From 4c5e9491833fc19ba0612020ca1c0642b9d9ae14 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 3 Apr 2024 21:07:29 +0530 Subject: [PATCH 212/627] fix(networks): add v4 in sdk version tab under relevant networks --- docs/network/networks/mainnet.md | 2 +- docs/network/networks/testnet.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 02b304fe..0fb5ba55 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -16,7 +16,7 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | None | n/a | -| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3, V4 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | ## Token Usage If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index dfc7ceed..eade315a 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -14,5 +14,5 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | | Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | ~ July 2024 | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | -| Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | -| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file +| Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3, V4 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | +| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3, V4 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file From 3fd61085d6aaca09c564b8ae5b66968c6d5ced65 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 3 Apr 2024 21:14:03 +0530 Subject: [PATCH 213/627] fix(feature-matrix): update feature matrix to reference v4 --- docs/network/feature-matrix.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/network/feature-matrix.md b/docs/network/feature-matrix.md index 870bfcbf..4c2737ed 100644 --- a/docs/network/feature-matrix.md +++ b/docs/network/feature-matrix.md @@ -12,8 +12,10 @@ V2 refers to `2.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk V3 refers to `3.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) -| Feature | V1 | V2 | V3 | -| --- | --- | --- | --- | +V4 refers to `4.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) + +| Feature | V1 | V2 | V3 / V4 | +| :---: | :---: | :---: | :---: | | `jalapeno` network | ✅ | ✅ | ❌ | | `serrano` network | ✅ | ✅ | ❌ | | `cayenne` network | ❌ | ❌ | ✅ | From c219b6ed301d3acce6a013b83d3ff15a5f6f3e66 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Wed, 3 Apr 2024 21:17:48 +0530 Subject: [PATCH 214/627] fix(docs): pushing some changes --- package.json | 2 +- sidebars.js | 24 +++++++++++++----------- yarn.lock | 42 +++++++++++++++++++++--------------------- 3 files changed, 35 insertions(+), 33 deletions(-) diff --git a/package.json b/package.json index ffaa23c6..dd3c5589 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^4.1.1", + "@lit-protocol/constants": "^4.2.0", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 35d76089..73de6dc4 100644 --- a/sidebars.js +++ b/sidebars.js @@ -77,16 +77,6 @@ const sidebars = { 'network/migration-guide', ], }, - { - type: 'category', - label: 'Migrating to the SDK V3', - collapsible: true, - items: [ - 'migration/overview', - 'network/feature-matrix', - 'migration/changes', - ], - }, { type: 'category', label: 'SDK Reference', @@ -255,7 +245,19 @@ const sidebars = { type: 'category', label: 'Migrations', collapsible: true, - items: ['sdk/migrations/3.2.0'], + items: [ + { + type: 'category', + label: 'Migrating from 2.x.x to 3.x.x', + collapsible: true, + items: [ + 'sdk/migrations/3.0.0/overview', + 'network/feature-matrix', + 'sdk/migrations/3.0.0/changes', + ], + }, + 'sdk/migrations/3.2.0' + ], }, 'sdk/tests', ], diff --git a/yarn.lock b/yarn.lock index 9f40bc5c..071c0915 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,44 +2242,44 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" - integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== +"@lit-protocol/accs-schemas@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.7.tgz#aad45c27f8c1dc0363a08771bdab50b595dc34d7" + integrity sha512-n8fJ6NMh2T3KgSKe0CRB0Uam6ZwxUTQV0oQXY0vEmSL+Q2a1PsM2FX42szOM+O7LgY+Bko7AiCjjDHbqQoJydg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.1.1.tgz#8bb6ec309db2541697b993b06918bf2816bd90bc" - integrity sha512-N1wzaDwsGhfeOlirb3KgubsvqRZFQFGkVgFRQl4wyNshueyaY2VwVTDj869pf2DVKapzC17C8OZfE2r10j3WpA== +"@lit-protocol/auth-helpers@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.0.tgz#1c6bf0f691208ff3bed2db9f8dfa518e708251f3" + integrity sha512-dKgBBWwsoFzbVfxOJAI4Nf1mZ4kE7sZ+ynzrXqfpIF7KRejjv43At7nJbZU+BdaqrJb7F7H3CvbL7y5WWEVJWg== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.1.1.tgz#f0a16e475d17f3bbf43c3249db3bba8fb28e12d7" - integrity sha512-FmJEAweMGvOnQrWh4B3Bxdt2EdWKjwIXZp3McSlCbAdVvqTumj3qRrCqmPummJ1ajelxePKuwHZ17xv0yTnJMg== +"@lit-protocol/constants@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.0.tgz#d007f5efd32f6086af2976517fc369d806a6e554" + integrity sha512-AA2jO4nZwInPcMOztsHWSZe2heY3oxRchy98AhP3T0vcH5qCLwWZjr3P84EVWRu8rYqH6HXTHZCEr+CMo7hmGg== dependencies: "@ethersproject/abstract-provider" "5.7.0" - "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "4.1.1" - "@lit-protocol/types" "4.1.1" + "@lit-protocol/accs-schemas" "0.0.7" + "@lit-protocol/auth-helpers" "4.2.0" + "@lit-protocol/types" "4.2.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.1.1.tgz#f0056d2b80e987bb4b4ec168d0cf980094bbd893" - integrity sha512-d0oq6JU4Ls0n7aJ/7duH3y9gXaWO3++1RaJeKvwRkfpRLKCsfLNCl+yfvcRD+LHSADeMYTN1b99dLY9ao+5u7Q== +"@lit-protocol/types@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.0.tgz#ba377207a39ac12f4d78b20c2f7b1db2459343f7" + integrity sha512-9lRXsV9A377RBsvqUUE5a0ajV8UxBJ6nijT3zaGOd+Kkp8l6x72hkIdkxUP6GwIiocIgAglVssAuhlXYIDTFPQ== dependencies: "@ethersproject/abstract-provider" "5.7.0" - "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "4.1.1" + "@lit-protocol/accs-schemas" "0.0.7" + "@lit-protocol/auth-helpers" "4.2.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 3b77f6fa232d9e48f8e35a9074eb12afccce21d6 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 00:56:39 +0530 Subject: [PATCH 215/627] fix(installation): update installation page for v4 SDK --- docs/sdk/installation.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 476b8626..064ed0d8 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -11,7 +11,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V3 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. ## Installing And Importing The SDK @@ -30,7 +30,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both b yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK V3**: +Use the **Lit JS SDK V4**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client"; @@ -46,7 +46,7 @@ Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environmen yarn add @lit-protocol/lit-node-client-nodejs ``` -Use the **Lit JS SDK V3**: +Use the **Lit JS SDK V4**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; From 0ad60f1be07fe4c76457048d58e917ad0ecf772c Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 01:14:12 +0530 Subject: [PATCH 216/627] fix(v0 migration guide): update v0 migration guide page to include references to v4 sdk --- docs/network/migration-guide.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index ebaa69d7..f7a37b44 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -7,9 +7,9 @@ The keys created and managed on the Habanero Mainnet Beta are ready to be used f If you are currently in early-stage research and development, you should be using the Manzano Testnet. Sending, receiving, and managing real world assets on Manzano is NOT recommended. -In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 SDK. If you haven’t yet upgraded to v3, you can do so following these [upgrade instructions](../sdk/migrations/3.0.0/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). +In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 or v4 SDK. If you haven’t yet upgraded to v3 or v4, you can do so following these [upgrade instructions](../sdk/migrations/3.0.0/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). -Once your application is using v3, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero or Manzano. +Once your application is using v3 or v4, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero or Manzano. ## Migrating From Jalapeno @@ -17,13 +17,13 @@ Jalapeno only supports encryption / decryption use cases, so this guide will onl You can learn more about re-encryption at the end of this guide. -If you’re migrating from Jalapeno to Habanero, it’s important to remember that they have different, incompatible Lit JS SDK versions. Jalapeno only works with version 2.x.x and Habanero only works with 3.x.x. You will therefore need to decrypt with the v2 sdk and then re-encrypt with the v3 sdk. +If you’re migrating from Jalapeno to Habanero, it’s important to remember that they have different, incompatible Lit JS SDK versions. Jalapeno only works with version 2.x.x and Habanero only works with 3.x.x. You will therefore need to decrypt with the v2 sdk and then re-encrypt with the v3 or v4 sdk. ## Migrating From Cayenne ### For encryption / decryption use cases -Cayenne and Habanero (or Manzano) have different root keys and, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero (or Manzano). In order to perform re-encryption, you can use the same v3 SDK for both Cayenne and Habanero (or Manzano), but note that you will need 2 instances of the SDK, one connected to each network. First, use Cayenne SDK instance to decrypt the encrypted data and then use Habanero (or Manzano) SDK instance to re-encrypt it. +Cayenne and Habanero (or Manzano) have different root keys and, so you’ll need to re-encrypt your user’s content in order to migrate to Habanero (or Manzano). In order to perform re-encryption, you can use the same v3 or v4 SDK for both Cayenne and Habanero (or Manzano), but note that you will need 2 instances of the SDK, one connected to each network. First, use Cayenne SDK instance to decrypt the encrypted data and then use Habanero (or Manzano) SDK instance to re-encrypt it. You can learn more about re-encryption at the end of this guide. @@ -41,11 +41,11 @@ In the case of AA wallets, you would change the authorized signer from the old P ## Performing re-encryption -Re-encryption is simply, decrypting the content, then encrypting it again. The v3 SDK of the encryption system introduces significant enhancements compared to v2 SDK. It employs a more intricate yet secure method of encryption and decryption, utilizing hashes and a comprehensive set of parameters to bolster security and integrity. +Re-encryption is simply, decrypting the content, then encrypting it again. The v3 and v4 SDK of the encryption system introduces significant enhancements compared to v2 SDK. It employs a more intricate yet secure method of encryption and decryption, utilizing hashes and a comprehensive set of parameters to bolster security and integrity. The Lit network employs an ID-based encryption method allowing only users who meet specific identity criteria to decrypt data. This process involves the use of the BLS network signature as a decryption key, which is generated based on access control conditions and private data. Encryption occurs client-side, requiring minimal network interaction—just a single round for decryption to gather necessary signature shares. Read more about ID based encryption [here](../sdk/access-control/encryption/#how-does-id-encrypt-work). -Unlike v2, both encryption and decryption processes in v3 explicitly rely on the `litNodeClient` showcasing a deeper integration with the Lit network's infrastructure. Additionally, v3 incorporates a data hash (`dataToEncryptHash`) during encryption, allowing for additional validation and integrity checks, which were absent in v2. Furthermore, v3 transitions from using basic types (like `string`) to structured request and response objects, like `EncryptStringRequest` and `DecryptRequest`, indicates a shift towards more detailed and configurable encryption/decryption operations to cater to diverse use cases. +Unlike v2, both encryption and decryption processes in v3 and v4 explicitly rely on the `litNodeClient` showcasing a deeper integration with the Lit network's infrastructure. Additionally, v3 and v4 incorporates a data hash (`dataToEncryptHash`) during encryption, allowing for additional validation and integrity checks, which were absent in v2. Furthermore, v3 and v4 transitions from using basic types (like `string`) to structured request and response objects, like `EncryptStringRequest` and `DecryptRequest`, indicates a shift towards more detailed and configurable encryption/decryption operations to cater to diverse use cases. In the case of a migration from an old Lit Network to Habanero, you would follow these steps to learn how to decrypt and re-encrypt your data: @@ -102,7 +102,7 @@ async decrypt(encryptedString, encryptedSymmetricKey) { ``` ### 3. Connect to `Habanero` or `Manzano` and encrypt it again ```js -class LitV3 { +class LitV3 { // or Class LitV4 private litNodeClient; async connect() { @@ -174,7 +174,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both b yarn add @lit-protocol/lit-node-client@beta ``` -Use the **Lit JS SDK V3**: +Use the **Lit JS SDK V4**: :::note Both the Habanero and Manzano networks can be accessed using the '@beta' tag below. You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. @@ -194,7 +194,7 @@ Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environmen yarn add @lit-protocol/lit-node-client-nodejs@beta ``` -Use the **Lit JS SDK V3**: +Use the **Lit JS SDK V4**: :::note Both the Habanero and Manzano networks can be accessed using the '@beta' tag below. You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. From 3cce7086587f394f01426b063487506331da7a76 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 01:41:12 +0530 Subject: [PATCH 217/627] add(migrations): add key info for migrating to the v4 sdk under the migrations section --- docs/sdk/migrations/4.0.0.md | 70 ++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 docs/sdk/migrations/4.0.0.md diff --git a/docs/sdk/migrations/4.0.0.md b/docs/sdk/migrations/4.0.0.md new file mode 100644 index 00000000..e7d061f5 --- /dev/null +++ b/docs/sdk/migrations/4.0.0.md @@ -0,0 +1,70 @@ +--- +sidebar_position: 2 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrating from 3.x.x to 4.x.x + +:::info +[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + +V4 release is packed with several improvements, new features, and critical changes aimed at enhancing the robustness, usability, and overall performance of the Lit SDK. Here's everything you need to know about key changes and additions:. + +## Possible Breaking Changes + +### Improved Error Handling for `connect()` + +In an effort to streamline error handling and improve the developer experience, `connect()` will now throw an error if connecting to the LIT network fails. This is a change from previous behavior, where failures to connect resulted in an `UnhandledRejection` or a dangling rejected Promise. If you have error handling already in place for `connect()`, this change should not impact your workflow. + +### Introduction of `disconnect()` + +We've added a new `disconnect()` method that effectively detaches our listeners for contract changes and network polling state. This is a step towards ensuring cleaner disconnections and better resource management. + +### Renaming of `networkSyncInterval` + +The `networkSyncInterval` property within lit-core (thus, in the lit-node-client) has been renamed to `_networkSyncInterval` and marked explicitly as private. This adjustment is crucial for those who previously relied on manually clearing the `networkSyncInterval` on the node client to allow their Node.js process to exit cleanly. Moving forward, please use the `disconnect()` method for this purpose. + +## Enhancements and Fixes + +### Core Improvements + +We've ensured that multiple concurrent calls to `connect()` on the same instance do not trigger multiple handshakes. This optimization is expected to yield significant performance improvements. + +The `connect()` logic has been refined to collect server keys and build a list of connected nodes in memory before updating the core configuration. This change addresses and eliminates a range of non-deterministic behavior previously encountered. + +Complete overhaul of the `serverKeys` handling: Now, server keys are entirely replaced post-handshake with nodes, removing outdated keys and ensuring up-to-date connectivity. + +### Bug Fixes + +- Addressed several critical bugs identified during our rigorous testing phase. +- Resolved an issue with an incorrect key being set in `config.retryTolerance` — it's now correctly set to `maxRetryCount`. +- Fixed naming discrepancies in config properties for Manzano and Habanero, correcting `checkSevSnpAttestation` to the accurate `checkNodeAttestation`. +- Enhanced config mutation in the constructor for type safety, avoiding the use of `any` and as type coercion. +- Made `checkNodeAttestation` optional, acknowledging its varying relevance based on the LitNetwork network name provided. + +### Type Enhancements + +- Addressed some overly generic types by introducing more specific alternatives, thereby improving type safety and developer experience. +- Modified `LitNodeClientConfig` properties previously marked as required to be optional, catering to a broader range of use cases and configurations. + +A comprehensive list of changes can be viewed [here](https://github.com/LIT-Protocol/js-sdk/releases/tag/v4.0.0). + +# Installation + +The v4 SDK is now the default for developers building on Lit. + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```bash +yarn add @lit-protocol/lit-node-client +``` + +Use the **Lit JS SDK v4**: +```js +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +``` + +Get started [here](../installation.md). \ No newline at end of file From 27fd5106475f0ffd654f0383c6899bce279a6f9b Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 01:41:41 +0530 Subject: [PATCH 218/627] fix(docs): pushing some changes --- sidebars.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 73de6dc4..3fd29662 100644 --- a/sidebars.js +++ b/sidebars.js @@ -256,7 +256,8 @@ const sidebars = { 'sdk/migrations/3.0.0/changes', ], }, - 'sdk/migrations/3.2.0' + 'sdk/migrations/3.2.0', + 'sdk/migrations/4.0.0', ], }, 'sdk/tests', From 6872f988233ffde9a00af2edb6ab28b2ddfcce97 Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Wed, 3 Apr 2024 19:27:04 -0700 Subject: [PATCH 219/627] fix jwt library naming --- docs/sdk/serverless-signing/dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/dependencies.md b/docs/sdk/serverless-signing/dependencies.md index c5b03cb2..371be1e4 100644 --- a/docs/sdk/serverless-signing/dependencies.md +++ b/docs/sdk/serverless-signing/dependencies.md @@ -3,7 +3,7 @@ We preload some dependencies for you: * Ethers v5.7 is loaded and available via the global `ethers` object -* The jsonwebtoken library located here https://www.npmjs.com/package/jsonwebtoken is loaded and available via the global `jsonwebtoken` object +* The jsonwebtoken library located here https://www.npmjs.com/package/jsonwebtoken is loaded and available via the global `jwt` object ## Adding your own dependencies From 9a207a925ee3b60d2fcdb5809d2376ceeb2de4bd Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 19:28:59 +0530 Subject: [PATCH 220/627] fix(docs): remove beta tag --- docs/network/migration-guide.md | 14 +++++++------- docs/network/networks/mainnet.md | 4 ++-- docs/sdk/serverless-signing/quick-start.md | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index f7a37b44..35e83c0c 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -1,9 +1,9 @@ # Lit v0 Migration Guide -The launch of Lit v0 introduces the [Habanero Mainnet Beta](../network/networks/mainnet.md) and the [Manzano Testnet](../network/networks/testnet.md). +The launch of Lit v0 introduces the [Habanero Mainnet](../network/networks/mainnet.md) and the [Manzano Testnet](../network/networks/testnet.md). -The keys created and managed on the Habanero Mainnet Beta are ready to be used for deploying production-level applications and user experiences. This means that sending, receiving, and managing real world assets IS now supported. Any keys that are created on the v0 network are persistent, will not be deleted, and will eventually be migrated to the v1 network when it is released later this year. +The keys created and managed on the Habanero Mainnet are ready to be used for deploying production-level applications and user experiences. This means that sending, receiving, and managing real world assets IS now supported. Any keys that are created on the v0 network are persistent, will not be deleted, and will eventually be migrated to the v1 network when it is released later this year. If you are currently in early-stage research and development, you should be using the Manzano Testnet. Sending, receiving, and managing real world assets on Manzano is NOT recommended. @@ -17,7 +17,7 @@ Jalapeno only supports encryption / decryption use cases, so this guide will onl You can learn more about re-encryption at the end of this guide. -If you’re migrating from Jalapeno to Habanero, it’s important to remember that they have different, incompatible Lit JS SDK versions. Jalapeno only works with version 2.x.x and Habanero only works with 3.x.x. You will therefore need to decrypt with the v2 sdk and then re-encrypt with the v3 or v4 sdk. +If you’re migrating from Jalapeno to Habanero, it’s important to remember that they have different, incompatible Lit JS SDK versions. Jalapeno only works with version 2.x.x and Habanero only works with 3.x.x and above. You will therefore need to decrypt with the v2 sdk and then re-encrypt with the v3 or v4 sdk. ## Migrating From Cayenne @@ -171,13 +171,13 @@ values={[ Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client@beta +yarn add @lit-protocol/lit-node-client ``` Use the **Lit JS SDK V4**: :::note -Both the Habanero and Manzano networks can be accessed using the '@beta' tag below. You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. +You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. ::: ```js @@ -191,13 +191,13 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs@beta +yarn add @lit-protocol/lit-node-client-nodejs ``` Use the **Lit JS SDK V4**: :::note -Both the Habanero and Manzano networks can be accessed using the '@beta' tag below. You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. +You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. ::: ```js diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 0fb5ba55..00103395 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -16,13 +16,13 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | None | n/a | -| Habanero | Decentralized mainnet beta. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3, V4 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +| Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3, V4 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | ## Token Usage If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). ## Migration -In order to connect to the Habanero network (the mainnet beta), you'll need to ensure your application is compatible with the v3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the v2 SDK, you'll need to update your app to use v3. +In order to connect to the Habanero mainnet network, you'll need to ensure your application is compatible with the v3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the v2 SDK, you'll need to update your app to use v3. Upgrading to the v3 SDK can be done by following the [migration guide](../../sdk/migrations/3.0.0/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 680cd770..40cd8c9e 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; :::info **STATE OF THE NETWORK** -The Lit Habanero Mainnet Beta is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. +The Lit Habanero Mainnet is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. From 76f2361206b9afe50cd1b1ea2416c1f16e5dc6bd Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 20:15:07 +0530 Subject: [PATCH 221/627] fix(wallets): add import statement for isSignInRedirect fix(wallets): add import statement for isSignInRedirect --- .../lit-auth-methods/social-login.md | 2 + package.json | 2 +- yarn.lock | 42 +++++++++---------- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md index 7f0b3970..c6015c24 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md @@ -118,6 +118,8 @@ If you are using Lit Relay Server, you will need to request an API key [here](ht At the `redirectUri` specified when initializing the providers, call `handleSignInRedirect`. You can also use `isSignInRedirect` method to check if the app is in the redirect state or not. ```javascript +import { isSignInRedirect } from '@lit-protocol/lit-auth-client'; + async function handleRedirect() { // Check if app has been redirected from Lit login server if (isSignInRedirect(redirectUri)) { diff --git a/package.json b/package.json index ffaa23c6..dd3c5589 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^4.1.1", + "@lit-protocol/constants": "^4.2.0", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index 9f40bc5c..071c0915 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2242,44 +2242,44 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lit-protocol/accs-schemas@0.0.6": - version "0.0.6" - resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.6.tgz#a2dd4677bdfe33fd1a45b8f6919d1eff92633012" - integrity sha512-/NIZkAN+kgAarWefBX1a4DiNerUtv8JOdQmqUo45cnlDp89X9HkiK+8gm9z2p9gojtvxMqqId7wW8J8NHXVRDg== +"@lit-protocol/accs-schemas@0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@lit-protocol/accs-schemas/-/accs-schemas-0.0.7.tgz#aad45c27f8c1dc0363a08771bdab50b595dc34d7" + integrity sha512-n8fJ6NMh2T3KgSKe0CRB0Uam6ZwxUTQV0oQXY0vEmSL+Q2a1PsM2FX42szOM+O7LgY+Bko7AiCjjDHbqQoJydg== dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.1.1.tgz#8bb6ec309db2541697b993b06918bf2816bd90bc" - integrity sha512-N1wzaDwsGhfeOlirb3KgubsvqRZFQFGkVgFRQl4wyNshueyaY2VwVTDj869pf2DVKapzC17C8OZfE2r10j3WpA== +"@lit-protocol/auth-helpers@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.0.tgz#1c6bf0f691208ff3bed2db9f8dfa518e708251f3" + integrity sha512-dKgBBWwsoFzbVfxOJAI4Nf1mZ4kE7sZ+ynzrXqfpIF7KRejjv43At7nJbZU+BdaqrJb7F7H3CvbL7y5WWEVJWg== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.1.1.tgz#f0a16e475d17f3bbf43c3249db3bba8fb28e12d7" - integrity sha512-FmJEAweMGvOnQrWh4B3Bxdt2EdWKjwIXZp3McSlCbAdVvqTumj3qRrCqmPummJ1ajelxePKuwHZ17xv0yTnJMg== +"@lit-protocol/constants@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.0.tgz#d007f5efd32f6086af2976517fc369d806a6e554" + integrity sha512-AA2jO4nZwInPcMOztsHWSZe2heY3oxRchy98AhP3T0vcH5qCLwWZjr3P84EVWRu8rYqH6HXTHZCEr+CMo7hmGg== dependencies: "@ethersproject/abstract-provider" "5.7.0" - "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "4.1.1" - "@lit-protocol/types" "4.1.1" + "@lit-protocol/accs-schemas" "0.0.7" + "@lit-protocol/auth-helpers" "4.2.0" + "@lit-protocol/types" "4.2.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@4.1.1": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.1.1.tgz#f0056d2b80e987bb4b4ec168d0cf980094bbd893" - integrity sha512-d0oq6JU4Ls0n7aJ/7duH3y9gXaWO3++1RaJeKvwRkfpRLKCsfLNCl+yfvcRD+LHSADeMYTN1b99dLY9ao+5u7Q== +"@lit-protocol/types@4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.0.tgz#ba377207a39ac12f4d78b20c2f7b1db2459343f7" + integrity sha512-9lRXsV9A377RBsvqUUE5a0ajV8UxBJ6nijT3zaGOd+Kkp8l6x72hkIdkxUP6GwIiocIgAglVssAuhlXYIDTFPQ== dependencies: "@ethersproject/abstract-provider" "5.7.0" - "@lit-protocol/accs-schemas" "0.0.6" - "@lit-protocol/auth-helpers" "4.1.1" + "@lit-protocol/accs-schemas" "0.0.7" + "@lit-protocol/auth-helpers" "4.2.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From e5debb48192d04e970c998ceed0e58cf74a23055 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 4 Apr 2024 20:15:07 +0530 Subject: [PATCH 222/627] fix(wallets): add import statement for isSignInRedirect fix(wallets): add import statement for isSignInRedirect --- docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md index 7f0b3970..c6015c24 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md @@ -118,6 +118,8 @@ If you are using Lit Relay Server, you will need to request an API key [here](ht At the `redirectUri` specified when initializing the providers, call `handleSignInRedirect`. You can also use `isSignInRedirect` method to check if the app is in the redirect state or not. ```javascript +import { isSignInRedirect } from '@lit-protocol/lit-auth-client'; + async function handleRedirect() { // Check if app has been redirected from Lit login server if (isSignInRedirect(redirectUri)) { From 7aa5ef2116dbb7bece83cfad70bb62f95c79fc0f Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Thu, 11 Apr 2024 21:32:08 +0530 Subject: [PATCH 223/627] fix(sidebar): re-organise docs pages fix(sidebar): re-organise docs pages --- docs/additional-examples.md | 1 + docs/api-reference/v1-sdk.md | 1 + docs/api-reference/v2-sdk.md | 1 + docs/api-reference/v3-sdk.md | 1 + docs/api-reference/v4-sdk.md | 1 + docs/intro/overview.mdx | 46 ++- docs/intro/usecases.md | 2 +- docs/intro/what-is-lit-protocol.md | 2 +- docs/sdk/access-control/quick-start.md | 1 + docs/sdk/tests.md | 2 +- docs/sdk/wallets/quick-start.md | 1 + docusaurus.config.js | 2 +- package.json | 2 +- sidebars.js | 499 +++++++++++++++---------- yarn.lock | 30 +- 15 files changed, 374 insertions(+), 218 deletions(-) create mode 100644 docs/additional-examples.md create mode 100644 docs/api-reference/v1-sdk.md create mode 100644 docs/api-reference/v2-sdk.md create mode 100644 docs/api-reference/v3-sdk.md create mode 100644 docs/api-reference/v4-sdk.md create mode 100644 docs/sdk/access-control/quick-start.md create mode 100644 docs/sdk/wallets/quick-start.md diff --git a/docs/additional-examples.md b/docs/additional-examples.md new file mode 100644 index 00000000..4703c487 --- /dev/null +++ b/docs/additional-examples.md @@ -0,0 +1 @@ +# Additional Examples \ No newline at end of file diff --git a/docs/api-reference/v1-sdk.md b/docs/api-reference/v1-sdk.md new file mode 100644 index 00000000..6ed851d7 --- /dev/null +++ b/docs/api-reference/v1-sdk.md @@ -0,0 +1 @@ +# SDK v1.x.x \ No newline at end of file diff --git a/docs/api-reference/v2-sdk.md b/docs/api-reference/v2-sdk.md new file mode 100644 index 00000000..a74356b7 --- /dev/null +++ b/docs/api-reference/v2-sdk.md @@ -0,0 +1 @@ +# SDK v2.x.x diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md new file mode 100644 index 00000000..48c2d943 --- /dev/null +++ b/docs/api-reference/v3-sdk.md @@ -0,0 +1 @@ +# SDK v3.x.x diff --git a/docs/api-reference/v4-sdk.md b/docs/api-reference/v4-sdk.md new file mode 100644 index 00000000..ea0e6fd3 --- /dev/null +++ b/docs/api-reference/v4-sdk.md @@ -0,0 +1 @@ +# SDK v4.x.x diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 88d6b6de..e909d509 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -8,15 +8,55 @@ import QuickStartSection from "@site/src/components/CardSectionsV3/QuickStart"; import CoreConceptsSection from "@site/src/components/CardSectionsV3/CoreConcepts"; import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; -# Overview - -Lit is an internet native security and identity network. With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. +# About this SDK :::info [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: +Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. + +The system builds off of contemporary work in applied cryptography, secure enclaves, and distributed systems to provide the maximum amount of control and privacy to end users, without requiring an extensive technical understanding of key management or public key cryptography. + +Developers can use Lit to build apps with [private data](../sdk/access-control/intro.md), intuitive [wallet onboarding](../sdk/wallets/intro.md) and asset management experiences, and [immutable serverless functions](../sdk/serverless-signing/overview.md) that run based on the rules you set. + +Get started with the [Lit SDK](../sdk/installation.md). + +Read the Lit [Whitepaper](https://github.com/LIT-Protocol/whitepaper). + +## Getting Started + +Get started on your developer journey by diving right into the code: + +- [**Lit SDK**](../sdk/installation.md): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. +- [**Encryption Quick Start**](../sdk/access-control/encryption.md): Learn how to encrypt and decrypt content using the SDK. +- [**Lit CLI**](../tools/getlit-cli.md): A command line tool that makes developing Lit Actions easy! +- [**API Reference**](https://js-sdk.litprotocol.com/index.html): An overview of SDK functions and packages. + + +## Use Cases + +Lit Protocol can be utilized for various web3 applications, including: + +- **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), infrastructure for recurring payments, liquid staking solutions, and more. +- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for off-chain data, [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [signers for smart accounts](https://spark.litprotocol.com/account-abstraction-and-mpc/). +- **Sovereign Data**: [Programmable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. +- **Web3 Social**: [Private data in social apps](https://docs.lens.xyz/docs/gated), [token-gated video streaming](https://github.com/suhailkakar/livepeer-token-gated-vod), decentralized chatbots, and on-chain reputation building. +- **Gaming**: [Seamless onboarding](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). +- **Token Gating for Web2 Apps**: Token-based access control for [Shopify](https://apps.shopify.com/lit-token-access), [Zoom](https://litgateway.com/apps/zoom), [Google Drive](https://litgateway.com/apps/google-drive), and [WordPress](https://litgateway.com/apps/wordpress). + +Explore more [use cases](usecases.md) and [projects building](../ecosystem/projects) with Lit. + +## Join the Community + +Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). + +Check out the Lit [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. + +Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. + +Follow Lit on [X](https://twitter.com/LitProtocol). \ No newline at end of file diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 15b1d340..b12e6d51 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -3,7 +3,7 @@ slug: /usecases sidebar_position: 4 --- -# Use Cases +# Appendix: Use Cases :::info [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 0057fb70..acc2baf2 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -3,7 +3,7 @@ slug: /what-is-lit sidebar_position: 2 --- -# What is Lit Protocol +# About this SDK :::info [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md new file mode 100644 index 00000000..1d2e8525 --- /dev/null +++ b/docs/sdk/access-control/quick-start.md @@ -0,0 +1 @@ +# Quick Start \ No newline at end of file diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index bf052280..fbc1f4da 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -5,7 +5,7 @@ sidebar_position: 5 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Testing and Error Handling +# Appendix: Testing and Error Handling :::info [Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md new file mode 100644 index 00000000..1d2e8525 --- /dev/null +++ b/docs/sdk/wallets/quick-start.md @@ -0,0 +1 @@ +# Quick Start \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index b7862cb9..39e0d018 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -23,7 +23,7 @@ const config = { /** @type {import('@docusaurus/preset-classic').Options} */ ({ docs: { - breadcrumbs: false, + breadcrumbs: true, // lastVersion: "2.0", sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. diff --git a/package.json b/package.json index dd3c5589..a2a2a575 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^4.2.0", + "@lit-protocol/constants": "^4.2.1", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 3fd29662..310199e4 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,289 +41,398 @@ const sidebars = { // ], docs: [ + 'intro/overview', { type: 'category', - label: 'Getting Started', - collapsible: false, - className: 'category-not-collapsible', - items: ['intro/overview', 'intro/what-is-lit-protocol', 'intro/usecases'], - }, - { - type: 'category', - label: 'Concepts', - collapsible: false, - className: 'category-not-collapsible', - items: [ - 'concepts/access-control-concept', - 'concepts/programmable-signing-concept', - 'concepts/pkps-as-wallet', - 'concepts/capacity-credits-concept', - ], - }, - { - type: 'category', - label: 'Network', - collapsible: false, - className: 'category-not-collapsible', + label: 'Installation', + link: { + type: 'doc', + id: 'sdk/installation', + }, + collapsed: true, items: [ { type: 'category', - label: 'Lit Networks', + label: 'Migrating from earlier versions', collapsed: true, - items: ['network/networks/testnet', 'network/networks/mainnet'], - }, - 'network/feature-matrix', - 'network/rollup', - 'network/migration-guide', - ], - }, - { - type: 'category', - label: 'SDK Reference', - collapsible: false, - className: 'category-not-collapsible', - items: [ - 'sdk/installation', - 'sdk/capacity-credits', - { - type: 'category', - label: 'Authentication', link: { - type: 'doc', - id: 'sdk/authentication/overview', + type: 'generated-index', + title: 'Migrating from earlier versions', + description: 'Learn how to migrate from earlier versions of the Lit SDK!', + keywords: ['migrations'], }, - collapsed: true, items: [ - 'sdk/authentication/auth-sig', { type: 'category', - label: 'Session Signatures', + label: 'Migrating from 2.x.x to 3.x.x', link: { type: 'doc', - id: 'sdk/authentication/session-sigs/intro', + id: 'sdk/migrations/3.0.0/overview', }, collapsed: true, items: [ - 'sdk/authentication/session-sigs/resources-and-abilities', - 'sdk/authentication/session-sigs/capability-objects', - 'sdk/authentication/session-sigs/get-session-sigs', - 'sdk/authentication/session-sigs/usage', - 'sdk/authentication/session-sigs/walletless-sigs', + 'network/feature-matrix', + 'sdk/migrations/3.0.0/changes', ], }, - 'sdk/authentication/security', - ], - }, + 'sdk/migrations/3.2.0', + 'sdk/migrations/4.0.0', + ] + } + ], + }, + { + type: 'category', + label: 'Guides', + collapsed: true, + link:{ + type: 'generated-index', + title: 'Lit SDK Guides', + description: 'Learn how to use the Lit SDK!', + keywords: ['guides'], + }, + items: [ { type: 'category', - label: 'Access Control', + label: 'User Wallets', link: { type: 'doc', - id: 'sdk/access-control/intro', + id: 'sdk/wallets/intro', }, - collapsible: true, + collapsed: true, items: [ - 'sdk/access-control/encryption', - 'sdk/access-control/jwt-auth', - { - type: 'category', - label: 'Types of Conditions', - collapsed: true, - items: [ - 'sdk/access-control/condition-types/unified-access-control-conditions', - 'sdk/access-control/condition-types/boolean-logic', - ], - }, - { - type: 'category', - label: 'EVM', - collapsed: true, - items: [ - 'sdk/access-control/evm/basic-examples', - 'sdk/access-control/evm/custom-contract-calls', - 'sdk/access-control/evm/poap', - 'sdk/access-control/evm/timelock', - 'sdk/access-control/evm/siwe', - ], - }, - { - type: 'category', - label: 'Other Chains', - collapsed: true, - items: [ - 'sdk/access-control/other-chains/sol-rpc-conditions', - 'sdk/access-control/other-chains/cosmos-conditions', - ], - }, + 'sdk/wallets/quick-start', { type: 'category', - label: 'Off-Chain', + label: 'Advanced Topics', collapsed: true, - items: ['sdk/access-control/lit-action-conditions'], + link:{ + type: 'generated-index', + title: 'Advanced Topics', + description: 'Learn about the advanced topics for User Wallets in Lit SDK!', + keywords: ['user wallets'], + }, + items:[ + { + type: 'category', + label: 'Authentication', + link: { + type: 'doc', + id: 'sdk/authentication/overview', + }, + collapsed: true, + items: [ + 'sdk/authentication/auth-sig', + { + type: 'category', + label: 'Session Signatures', + link: { + type: 'doc', + id: 'sdk/authentication/session-sigs/intro', + }, + collapsed: true, + items: [ + 'sdk/authentication/session-sigs/resources-and-abilities', + 'sdk/authentication/session-sigs/capability-objects', + 'sdk/capacity-credits', + 'sdk/authentication/session-sigs/get-session-sigs', + 'sdk/authentication/session-sigs/usage', + 'sdk/authentication/session-sigs/walletless-sigs', + ], + }, + 'sdk/authentication/security', + ], + }, + { + type: 'category', + label: 'Auth Methods', + link: { + type: 'doc', + id: 'sdk/wallets/auth-methods', + }, + collapsed: true, + items: [ + { + type: 'category', + label: 'Lit Auth Methods', + collapsed: true, + items: [ + 'sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods', + 'sdk/wallets/auth-methods/lit-auth-methods/social-login', + 'sdk/wallets/auth-methods/lit-auth-methods/web-authn', + 'sdk/wallets/auth-methods/lit-auth-methods/email-sms', + ], + }, + 'sdk/wallets/auth-methods/custom-auth', + ], + }, + { + type: 'category', + label: 'Minting a PKP', + link: { + type: 'doc', + id: 'sdk/wallets/minting', + }, + collapsed: true, + items: [ + 'sdk/wallets/minting-methods/mint-via-contracts', + 'sdk/wallets/minting-methods/mint-via-social', + 'sdk/wallets/minting-methods/mint-via-web-authn', + 'sdk/wallets/minting-methods/mint-via-multiple-auth-methods', + ], + }, + 'sdk/wallets/walletconnect', + { + type: 'category', + label: 'Claimable Keys (HD Keys)', + link: { + type: 'doc', + id: 'sdk/wallets/claimable-keys/intro', + }, + collapsed: true, + items: ['sdk/wallets/claimable-keys/usage'], + }, + ] }, ], }, { type: 'category', - label: 'User Wallets', + label: 'Encryption/Decryption', link: { type: 'doc', - id: 'sdk/wallets/intro', + id: 'sdk/access-control/intro', }, - collapsible: true, + collapsed: true, items: [ + 'sdk/access-control/quick-start', { type: 'category', - label: 'Auth Methods', - link: { - type: 'doc', - id: 'sdk/wallets/auth-methods', - }, + label: 'Advanced Topics', collapsed: true, - items: [ + link:{ + type: 'generated-index', + title: 'Advanced Topics', + description: 'Learn about the advanced topics for Encryption/Decryption in Lit SDK!', + keywords: ['encryption', 'decryption'], + }, + items:[ + 'sdk/access-control/encryption', + 'sdk/access-control/jwt-auth', { type: 'category', - label: 'Lit Auth Methods', + label: 'Types of Conditions', collapsed: true, items: [ - 'sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods', - 'sdk/wallets/auth-methods/lit-auth-methods/social-login', - 'sdk/wallets/auth-methods/lit-auth-methods/web-authn', - 'sdk/wallets/auth-methods/lit-auth-methods/email-sms', + 'sdk/access-control/condition-types/unified-access-control-conditions', + 'sdk/access-control/condition-types/boolean-logic', ], }, - 'sdk/wallets/auth-methods/custom-auth', - ], + { + type: 'category', + label: 'EVM', + collapsed: true, + items: [ + 'sdk/access-control/evm/basic-examples', + 'sdk/access-control/evm/custom-contract-calls', + 'sdk/access-control/evm/poap', + 'sdk/access-control/evm/timelock', + 'sdk/access-control/evm/siwe', + ], + }, + { + type: 'category', + label: 'Other Chains', + collapsed: true, + items: [ + 'sdk/access-control/other-chains/sol-rpc-conditions', + 'sdk/access-control/other-chains/cosmos-conditions', + ], + }, + { + type: 'category', + label: 'Off-Chain', + collapsed: true, + items: ['sdk/access-control/lit-action-conditions'], + }, + ] }, + ], + }, + { + type: 'category', + label: 'Compute (Lit Actions)', + link: { + type: 'doc', + id: 'sdk/serverless-signing/overview', + }, + collapsed: true, + items: [ + 'sdk/serverless-signing/quick-start', { type: 'category', - label: 'Minting a PKP', - link: { - type: 'doc', - id: 'sdk/wallets/minting', + label: 'Advanced Topics', + collapsed: true, + link:{ + type: 'generated-index', + title: 'Advanced Topics', + description: 'Learn about the advanced topics for Compute (Lit Actions) in Lit SDK!', + keywords: ['compute', 'lit actions'], }, - collapsible: true, items: [ - 'sdk/wallets/minting-methods/mint-via-contracts', - 'sdk/wallets/minting-methods/mint-via-social', - 'sdk/wallets/minting-methods/mint-via-web-authn', - 'sdk/wallets/minting-methods/mint-via-multiple-auth-methods', - ], - }, - 'sdk/wallets/walletconnect', + 'sdk/serverless-signing/conditional-signing', + 'sdk/serverless-signing/fetch', + 'sdk/serverless-signing/processing-validation', + 'sdk/serverless-signing/key-claiming', + 'sdk/serverless-signing/eip191', + 'sdk/serverless-signing/dependencies', + ] + } + ], + }, + { + type: 'category', + label: 'Appendix: Networks', + collapsed: true, + link: { + type: 'generated-index', + title: 'Lit Networks', + description: 'Learn about the different Lit Networks!', + keywords: ['networks'], + }, + items: [ { type: 'category', - label: 'Claimable Keys (HD Keys)', - link: { - type: 'doc', - id: 'sdk/wallets/claimable-keys/intro', - }, - collapsible: true, - items: ['sdk/wallets/claimable-keys/usage'], + label: 'Lit Networks', + collapsed: true, + items: ['network/networks/testnet', 'network/networks/mainnet'], }, + 'network/feature-matrix', + 'network/rollup', + 'network/migration-guide', ], }, { type: 'category', - label: 'Serverless Signing (Lit Actions)', + label: 'Appendix: Useful Tools', + collapsed: true, link: { - type: 'doc', - id: 'sdk/serverless-signing/overview', + type: 'generated-index', + title: 'Lit Tools', + description: 'Learn about the different tools that can help you with Lit SDK!', + keywords: ['tools'], }, - collapsible: true, items: [ - 'sdk/serverless-signing/quick-start', - 'sdk/serverless-signing/conditional-signing', - 'sdk/serverless-signing/fetch', - 'sdk/serverless-signing/processing-validation', - 'sdk/serverless-signing/key-claiming', - 'sdk/serverless-signing/eip191', - 'sdk/serverless-signing/dependencies', + 'tools/access-control', + 'tools/getlit-cli', + 'tools/event-listener', + 'tools/pkpexplorer', ], }, { type: 'category', - label: 'Migrations', - collapsible: true, + label: 'Appendix: Integrations', + collapsed: true, + link: { + type: 'generated-index', + title: 'Integrations with Lit SDK', + description: 'Learn about the different integrations with Lit SDK!', + keywords: ['integrations'], + }, items: [ { type: 'category', - label: 'Migrating from 2.x.x to 3.x.x', - collapsible: true, + label: 'Smart Contract Accounts', + link: { + type: 'doc', + id: 'integrations/aa/overview', + }, + collapsed: true, items: [ - 'sdk/migrations/3.0.0/overview', - 'network/feature-matrix', - 'sdk/migrations/3.0.0/changes', + 'integrations/aa/alchemy-account-kit', + 'integrations/aa/pimlico', + 'integrations/aa/openfort', + ], + }, + { + type: 'category', + label: 'Storage', + collapsed: true, + items: [ + 'integrations/storage/ceramic-example', + 'integrations/storage/irys', ], }, - 'sdk/migrations/3.2.0', - 'sdk/migrations/4.0.0', ], }, 'sdk/tests', - ], - }, - { - type: 'category', - label: 'Tools', - collapsed: true, - items: [ - 'tools/access-control', - 'tools/getlit-cli', - 'tools/event-listener', - 'tools/pkpexplorer', - ], - }, - - { - type: 'category', - label: 'Integrations', - collapsed: true, - items: [ { type: 'category', - label: 'Smart Contract Accounts', + label: 'Appendix: Resources', + collapsed: true, link: { - type: 'doc', - id: 'integrations/aa/overview', + type: 'generated-index', + title: 'Resources', + description: 'Learn about the different resources that can help you with Lit SDK!', + keywords: ['resources'], }, - collapsible: true, items: [ - 'integrations/aa/alchemy-account-kit', - 'integrations/aa/pimlico', - 'integrations/aa/openfort', + 'resources/how-it-works', + { + type: 'category', + label: 'Quick Concepts', + collapsed: true, + link: { + type: 'generated-index', + title: 'Quick Concepts', + description: 'Learn about the different quick concepts that can help you with Lit SDK!', + keywords: ['concepts'], + }, + items: [ + 'concepts/access-control-concept', + 'concepts/programmable-signing-concept', + 'concepts/pkps-as-wallet', + 'concepts/capacity-credits-concept', + ], + }, + 'resources/supported-chains', + 'resources/contracts', + 'resources/glossary', ], }, + 'intro/usecases', { type: 'category', - label: 'Storage', - collapsible: true, - items: [ - 'integrations/storage/ceramic-example', - 'integrations/storage/irys', - ], + label: 'Support', + collapsed: true, + link: { + type: 'generated-index', + title: 'Support', + description: 'Want to know more about Lit SDK? Check out the support section!', + keywords: ['support'], + }, + items: ['support/faq', 'support/bug-bounty'], }, ], }, { type: 'category', - label: 'Resources', - collapsible: false, - className: 'category-not-collapsible', - items: [ - 'resources/how-it-works', - 'resources/supported-chains', - 'resources/contracts', - 'resources/glossary', - ], - }, - { - type: 'category', - label: 'Support', - collapsible: false, - className: 'category-not-collapsible', - items: ['support/faq', 'support/bug-bounty'], + label: 'API Reference', + collapsed: true, + link: { + type: 'generated-index', + title: 'Lit SDK APIs Reference', + description: 'Get the API reference for different versions of the Lit Js/Ts SDK!', + keywords: ['api-reference'], + }, + items:[ + 'api-reference/v1-sdk', + 'api-reference/v2-sdk', + 'api-reference/v3-sdk', + 'api-reference/v4-sdk' + ] }, + 'additional-examples', ], }; diff --git a/yarn.lock b/yarn.lock index 071c0915..d246f21a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,37 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.0.tgz#1c6bf0f691208ff3bed2db9f8dfa518e708251f3" - integrity sha512-dKgBBWwsoFzbVfxOJAI4Nf1mZ4kE7sZ+ynzrXqfpIF7KRejjv43At7nJbZU+BdaqrJb7F7H3CvbL7y5WWEVJWg== +"@lit-protocol/auth-helpers@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.1.tgz#81cbafaf3c81620d745170ca75fec94365db8aef" + integrity sha512-FuDEz2mv300KG/NCzpw5kQG+Qh4HvthOZDWeZt72GzDd1QEDqTGwoPUxfgBpNiE64knVcT6KUFY8vAShWO7uNw== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.0.tgz#d007f5efd32f6086af2976517fc369d806a6e554" - integrity sha512-AA2jO4nZwInPcMOztsHWSZe2heY3oxRchy98AhP3T0vcH5qCLwWZjr3P84EVWRu8rYqH6HXTHZCEr+CMo7hmGg== +"@lit-protocol/constants@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.1.tgz#1a3cf010f2f189f466c2d29d05e5d1dc0b4f179c" + integrity sha512-vdRoXKgIbYjYcmdbdYcktoYRMUnRexYe3dtFbE/5UaLfn+sakzbjSQXnolp5P+sZGfeE6+Pnvw3yDGIT3CbyfQ== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.7" - "@lit-protocol/auth-helpers" "4.2.0" - "@lit-protocol/types" "4.2.0" + "@lit-protocol/auth-helpers" "4.2.1" + "@lit-protocol/types" "4.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.0.tgz#ba377207a39ac12f4d78b20c2f7b1db2459343f7" - integrity sha512-9lRXsV9A377RBsvqUUE5a0ajV8UxBJ6nijT3zaGOd+Kkp8l6x72hkIdkxUP6GwIiocIgAglVssAuhlXYIDTFPQ== +"@lit-protocol/types@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.1.tgz#a71a47e94a4b1a26f29264ede6ddecc71c8e1ca1" + integrity sha512-bpIPr94Cpv7vq7L0jeljc9gtUOgyt1cfRfwoN95dawvPf6jwUDT1pb2SSfN5vsOEcfNfQNstROhPbLTzwXPtSg== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.7" - "@lit-protocol/auth-helpers" "4.2.0" + "@lit-protocol/auth-helpers" "4.2.1" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 94c9f25fb356776df2d13a22d380e982258a7ea0 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Mon, 15 Apr 2024 00:20:35 +0530 Subject: [PATCH 224/627] fix(sidebar): re-organise doc pages according to reviews --- docs/intro/overview.mdx | 48 +--------- docs/intro/usecases.md | 2 +- docs/intro/what-is-lit-protocol.md | 4 +- docs/sdk/access-control/intro.md | 22 ++--- docs/sdk/serverless-signing/overview.md | 38 ++++---- docs/sdk/tests.md | 2 +- docs/sdk/wallets/intro.md | 21 +++-- docs/support/intro.md | 13 +++ docusaurus.config.js | 5 - sidebars.js | 118 ++++++++++++++---------- 10 files changed, 130 insertions(+), 143 deletions(-) create mode 100644 docs/support/intro.md diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index e909d509..46008fc2 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -8,55 +8,15 @@ import QuickStartSection from "@site/src/components/CardSectionsV3/QuickStart"; import CoreConceptsSection from "@site/src/components/CardSectionsV3/CoreConcepts"; import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; -# About this SDK +# Overview + +Lit is an internet native security and identity network. With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. :::info [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: -Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. - -The system builds off of contemporary work in applied cryptography, secure enclaves, and distributed systems to provide the maximum amount of control and privacy to end users, without requiring an extensive technical understanding of key management or public key cryptography. - -Developers can use Lit to build apps with [private data](../sdk/access-control/intro.md), intuitive [wallet onboarding](../sdk/wallets/intro.md) and asset management experiences, and [immutable serverless functions](../sdk/serverless-signing/overview.md) that run based on the rules you set. - -Get started with the [Lit SDK](../sdk/installation.md). - -Read the Lit [Whitepaper](https://github.com/LIT-Protocol/whitepaper). - -## Getting Started - -Get started on your developer journey by diving right into the code: - -- [**Lit SDK**](../sdk/installation.md): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. -- [**Encryption Quick Start**](../sdk/access-control/encryption.md): Learn how to encrypt and decrypt content using the SDK. -- [**Lit CLI**](../tools/getlit-cli.md): A command line tool that makes developing Lit Actions easy! -- [**API Reference**](https://js-sdk.litprotocol.com/index.html): An overview of SDK functions and packages. - - - -## Use Cases - -Lit Protocol can be utilized for various web3 applications, including: - -- **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), infrastructure for recurring payments, liquid staking solutions, and more. -- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for off-chain data, [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [signers for smart accounts](https://spark.litprotocol.com/account-abstraction-and-mpc/). -- **Sovereign Data**: [Programmable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. -- **Web3 Social**: [Private data in social apps](https://docs.lens.xyz/docs/gated), [token-gated video streaming](https://github.com/suhailkakar/livepeer-token-gated-vod), decentralized chatbots, and on-chain reputation building. -- **Gaming**: [Seamless onboarding](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). -- **Token Gating for Web2 Apps**: Token-based access control for [Shopify](https://apps.shopify.com/lit-token-access), [Zoom](https://litgateway.com/apps/zoom), [Google Drive](https://litgateway.com/apps/google-drive), and [WordPress](https://litgateway.com/apps/wordpress). - -Explore more [use cases](usecases.md) and [projects building](../ecosystem/projects) with Lit. - -## Join the Community - -Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). - -Check out the Lit [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. - -Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. - -Follow Lit on [X](https://twitter.com/LitProtocol). \ No newline at end of file + \ No newline at end of file diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index b12e6d51..15b1d340 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -3,7 +3,7 @@ slug: /usecases sidebar_position: 4 --- -# Appendix: Use Cases +# Use Cases :::info [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index acc2baf2..1d27c0c3 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -3,7 +3,7 @@ slug: /what-is-lit sidebar_position: 2 --- -# About this SDK +# What is Lit Protocol :::info [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. @@ -49,4 +49,4 @@ Check out the Lit [blog](https://spark.litprotocol.com/) to read about new produ Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. -Follow Lit on [X](https://twitter.com/LitProtocol). +Follow Lit on [X](https://twitter.com/LitProtocol). \ No newline at end of file diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index b03c357e..e58c4f0a 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -2,22 +2,12 @@ sidebar_position: 1 --- -# Intro +# Introduction to Encryption/Decryption :::info [Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: -## Quick Start - -Ready to jump right in? Quickly learn how you can integrate decentralized access control today: - -1. Guide: [Encryption with Lit](../access-control/encryption.md) -2. Integration: [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) -3. Integration: [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) -4. Code: [Basic EVM Conditions](../access-control/evm/basic-examples) -5. Code: [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) - ## Overview You can use Lit for decentralized encryption with your storage provider of choice. With Lit, you can encrypt content client-side and define [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) to provision access rights to users who meet the conditions you set. @@ -35,6 +25,16 @@ Lit supports the use of both on and [off-chain data](../access-control/lit-actio 2. AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. 3. Storage provider of choice: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. +## Resources + +Learn how you can integrate decentralized access control with Lit into your own product: + +1. [Quick Start Guide](../access-control/quick-start.md) +2. [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) +3. [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) +4. [Basic EVM Conditions](../access-control/evm/basic-examples) +5. [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) + ## Examples and Use Cases 1. [Private data](https://docs.lens.xyz/docs/gated) for web3 social diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 51390df8..be2d9d43 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -1,4 +1,4 @@ -# Overview +# Introduction to Compute (Lit Actions) :::info **STATE OF THE NETWORK** @@ -7,16 +7,7 @@ Using Lit Actions in production IS now supported on the [Habanero Mainnet](../.. ::: -## Quick Start - -1. Guide: [Getting Started](../serverless-signing/quick-start.md) -2. Tool: [GetLit CLI](https://developer.litprotocol.com/v3/tools/getlit-cli) -3. Example: [Fetching Off-Chain Data in a Lit Action](../serverless-signing/fetch.md) -4. Example: [Conditional Signing with Lit Actions](../serverless-signing/conditional-signing.md) -3. Example: [Using Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376): Use the Mint/Grant/Burn function in the Lit `contracts-sdk` to atomically assign a Lit Action(s) to a PKP. The PKP will only return a signed response if the function you've declared in your Lit Action returns 'true'. Learn more about minting PKPs [here](../wallets/minting.md). - - -### Overview +## Overview Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method that allows developers to encode logic that dictates signing. @@ -24,22 +15,27 @@ Severless signing (AKA Lit Actions), are JavaScript programs that can be used to A simple example is a Lit Action and associated PKP that checks if a number is prime. The PKP gets [atomically](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) assigned to the Lit Action, only returning a signature if the required conditions are met (in this case, if a prime number is inputted). Each node will execute the Lit Action in parallel and verify that it meets the required conditions. If it does, each node independently provisions a signing share to the requesting client. Only after more than two-thirds of these shares have been collected is the complete signature returned. -### Features +## Features 1. [Blockchain Agnostic](../../resources/supported-chains.md): Lit Actions can be used to write data to and across any supported blockchain and state machine using PKPs. 2. Immutable: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on-chain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. 3. Off-Chain Compatibility: Lit Actions can pull in data from off-chain sources natively, without requiring the use of a third party oracle. -### Use Cases +## Resources -- [Generating proofs](../serverless-signing/conditional-signing) -- [Condition-based execution](../../tools/event-listener) -- [Looking up permitted actions, addresses and auth methods associated with a PKP](../wallets/auth-methods/#example-setting-auth-context-with-lit-actions) -- [Checking access control conditions](../access-control/lit-action-conditions) -- [Fetching off-chain data](../serverless-signing/fetch) +1. [Getting Started](../serverless-signing/quick-start.md) +2. [GetLit CLI](https://developer.litprotocol.com/v3/tools/getlit-cli) Tool +3. [Fetching Off-Chain Data in a Lit Action](../serverless-signing/fetch.md) +4. [Conditional Signing with Lit Actions](../serverless-signing/conditional-signing.md) +5. [Using Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376): Use the Mint/Grant/Burn function in the Lit `contracts-sdk` to atomically assign a Lit Action(s) to a PKP. The PKP will only return a signed response if the function you've declared in your Lit Action returns 'true'. Learn more about minting PKPs [here](../wallets/minting.md). -### Examples +## Examples and Use Cases -1. [Executing a trade on Uniswap](https://github.com/LIT-Protocol/lit-apps/blob/master/packages/lit-actions/src/to-be-converted/wip-swap.action.mjs?ref=spark.litprotocol.com) -2. [Fetching off-chain price data](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/#how-it-works) \ No newline at end of file +1. [Generating proofs](../serverless-signing/conditional-signing) +2. [Condition-based execution](../../tools/event-listener) +3. [Looking up permitted actions, addresses and auth methods associated with a PKP](../wallets/auth-methods/#example-setting-auth-context-with-lit-actions) +4. [Checking access control conditions](../access-control/lit-action-conditions) +5. [Fetching off-chain data](../serverless-signing/fetch) +6. [Executing a trade on Uniswap](https://github.com/LIT-Protocol/lit-apps/blob/master/packages/lit-actions/src/to-be-converted/wip-swap.action.mjs?ref=spark.litprotocol.com) +7. [Fetching off-chain price data](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/#how-it-works) diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index fbc1f4da..bf052280 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -5,7 +5,7 @@ sidebar_position: 5 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Appendix: Testing and Error Handling +# Testing and Error Handling :::info [Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index d50702e9..7e7305f0 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -1,4 +1,4 @@ -# Introduction +# Introduction to User Wallets :::info **STATE OF THE NETWORK** @@ -8,15 +8,6 @@ Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ ::: -## Quick Start - -Ready to jump right in? Quickly learn how you can integrate Programmable Key Pairs (PKPs) into your own product: - -1. Resource: [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) -2. Resource: [Testnet Faucet](https://faucet.litprotocol.com/) -3. Concept: [Assigning an Authentication Method](../wallets/auth-methods.md) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) -4. SDK Package: [Using PKPs as Wallets](../wallets/walletconnect.md) - ## Overview Each PKP is functionally a wallet, where the private key lives across the Lit Network. It is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication methods](../authentication/overview) to their PKP using Lit Actions. @@ -31,6 +22,16 @@ Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be used to [ 4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new wallet where the private key never exists in its entirety. 5. Interoperable: Use a provider like [WalletConnect](../wallets/walletconnect.md) to connect PKPs to your favorite dApps, just like any other EOA wallet. +## Resources + +Learn how you can integrate Programmable Key Pairs (PKPs) into your own product: + +1. [Quick Start Guide](../wallets/quick-start.md) +2. [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) +3. [Testnet Faucet](https://faucet.litprotocol.com/) +4. [Assigning an Authentication Method](../wallets/auth-methods.md) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) +5. [Using PKPs as Wallets](../wallets/walletconnect.md) + ## Examples and Use Cases PKPs can be used to power a wide array of potential applications and use cases: diff --git a/docs/support/intro.md b/docs/support/intro.md new file mode 100644 index 00000000..10453cbd --- /dev/null +++ b/docs/support/intro.md @@ -0,0 +1,13 @@ +# Resources and Support + +If you have any issues with Lit SDK, general questions about Lit Protocol, or feature requests with Lit, please post them here - [Issues and Reports](https://github.com/LIT-Protocol/Issues-and-Reports/issues) GitHub Repo. + +## Join the Community + +Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). + +Check out the Lit [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. + +Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. + +Follow Lit on [X](https://twitter.com/LitProtocol). \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index 39e0d018..f1608a8c 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -104,11 +104,6 @@ const config = { docId: 'intro/overview', label: 'Docs', }, - { - to: 'learningLab/intro', - position: 'left', - label: 'Learning Lab', - }, { to: 'ecosystem/lit-grants', position: 'left', diff --git a/sidebars.js b/sidebars.js index 310199e4..33c15878 100644 --- a/sidebars.js +++ b/sidebars.js @@ -41,7 +41,16 @@ const sidebars = { // ], docs: [ - 'intro/overview', + { + type: 'category', + label: 'Getting Started', + collapsed: true, + items: [ + 'intro/overview', + 'intro/what-is-lit-protocol', + 'resources/how-it-works', + ], + }, { type: 'category', label: 'Installation', @@ -290,9 +299,22 @@ const sidebars = { } ], }, + ], + }, + { + type: 'category', + label: 'Appendix', + collapsed: true, + link: { + type: 'generated-index', + title: 'Appendix', + description: 'Learn about the appendix for the Lit SDK!', + keywords: ['appendix'], + }, + items: [ { type: 'category', - label: 'Appendix: Networks', + label: 'Networks', collapsed: true, link: { type: 'generated-index', @@ -314,7 +336,7 @@ const sidebars = { }, { type: 'category', - label: 'Appendix: Useful Tools', + label: 'Useful Tools', collapsed: true, link: { type: 'generated-index', @@ -331,7 +353,7 @@ const sidebars = { }, { type: 'category', - label: 'Appendix: Integrations', + label: 'Integrations', collapsed: true, link: { type: 'generated-index', @@ -365,54 +387,41 @@ const sidebars = { }, ], }, - 'sdk/tests', { type: 'category', - label: 'Appendix: Resources', + label: 'Concepts', collapsed: true, link: { type: 'generated-index', - title: 'Resources', - description: 'Learn about the different resources that can help you with Lit SDK!', - keywords: ['resources'], + title: 'Quick Concepts', + description: 'Learn about the different quick concepts that can help you with Lit SDK!', + keywords: ['concepts'], }, items: [ - 'resources/how-it-works', - { - type: 'category', - label: 'Quick Concepts', - collapsed: true, - link: { - type: 'generated-index', - title: 'Quick Concepts', - description: 'Learn about the different quick concepts that can help you with Lit SDK!', - keywords: ['concepts'], - }, - items: [ - 'concepts/access-control-concept', - 'concepts/programmable-signing-concept', - 'concepts/pkps-as-wallet', - 'concepts/capacity-credits-concept', - ], - }, - 'resources/supported-chains', - 'resources/contracts', - 'resources/glossary', + 'concepts/access-control-concept', + 'concepts/programmable-signing-concept', + 'concepts/pkps-as-wallet', + 'concepts/capacity-credits-concept', ], }, + 'sdk/tests', + ], + }, + { + type: 'category', + label: 'Resources and Support', + collapsed: true, + link: { + type:'doc', + id: 'support/intro', + }, + items: [ 'intro/usecases', - { - type: 'category', - label: 'Support', - collapsed: true, - link: { - type: 'generated-index', - title: 'Support', - description: 'Want to know more about Lit SDK? Check out the support section!', - keywords: ['support'], - }, - items: ['support/faq', 'support/bug-bounty'], - }, + 'resources/supported-chains', + 'resources/contracts', + 'resources/glossary', + 'support/faq', + 'support/bug-bounty' ], }, { @@ -421,15 +430,28 @@ const sidebars = { collapsed: true, link: { type: 'generated-index', - title: 'Lit SDK APIs Reference', - description: 'Get the API reference for different versions of the Lit Js/Ts SDK!', + title: 'Lit SDK API Reference', + description: 'Get the API reference for different versions of the Lit SDK!', keywords: ['api-reference'], }, items:[ - 'api-reference/v1-sdk', - 'api-reference/v2-sdk', - 'api-reference/v3-sdk', - 'api-reference/v4-sdk' + 'api-reference/v4-sdk', + { + type: 'category', + label: 'Legacy SDK Versions', + collapsed: true, + link: { + type: 'generated-index', + title: 'Legacy SDK Versions', + description: 'Get the API reference for older versions of the Lit SDK!', + keywords: ['api-reference'], + }, + items: [ + 'api-reference/v3-sdk', + 'api-reference/v2-sdk', + 'api-reference/v1-sdk', + ], + }, ] }, 'additional-examples', From 5e15856e32767544304d91168491793097c942c8 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:59:07 -0700 Subject: [PATCH 225/627] Update v4-sdk.md --- docs/api-reference/v4-sdk.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/api-reference/v4-sdk.md b/docs/api-reference/v4-sdk.md index ea0e6fd3..968ee825 100644 --- a/docs/api-reference/v4-sdk.md +++ b/docs/api-reference/v4-sdk.md @@ -1 +1,3 @@ # SDK v4.x.x + +The most recent API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). From a11d94a9efbdf82acb5d397ae38ca209cf5a3107 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 15 Apr 2024 15:01:19 -0700 Subject: [PATCH 226/627] Update v3-sdk.md --- docs/api-reference/v3-sdk.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md index 48c2d943..292ec0ea 100644 --- a/docs/api-reference/v3-sdk.md +++ b/docs/api-reference/v3-sdk.md @@ -1 +1,3 @@ # SDK v3.x.x + +The most recent API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). From 579ce39e012b877de8616bcdd8a45da07c8f05f7 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 15 Apr 2024 15:20:04 -0700 Subject: [PATCH 227/627] Update sidebars.js --- sidebars.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sidebars.js b/sidebars.js index 33c15878..c1d41109 100644 --- a/sidebars.js +++ b/sidebars.js @@ -207,7 +207,7 @@ const sidebars = { }, { type: 'category', - label: 'Encryption/Decryption', + label: 'Encryption and Access Control', link: { type: 'doc', id: 'sdk/access-control/intro', @@ -270,7 +270,7 @@ const sidebars = { }, { type: 'category', - label: 'Compute (Lit Actions)', + label: 'Private Compute (Lit Actions)', link: { type: 'doc', id: 'sdk/serverless-signing/overview', From aeff24faad0611d227b427ee70bb8fffd2ae5a0d Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 16 Apr 2024 17:47:38 -0700 Subject: [PATCH 228/627] quick starts (#262) * quick starts * updates --- docs/sdk/access-control/quick-start.md | 480 +++++++++++++++++- docs/sdk/serverless-signing/quick-start.md | 473 ++++++++++++++---- docs/sdk/wallets/quick-start.md | 555 ++++++++++++++++++++- sidebars.js | 2 +- 4 files changed, 1403 insertions(+), 107 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 1d2e8525..5470fdf0 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -1 +1,479 @@ -# Quick Start \ No newline at end of file +# Quick Start + +## Start Here + +You can use the Lit network to encrypt your data and store it privately on the open web. This guide will show you how you can encrypt a simple message with Lit, create an Access Control Condition (ACC), and permit decryption by users who meet the condition you set. + +Lit can only be used to generate and store encryption keys, so you will need to store the ciphertext and metadata yourself using your storage provider of choice (such as IPFS, Arweave, or even a centralized storage solution). Once your data has been encrypted, the Lit network will enforce who is allowed to decrypt it. + +This guide uses Lit's [Habanero Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Manzano Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). + +For developers looking to explore beyond the basics, check out Advanced Topics. + +## Install and Import the Lit SDK + +Ensure you have the following requirements in place: + +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/lit-node-client + +``` + +OR + +```jsx +npm i @lit-protocol/lit-node-client +``` +:::note +If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs` +::: + +Use the **Lit JS SDK V4**: + +```jsx +import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; + +``` + +:::note +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +::: + +### Client-Side Usage + +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. + +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. + +```jsx +const client =new LitJsSdk.LitNodeClient({ + litNetwork: 'habanero', +}); + +await client.connect(); +``` + +### Server-Side Usage + +In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. + +:::note +Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. +::: + +`client.connect()` returns a promise that resolves when you are connected to the Lit network. + +```jsx +app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: 'habanero', +}); +await app.locals.litNodeClient.connect(); + +``` + +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` and + +`await app.locals.litNodeClient.disconnect()` . + +## Performing Encryption + +To encrypt something with Lit, you’ll need to follow these steps: + +1. Obtain an `authSig` and create an access control condition. +2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. + +### Create an Access Control Condition + +In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: + +```jsx +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, +]; +``` + +### Obtain an Auth Sig + +In order to interact with the nodes in the Lit Network, you will need to generate and present signatures. The easiest way to do this is to generate an `AuthSig` . You can use any signature compliant with [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361), also known as Sign in with Ethereum (SIWE) for this. + +#### Obtaining an `AuthSig` in the browser + +The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. + +```jsx +const nonce = litNodeClient.getLatestBlockhash(); + +const authSig = await checkAndSignAuthMessage({ + chain: "ethereum", + nonce, +}); +``` + +:::note + +Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash AuthSigs will not be validated. + +::: + +#### Obtaining an `AuthSig` on the server-side + +If you want to obtain an `AuthSig` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `AuthSig` object. + +:::note +The nonce should be the latest Ethereum block hash returned by the nodes during the handshake. +::: + +```jsx +const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); +const { ethers } = require("ethers"); +const siwe = require('siwe'); + + let nonce = litNodeClient.getLatestBlockhash(); + + // Initialize the signer + const wallet = new ethers.Wallet(''); + const address = ethers.getAddress(await wallet.getAddress()); + + // Craft the SIWE message + const domain = 'localhost'; + const origin = 'https://localhost/login'; + const statement = + 'This is a test statement. You can put anything you want here.'; + + // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds + const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 + ).toISOString(); + + const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: 1, + nonce, + expirationTime, + }); + const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + + const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, + }; + + console.log(authSig); +} + +main(); +``` + +### Encryption + +To encrypt a string, use one of the following functions: + +- [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. + +To encrypt a file, use: + +- [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. + +Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. + +In this example, we are using `encryptString()`: + +:::note + +All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. + +::: + +```jsx +const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + authSig, + chain: "ethereum", + dataToEncrypt: "this is a secret message", + }, + litNodeClient +); +``` + +:::note + +Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. + +::: + +### Putting it all together + +Your complete encryption function should look like: + +```jsx +async encrypt(message: string) { + if (!this.litNodeClient) { + await this.connect() + } + + const authSig = await LitJsSdk.checkAndSignAuthMessage({ ethereum }) + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + authSig, + chain: 'ethereum', + dataToEncrypt: 'this is a secret message', + }, + litNodeClient, + ); + + return { + ciphertext, + dataToEncryptHash, + }; +} +``` + +## Performing Decryption + +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. + +There is just one step: + +1. Obtain the decrypted data in plaintext using the `authSig`, `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. + +### Obtain an Auth Sig + +In order to interact with the nodes in the Lit Network, you will need to generate and present signatures. The easiest way to do this is to generate an `AuthSig` . You can use any signature compliant with EIP-4361, also known as Sign in with Ethereum (SIWE) for this. + +#### Obtaining an `AuthSig` in the browser + +The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. + +```jsx +const authSig = await checkAndSignAuthMessage({ + chain: "ethereum", + nonce, +}); +``` + +:::note + +Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. + +::: + +#### Obtaining an `AuthSig` on the server-side + +If you want to obtain an `AuthSig` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `AuthSig` object. + +:::note +The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. +::: + +```jsx +const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); +const { ethers } = require("ethers"); +const siwe = require('siwe'); + + let nonce = litNodeClient.getLatestBlockhash(); + + // Initialize the signer + const wallet = new ethers.Wallet(''); + const address = ethers.getAddress(await wallet.getAddress()); + + // Craft the SIWE message + const domain = 'localhost'; + const origin = 'https://localhost/login'; + const statement = + 'This is a test statement. You can put anything you want here.'; + + // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds + const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 + ).toISOString(); + + const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: 1, + nonce, + expirationTime, + }); + const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + + const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, + }; + + console.log(authSig); +} + +main(); +``` + +## Mint Capacity Credits and Delegate Usage + +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. + +The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: + +```jsx +const walletWithCapacityCredit = new Wallet(""); +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: 'habanero', +}); + +await contractClient.connect(); +``` + +After you’ve set your wallet, your next step is to mint the NFT: + +```jsx + +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 2, +}); +``` + +In the above example, we are configuring 2 properties: + +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. + +### Delegate usage of your NFT + +Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). + +```jsx +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + signer: wallet, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [walletAddress], + }); +``` + +To delegate your Rate Limit NFT there are 4 properties to configure: + +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to + +:::note +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: + +Check out a complete example [here](https://github.com/LIT-Protocol/js-sdk/blob/1286138adc09ac2d34371f3ac12a9088ada367ec/e2e-nodejs/group-rli/test-rli-from-lit-node-client-diff-delegatee.mjs). + +### Using a delegated `AuthSig` from a backend + +If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: + +- [ExpressJS](https://www.npmjs.com/package/express) +- [Node HTTP server](https://nodejs.org/api/http.html#http) + +### Decryption + +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. + +:::note + +If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. + +::: + +```jsx +const decryptedString =await LitJsSdk.decryptToString( + { + accessControlConditions, + ciphertext, + dataToEncryptHash, + authSig, + chain: "ethereum", + }, + litNodeClient +); + +``` + +### Putting it all together + +Your full decryption function should be: + +```jsx +async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlConditions: any) { + if (!this.litNodeClient) { + await this.connect() + } + + const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: 'ethereum' }) + const decryptedString = LitJsSdk.decryptToString( + { + accessControlConditions, + ciphertext, + dataToEncryptHash, + authSig, + chain: 'ethereum', + }, + litNodeClient, + ); + return { decryptedString } +} +``` + +# Learn More + +By now you should have successfully created an Access Control Condition and performed encryption and decryption. To learn more about using decentralized access control, please check out the links below: + +1. [JWT-based Access Control](../access-control/jwt-auth.md). +2. [Basic Conditions](../access-control/evm/basic-examples.md). +3. [Off-Chain Conditions](../access-control/lit-action-conditions.md). +4. [Custom Contract Calls](../access-control/evm/custom-contract-calls.md). + +Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 40cd8c9e..8a6c66ee 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -3,154 +3,275 @@ import TabItem from '@theme/TabItem'; # Quick Start -:::info -**STATE OF THE NETWORK** +## Start Here -The Lit Habanero Mainnet is now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. +Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method that allows developers to encode logic that dictates signing. -For references to the Lit Actions functions which can be accessed inside a Lit Action via the `Lit.Actions` object, check out the [Lit Actions](http://actions-docs.litprotocol.com/) API docs. +Lit Actions are JavaScript functions that can be used read and write data across blockchains, web2 platforms, and the rest of the web3 world. You can use Lit Actions to generate signatures when your specified on or off-chain conditions are met, fetch data from off-chain platforms, and manage permissions for PKPs. -Need some `testLPX` test tokens to mint a PKP? Get some from the [faucet](https://faucet.litprotocol.com/)! +In the following guide, we will write a simple Lit Action that requests a signature from the Lit nodes and signs the message "Hello World". -::: +This guide uses Lit's [Habanero Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Manzano Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). -## Prerequisites +For developers looking to explore beyond the basics, check out Advanced Topics. -- Familiarity with JavaScript -- Read the Overview section about [serverless signing](../serverless-signing/overview.md) +# Steps -## Overview -The following section provides an end-to-end example of minting a PKP (using the ContractsSDK) and signing a message using Lit Actions. +## Install and Import the Lit SDK -## What are Lit Actions +Ensure you have the following requirements in place: -Lit Actions are JavaScript programs used to define signing conditions for [PKPs](../wallets/intro). In other words, they are the immutable "rules" that dictate what or who has permission to sign using a particular PKP. +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. -To create a Lit Action write some JavaScript code that will accomplish your goals. The Lit Protocol provides JS function bindings to do things like request a signature or check an arbitrary condition. If you need to include dependencies like NPM packages, use a bundler like Webpack or ESBuild to create a single JS file and provide that bundle as your Lit Action. +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: -In order to collect the responses from the Lit nodes, you'll also need to write some client side JS. This will allow you to combine the collected key shares [above the threshold](../../resources/how-it-works.md) to form the complete signature. +```jsx +yarn add @lit-protocol/lit-node-client -In the example below, we will write a simple Lit Action that requests a signature from the Lit nodes and signs a message that says "Hello World". +``` -## Installation +Use the **Lit JS SDK V4**: -Install the latest contracts-sdk on `cayenne` +```jsx +import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; -```bash -yarn install @lit-protocol/contracts-sdk ``` -## Set up the controller +:::note + +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. + +::: -To initialize a LitContracts client you need an Eth Signer. This can be a standard Ethers wallet or also a `PKPEthersWallet` (more info on the latter [here](../wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)). But here, we're gonna use the standard Ethers wallet. +### Client-Side Usage -## Initialize the ContractsSDK +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. -We're using the ContractsSDK for the minting the PKP & interacting with it (updating the scopes). The first step is to initialize the ContractsSDK +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx -const contractClient = new LitContracts({ - signer: wallet, +const client =new LitJsSdk.LitNodeClient({ + litNetwork: 'habanero', }); -await contractClient.connect(); +await client.connect(); ``` -**Note:** The default LitNetwork for the ContractsSDK is Cayenne so there's no need to set the network explicitly. +### Server-Side Usage -## Mint the PKP +In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. -Now that we've the ContractsSDK initialized we're ready to mint the PKP using it. Since we want to allow out PKP to sign messages we have to add Auth Method scopes for `SigningAnything` & `PersonalSign` as below otherwise you'll get an error stating that the PKP isn't authorized to sign. - -**Note:** You're gonna need an AuthSig for setting the `authMethod`. In the browser you can use `checkAndSignAuthMessage` or use [Hot wallet signing](https://developer.litprotocol.com/v3/support/faq/#1-cant-use-checkandsignauthmessage-in-a-backend-project) in the backend. +:::note -### Get the Latest Eth Blockhash +Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. -Since the ContractsSDK doesn't proveid you with the latest Eth Blockhash which is supposed to be the nonce for our AuthSig signed message we have to use the LitNodeClient to get that. More info [here](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig/#obtaining-an-authsig-on-the-server-side). +::: -You first need to install the `LitNodeClient` or `LitNodeClientNodeJs` depending on the environment: +The `client.connect()` method returns a promise that resolves when you are connected to the Lit network. - - +```jsx +app.locals.litNodeClient =new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: 'habanero', +}); +await app.locals.litNodeClient.connect(); -```bash -yarn add @lit-protocol/lit-node-client ``` - +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` and - +`await app.locals.litNodeClient.disconnect()` -```bash -yarn add @lit-protocol/lit-node-client-nodejs +## Install the required packages + +```jsx +yarn add @lit-protocol/lit-auth-client +yarn add @lit-protocol/contracts-sdk ``` - - +### Set up a controller wallet -And use the nonce when crafting the authSig: +To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. - - +### Initialize the `contracts-sdk` ```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; - -const litNodeClient = new LitJsSdk.LitNodeClient({ litNetwork: 'cayenne' }); -await litNodeClient.connect(); +const contractClient = new LitContracts({ + signer: wallet, + network: 'habanero', +}); -const nonce = litNodeClient.getLatestBlockhash(); +await contractClient.connect(); ``` - +:::note + +You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified faucet: https://faucet.litprotocol.com/ + +::: + +## Authenticate with the Lit Network +In order to interact with the nodes in the Lit Network, you will need to generate and present signatures. You can do this by generating either an 'Auth Sig' or a 'Session Sig' (read more about the difference between the two approaches [here](../authentication/overview.md)). Any signature compliant with EIP-4361 (also known as Sign in with Ethereum (SIWE)) cam be used for this. - +### Obtaining an `AuthSig` in the browser + +The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. ```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +const authSig = await checkAndSignAuthMessage({ + chain: "ethereum", + nonce, +}); +``` + +:::note +Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. +::: -const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: 'cayenne' }); -await litNodeClient.connect(); +### Obtaining an `Session Signature` on the server-side -const nonce = litNodeClient.getLatestBlockhash(); +If you want to obtain an `Session Signature` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `Session Signature` object. + +:::note +The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake +::: + +```jsx +const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); +const { ethers } = require("ethers"); +const siwe = require('siwe'); + +let nonce = litNodeClient.getLatestBlockhash(); + +// Initialize the signer +const wallet = new ethers.Wallet(''); +const address = ethers.getAddress(await wallet.getAddress()); + +// Craft the SIWE message +const domain = 'localhost'; +const origin = 'https://localhost/login'; +const statement = + 'This is a test statement. You can put anything you want here.'; + +// expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds +const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 +).toISOString(); + +const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: 1, + nonce, + expirationTime, +}); +const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + + const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, + }; + + console.log(authSig); + + // Form the authNeededCallback to create a session with + // the wallet signature. + const authNeededCallback = async (params) => { + const response = await client.signSessionKey({ + statement: params.statement, + authMethods: [ + { + authMethodType: 1, + // use the authSig created above to authenticate + // allowing the pkp to sign on behalf. + accessToken: JSON.stringify(authSig), + }, + ], + pkpPublicKey: ``, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; + }; + + // Set resources to allow for signing of any message. + const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, + ]; + // Get the session key for the session signing request + // will be accessed from local storage or created just in time. + const sessionKeyPair = client.getSessionKey(); + + // Request a session with the callback to sign + // with an EOA wallet from the custom auth needed callback created above. + const sessionSigs = await client.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }); +} + +main(); ``` - - +## Mint a PKP and Add Permitted Scopes +Now that we have installed all of the required packages and authenticated with the Lit nodes we will mint a PKP and set its permitted scopes using the `contracts-sdk`. -**Note:** The `mintInfo` contains all the required info for the PKP including its `tokenId` & `publicKey`. +Permitted scopes are a crucial part of defining the capabilities of each authentication method you use. They determine what actions a given authentication method can perform with the PKP. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. + +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods#auth-method-scopes)**. + +The following code block demonstrates how to mint a PKP with specific permitted scopes: + +:::note +The PKP NFT represents root ownership of the key pair. The NFT owner can grant other users (via a wallet address) or Lit Actions the ability to use the PKP to sign transactions or assign additional authentication methods. +::: ```jsx -const mintCost = await contractClient.pkpNftContract.read.mintCost(); you can check how much it costs to mint a PKP with this +import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; const authMethod = { authMethodType: AuthMethodType.EthWallet, - accessToken: JSON.stringify(authSig), + accessToken: '...', }; const mintInfo = await contractClient.mintWithAuth({ - authMethod, + authMethod: authMethod, scopes: [ - AuthMethodScope.NoPermissions, - AuthMethodScope.SignAnything, - AuthMethodScope.PersonalSign, - ], + // AuthMethodScope.NoPermissions, + AuthMethodScope.SignAnything, + AuthMethodScope.PersonalSign + ], }); -``` -## Check the scope for the PKP +// output: +{ + pkp: { + tokenId: string; + publicKey: string; + ethAddress: string; + }; + tx: ethers.ContractReceipt; +} +``` -This step isn't necessary for signing with the PKP but can be done to view whether the minted PKP has proper scopes which are required for signing. The first step is to get the `authId` from the `authMethod` as the PKP contracts stores a mapping from the `authId` & its scopes. The `3` below is just the maxScopeId which should be greater than the number of [Auth Method scopes](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/#auth-method-scopes) that you define. +You should now have successfully minted a PKP! You can verify that the PKP has the necessary permissions for signing by calling the following function: ```jsx const authId = await LitAuthClient.getAuthIdByAuthMethod(authMethod); @@ -165,17 +286,169 @@ const signAnythingScope = scopes[1]; const personalSignScope = scopes[2]; ``` -## Lit Action Signing with the PKP +Additional Demos: + +1. **[Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs)** +2. **[Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs)** +3. **[Minting a PKP using social login](https://developer.litprotocol.com/v3/sdk/wallets/minting-methods/mint-via-social)** + +## Mint Capacity Credits and Delegate Usage + +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. + +The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: + +```jsx +const walletWithCapacityCredit = new Wallet(""); +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: 'habanero', +}); + +await contractClient.connect(); +``` + +After you’ve set your wallet, your next step is to mint the NFT: + +```jsx + +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 2, +}); +``` + +In the above example, we are configuring 2 properties: + +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. -We'll again use the `litNodeClient` to call the `executeJs` to sign the message with the PKP. +### Delegate usage to your PKP + +Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow that PKP to make requests to the Lit network. + +```jsx +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + signer: wallet, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [secondWalletPKPInfo.ethAddress], + }); +``` + +To delegate your Rate Limit NFT there are 4 properties to configure: + +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to :::note -`toSign` data is required to be in 32 byte format. +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: + +### Using a delegated `AuthSig` from a backend + +If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: + +- [ExpressJS](https://www.npmjs.com/package/express) +- [Node HTTP server](https://nodejs.org/api/http.html#http) + +### Generating a Session Signature from the Capacity Credit delegation +We can use the Capacity Credit delegation to generate a Session Signature for the PKP: + +```jsx + const pkpAuthNeededCallback = async ({ + expiration, + resources, + resourceAbilityRequests, + }) => { + // -- validate + if (!expiration) { + throw new Error('expiration is required'); + } + + if (!resources) { + throw new Error('resources is required'); + } + + if (!resourceAbilityRequests) { + throw new Error('resourceAbilityRequests is required'); + } + + const response = await litNodeClient.signSessionKey({ + statement: 'Some custom statement.', + authMethods: [secondWalletControllerAuthMethod], // authMethods for signing the sessionSigs + pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated + expiration: expiration, + resources: resources, + chainId: 1, + + // optional (this would use normal siwe lib, without it, it would use lit-siwe) + resourceAbilityRequests: resourceAbilityRequests, + }); + + console.log('response:', response); + + return response.authSig; + }; + + const pkpSessionSigs = await litNodeClient.getSessionSigs({ + pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + chain: 'ethereum', + resourceAbilityRequests: [ + { + resource: new LitPKPResource('*'), + ability: LitAbility.PKPSigning, + }, + ], + authNeededCallback: pkpAuthNeededCallback, + capacityDelegationAuthSig, // here is where we add the delegation to our session request + }); + + console.log("generated session with delegation ", pkpSessionSigs); + + const res = await litNodeClient.executeJs({ + sessionSigs: pkpSessionSigs, + code: `(async () => { + const sigShare = await LitActions.signEcdsa({ + toSign: dataToSign, + publicKey, + sigName: "sig", + }); + })();`, + authMethods: [], + jsParams: { // parameters to js function above + dataToSign: ethers.utils.arrayify( + ethers.utils.keccak256([1, 2, 3, 4, 5]) + ), + publicKey: secondWalletPKPInfo.publicKey, + }, + }); + + console.log("signature result ", res); + +``` +## Sign a Transaction + +### Lit Action Signing + +To sign a Lit Action with your PKP, we'll use the `litNodeClient` to call the `executeJs` parameter. + +:::note + +`toSign` data is required to be in 32 byte format. The  `ethers.utils.arrayify(ethers.utils.keccak256(...)` method can be used to convert the `toSign` data to the correct format. -The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. ::: -Set up the Lit Action code to be run on the Lit nodes. +You can set up the Lit Action code to be run on the Lit nodes like so: ```jsx const litActionCode = ` @@ -200,15 +473,9 @@ const signatures = await litNodeClient.executeJs({ console.log("signatures: ", signatures); ``` -:::note -The signatures above are the signatures from the nodes using the PKP. In Cayenne we have 3 nodes so only 2 valid signature shares are required to combine the shares. Hence you will see one od the node always fail to sign. -::: - -### Using the ipfsId param - -The ipfs ID: `QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm` contains the same code as the "litActionCode" variable above. +You can also use the `ipfsId` param if you’d prefer to store your Lit Action code on IPFS. -You can check out the code here: https://ipfs.litgateway.com/ipfs/QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm . +The ipfs ID: `QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm` contains the same code as the "litActionCode" variable above. You can check out the full code [here](https://ipfs.litgateway.com/ipfs/QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm). ```jsx const signatures = await litNodeClient.executeJs({ @@ -222,15 +489,13 @@ const signatures = await litNodeClient.executeJs({ }); ``` -:::note -You can provide either a `code` param or a `ipfsId` param for the Lit Actions code but not both. -::: +# Learn More -## Conclusion and More Examples +By now you should have successfully written a Lit Action, minted a PKP, and used it to sign a message with a Lit Action. If you’d like to learn more about what’s possible with Lit Actions, please follow the links below: -This page showed how you can mint a PKP and use it to sign messages with Lit Actions. To learn more, check out these resources: -- [Generating signed transactions](../serverless-signing/processing-validation.md) -- [Fetching off-chain data](../serverless-signing/fetch.md) -- [Connecting PKPs to dApps](../wallets/walletconnect.md) +1. [Conditional Signatures](../serverless-signing/conditional-signing.md). +2. [Fetching Off-Chain Data](../serverless-signing/fetch.md). +3. [Using Dependencies](../serverless-signing/dependencies.md). +4. [Creating Blockchain Transactions](../serverless-signing/processing-validation.md). -Reach out to the Lit Protocol development team on [Discord](https://litgateway.com/discord) if you need help or have questions! +Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 1d2e8525..0c9b0a7f 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -1 +1,554 @@ -# Quick Start \ No newline at end of file +# Quick Start + +## Start Here + +This guide focuses on demonstrating how you can use Programmable Key Pairs (PKPs) to build secure, non-custodial user wallets. + +PKPs are decentralized public / private key pairs generated by the [Lit Network](../../resources/how-it-works.md). These key pairs can be used for various [use cases](../../intro/usecases.md), but a popular way to use them is to offer wallets for your users. + +The following steps will walk you through the process of creating a PKP, assigning permissions to it, and signing a transaction. + +This guide uses Lit's Habanero Network, the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Manzano Network is recommended. More on Lit networks [here](../../network/networks/mainnet.md). + +For developers looking to explore beyond the basics, check out Advanced Topics. + +You can also view an embedded wallets demo here: https://lit-pkp-auth-demo.vercel.app/ + +# Steps + +## Install and Import the Lit SDK + +Ensure you have the following requirements in place: + +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/lit-node-client + +``` + +Use the **Lit JS SDK V4**: + +```jsx +import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; + +``` + +:::note +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +::: + +### Client-Side Usage + +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. + +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. + +```jsx +const client =new LitJsSdk.LitNodeClient({ + litNetwork: 'habanero', +}); + +await client.connect(); +``` + +### Server-Side Usage + +In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. + +:::note +Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. +::: + + +`client.connect()` returns a promise that resolves when you are connected to the Lit network. + +```jsx +app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: 'habanero', +}); +await app.locals.litNodeClient.connect(); + +``` + +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` and + +`await app.locals.litNodeClient.disconnect()`. + +## Install the Required Packages + +```jsx +yarn add @lit-protocol/lit-auth-client +yarn add @lit-protocol/contracts-sdk +``` + +### Set up a controller wallet + +To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. + +### Initialize the `contracts-sdk` + +```jsx +const contractClient = new LitContracts({ + signer: wallet, + network: 'habanero', +}); + +await contractClient.connect(); +``` + +:::note +You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified faucet: https://faucet.litprotocol.com/ +::: + +## Authenticate with the Lit Network + +In order to interact with the nodes in the Lit Network, you will need to generate and present signatures. You can do this by generating either an 'Auth Sig' or a 'Session Sig' (read more about the difference between the two approaches [here](../authentication/overview.md)). Any signature compliant with EIP-4361 (also known as Sign in with Ethereum (SIWE)) cam be used for this. + +### Obtaining an `AuthSig` in the browser[](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig#obtaining-an-authsig-in-the-browser) + +### Using `checkAndSignAuthMessage`[](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig#using-checkandsignauthmessage) + +The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. + +```jsx +const authSig = await checkAndSignAuthMessage({ + chain: "ethereum", + nonce, +}); +``` + +:::note +Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. +::: + +### Obtaining an `Session Signature` on the server-side[](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig#obtaining-an-authsig-on-the-server-side) + +If you want to obtain an `Session Signature` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `Session Signature` object. + +:::note +The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake +::: + +```jsx +const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); +const { ethers } = require("ethers"); +const siwe = require('siwe'); + +let nonce = litNodeClient.getLatestBlockhash(); + +// Initialize the signer +const wallet = new ethers.Wallet(''); +const address = ethers.getAddress(await wallet.getAddress()); + +// Craft the SIWE message +const domain = 'localhost'; +const origin = 'https://localhost/login'; +const statement = + 'This is a test statement. You can put anything you want here.'; + +// expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds +const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 +).toISOString(); + +const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: 1, + nonce, + expirationTime, +}); +const messageToSign = siweMessage.prepareMessage(); + + // Sign the message and format the authSig + const signature = await wallet.signMessage(messageToSign); + + const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, + }; + + console.log(authSig); + + // Form the authNeededCallback to create a session with + // the wallet signature. + const authNeededCallback = async (params) => { + const response = await client.signSessionKey({ + statement: params.statement, + authMethods: [ + { + authMethodType: 1, + // use the authSig created above to authenticate + // allowing the pkp to sign on behalf. + accessToken: JSON.stringify(authSig), + }, + ], + pkpPublicKey: ``, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; + }; + + // Set resources to allow for signing of any message. + const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, + ]; + // Get the session key for the session signing request + // will be accessed from local storage or created just in time. + const sessionKeyPair = client.getSessionKey(); + + // Request a session with the callback to sign + // with an EOA wallet from the custom auth needed callback created above. + const sessionSigs = await client.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, + }); +} + +main(); +``` + +## Mint a PKP and Add Permitted Scopes + +Now that we have installed all of the required packages and authenticated with the Lit nodes we will mint a PKP and set its permitted scopes using the `contracts-sdk`. + +Permitted scopes are a crucial part of defining the capabilities of each authentication method you use. They determine what actions a given authentication method can perform with the PKP. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. + +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods#auth-method-scopes)**. + +The following code block demonstrates how to mint a PKP with specific permitted scopes: + +:::note +The PKP NFT represents root ownership of the key pair. The NFT owner can grant other users (via a wallet address) or Lit Actions the ability to use the PKP to sign transactions or assign additional authentication methods. +::: + +```jsx +import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; + +const authMethod = { + authMethodType: AuthMethodType.EthWallet, + accessToken: '...', +}; + +const mintInfo = await contractClient.mintWithAuth({ + authMethod: authMethod, + scopes: [ + // AuthMethodScope.NoPermissions, + AuthMethodScope.SignAnything, + AuthMethodScope.PersonalSign + ], +}); + +// output: +{ + pkp: { + tokenId: string; + publicKey: string; + ethAddress: string; + }; + tx: ethers.ContractReceipt; +} +``` + +You should now have successfully minted a PKP! You can verify that the PKP has the necessary permissions for signing by calling the following function: + +```jsx +const authId = await LitAuthClient.getAuthIdByAuthMethod(authMethod); +await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( + mintInfo.pkp.tokenId, + AuthMethodType.EthWallet, + authId, + 3 +); + +const signAnythingScope = scopes[1]; +const personalSignScope = scopes[2]; +``` + +Additional Demos: + +1. **[Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs)** +2. **[Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs)** +3. **[Minting a PKP using social login](https://developer.litprotocol.com/v3/sdk/wallets/minting-methods/mint-via-social)** + +## Mint Capacity Credits and Delegate Usage + +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. + +The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: + +```jsx +const walletWithCapacityCredit = new Wallet(""); +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: 'habanero', +}); + +await contractClient.connect(); +``` + +After you’ve set your wallet, your next step is to mint the NFT: + +```jsx + +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 2, +}); +``` + +In the above example, we are configuring 2 properties: + +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. + +### Delegate usage to your PKP + +Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow that PKP to make requests to the Lit network. + +```jsx +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + signer: wallet, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [secondWalletPKPInfo.ethAddress], + }); +``` + +To delegate your Rate Limit NFT there are 4 properties to configure: + +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to + +:::note +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: + +### Using a delegated `AuthSig` from a backend + +If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: + +- [ExpressJS](https://www.npmjs.com/package/express) +- [Node HTTP server](https://nodejs.org/api/http.html#http) + +### Generating a Session Signature from the Capacity Credit delegation + +We can use the Capacity Credit delegation to generate a Session Signature for the PKP: + +```jsx + const pkpAuthNeededCallback = async ({ + expiration, + resources, + resourceAbilityRequests, + }) => { + // -- validate + if (!expiration) { + throw new Error('expiration is required'); + } + + if (!resources) { + throw new Error('resources is required'); + } + + if (!resourceAbilityRequests) { + throw new Error('resourceAbilityRequests is required'); + } + + const response = await litNodeClient.signSessionKey({ + statement: 'Some custom statement.', + authMethods: [secondWalletControllerAuthMethod], // authMethods for signing the sessionSigs + pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated + expiration: expiration, + resources: resources, + chainId: 1, + + // optional (this would use normal siwe lib, without it, it would use lit-siwe) + resourceAbilityRequests: resourceAbilityRequests, + }); + + console.log('response:', response); + + return response.authSig; + }; + + const pkpSessionSigs = await litNodeClient.getSessionSigs({ + pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + chain: 'ethereum', + resourceAbilityRequests: [ + { + resource: new LitPKPResource('*'), + ability: LitAbility.PKPSigning, + }, + ], + authNeededCallback: pkpAuthNeededCallback, + capacityDelegationAuthSig, // here is where we add the delegation to our session request + }); + + console.log("generated session with delegation ", pkpSessionSigs); + + const res = await litNodeClient.executeJs({ + sessionSigs: pkpSessionSigs, + code: `(async () => { + const sigShare = await LitActions.signEcdsa({ + toSign: dataToSign, + publicKey, + sigName: "sig", + }); + })();`, + authMethods: [], + jsParams: { // parameters to js function above + dataToSign: ethers.utils.arrayify( + ethers.utils.keccak256([1, 2, 3, 4, 5]) + ), + publicKey: secondWalletPKPInfo.publicKey, + }, + }); + + console.log("signature result ", res); + +``` + +## Managing Authentication Methods + +Authentication methods ('auth methods' for short) are the specific credentials (i.e. a wallet address or email account) that have permission to control and manage permissions associated with the underlying PKP (for example, to add another auth method or sign a transaction). + +To manage the auth methods registered to a `Programmabale Key Pair` you will need to use the `LitContracts` package that we installed earlier. Once that has been installed, you can add an auth method in the following steps: + +If a `Programmable Key Pair` owns itself through the `sendPkpToIteself` flag you will need to use an instance of the `PkpEthersWallet` as the `signer` in the `LitContracts` constructor options: + +```jsx +import { LitContracts } from "@lit-protocol/contracts-sdk"; + +const litContracts = new LitContracts({ + signer: pkpWallet, // pkp wallet of the owner of the pkp NFT +}); +await litContracts.connect(); + +``` + + +If the `NFT` was not sent to the `PKP` then you may use the wallet which minted the `PKP` : + + +```jsx +import { LitContracts } from "@lit-protocol/contracts-sdk"; +import { ethers } from 'ethers'; +const provider = new ethers.providers.JsonRpcProvider( + "https://chain-rpc.litprotocol.com/http" +); +const wallet = new ethers.Wallet('', provider); +const litContracts = new LitContracts({ + signer: wallet, // pkp wallet of the owner of the pkp NFT +}); +await litContracts.connect(); +``` + +### Adding an Auth Method + +Modifying AuthMethods for a given `PKP` may be done through the `PKPPermissions Contract` +below is an example of adding and auth method to an existing `PKP` and giving it a scope of `1` for sign anything. + +```jsx +const transaction = + await litContracts.pkpPermissionsContract.write.addPermittedAuthMethod( + "", + "", + [BigNumber.from(1)], // 1 is the permission for arbitrary signing + { gasPrice: utils.parseUnits("0.001", "gwei"), gasLimit: 400000 } + ); +const result = await transaction.wait(); +``` + +## Sign a Transaction + +### Lit Action Signing + +You can use [Lit Actions](../serverless-signing/overview.md) to sign transactions. These are JavaScript programs that can be used to specify the signing and authentication logic for PKPs. + +To sign a Lit Action with your PKP, we'll use the `litNodeClient` to call the `executeJs` parameter. + +:::note +`toSign` data is required to be in 32 byte format. + +The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. +::: + +Set up the Lit Action code to be run on the Lit nodes like so: + +```jsx +const litActionCode = ` + const go = async () => { + // The params toSign, publicKey, sigName are passed from the jsParams fields and are available here + const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey, sigName }); + }; + + go(); +`; + +const signatures = await litNodeClient.executeJs({ + code: litActionCode, + authSig, + jsParams: { + toSign: [84, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, 51, 50, 32, 98, 121, 116, 101, 115], + publicKey: mintInfo.pkp.publicKey, + sigName: "sig1", + }, +}); + +console.log("signatures: ", signatures); +``` + +You can also use the `ipfsId` param if you’d prefer to store your Lit Action code on IPFS. + +The ipfs ID: `QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm` contains the same code as the "litActionCode" variable above. You can check out the full code [here](https://ipfs.litgateway.com/ipfs/QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm). + +```jsx +const signatures = await litNodeClient.executeJs({ + ipfsId: "QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm", + authSig, + jsParams: { + toSign: [84, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, 51, 50, 32, 98, 121, 116, 101, 115], + publicKey: mintInfo.pkp.publicKey, + sigName: "sig1", + }, +}); +``` + +# Learn More + +By now you should have successfully minted a PKP, assigned an auth method and permitted scopes, and used it to sign a message with a Lit Action. If you’d like to learn more about all of the available functionality provided by PKPs, please follow the links below: + +1. [Managing PKP Auth Methods](../wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md). +2. [Minting PKPs with Social Auth](../wallets/minting.md). +3. [Running Custom Authentication](../wallets/auth-methods/custom-auth.md). +4. [Connecting PKPs to dApps with WalletConnect](../wallets/walletconnect.md). + +Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index c1d41109..355a0dd9 100644 --- a/sidebars.js +++ b/sidebars.js @@ -53,7 +53,7 @@ const sidebars = { }, { type: 'category', - label: 'Installation', + label: 'Installing the Lit SDK', link: { type: 'doc', id: 'sdk/installation', From bc4c7e72036ee93f266e7d9611d99477fc35acf2 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 17 Apr 2024 23:06:21 -0700 Subject: [PATCH 229/627] update: what is lit and how lit works --- docs/intro/what-is-lit-protocol.md | 38 ++++++---- docs/resources/how-it-works.md | 112 ++++++++++++++--------------- 2 files changed, 79 insertions(+), 71 deletions(-) diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 1d27c0c3..673e2dbc 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -9,41 +9,53 @@ sidebar_position: 2 [Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: -Lit is a decentralized key management network and platform for building applications and experiences that leverage [threshold cryptography](../resources/how-it-works.md). With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. +Lit is a decentralized key management and compute network. Builders of apps, wallets, protocols, and AI agents use Lit to advance digital ownership with decentralized keys and private, immutable programs. -The system builds off of contemporary work in applied cryptography, secure enclaves, and distributed systems to provide the maximum amount of control and privacy to end users, without requiring an extensive technical understanding of key management or public key cryptography. -Developers can use Lit to build apps with [private data](../sdk/access-control/intro.md), intuitive [wallet onboarding](../sdk/wallets/intro.md) and asset management experiences, and [immutable serverless functions](../sdk/serverless-signing/overview.md) that run based on the rules you set. +The system builds off of contemporary work in applied cryptography, sealed confidential hardware, and peer-to-peer networking to provide the maximum amount of control and privacy to developers. + +Developers can use Lit to build apps with [private data](../sdk/access-control/quick-start.md), intuitive [onboarding and wallet management](../sdk/wallets/quick-start.md), and [private, immutable programs](../sdk/serverless-signing/quick-start.md) that run based on the rules you set. Get started with the [Lit SDK](../sdk/installation.md). -Read the Lit [Whitepaper](https://github.com/LIT-Protocol/whitepaper). +[Whitepaper](https://github.com/LIT-Protocol/whitepaper). [Open Source Node Code](https://github.com/LIT-Protocol/Node). [Audit reports](https://drive.google.com/drive/folders/1Rrht88iUkzpofwl1CvP9gEjqY60BKyFn?ref=spark.litprotocol.com). ## Use Cases Lit Protocol can be utilized for various web3 applications, including: -- **DeFi**: [Conditional transaction execution](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), infrastructure for recurring payments, liquid staking solutions, and more. -- **Infrastructure**: [Cross-chain bridges](https://github.com/Yacht-Labs/yacht-lit-sdk), oracles for off-chain data, [privacy-preserving transactions](https://github.com/Curve-Labs/lit-privacy/tree/main/packages/lit-privacy-sdk#readme), and [signers for smart accounts](https://spark.litprotocol.com/account-abstraction-and-mpc/). -- **Sovereign Data**: [Programmable credential issuance](https://spark.litprotocol.com/krebitxlitactions/) and [selective disclosure](https://spark.litprotocol.com/semantic/) for user data. -- **Web3 Social**: [Private data in social apps](https://docs.lens.xyz/docs/gated), [token-gated video streaming](https://github.com/suhailkakar/livepeer-token-gated-vod), decentralized chatbots, and on-chain reputation building. -- **Gaming**: [Seamless onboarding](https://github.com/LIT-Protocol/oauth-pkp-signup-example), condition-based rewards, and [private data in multiplayer games](https://spark.litprotocol.com/lit-and-web3-gaming/). -- **Token Gating for Web2 Apps**: Token-based access control for [Shopify](https://apps.shopify.com/lit-token-access), [Zoom](https://litgateway.com/apps/zoom), [Google Drive](https://litgateway.com/apps/google-drive), and [WordPress](https://litgateway.com/apps/wordpress). +Lit and ecosystem partners are building the next generation of identity and machine intelligence protocols and apps, all running on the open web. + +Developer Tooling: Projects like [Alchemy](https://alchemy.com/?ref=spark.litprotocol.com), [Pimlico](https://www.pimlico.io/?ref=spark.litprotocol.com), [Openfort](https://www.openfort.xyz/?ref=spark.litprotocol.com), [Lens Protocol](https://www.lens.xyz/?ref=spark.litprotocol.com), [Orbis](https://useorbis.com/?ref=spark.litprotocol.com), [Spheron](https://spheron.network/?ref=spark.litprotocol.com), and [Snowball](https://www.snowballtools.xyz/?ref=spark.litprotocol.com) are using the generalized services provided by Lit and making them available for developers in the form of SDKs, powering specific use cases like [account abstraction](https://developer.litprotocol.com/v3/integrations/aa/overview?ref=spark.litprotocol.com), private data on web3 social, [token gated](https://developer.litprotocol.com/v3/sdk/access-control/evm/basic-examples?ref=spark.litprotocol.com) chat, and mobile wallet tooling. + +Data Marketplaces: ****Protocols like [Cheqd](https://cheqd.io/?ref=spark.litprotocol.com), [KaratDAO](https://karatdao.com/?ref=spark.litprotocol.com), [Index](https://index.network/?ref=spark.litprotocol.com), [DataverseOS](https://dataverse-os.com/?ref=spark.litprotocol.com), and [Streamr](https://streamr.network/?ref=spark.litprotocol.com) use Lit for [encryption](https://developer.litprotocol.com/v3/sdk/access-control/encryption?ref=spark.litprotocol.com) in the commercialization of data, powering trustless marketplaces being built on blockchains and the open web. + +Identity: Projects like [Oamo](https://www.oamo.io/?ref=spark.litprotocol.com), [Krebit](https://krebit.id/?ref=spark.litprotocol.com), [Terminal3](https://terminal3.io/?ref=spark.litprotocol.com), [Holonym](https://www.holonym.id/?ref=spark.litprotocol.com), [AlphaCapture](https://alphacapture.xyz/?ref=spark.litprotocol.com), and [Gateway](https://sandbox.mygateway.xyz/?ref=spark.litprotocol.com) use Lit to power the selective disclosure of encrypted data and credentials, giving users the ability to control how their information is accessed, managed, and monetized. -Explore more [use cases](usecases.md) and [projects building](../ecosystem/projects) with Lit. +Content Authenticity and Licensing: [Blockchain Creative Labs](https://www.bcl.xyz/?ref=spark.litprotocol.com) has integrated Lit for encryption  within their [Verify](https://www.verifymedia.com/?ref=spark.litprotocol.com) platform as a secure signing backend, enabling content to be stored privately and under a proper license. + +Digital Product NFTs**:** Teams like [Crossmint](https://crossmint.io/?ref=spark.litprotocol.com), [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com), [Alexandria](https://alexandrialabs.xyz/?ref=spark.litprotocol.com), [CharmVerse](https://charmverse.io/?ref=spark.litprotocol.com), and [Anotherblock](https://anotherblock.io/drops/the-jackson-5-big-boy-limited-edition?ref=spark.litprotocol.com) use Lit to meet their consumer demand for more creative utility for digital assets, like unlockable NFTs and for selective decryption for managing IP rights. + +User Wallets: Lit is being used as a decentralized key management solution for wallets and onboarding experiences being built by the teams at [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com), [Infinex](https://twitter.com/infinex_app?ref=spark.litprotocol.com), [Obvious](https://www.obvious.technology/?ref=spark.litprotocol.com), [PatchWallet](https://app.patchwallet.com/?ref=spark.litprotocol.com), [Silk](https://www.silk.sc/?ref=spark.litprotocol.com), [Meteor](https://meteor.computer/?ref=spark.litprotocol.com), and [Burnt](https://xion.burnt.com/?ref=spark.litprotocol.com). These products have taken the form of wallet applications, account abstraction signers, and embedded wallets on existing platforms like Telegram and Discord. + +Explore more [use cases](usecases.md) or learn [how it works](../resources/how-it-works.md). ## Getting Started Get started on your developer journey by diving right into the code: - [**Lit SDK**](../sdk/installation.md): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. -- [**Encryption Quick Start**](../sdk/access-control/encryption.md): Learn how to encrypt and decrypt content using the SDK. +- [**Encryption Quick Start**](../sdk/access-control/quick-start.md): Learn how to encrypt and decrypt content using the SDK. +- [**Wallets Quick Start**](../sdk/wallets/quick-start.md): Learn how to build user wallets with the Lit SDK. +- [**Compute Quick Start**](../sdk/serverless-signing/quick-start.md): Get started with Lit Actions. - [**Lit CLI**](../tools/getlit-cli.md): A command line tool that makes developing Lit Actions easy! - [**API Reference**](https://js-sdk.litprotocol.com/index.html): An overview of SDK functions and packages. ## Join the Community -Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). +Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. + +Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). Check out the Lit [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 940ad135..0eb06dab 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -4,81 +4,77 @@ sidebar_position: 1 # How Does Lit Protocol Work -:::info +## Introduction -**FOR DEVELOPERS: SDK and API Documentation** +Lit Protocol combines cutting-edge cryptography, sealed confidential hardware, and peer-to-peer networking to provide builders in web3 with the ability to use cryptographic keys and private compute, as a service. With Lit, developers can: -To start building on Lit based on your use case, check out the Lit SDK [here](../sdk/installation.md). For an in-depth understanding of the functionality provided, check out the [API docs](https://js-sdk.litprotocol.com/). -::: +1. Securely generate and manage non-custodial keys + 1. User wallets and signers: onboard users into your application without relying on a centralized custodian or dealing with the complexities of key management. + 1. Example implementations: [PatchWallet](https://app.patchwallet.com/), [Silk](https://www.silk.sc/), [Collab.Land](https://www.collab.land/), [Tria](https://www.tria.so/), [Index Network](https://index.network/) + 2. Privacy applications: perform data encryption and manage access behind flexible access control rules and policies. + 1. Example implementations: [Fox](https://docs.verifymedia.com/publishing/access-control/methods/lit-protocol), [Terminal3](https://www.terminal3.io/), [Streamr](https://streamr.network/), [Cheqd](https://cheqd.io/), [Lens Protocol](https://www.lens.xyz/), [Gitcoin](https://publicgoods.network/) + +2. Write and execute private and immutable functions and compute jobs to power: + 1. Cross-chain messaging and automation: build protocols that have the ability to read and write data across blockchains and web3 protocols. + 1. Example implementations: [Event Listener](https://developer.litprotocol.com/v3/tools/event-listener), [Yacht Labs SDK](https://github.com/Yacht-Labs/yacht-lit-sdk) + 2. Off-chain oracles: fetch verifiable off-chain data for use on-chain. + 1. Example implementations: coming soon. + 3. Private and verifiable LLMs and AI agents + 1. Example implementations: coming soon. + 4. And more… + -## Overview +To learn more about possible ways you can use Lit and to view additional implementation examples, check out the [use cases](../intro/usecases.md) section or follow the links below: -At its core, Lit is an attempt to decentralize [public key cryptography](https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/) through the use of secure [multi-party computation](https://en.wikipedia.org/wiki/Secure_multi-party_computation) and [threshold signature schemes](https://en.wikipedia.org/wiki/Threshold_cryptosystem) (MPC + TSS). When run across a distributed network of nodes (the “Lit Network”), the Lit software supports the secure management of persistent cryptographic keys for signing, encryption, and compute. +[Whitepaper](https://github.com/LIT-Protocol/whitepaper). [Open Source Node Code](https://github.com/LIT-Protocol/Node). [Audit reports](https://drive.google.com/drive/folders/1Rrht88iUkzpofwl1CvP9gEjqY60BKyFn?ref=spark.litprotocol.com). -Both MPC and TSS originate from the concepts of public key cryptography and extend their benefits to multi-party and decentralized environments, where the security and privacy of the private key material, data, and computation are critically important. These methods expand upon “traditional” public key infrastructure (PKI), removing the dependence on centralized key custodians, who exist as a single point of failure. This greatly reduces the attack vector for key compromise by distributing ownership among multiple parties, undermining the ability of a single entity to cause widespread harm. In order for an attacker to gain control, they would need to successfully gain control of more than the threshold of participating parties. In the Lit Network, this threshold is set to two-thirds, meaning participation from two-thirds of nodes is required for signing and encryption. +Below, we will dive into how Lit works under the hood, starting with the following four core primitives: -In the Lit Network, the nodes perform a [distributed key generation](../resources/glossary#distributed-key-generation) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a key share which they can use to sign and decrypt data. The nodes perform each operation (signing or decryption) in parallel and the individual results are aggregated to form the complete signature or decryption key, without exposing the underlying private key itself. By distributing the key among multiple parties, the network becomes more robust and can continue to function even when multiple participating parties may be offline or possess malicious intent. +## 1. Threshold Signatures -## Secure Encrypted Virtualization (SEV) +Nodes perform a [distributed key generation](https://docs.google.com/document/d/1eaSk6822d4B-bJtMiiGp4n9N4qZPnwWaEZOy-Xs8AK0/edit#heading=h.2q2y8wxw6nj8) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a **key share** which they use to sign and decrypt data with. -In addition to the security provided by the decentralized nature of MPC and TSS, Lit leverages AMD’s [Secure Encrypted Virtualization](https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf) (SEV), providing advanced hardware-level protection and an additional layer of security. +- **Network Consensus:** All operations (signing or decryption) are performed in parallel and require participation from two-thirds of network nodes to be executed. +- **Key Distribution:** No one node (or client) ever gains access to private keys in their entirety. Decryption and signing operations do not expose the underlying key. +- **Curve Flexibility:** The protocol supports multiple cryptographic curves and signature schemes, with the ability to add new ones to enable interoperability with a wide variety of protocols and standards. -SEV ensures that node operators never have access to any key shares directly, nor the computation processed inside of each node. This robust hardware-level isolation complements the decentralization of cryptographic operations and significantly reduces the risk of unauthorized access to sensitive information. +## 2. Sealed and Confidential Hardware -In the context user-facing operations — such as when key shares are provisioned for signing and decryption — nodes communicate via independent, encrypted channels. This means that shares are only ever exposed client-side at the exact moment of recombination. +All Lit node operators run a bare metal install of [AMD’s SEV-SNP](https://www.amd.com/content/dam/amd/en/documents/epyc-business-docs/solution-briefs/amd-secure-encrypted-virtualization-solution-brief.pdf), ensuring they never have access to any key shares directly, nor the computation processed inside of each node. -We believe that the marriage of MPC, threshold signature schemes (TSS), and SEV provides end users with the most robustly secure and versatile custody solution currently available on the market today. +- **Trusted Execution Environment (TEE)**: SEV-SNP is an example of a TEE, which provides advanced hardware-level isolation for all network operations. +- **Code Immutability and Confidentiality:** Deployed programs within the TEE are immutable and private, preventing unauthorized changes and maintaining consistent operational integrity. -## How Lit Protocol works for: +## 4. Programmability -## Access Control +As mentioned, each Lit node is a confidential compute environment. This enables developers to write [programs](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start) that govern the signing and encryption. -Lit offers threshold encryption for regulating access to data stored on the Web through the use of condition-based access control. With Lit, both encryption and decryption happen client-side according to specific rules defined by the end user. These rules are known as [“Access Control Conditions”](../sdk/access-control/evm/basic-examples) which make use of on or off-chain data to define their parameters. +## 4. Crypto-Economic Security and Incentives -An example of an Access Control Condition that utilizes on-chain data is gating by token ownership, such as requiring that a user possesses a [specific NFT](../sdk/access-control/evm/basic-examples#must-posess-a-specific-erc721-token-nft) in order to decrypt your content. When a user requests access, each Lit node confirms that the required condition has been satisfied using the user's wallet signature to verify asset ownership. Once verified, each node supplies a decryption share. After accumulating more than two-thirds of these shares, the user can decrypt the content on their device. +The Lit network is supported by a decentralized network of node operators who must stake tokens in order to participate in the “active” node operator set. Current node operators include integration partners, project investors, and professional node operators. If you’re interested in becoming a node operator, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform). -As mentioned above, Access Control Conditions are not limited to "on-chain" data sources. Using JavaScript logic known as [Lit Actions](../sdk/access-control/lit-action-conditions.md), an identical process is supported using off-chain data as input. A simple example would be mandating that a user follows you on Twitter before granting permission to decrypt your content. The Twitter API could be utilized to feed this information into a Lit Action, which gets executed concurrently by each node. If more than two-thirds of nodes verify that the condition has been fulfilled (according to the Lit Action), the shares would be provided, and the content could be decrypted client-side. +- **Node Operators:** The current node operators active on the Habanero Mainnet Beta include: + - Lit Protocol (our node) + - [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com) + - [Terminal3](https://www.terminal3.io/?ref=spark.litprotocol.com) + - [Bware Labs](https://bwarelabs.com/?ref=spark.litprotocol.com) + - [Streamr](https://streamr.network/?ref=spark.litprotocol.com) + - [1kx](https://1kx.network/?ref=spark.litprotocol.com) + - [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com) + - [Imperator](https://www.imperator.co/?ref=spark.litprotocol.com) + - [01node](https://01node.com/?ref=spark.litprotocol.com) + - [CMT Digital](https://cmt.digital/?ref=spark.litprotocol.com) +- The Lit Protocol Token (LPX): The LPX token will be used by node operator to meet their staking requirement, as well as to reward them for their service. Developers using Lit will also use the token to pay for transacting on the network. + + The LPX token is NOT live, and currently a test token (testLPX) is being used in its place. The LPX token will be released when the v1 network is released later this year. + -This feature empowers individuals to securely store data on the open Web and offers organizations a convenient method for sharing and distributing content across entire communities. For instance, employing NFTs to designate roles and access levels within a DAO, or using token ownership to grant exclusive discounts to users on an e-commerce platform such as Shopify. The capacity to gate access based on any arbitrary data via Lit Actions expands these possibilities even further, allowing the creation of decryption rules based on any accessible state. +## Learn More -Lit exclusively manages and provisions decryption keys, remaining entirely impartial to the storage provider. This means that **Lit does not store any encrypted content directly**, and developers integrating this service can choose a storage provider of their preference. Options include blockchains like Ethereum, open storage networks such as [IPFS](https://spark.litprotocol.com/encrypttoipfs/) or [Ceramic](https://github.com/LIT-Protocol/CeramicIntegration), or centralized providers like AWS or Google Cloud. +Learn more about how Lit Protocol works by checking out the resources below: -The comprehensive process for encrypting content with Lit is outlined [here](../sdk/access-control/encryption#high-level-overview). +- About [user wallets](../concepts/pkps-as-wallet.md). +- About [encryption and access control](../concepts/access-control-concept.md). +- About [decentralized compute](../concepts/programmable-signing-concept.md). -![accessControl](/img/AccessControl.png) - -## Decentralized Programmable Signing and MPC Wallets - -In addition to access control, Lit provides distributed ECDSA key-pairs that can be used for programmable, “smart” signing and a MPC wallet solution. - -These distributed key pairs are known as [Programmable Key Pairs](../sdk/wallets/intro) (PKPs), and the code that dictates their signing and authentication logic is called a Lit Action. Lit Actions are JavaScript functions that can be made immutable by storing them on the InterPlanetary File System (IPFS). They can be thought of as the permissionless rules that govern each PKPs signing automation. Every Lit Action is blockchain agnostic and has the ability to use off-chain data in their computation by making HTTP requests. This gives them the inherent ability to read and write data across on and off-chain platforms, facilitating interoperability and automation between previously disconnected ecosystems. - -Each PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. A PKP is represented as an ERC-721 NFT, and the [owner of the NFT](../sdk/wallets/minting) becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../sdk/authentication/overview) mechanisms to their PKP using Lit Actions. - -### Smart Signing - -Functionally, PKPs and Lit Actions introduce a capacity for developing distributed serverless functions that have the ability to sign data with their own private key. This can be used to facilitate complex, condition-based automation within and across decentralized applications, as well as to generate proofs for verifying data from arbitrary on or off-chain sources. A simple example would be a Lit Action and corresponding PKP that checks if a number is prime. The Lit Action will only return a signed response if the number is prime, kind of like a sort of prime number certification service. In this case, since the Lit Action is immutable, and every signature requires participation from at least two-thirds of nodes, there is a provable chain of trust. Instead of having to do the math to ensure a number is prime, you could simply use the number as an input in your Lit Action and use the signature as proof. - -### MPC Wallets - -Each PKP is functionally [a wallet](../sdk/wallets/intro), where the private key lives across the Lit Network. The two-thirds threshold requirement provides a level of censorship resistance and fault tolerance that “typical” 2-of-2 MPC designs do not. In addition to any 2-of-2 provider being able to deny the user access to their funds or censor transactions, most of these systems also require the end user to manage a key share (i.e the provider holds a share and the user holds the other share). This means the goal of a seamless, “web2” style onboarding UX without seed phrases or private key management is not possible, instead delivering the UX of self-custody with additional steps. - -Lit Actions are used to handle each PKP’s [authentication logic](https://spark.litprotocol.com/how-authentication-works-with-pkps/). Authentication refers to the method used to communicate with and “control” the underlying key pair. As mentioned above, by default each key pair is controlled by the underlying blockchain account (“wallet”) who mints and holds the associated PKP NFT. But what about users who don’t already have a wallet and are attempting to onboard into the ecosystem for the first time? Lit has integrated several “web2” authentication methods to make this onboarding process seamless for the end user, including WebAuthn (Apple Passkey) and oAuth. These credentials can be harnessed as the mechanism(s) associated with ownership of the PKP, [linking familiar web2 accounts to the world of web3](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/). - -The use of Lit Actions in the wallet context also provides users with the ability to define automated signing logic. For example, setting up an on-chain limit order for the assets held within the wallet, or configuring a [monthly dollar-cost average investment scheme](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). Of course, this signing logic is arbitrary and can be customized based on the specific context and applications being used. - -![cloudSigning](/img/CloudSigning.png) - -## Supported Chains - -Lit is currently compatible with most EVM blockchains, Cosmos, and Solana. You can find the full list of supported chains [here](../resources/supported-chains). - -## Getting Started - -Learn more by checking out the [Lit blog.](https://spark.litprotocol.com/resources/) - -Getting started with [access control and encryption.](../sdk/access-control/intro) - -Dive into programmatic signing with [PKPs and Lit Actions.](../sdk/wallets/intro) - -Working with the [Lit SDK.](../sdk/installation) +Did you find this guide helpful? If not, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file From c3c73ef740aef8370a12ebace7ec6f5ce78abda2 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 18 Apr 2024 09:56:00 -0700 Subject: [PATCH 230/627] added SearchLit to tools --- docs/tools/searchlit.md | 11 +++++++++++ sidebars.js | 1 + 2 files changed, 12 insertions(+) create mode 100644 docs/tools/searchlit.md diff --git a/docs/tools/searchlit.md b/docs/tools/searchlit.md new file mode 100644 index 00000000..48ff62ea --- /dev/null +++ b/docs/tools/searchlit.md @@ -0,0 +1,11 @@ +--- +sidebar_position: 5 +--- + +# SearchLit Explorer + +Use the [SearchLit Explorer](https://searchlit.io/) (built by the [Lore](https://www.lorescan.com/new/networks) team) to simplify development on Lit! + +With SearchLit, you can view all of the on-chain activity on [Chronicle](../network/rollup.mdx), including your token balances, verified contracts, top addresses, transactions, and more. + +SearchLit also supports the creation of custom notifications (based on on-chain events) and an intuitive support interface powered by AI. \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 355a0dd9..61223da2 100644 --- a/sidebars.js +++ b/sidebars.js @@ -349,6 +349,7 @@ const sidebars = { 'tools/getlit-cli', 'tools/event-listener', 'tools/pkpexplorer', + 'tools/searchlit', ], }, { From effd57a7d72a8225323a89d165d470ffb5a04de5 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 18 Apr 2024 10:05:28 -0700 Subject: [PATCH 231/627] naming fixes --- docs/concepts/access-control-concept.md | 2 +- docs/concepts/pkps-as-wallet.md | 2 +- docs/concepts/programmable-signing-concept.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/concepts/access-control-concept.md b/docs/concepts/access-control-concept.md index 7029c2c9..09930160 100644 --- a/docs/concepts/access-control-concept.md +++ b/docs/concepts/access-control-concept.md @@ -2,7 +2,7 @@ sidebar_position: 1 --- -# Decentralized Access Control +# Encryption and Access Control :::info [Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index d671c896..92ba182d 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -2,7 +2,7 @@ sidebar_position: 3 --- -# User Wallets +# User Wallets (Programmable Key Pairs) :::info **STATE OF THE NETWORK** diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index cda2f558..39173263 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -2,7 +2,7 @@ sidebar_position: 2 --- -# Serverless Signing +# Decentralized Compute with Lit Actions :::info [Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. From 56e6981313e6c07443b61ea592747e4f490fa7bf Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 18 Apr 2024 12:09:52 -0700 Subject: [PATCH 232/627] Update what-is-lit-protocol.md --- docs/intro/what-is-lit-protocol.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 673e2dbc..4defbf2f 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -26,17 +26,17 @@ Lit Protocol can be utilized for various web3 applications, including: Lit and ecosystem partners are building the next generation of identity and machine intelligence protocols and apps, all running on the open web. -Developer Tooling: Projects like [Alchemy](https://alchemy.com/?ref=spark.litprotocol.com), [Pimlico](https://www.pimlico.io/?ref=spark.litprotocol.com), [Openfort](https://www.openfort.xyz/?ref=spark.litprotocol.com), [Lens Protocol](https://www.lens.xyz/?ref=spark.litprotocol.com), [Orbis](https://useorbis.com/?ref=spark.litprotocol.com), [Spheron](https://spheron.network/?ref=spark.litprotocol.com), and [Snowball](https://www.snowballtools.xyz/?ref=spark.litprotocol.com) are using the generalized services provided by Lit and making them available for developers in the form of SDKs, powering specific use cases like [account abstraction](https://developer.litprotocol.com/v3/integrations/aa/overview?ref=spark.litprotocol.com), private data on web3 social, [token gated](https://developer.litprotocol.com/v3/sdk/access-control/evm/basic-examples?ref=spark.litprotocol.com) chat, and mobile wallet tooling. +**Developer Tooling**: Projects like [Alchemy](https://alchemy.com/?ref=spark.litprotocol.com), [Pimlico](https://www.pimlico.io/?ref=spark.litprotocol.com), [Openfort](https://www.openfort.xyz/?ref=spark.litprotocol.com), [Lens Protocol](https://www.lens.xyz/?ref=spark.litprotocol.com), [Orbis](https://useorbis.com/?ref=spark.litprotocol.com), [Spheron](https://spheron.network/?ref=spark.litprotocol.com), and [Snowball](https://www.snowballtools.xyz/?ref=spark.litprotocol.com) are using the generalized services provided by Lit and making them available for developers in the form of SDKs, powering specific use cases like [account abstraction](https://developer.litprotocol.com/v3/integrations/aa/overview?ref=spark.litprotocol.com), private data on web3 social, [token gated](https://developer.litprotocol.com/v3/sdk/access-control/evm/basic-examples?ref=spark.litprotocol.com) chat, and mobile wallet tooling. -Data Marketplaces: ****Protocols like [Cheqd](https://cheqd.io/?ref=spark.litprotocol.com), [KaratDAO](https://karatdao.com/?ref=spark.litprotocol.com), [Index](https://index.network/?ref=spark.litprotocol.com), [DataverseOS](https://dataverse-os.com/?ref=spark.litprotocol.com), and [Streamr](https://streamr.network/?ref=spark.litprotocol.com) use Lit for [encryption](https://developer.litprotocol.com/v3/sdk/access-control/encryption?ref=spark.litprotocol.com) in the commercialization of data, powering trustless marketplaces being built on blockchains and the open web. +**Data Marketplaces**: Protocols like [Cheqd](https://cheqd.io/?ref=spark.litprotocol.com), [KaratDAO](https://karatdao.com/?ref=spark.litprotocol.com), [Index](https://index.network/?ref=spark.litprotocol.com), [DataverseOS](https://dataverse-os.com/?ref=spark.litprotocol.com), and [Streamr](https://streamr.network/?ref=spark.litprotocol.com) use Lit for [encryption](https://developer.litprotocol.com/v3/sdk/access-control/encryption?ref=spark.litprotocol.com) in the commercialization of data, powering trustless marketplaces being built on blockchains and the open web. -Identity: Projects like [Oamo](https://www.oamo.io/?ref=spark.litprotocol.com), [Krebit](https://krebit.id/?ref=spark.litprotocol.com), [Terminal3](https://terminal3.io/?ref=spark.litprotocol.com), [Holonym](https://www.holonym.id/?ref=spark.litprotocol.com), [AlphaCapture](https://alphacapture.xyz/?ref=spark.litprotocol.com), and [Gateway](https://sandbox.mygateway.xyz/?ref=spark.litprotocol.com) use Lit to power the selective disclosure of encrypted data and credentials, giving users the ability to control how their information is accessed, managed, and monetized. +**Identity**: Projects like [Oamo](https://www.oamo.io/?ref=spark.litprotocol.com), [Krebit](https://krebit.id/?ref=spark.litprotocol.com), [Terminal3](https://terminal3.io/?ref=spark.litprotocol.com), [Holonym](https://www.holonym.id/?ref=spark.litprotocol.com), [AlphaCapture](https://alphacapture.xyz/?ref=spark.litprotocol.com), and [Gateway](https://sandbox.mygateway.xyz/?ref=spark.litprotocol.com) use Lit to power the selective disclosure of encrypted data and credentials, giving users the ability to control how their information is accessed, managed, and monetized. -Content Authenticity and Licensing: [Blockchain Creative Labs](https://www.bcl.xyz/?ref=spark.litprotocol.com) has integrated Lit for encryption  within their [Verify](https://www.verifymedia.com/?ref=spark.litprotocol.com) platform as a secure signing backend, enabling content to be stored privately and under a proper license. +**Content Authenticity and Licensing**: [Blockchain Creative Labs](https://www.bcl.xyz/?ref=spark.litprotocol.com) has integrated Lit for encryption  within their [Verify](https://www.verifymedia.com/?ref=spark.litprotocol.com) platform as a secure signing backend, enabling content to be stored privately and under a proper license. -Digital Product NFTs**:** Teams like [Crossmint](https://crossmint.io/?ref=spark.litprotocol.com), [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com), [Alexandria](https://alexandrialabs.xyz/?ref=spark.litprotocol.com), [CharmVerse](https://charmverse.io/?ref=spark.litprotocol.com), and [Anotherblock](https://anotherblock.io/drops/the-jackson-5-big-boy-limited-edition?ref=spark.litprotocol.com) use Lit to meet their consumer demand for more creative utility for digital assets, like unlockable NFTs and for selective decryption for managing IP rights. +**Digital Product NFTs**: Teams like [Crossmint](https://crossmint.io/?ref=spark.litprotocol.com), [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com), [Alexandria](https://alexandrialabs.xyz/?ref=spark.litprotocol.com), [CharmVerse](https://charmverse.io/?ref=spark.litprotocol.com), and [Anotherblock](https://anotherblock.io/drops/the-jackson-5-big-boy-limited-edition?ref=spark.litprotocol.com) use Lit to meet their consumer demand for more creative utility for digital assets, like unlockable NFTs and for selective decryption for managing IP rights. -User Wallets: Lit is being used as a decentralized key management solution for wallets and onboarding experiences being built by the teams at [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com), [Infinex](https://twitter.com/infinex_app?ref=spark.litprotocol.com), [Obvious](https://www.obvious.technology/?ref=spark.litprotocol.com), [PatchWallet](https://app.patchwallet.com/?ref=spark.litprotocol.com), [Silk](https://www.silk.sc/?ref=spark.litprotocol.com), [Meteor](https://meteor.computer/?ref=spark.litprotocol.com), and [Burnt](https://xion.burnt.com/?ref=spark.litprotocol.com). These products have taken the form of wallet applications, account abstraction signers, and embedded wallets on existing platforms like Telegram and Discord. +**User Wallets**: Lit is being used as a decentralized key management solution for wallets and onboarding experiences being built by the teams at [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com), [Infinex](https://twitter.com/infinex_app?ref=spark.litprotocol.com), [Obvious](https://www.obvious.technology/?ref=spark.litprotocol.com), [PatchWallet](https://app.patchwallet.com/?ref=spark.litprotocol.com), [Silk](https://www.silk.sc/?ref=spark.litprotocol.com), [Meteor](https://meteor.computer/?ref=spark.litprotocol.com), and [Burnt](https://xion.burnt.com/?ref=spark.litprotocol.com). These products have taken the form of wallet applications, account abstraction signers, and embedded wallets on existing platforms like Telegram and Discord. Explore more [use cases](usecases.md) or learn [how it works](../resources/how-it-works.md). From 483256e647df99cf5d643818efe5afe8f9b53de9 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 18 Apr 2024 12:57:23 -0700 Subject: [PATCH 233/627] Update QuickStart.jsx --- src/components/CardSectionsV3/QuickStart.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/CardSectionsV3/QuickStart.jsx b/src/components/CardSectionsV3/QuickStart.jsx index d67d5227..8752feb7 100644 --- a/src/components/CardSectionsV3/QuickStart.jsx +++ b/src/components/CardSectionsV3/QuickStart.jsx @@ -15,12 +15,12 @@ export default function QuickStartSection({ title, className }) { ); From e903179b6c833558adc3e18f7d6317520182beab Mon Sep 17 00:00:00 2001 From: Chris Cassano <1285652+glitch003@users.noreply.github.com> Date: Thu, 18 Apr 2024 16:02:24 -0700 Subject: [PATCH 234/627] better descriptions of the networks in the tables. added coloring to make it immediately obvious which networks to use (#265) --- docs/network/networks/mainnet.md | 9 ++++++--- docs/network/networks/testnet.md | 16 ++++++++++++---- src/css/custom.css | 9 +++++++++ 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 00103395..06139261 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -12,11 +12,14 @@ Main networks should be used by applications that are currently live in producti You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. +
    -| Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | +| Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Development status | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | -| Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | None | n/a | -| Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3, V4 | TBD | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +| Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | n/a | +| Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | + +
    ## Token Usage If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index eade315a..b2892c02 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -1,5 +1,7 @@ # Testnet + + :::info [Manzano Testnet](testnet) is now live. Check out the [docs on migration](../migration-guide) to learn how you can start building on Manzano today. ::: @@ -10,9 +12,15 @@ When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pa You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. +
    -| Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Deprecation timeline | Contracts | +| Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Development status | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | -| Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | ~ July 2024 | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | -| Cayenne | Centralized test network. Keys are not persistent and will be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V3, V4 | TBD | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | -| Manzano | Decentralized test network. No persistency guarantees. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V3, V4 | TBD | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | \ No newline at end of file +| Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | +| Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V4+ | Good to use | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | +| Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | + +
    + +## Token Usage +If you'd like to use Manzano, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Manzano uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). \ No newline at end of file diff --git a/src/css/custom.css b/src/css/custom.css index bb0bbc98..052aefa3 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -760,3 +760,12 @@ html[data-theme='dark'] .alert--danger { flex-direction: column; padding: 1rem 1.125rem; } + +.testnet-networks-table tbody { color: white; } +.testnet-networks-table tbody tr:nth-child(1) { background: #e22525; } +.testnet-networks-table tbody tr:nth-child(n+2) { background: green; } + + +.mainnet-networks-table tbody { color: white; } +.mainnet-networks-table tbody tr:nth-child(1) { background: #e22525; } +.mainnet-networks-table tbody tr:nth-child(n+2) { background: green; } From 306dde5d81d2883b0c214326618095dcadcc5461 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 18 Apr 2024 18:53:17 -0700 Subject: [PATCH 235/627] Update how-it-works.md --- docs/resources/how-it-works.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 0eb06dab..174346ef 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -45,7 +45,7 @@ All Lit node operators run a bare metal install of [AMD’s SEV-SNP](https://www - **Trusted Execution Environment (TEE)**: SEV-SNP is an example of a TEE, which provides advanced hardware-level isolation for all network operations. - **Code Immutability and Confidentiality:** Deployed programs within the TEE are immutable and private, preventing unauthorized changes and maintaining consistent operational integrity. -## 4. Programmability +## 3. Programmability As mentioned, each Lit node is a confidential compute environment. This enables developers to write [programs](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start) that govern the signing and encryption. @@ -77,4 +77,4 @@ Learn more about how Lit Protocol works by checking out the resources below: - About [encryption and access control](../concepts/access-control-concept.md). - About [decentralized compute](../concepts/programmable-signing-concept.md). -Did you find this guide helpful? If not, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file +Did you find this guide helpful? If not, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). From 0aafdcc68e4845112c7303103e93d97814cfb1d0 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 19 Apr 2024 20:17:18 +0530 Subject: [PATCH 236/627] fix(installation): add a note for disconnect and fix some markdown issues --- docs/sdk/access-control/quick-start.md | 26 ++++++++++++------ docs/sdk/installation.md | 20 ++++++++++---- docs/sdk/serverless-signing/quick-start.md | 32 ++++++++++++---------- docs/sdk/wallets/quick-start.md | 27 ++++++++++-------- 4 files changed, 66 insertions(+), 39 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 5470fdf0..047bff90 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -23,7 +23,6 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both ```jsx yarn add @lit-protocol/lit-node-client - ``` OR @@ -31,6 +30,7 @@ OR ```jsx npm i @lit-protocol/lit-node-client ``` + :::note If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs` ::: @@ -39,7 +39,6 @@ Use the **Lit JS SDK V4**: ```jsx import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; - ``` :::note @@ -53,13 +52,23 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx -const client =new LitJsSdk.LitNodeClient({ +const client = new LitJsSdk.LitNodeClient({ litNetwork: 'habanero', }); await client.connect(); ``` +:::note +To avoid errors from Lit nodes due to stale `authSig`, make sure to clear the local storage for `authSig` before reconnecting or restarting the client. One way to do this is to disconnect the client first and then reconnect. +::: + +The client listens to network state, and those listeners will keep your client running until you explicitly disconnect from the Lit network. To stop the client listeners and allow the browser to disconnect gracefully, call: + +```jsx +await client.disconnect(); +``` + ### Server-Side Usage In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. @@ -68,7 +77,7 @@ In this example stub, the litNodeClient is stored in a global variable `app.loc Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. ::: -`client.connect()` returns a promise that resolves when you are connected to the Lit network. +`app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```jsx app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ @@ -76,12 +85,13 @@ app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: 'habanero', }); await app.locals.litNodeClient.connect(); - ``` -The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` and +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call:  -`await app.locals.litNodeClient.disconnect()` . +```jsx +await app.locals.litNodeClient.disconnect(); +``` ## Performing Encryption @@ -367,7 +377,6 @@ await contractClient.connect(); After you’ve set your wallet, your next step is to mint the NFT: ```jsx - // this identifier will be used in delegation requests. const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ requestsPerKilosecond: 80, @@ -439,7 +448,6 @@ const decryptedString =await LitJsSdk.decryptToString( }, litNodeClient ); - ``` ### Putting it all together diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 064ed0d8..29d98897 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -73,21 +73,21 @@ In this example stub, the litNodeClient is stored in a global variable `app.loca > Keep in mind that in the server-side implementation, the client class is named `LitNodeClientNodeJs`. -`client.connect()` returns a promise that resolves when you are connected to the Lit network. +`app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```js app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: "cayenne", + litNetwork: "habanero", }); await app.locals.litNodeClient.connect(); ``` The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. -To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` +To stop the litNodeClient listeners and allow node to exit gracefully, call: ```js -await app.locals.litNodeClient.disconnect() +await app.locals.litNodeClient.disconnect(); ``` ### SDK installed for client side usage @@ -98,12 +98,22 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set ```js const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'cayenne', + litNetwork: 'habanero', }); await client.connect(); ``` +:::note +To avoid errors from Lit nodes due to stale `authSig`, make sure to clear the local storage for `authSig` before reconnecting or restarting the client. One way to do this is to disconnect the client first and then reconnect. +::: + +The client listens to network state, and those listeners will keep your client running until you explicitly disconnect from the Lit network. To stop the client listeners and allow the browser to disconnect gracefully, call: + +```js +await client.disconnect(); +``` + ## Debug Logging and Lit Node Client configuration The `LitNodeClient` object has a number of config params you can pass, documented here: https://lit-js-sdk-v3-api-docs.vercel.app/interfaces/types_src.LitNodeClientConfig.html diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 8a6c66ee..b8aed153 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -30,20 +30,16 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both ```jsx yarn add @lit-protocol/lit-node-client - ``` Use the **Lit JS SDK V4**: ```jsx import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; - ``` :::note - You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. - ::: ### Client-Side Usage @@ -53,37 +49,46 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx -const client =new LitJsSdk.LitNodeClient({ +const client = new LitJsSdk.LitNodeClient({ litNetwork: 'habanero', }); await client.connect(); ``` +:::note +To avoid errors from Lit nodes due to stale `authSig`, make sure to clear the local storage for `authSig` before reconnecting or restarting the client. One way to do this is to disconnect the client first and then reconnect. +::: + +The client listens to network state, and those listeners will keep your client running until you explicitly disconnect from the Lit network. To stop the client listeners and allow the browser to disconnect gracefully, call: + +```jsx +await client.disconnect(); +``` + ### Server-Side Usage In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. :::note - Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. - ::: -The `client.connect()` method returns a promise that resolves when you are connected to the Lit network. +`app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```jsx -app.locals.litNodeClient =new LitJsSdk.LitNodeClientNodeJs({ +app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, litNetwork: 'habanero', }); await app.locals.litNodeClient.connect(); - ``` -The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` and +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call:  -`await app.locals.litNodeClient.disconnect()` +```jsx +await app.locals.litNodeClient.disconnect(); +``` ## Install the required packages @@ -311,7 +316,6 @@ await contractClient.connect(); After you’ve set your wallet, your next step is to mint the NFT: ```jsx - // this identifier will be used in delegation requests. const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ requestsPerKilosecond: 80, @@ -434,8 +438,8 @@ We can use the Capacity Credit delegation to generate a Session Signature for th }); console.log("signature result ", res); - ``` + ## Sign a Transaction ### Lit Action Signing diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 0c9b0a7f..3d9c4591 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -29,14 +29,12 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both ```jsx yarn add @lit-protocol/lit-node-client - ``` Use the **Lit JS SDK V4**: ```jsx import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; - ``` :::note @@ -50,13 +48,23 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx -const client =new LitJsSdk.LitNodeClient({ +const client = new LitJsSdk.LitNodeClient({ litNetwork: 'habanero', }); await client.connect(); ``` +:::note +To avoid errors from Lit nodes due to stale `authSig`, make sure to clear the local storage for `authSig` before reconnecting or restarting the client. One way to do this is to disconnect the client first and then reconnect. +::: + +The client listens to network state, and those listeners will keep your client running until you explicitly disconnect from the Lit network. To stop the client listeners and allow the browser to disconnect gracefully, call: + +```jsx +await client.disconnect(); +``` + ### Server-Side Usage In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. @@ -65,8 +73,7 @@ In this example stub, the litNodeClient is stored in a global variable `app.loc Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. ::: - -`client.connect()` returns a promise that resolves when you are connected to the Lit network. +`app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```jsx app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ @@ -74,12 +81,13 @@ app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ litNetwork: 'habanero', }); await app.locals.litNodeClient.connect(); - ``` -The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call `client.disconnect()` and +The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call:  -`await app.locals.litNodeClient.disconnect()`. +```jsx +await app.locals.litNodeClient.disconnect(); +``` ## Install the Required Packages @@ -309,7 +317,6 @@ await contractClient.connect(); After you’ve set your wallet, your next step is to mint the NFT: ```jsx - // this identifier will be used in delegation requests. const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ requestsPerKilosecond: 80, @@ -433,7 +440,6 @@ We can use the Capacity Credit delegation to generate a Session Signature for th }); console.log("signature result ", res); - ``` ## Managing Authentication Methods @@ -451,7 +457,6 @@ const litContracts = new LitContracts({ signer: pkpWallet, // pkp wallet of the owner of the pkp NFT }); await litContracts.connect(); - ``` From 20d926de693efacef27be3b7d5d690098fc66c5d Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Fri, 19 Apr 2024 21:04:26 +0530 Subject: [PATCH 237/627] fix(docs): remove repetitive lines --- package.json | 2 +- sidebars.js | 3 --- yarn.lock | 30 +++++++++++++++--------------- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index a2a2a575..3862b4da 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^4.2.1", + "@lit-protocol/constants": "^5.0.0", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/sidebars.js b/sidebars.js index 61223da2..85bbb24c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -118,7 +118,6 @@ const sidebars = { link:{ type: 'generated-index', title: 'Advanced Topics', - description: 'Learn about the advanced topics for User Wallets in Lit SDK!', keywords: ['user wallets'], }, items:[ @@ -222,7 +221,6 @@ const sidebars = { link:{ type: 'generated-index', title: 'Advanced Topics', - description: 'Learn about the advanced topics for Encryption/Decryption in Lit SDK!', keywords: ['encryption', 'decryption'], }, items:[ @@ -285,7 +283,6 @@ const sidebars = { link:{ type: 'generated-index', title: 'Advanced Topics', - description: 'Learn about the advanced topics for Compute (Lit Actions) in Lit SDK!', keywords: ['compute', 'lit actions'], }, items: [ diff --git a/yarn.lock b/yarn.lock index d246f21a..25556b8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,37 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.1.tgz#81cbafaf3c81620d745170ca75fec94365db8aef" - integrity sha512-FuDEz2mv300KG/NCzpw5kQG+Qh4HvthOZDWeZt72GzDd1QEDqTGwoPUxfgBpNiE64knVcT6KUFY8vAShWO7uNw== +"@lit-protocol/auth-helpers@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-5.0.0.tgz#74c028b7314abfcee0a42f184d6a0373e574cfc0" + integrity sha512-uiTUwhxyzUe7h57i4KhJjL96XP0PcxSufpBq2Z2XjEzWD3ns6ruyy7fWpB7wseR0ePzW3kegEz8fuzhl/HtTfQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.1.tgz#1a3cf010f2f189f466c2d29d05e5d1dc0b4f179c" - integrity sha512-vdRoXKgIbYjYcmdbdYcktoYRMUnRexYe3dtFbE/5UaLfn+sakzbjSQXnolp5P+sZGfeE6+Pnvw3yDGIT3CbyfQ== +"@lit-protocol/constants@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-5.0.0.tgz#6fa307548494facffded7f323d68a5c333019389" + integrity sha512-6zVezFFD/1DhcJn+0xsvEnV4Grpy6GFM3klD3TZInvue10WYJsrSqSfagNraaemfMwf1DDOpdC8jG2J/4Rl78g== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.7" - "@lit-protocol/auth-helpers" "4.2.1" - "@lit-protocol/types" "4.2.1" + "@lit-protocol/auth-helpers" "5.0.0" + "@lit-protocol/types" "5.0.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.1.tgz#a71a47e94a4b1a26f29264ede6ddecc71c8e1ca1" - integrity sha512-bpIPr94Cpv7vq7L0jeljc9gtUOgyt1cfRfwoN95dawvPf6jwUDT1pb2SSfN5vsOEcfNfQNstROhPbLTzwXPtSg== +"@lit-protocol/types@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-5.0.0.tgz#51bf4d1b59538945b51354597a505e8ccbcdf5fc" + integrity sha512-6r4LCxEe0QiZxFWYQHkTRwedypcEm98kcvBdiGmaoPj8pnbHtjuGOAveG9HumAUvs85rd8psmVh9cl3yLFQYkw== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.7" - "@lit-protocol/auth-helpers" "4.2.1" + "@lit-protocol/auth-helpers" "5.0.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From fb62c4f8e730df23f6daf7f090b7e5be0e9ae5f7 Mon Sep 17 00:00:00 2001 From: Josh Long Date: Fri, 19 Apr 2024 12:45:28 -0400 Subject: [PATCH 238/627] ref: Update docs for 5.0.0 sdk release --- docs/sdk/access-control/intro.md | 2 +- docs/sdk/access-control/quick-start.md | 6 +-- docs/sdk/authentication/auth-sig.md | 2 +- .../session-sigs/get-session-sigs.md | 2 +- docs/sdk/capacity-credits.md | 3 +- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/quick-start.md | 2 +- .../version-2.0/accessControl/intro.md | 2 +- .../version-2.0/resources/howItWorks.md | 2 +- .../version-2.0/sdk/explanation/encryption.md | 54 ------------------- 10 files changed, 11 insertions(+), 66 deletions(-) diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index e58c4f0a..224c6938 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -23,7 +23,7 @@ Lit supports the use of both on and [off-chain data](../access-control/lit-actio 1. Access Control Conditions can be defined using state from most EVM chains, Cosmos, and Solana.. View the full list [here](../../resources/supported-chains.md). 2. AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. -3. Storage provider of choice: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. +3. Storage provider of choice: use your preferred storage solution, including IPFS, Arweave, Ceramic, or even a centralized provider, like AWS. ## Resources diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 5470fdf0..93e229b9 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -120,7 +120,7 @@ In order to interact with the nodes in the Lit Network, you will need to generat The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. ```jsx -const nonce = litNodeClient.getLatestBlockhash(); +const nonce = await litNodeClient.getLatestBlockhash(); const authSig = await checkAndSignAuthMessage({ chain: "ethereum", @@ -147,7 +147,7 @@ const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); const siwe = require('siwe'); - let nonce = litNodeClient.getLatestBlockhash(); + let nonce = await litNodeClient.getLatestBlockhash(); // Initialize the signer const wallet = new ethers.Wallet(''); @@ -303,7 +303,7 @@ const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); const siwe = require('siwe'); - let nonce = litNodeClient.getLatestBlockhash(); + let nonce = await litNodeClient.getLatestBlockhash(); // Initialize the signer const wallet = new ethers.Wallet(''); diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index 1ce20208..2bdddc7c 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -119,7 +119,7 @@ async function main() { }); await litNodeClient.connect(); - let nonce = litNodeClient.getLatestBlockhash(); + let nonce = await litNodeClient.getLatestBlockhash(); // Initialize the signer const wallet = new ethers.Wallet(''); diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 7649ae30..71419386 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -24,7 +24,7 @@ const litNodeClient = new LitNodeClient({ }); await litNodeClient.connect(); -let nonce = litNodeClient.getLatestBlockhash(); +let nonce = await litNodeClient.getLatestBlockhash(); /** * When the getSessionSigs function is called, it will generate a session key diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 808cf438..d01225c3 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -103,8 +103,6 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t }); await litNodeClient.connect(); - let nonce = litNodeClient.getLatestBlockhash(); - const authNeededCallback = async ({ resources, expiration, uri }) => { // you can change this resource to anything you would like to specify const litResource = new LitActionResource('*'); @@ -128,6 +126,7 @@ Here we are delegating usage of `Capacity Credit` from a wallet which posseses t throw new Error('Failed to verify capabilities for resource'); } + let nonce = await litNodeClient.getLatestBlockhash(); let siweMessage = new siwe.SiweMessage({ domain: 'localhost:3000', // change to your domain ex: example.app.com address: DELEGATEE_WALLET.address, diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 8a6c66ee..7bc699f2 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -144,7 +144,7 @@ const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); const siwe = require('siwe'); -let nonce = litNodeClient.getLatestBlockhash(); +let nonce = await litNodeClient.getLatestBlockhash(); // Initialize the signer const wallet = new ethers.Wallet(''); diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 0c9b0a7f..32d3a0ec 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -141,7 +141,7 @@ const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); const siwe = require('siwe'); -let nonce = litNodeClient.getLatestBlockhash(); +let nonce = await litNodeClient.getLatestBlockhash(); // Initialize the signer const wallet = new ethers.Wallet(''); diff --git a/versioned_docs/version-2.0/accessControl/intro.md b/versioned_docs/version-2.0/accessControl/intro.md index 2073cdc6..9a6e3ceb 100644 --- a/versioned_docs/version-2.0/accessControl/intro.md +++ b/versioned_docs/version-2.0/accessControl/intro.md @@ -29,7 +29,7 @@ Lit supports the use of both on and [off-chain data](../accessControl/conditionT 1. Access Control Conditions are compatible with most EVM chains, Cosmos, and Solana. View the full list [here](../resources/supportedChains). 2. AND + OR operators ([boolean logic](../accessControl/conditionTypes/booleanLogic)) can be used to combine any of the supported conditions listed above. 3. ACCs may be permanent or [updateable](../accessControl/conditionTypes/updateableConditions). -4. Storage provider agnostic: use your preferred storage solution, including [IPFS](https://spark.litprotocol.com/encrypttoipfs/), Arweave, Ceramic, or even a centralized provider, like AWS. +4. Storage provider agnostic: use your preferred storage solution, including IPFS, Arweave, Ceramic, or even a centralized provider, like AWS. ## Examples and Use Cases diff --git a/versioned_docs/version-2.0/resources/howItWorks.md b/versioned_docs/version-2.0/resources/howItWorks.md index d475d649..917ff67c 100644 --- a/versioned_docs/version-2.0/resources/howItWorks.md +++ b/versioned_docs/version-2.0/resources/howItWorks.md @@ -45,7 +45,7 @@ As mentioned above, Access Control Conditions are not limited to "on-chain" data This feature empowers individuals to securely store data on the open Web and offers organizations a convenient method for sharing and distributing content across entire communities. For instance, employing NFTs to designate roles and access levels within a DAO, or using token ownership to grant exclusive discounts to users on an e-commerce platform such as Shopify. The capacity to gate access based on any arbitrary data via Lit Actions expands these possibilities even further, allowing the creation of decryption rules based on any accessible state. -Lit exclusively manages and provisions decryption keys, remaining entirely impartial to the storage provider. This means that **Lit does not store any encrypted content directly**, and developers integrating this service can choose a storage provider of their preference. Options include blockchains like Ethereum, open storage networks such as [IPFS](https://spark.litprotocol.com/encrypttoipfs/) or [Ceramic](https://github.com/LIT-Protocol/CeramicIntegration), or centralized providers like AWS or Google Cloud. +Lit exclusively manages and provisions decryption keys, remaining entirely impartial to the storage provider. This means that **Lit does not store any encrypted content directly**, and developers integrating this service can choose a storage provider of their preference. Options include blockchains like Ethereum, open storage networks such as IPFS or [Ceramic](https://github.com/LIT-Protocol/CeramicIntegration), or centralized providers like AWS or Google Cloud. The comprehensive process for encryption and decryption with Lit is as follows: diff --git a/versioned_docs/version-2.0/sdk/explanation/encryption.md b/versioned_docs/version-2.0/sdk/explanation/encryption.md index 425eada4..b1883328 100644 --- a/versioned_docs/version-2.0/sdk/explanation/encryption.md +++ b/versioned_docs/version-2.0/sdk/explanation/encryption.md @@ -5,8 +5,6 @@ sidebar_position: 3 # Encryption You can use Lit to encrypt and store any static content. This could be a file, a string, or anything that won't change. You need to store the content and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and Lit will store who is allowed to decrypt it and enforce this (aka key management). -If you want to use IPFS as a storage solution, Lit has an `encryptToIpfs` function that will help streamline the process of encryption and storing the encrypted data. You will need to provide an Infura ID and API secret key. [Jump to encryptToIPFS](../../SDK/Explanation/encryption#encrypttoipfs). - Check out the Replit below, which is a full-fledged **React** application that encrypts & decrypt a **file** using Lit SDK. For best experience please open the web app in a new tab. @@ -207,58 +205,6 @@ The full decryption process should look like: } ``` - -# Encryption & Upload to IPFS - -To simplify encrypting and uploading to IPFS, there is a method within the SDK to help encrypt and store data on IPFS. - -## encryptToIPFS - -Now, let's take a look at the simplified encryption-decryption & IPFS storing functionality. - -:::note - -The `encryptToIpfs` function internally uses the ipfs-http-client which requires the Infura Project Id & API Secret Key. - -::: - -### Encryption - -1. For encrypting the static content (string, file) simply pass it to our function `encryptToIpfs` along with the other params: `accessControlConditions`, `chain`, `infuraId`, `infuraSecretKey` & the instance of the connected `LitNodeClient`. Note we're using the Infura client to add the strings/files to IPFS hence you have to provide your credentials. - -That's all! All the steps will be taken care of for you & the `ipfsCid` for your encrypted metadata will be returned to you. - -### Decryption - -1. For decrypting the encrypted content (string, file) simply pass the returned `ipfsCid` to our function `decryptFromIpfs` & the instance of the connected `LitNodeClient`. - -That's all! You will get the decrypted string or the file as an ArrayBuffer. - -### Putting it all together - -```js -async encrypt() { - const ipfsCid = await LitJsSdk.encryptToIpfs({ - authSig, - accessControlConditions, - chain, - string: "Encrypt & store on IPFS seamlessly with Lit 😎", - // file, // If you want to encrypt a file instead of a string - litNodeClient: this.litNodeClient, - infuraId: 'YOUR INFURA PROJECT ID', - infuraSecretKey: 'YOUR INFURA API-SECRET-KEY', - }); -} - -async decrypt(ipfsCid) { - const decryptedString = await LitJsSdk.decryptFromIpfs({ - authSig, - ipfsCid, // This is returned from the above encryption - litNodeClient: this.litNodeClient, - }); -} -``` - ### How to encrypt & decrypt a file instead? For encryption use the same function params as above with the string param replaced with a file. For decryption nothing changes. The returned value in that case will be a Uint8Array instead of a string since it's a decrypted file. \ No newline at end of file From 76bd7fecd804956dadce0c5f846af3c071350694 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 19 Apr 2024 10:58:22 -0700 Subject: [PATCH 239/627] Update installation.md --- docs/sdk/installation.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 064ed0d8..5fdbd885 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -11,7 +11,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. ## Installing And Importing The SDK @@ -30,7 +30,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both b yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client"; @@ -46,7 +46,7 @@ Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environmen yarn add @lit-protocol/lit-node-client-nodejs ``` -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; @@ -106,6 +106,6 @@ await client.connect(); ## Debug Logging and Lit Node Client configuration -The `LitNodeClient` object has a number of config params you can pass, documented here: https://lit-js-sdk-v3-api-docs.vercel.app/interfaces/types_src.LitNodeClientConfig.html +The `LitNodeClient` object has a number of config params you can pass, documented here: https://v5.api-docs.getlit.dev/ For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` From 4db8430164e03c97c6e023df5d275f8dca1f79ad Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 20 Apr 2024 01:29:08 +0530 Subject: [PATCH 240/627] fix(quick-start): correct code snippets in quick starts --- docs/sdk/access-control/quick-start.md | 158 ++++++++++----------- docs/sdk/serverless-signing/quick-start.md | 103 +++++++------- docs/sdk/wallets/quick-start.md | 103 +++++++------- 3 files changed, 176 insertions(+), 188 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 047bff90..044a08b7 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -157,49 +157,46 @@ const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); const siwe = require('siwe'); - let nonce = litNodeClient.getLatestBlockhash(); - - // Initialize the signer - const wallet = new ethers.Wallet(''); - const address = ethers.getAddress(await wallet.getAddress()); - - // Craft the SIWE message - const domain = 'localhost'; - const origin = 'https://localhost/login'; - const statement = - 'This is a test statement. You can put anything you want here.'; - - // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds - const expirationTime = new Date( - Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 - ).toISOString(); - - const siweMessage = new siwe.SiweMessage({ - domain, - address: address, - statement, - uri: origin, - version: '1', - chainId: 1, - nonce, - expirationTime, - }); - const messageToSign = siweMessage.prepareMessage(); - - // Sign the message and format the authSig - const signature = await wallet.signMessage(messageToSign); - - const authSig = { - sig: signature, - derivedVia: 'web3.eth.personal.sign', - signedMessage: messageToSign, - address: address, - }; +let nonce = litNodeClient.getLatestBlockhash(); + +// Initialize the signer +const wallet = new ethers.Wallet(''); +const address = ethers.getAddress(await wallet.getAddress()); + +// Craft the SIWE message +const domain = 'localhost'; +const origin = 'https://localhost/login'; +const statement = + 'This is a test statement. You can put anything you want here.'; + +// expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds +const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 +).toISOString(); + +const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: 1, + nonce, + expirationTime, +}); +const messageToSign = siweMessage.prepareMessage(); - console.log(authSig); -} +// Sign the message and format the authSig +const signature = await wallet.signMessage(messageToSign); + +const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, +}; -main(); +console.log(authSig); ``` ### Encryption @@ -313,49 +310,46 @@ const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); const { ethers } = require("ethers"); const siwe = require('siwe'); - let nonce = litNodeClient.getLatestBlockhash(); - - // Initialize the signer - const wallet = new ethers.Wallet(''); - const address = ethers.getAddress(await wallet.getAddress()); - - // Craft the SIWE message - const domain = 'localhost'; - const origin = 'https://localhost/login'; - const statement = - 'This is a test statement. You can put anything you want here.'; - - // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds - const expirationTime = new Date( - Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 - ).toISOString(); - - const siweMessage = new siwe.SiweMessage({ - domain, - address: address, - statement, - uri: origin, - version: '1', - chainId: 1, - nonce, - expirationTime, - }); - const messageToSign = siweMessage.prepareMessage(); - - // Sign the message and format the authSig - const signature = await wallet.signMessage(messageToSign); - - const authSig = { - sig: signature, - derivedVia: 'web3.eth.personal.sign', - signedMessage: messageToSign, - address: address, - }; +let nonce = litNodeClient.getLatestBlockhash(); + +// Initialize the signer +const wallet = new ethers.Wallet(''); +const address = ethers.getAddress(await wallet.getAddress()); + +// Craft the SIWE message +const domain = 'localhost'; +const origin = 'https://localhost/login'; +const statement = + 'This is a test statement. You can put anything you want here.'; + +// expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds +const expirationTime = new Date( + Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 +).toISOString(); + +const siweMessage = new siwe.SiweMessage({ + domain, + address: address, + statement, + uri: origin, + version: '1', + chainId: 1, + nonce, + expirationTime, +}); +const messageToSign = siweMessage.prepareMessage(); - console.log(authSig); -} +// Sign the message and format the authSig +const signature = await wallet.signMessage(messageToSign); + +const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, +}; -main(); +console.log(authSig); ``` ## Mint Capacity Credits and Delegate Usage diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index b8aed153..bf5beaaa 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -178,61 +178,58 @@ const siweMessage = new siwe.SiweMessage({ }); const messageToSign = siweMessage.prepareMessage(); - // Sign the message and format the authSig - const signature = await wallet.signMessage(messageToSign); - - const authSig = { - sig: signature, - derivedVia: 'web3.eth.personal.sign', - signedMessage: messageToSign, - address: address, - }; +// Sign the message and format the authSig +const signature = await wallet.signMessage(messageToSign); + +const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, +}; - console.log(authSig); - - // Form the authNeededCallback to create a session with - // the wallet signature. - const authNeededCallback = async (params) => { - const response = await client.signSessionKey({ - statement: params.statement, - authMethods: [ - { - authMethodType: 1, - // use the authSig created above to authenticate - // allowing the pkp to sign on behalf. - accessToken: JSON.stringify(authSig), - }, - ], - pkpPublicKey: ``, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; - }; - - // Set resources to allow for signing of any message. - const resourceAbilities = [ - { - resource: new LitActionResource('*'), - ability: LitAbility.PKPSigning, - }, - ]; - // Get the session key for the session signing request - // will be accessed from local storage or created just in time. - const sessionKeyPair = client.getSessionKey(); - - // Request a session with the callback to sign - // with an EOA wallet from the custom auth needed callback created above. - const sessionSigs = await client.getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 60_000 * 60).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, - }); -} +console.log(authSig); + +// Form the authNeededCallback to create a session with +// the wallet signature. +const authNeededCallback = async (params) => { + const response = await client.signSessionKey({ + statement: params.statement, + authMethods: [ + { + authMethodType: 1, + // use the authSig created above to authenticate + // allowing the pkp to sign on behalf. + accessToken: JSON.stringify(authSig), + }, + ], + pkpPublicKey: ``, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; -main(); +// Set resources to allow for signing of any message. +const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, +]; +// Get the session key for the session signing request +// will be accessed from local storage or created just in time. +const sessionKeyPair = client.getSessionKey(); + +// Request a session with the callback to sign +// with an EOA wallet from the custom auth needed callback created above. +const sessionSigs = await client.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, +}); ``` ## Mint a PKP and Add Permitted Scopes diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 3d9c4591..fe718315 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -178,61 +178,58 @@ const siweMessage = new siwe.SiweMessage({ }); const messageToSign = siweMessage.prepareMessage(); - // Sign the message and format the authSig - const signature = await wallet.signMessage(messageToSign); - - const authSig = { - sig: signature, - derivedVia: 'web3.eth.personal.sign', - signedMessage: messageToSign, - address: address, - }; +// Sign the message and format the authSig +const signature = await wallet.signMessage(messageToSign); + +const authSig = { + sig: signature, + derivedVia: 'web3.eth.personal.sign', + signedMessage: messageToSign, + address: address, +}; - console.log(authSig); - - // Form the authNeededCallback to create a session with - // the wallet signature. - const authNeededCallback = async (params) => { - const response = await client.signSessionKey({ - statement: params.statement, - authMethods: [ - { - authMethodType: 1, - // use the authSig created above to authenticate - // allowing the pkp to sign on behalf. - accessToken: JSON.stringify(authSig), - }, - ], - pkpPublicKey: ``, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; - }; - - // Set resources to allow for signing of any message. - const resourceAbilities = [ - { - resource: new LitActionResource('*'), - ability: LitAbility.PKPSigning, - }, - ]; - // Get the session key for the session signing request - // will be accessed from local storage or created just in time. - const sessionKeyPair = client.getSessionKey(); - - // Request a session with the callback to sign - // with an EOA wallet from the custom auth needed callback created above. - const sessionSigs = await client.getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 60_000 * 60).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, - }); -} +console.log(authSig); + +// Form the authNeededCallback to create a session with +// the wallet signature. +const authNeededCallback = async (params) => { + const response = await client.signSessionKey({ + statement: params.statement, + authMethods: [ + { + authMethodType: 1, + // use the authSig created above to authenticate + // allowing the pkp to sign on behalf. + accessToken: JSON.stringify(authSig), + }, + ], + pkpPublicKey: ``, + expiration: params.expiration, + resources: params.resources, + chainId: 1, + }); + return response.authSig; +}; -main(); +// Set resources to allow for signing of any message. +const resourceAbilities = [ + { + resource: new LitActionResource('*'), + ability: LitAbility.PKPSigning, + }, +]; +// Get the session key for the session signing request +// will be accessed from local storage or created just in time. +const sessionKeyPair = client.getSessionKey(); + +// Request a session with the callback to sign +// with an EOA wallet from the custom auth needed callback created above. +const sessionSigs = await client.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: resourceAbilities, + authNeededCallback, +}); ``` ## Mint a PKP and Add Permitted Scopes From d2eec01ddd329d3c4a56366c992dd0a1c7689823 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 20 Apr 2024 01:35:56 +0530 Subject: [PATCH 241/627] fix(footer): update footer links --- docusaurus.config.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index f1608a8c..72ae4913 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -153,7 +153,7 @@ const config = { }, { label: 'API', - href: 'https://js-sdk.litprotocol.com/index.html', + href: 'https://v5.api-docs.getlit.dev/', }, ], }, @@ -162,7 +162,7 @@ const config = { items: [ { label: 'Support', - to: '/support', + to: '/v3/support/intro', }, ], }, From 68a7afb6da75a8c18fc96092727174d8c16c7d27 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 19 Apr 2024 12:03:52 -1000 Subject: [PATCH 242/627] Missing space in package import code example --- docs/sdk/access-control/quick-start.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 93e229b9..de11c6af 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -38,7 +38,7 @@ If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-node Use the **Lit JS SDK V4**: ```jsx -import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` @@ -476,4 +476,4 @@ By now you should have successfully created an Access Control Condition and perf 3. [Off-Chain Conditions](../access-control/lit-action-conditions.md). 4. [Custom Contract Calls](../access-control/evm/custom-contract-calls.md). -Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file +Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). From 0421cf1c1b5ef2ecb69eb2ebef0f017d3c197f21 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 19 Apr 2024 12:10:57 -1000 Subject: [PATCH 243/627] Address another missing space --- docs/sdk/access-control/quick-start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index de11c6af..0d3304e2 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -53,7 +53,7 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx -const client =new LitJsSdk.LitNodeClient({ +const client = new LitJsSdk.LitNodeClient({ litNetwork: 'habanero', }); From ed3b4bd6411134c1c1340d02e00c4abc44f6460c Mon Sep 17 00:00:00 2001 From: Nicholas Young Date: Mon, 22 Apr 2024 13:11:40 -0600 Subject: [PATCH 244/627] fix: typo severless -> serverless --- docs/sdk/serverless-signing/conditional-signing.md | 2 +- docs/sdk/serverless-signing/fetch.md | 2 +- docs/sdk/serverless-signing/key-claiming.md | 2 +- docs/sdk/serverless-signing/overview.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 5ebb24ac..faef1762 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; ## Prerequisites - Familiarity with JavaScript -- Basic understanding of [severless signing](../serverless-signing/quick-start.md) +- Basic understanding of [serverless signing](../serverless-signing/quick-start.md) ## Overview Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be used to uphold the integrity of data on the open web, in its function as a decentralized notary. diff --git a/docs/sdk/serverless-signing/fetch.md b/docs/sdk/serverless-signing/fetch.md index 8bbcbf7d..7debb19c 100644 --- a/docs/sdk/serverless-signing/fetch.md +++ b/docs/sdk/serverless-signing/fetch.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; ## Prerequisites - Familiarity with JavaScript -- Basic understanding of [severless signing](../serverless-signing/quick-start.md) +- Basic understanding of [serverless signing](../serverless-signing/quick-start.md) ## Overview Unlike traditional smart contract ecosystems, Lit Actions can natively talk to the external world. This is useful for things like fetching data from the web, or sending API requests to other services. diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index 0ea1fef6..7b2ccea3 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; ## Prerequisites - Familiarity with JavaScript -- Basic understanding of [severless signing](../serverless-signing/quick-start.md) +- Basic understanding of [serverless signing](../serverless-signing/quick-start.md) ## Overview diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index be2d9d43..85a76989 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -11,7 +11,7 @@ Using Lit Actions in production IS now supported on the [Habanero Mainnet](../.. Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method that allows developers to encode logic that dictates signing. -Severless signing (AKA Lit Actions), are JavaScript programs that can be used to specify signing and authentication logic for Programmable Key Pairs (PKPs). When used in conjunction with PKPs, Lit Actions are serverless functions with their own private key-pair that can be used to write data to blockchains and other state machines. +Serverless signing (AKA Lit Actions), are JavaScript programs that can be used to specify signing and authentication logic for Programmable Key Pairs (PKPs). When used in conjunction with PKPs, Lit Actions are serverless functions with their own private key-pair that can be used to write data to blockchains and other state machines. A simple example is a Lit Action and associated PKP that checks if a number is prime. The PKP gets [atomically](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) assigned to the Lit Action, only returning a signature if the required conditions are met (in this case, if a prime number is inputted). Each node will execute the Lit Action in parallel and verify that it meets the required conditions. If it does, each node independently provisions a signing share to the requesting client. Only after more than two-thirds of these shares have been collected is the complete signature returned. From fcfe12234011dfed91862a5a33ff1ea2e5482d9a Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 23 Apr 2024 09:05:18 -1000 Subject: [PATCH 245/627] Add installation step for contracts SDK in decryption guide --- docs/sdk/access-control/quick-start.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 93e229b9..25fcbfdc 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -350,9 +350,22 @@ main(); ## Mint Capacity Credits and Delegate Usage -In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. -The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: +First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/contracts-sdk + +``` + +OR + +```jsx +npm i @lit-protocol/contracts-sdk +``` + +The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: ```jsx const walletWithCapacityCredit = new Wallet(""); @@ -476,4 +489,4 @@ By now you should have successfully created an Access Control Condition and perf 3. [Off-Chain Conditions](../access-control/lit-action-conditions.md). 4. [Custom Contract Calls](../access-control/evm/custom-contract-calls.md). -Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file +Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). From 3c585fd9c256374b4b4d43e7c1be9f5f1487cb8a Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:19:20 -0700 Subject: [PATCH 246/627] Docs updates Another round of updates associated with the docs revamp --- docs/additional-examples.md | 1 - docs/additional-examples/intro.md | 3 + docs/network/migration-guide.md | 6 +- docs/resources/how-it-works.md | 90 +++++++++------ docs/sdk/access-control/intro.md | 66 ++++++----- docs/sdk/serverless-signing/overview.md | 44 ++++---- docs/sdk/wallets/intro.md | 43 ++++--- sidebars.js | 111 ++++++++++--------- versioned_sidebars/version-2.0-sidebars.json | 1 - 9 files changed, 201 insertions(+), 164 deletions(-) delete mode 100644 docs/additional-examples.md create mode 100644 docs/additional-examples/intro.md diff --git a/docs/additional-examples.md b/docs/additional-examples.md deleted file mode 100644 index 4703c487..00000000 --- a/docs/additional-examples.md +++ /dev/null @@ -1 +0,0 @@ -# Additional Examples \ No newline at end of file diff --git a/docs/additional-examples/intro.md b/docs/additional-examples/intro.md new file mode 100644 index 00000000..4334354d --- /dev/null +++ b/docs/additional-examples/intro.md @@ -0,0 +1,3 @@ +# Overview + +Coming Soon... \ No newline at end of file diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 35e83c0c..4633e409 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -1,5 +1,9 @@ -# Lit v0 Migration Guide +# Migrating to Lit v0 + +:::info +Read the full announcement [here](https://spark.litprotocol.com/introducing-decentralized-key-management-with-lit-v0/). +::: The launch of Lit v0 introduces the [Habanero Mainnet](../network/networks/mainnet.md) and the [Manzano Testnet](../network/networks/testnet.md). diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 174346ef..08079bbe 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -6,67 +6,87 @@ sidebar_position: 1 ## Introduction -Lit Protocol combines cutting-edge cryptography, sealed confidential hardware, and peer-to-peer networking to provide builders in web3 with the ability to use cryptographic keys and private compute, as a service. With Lit, developers can: +Lit Protocol combines cutting-edge cryptography, sealed confidential hardware, and peer-to-peer networking to provide builders in web3 with the ability to use cryptographic keys and perform private compute jobs. With Lit, developers can: -1. Securely generate and manage non-custodial keys - 1. User wallets and signers: onboard users into your application without relying on a centralized custodian or dealing with the complexities of key management. - 1. Example implementations: [PatchWallet](https://app.patchwallet.com/), [Silk](https://www.silk.sc/), [Collab.Land](https://www.collab.land/), [Tria](https://www.tria.so/), [Index Network](https://index.network/) - 2. Privacy applications: perform data encryption and manage access behind flexible access control rules and policies. - 1. Example implementations: [Fox](https://docs.verifymedia.com/publishing/access-control/methods/lit-protocol), [Terminal3](https://www.terminal3.io/), [Streamr](https://streamr.network/), [Cheqd](https://cheqd.io/), [Lens Protocol](https://www.lens.xyz/), [Gitcoin](https://publicgoods.network/) +1. Securely generate and manage non-custodial keys to build user wallets and signers. This enables you to seamlessly onboard users into your application without relying on a centralized custodian or dealing with the complexities of key management. + - Example implementations: [PatchWallet](https://app.patchwallet.com/), [Silk](https://www.silk.sc/), [Collab.Land](https://www.collab.land/), [Tria](https://www.tria.so/), [Index Network](https://index.network/) + +2. Perform data encryption and manage access to data with flexible access control rules and policies. + - Example implementations: [Fox](https://docs.verifymedia.com/publishing/access-control/methods/lit-protocol), [Terminal3](https://www.terminal3.io/), [Streamr](https://streamr.network/), [Cheqd](https://cheqd.io/), [Lens Protocol](https://www.lens.xyz/), [Gitcoin](https://publicgoods.network/) -2. Write and execute private and immutable functions and compute jobs to power: - 1. Cross-chain messaging and automation: build protocols that have the ability to read and write data across blockchains and web3 protocols. - 1. Example implementations: [Event Listener](https://developer.litprotocol.com/v3/tools/event-listener), [Yacht Labs SDK](https://github.com/Yacht-Labs/yacht-lit-sdk) - 2. Off-chain oracles: fetch verifiable off-chain data for use on-chain. - 1. Example implementations: coming soon. - 3. Private and verifiable LLMs and AI agents - 1. Example implementations: coming soon. - 4. And more… +3. Write and execute private and immutable functions for cross-chain messaging and transaction automation, enabling the development of protocols that have the ability to read and write data between blockchains. + - Example implementations: [Event Listener](https://developer.litprotocol.com/v3/tools/event-listener), [Yacht Labs SDK](https://github.com/Yacht-Labs/yacht-lit-sdk) + +4. Create data oracles that have the ability to fetch off-chain data for use in on-chain dApps. + - Example implementations: coming soon. + +5. Privacy-preserving and fully verifiable LLMs and AI agents. + - Example implementations: coming soon. + +6. And more… To learn more about possible ways you can use Lit and to view additional implementation examples, check out the [use cases](../intro/usecases.md) section or follow the links below: [Whitepaper](https://github.com/LIT-Protocol/whitepaper). [Open Source Node Code](https://github.com/LIT-Protocol/Node). [Audit reports](https://drive.google.com/drive/folders/1Rrht88iUkzpofwl1CvP9gEjqY60BKyFn?ref=spark.litprotocol.com). -Below, we will dive into how Lit works under the hood, starting with the following four core primitives: +Below, we will dive into Lit's core architecture and how things work under the hood: + +## 1. Lit Nodes + +Each Lit Node is a sealed encrypted virtual machine running on an independently operated server. The fact that each node is “sealed” means that neither the operator of the Lit Node, nor any other party, can access the interior of the processor. + +Each Lit node contains a JavaScript execution environment ([Deno](https://deno.com/)) and key shares. Each key share corresponds to a key pair that is "shared" among all participating operators, created using [distributed key generation](https://docs.google.com/document/d/1eaSk6822d4B-bJtMiiGp4n9N4qZPnwWaEZOy-Xs8AK0/edit#heading=h.2q2y8wxw6nj8) (DKG), covered in more depth below. -## 1. Threshold Signatures +### Threshold Keys and Distributed Key Generation -Nodes perform a [distributed key generation](https://docs.google.com/document/d/1eaSk6822d4B-bJtMiiGp4n9N4qZPnwWaEZOy-Xs8AK0/edit#heading=h.2q2y8wxw6nj8) (DKG) to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a **key share** which they use to sign and decrypt data with. +As introduced above, each Lit node collectively participates in a DKG to create new public/private key pairs where no one party ever holds the entire key. Instead, each node holds a **key share** which they use to sign and decrypt data with. - **Network Consensus:** All operations (signing or decryption) are performed in parallel and require participation from two-thirds of network nodes to be executed. - **Key Distribution:** No one node (or client) ever gains access to private keys in their entirety. Decryption and signing operations do not expose the underlying key. - **Curve Flexibility:** The protocol supports multiple cryptographic curves and signature schemes, with the ability to add new ones to enable interoperability with a wide variety of protocols and standards. -## 2. Sealed and Confidential Hardware +### Sealed and Confidential Hardware All Lit node operators run a bare metal install of [AMD’s SEV-SNP](https://www.amd.com/content/dam/amd/en/documents/epyc-business-docs/solution-briefs/amd-secure-encrypted-virtualization-solution-brief.pdf), ensuring they never have access to any key shares directly, nor the computation processed inside of each node. - **Trusted Execution Environment (TEE)**: SEV-SNP is an example of a TEE, which provides advanced hardware-level isolation for all network operations. - **Code Immutability and Confidentiality:** Deployed programs within the TEE are immutable and private, preventing unauthorized changes and maintaining consistent operational integrity. -## 3. Programmability +### JavaScript Execution Environment -As mentioned, each Lit node is a confidential compute environment. This enables developers to write [programs](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start) that govern the signing and encryption. +The JavaScript execution environment that is present in each Lit node enables developers to write immutable programs called [Lit Actions](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start) that govern signing and encryption operations. -## 4. Crypto-Economic Security and Incentives +## 2. The Lit Network -The Lit network is supported by a decentralized network of node operators who must stake tokens in order to participate in the “active” node operator set. Current node operators include integration partners, project investors, and professional node operators. If you’re interested in becoming a node operator, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform). +The Lit network is composed of a collection of Lit nodes. All nodes must stake tokens in order to participate in the “active” node operator set, providing crypto-economic security guarantees. -- **Node Operators:** The current node operators active on the Habanero Mainnet Beta include: - - Lit Protocol (our node) - - [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com) - - [Terminal3](https://www.terminal3.io/?ref=spark.litprotocol.com) - - [Bware Labs](https://bwarelabs.com/?ref=spark.litprotocol.com) - - [Streamr](https://streamr.network/?ref=spark.litprotocol.com) - - [1kx](https://1kx.network/?ref=spark.litprotocol.com) - - [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com) - - [Imperator](https://www.imperator.co/?ref=spark.litprotocol.com) - - [01node](https://01node.com/?ref=spark.litprotocol.com) - - [CMT Digital](https://cmt.digital/?ref=spark.litprotocol.com) -- The Lit Protocol Token (LPX): The LPX token will be used by node operator to meet their staking requirement, as well as to reward them for their service. Developers using Lit will also use the token to pay for transacting on the network. +Currently, the Lit network is in [Mainnet Beta](../network/migration-guide.md) and a test token is being used for staking. Current node operators include integration partners, project investors, and professional node operators. If you’re interested in becoming a node operator, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform). + +### Node Operators + +The current node operators active on the Habanero Mainnet Beta include: + +- Lit Protocol (our node) +- [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com) +- [Terminal3](https://www.terminal3.io/?ref=spark.litprotocol.com) +- [Bware Labs](https://bwarelabs.com/?ref=spark.litprotocol.com) +- [Streamr](https://streamr.network/?ref=spark.litprotocol.com) +- [1kx](https://1kx.network/?ref=spark.litprotocol.com) +- [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com) +- [Imperator](https://www.imperator.co/?ref=spark.litprotocol.com) +- [01node](https://01node.com/?ref=spark.litprotocol.com) +- [CMT Digital](https://cmt.digital/?ref=spark.litprotocol.com) + +### The Lit Protocol Token (LPX) + +The Lit Protocol token, LPX, will be used by node operator to meet their staking requirement, as well as a reward token to pay node operators for their service. Developers using Lit will also use the token to pay for transacting on the network. - The LPX token is NOT live, and currently a test token (testLPX) is being used in its place. The LPX token will be released when the v1 network is released later this year. +:::info +The LPX token is NOT live, and currently a test token (testLPX) is being used for staking and payment. The official LPX token will be released when the v1 network launches later this year. You can subscribe to updates [here](https://spark.litprotocol.com/). + +If you're a developer building on Lit, test tokens can be claimed from the [verified faucet](https://faucet.litprotocol.com/). +::: ## Learn More diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index 224c6938..31e6874c 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -2,43 +2,59 @@ sidebar_position: 1 --- -# Introduction to Encryption/Decryption +# Encryption and Access Control :::info -[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +The [Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. ::: +## Introduction + +You can use Lit for encryption to store data privately on the open web. The Lit network uses an identity-based encryption scheme, which means that decryption is only permitted to those who satisfy a certain pre-determined identity parameter. + +Each Lit node holds a share of a shared BLS key. The signature from this BLS key serves as the decryption key for a particular set of [Access Control Conditions](../access-control/evm/basic-examples.md) and private data. The user will only be able to decrypt the data if they can prove that they satisfy the corresponding conditions. + +Lit's encryption scheme is highly efficient, as encryption is a entirely a client-side operation. Only one round of network interactivity (between the Lit nodes) is required for decryption in order to request the signature shares and assemble a decryption key. + +The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the Access Control Conditions and the hash of the private data itself. + ## Overview -You can use Lit for decentralized encryption with your storage provider of choice. With Lit, you can encrypt content client-side and define [access control conditions](../access-control/condition-types/unified-access-control-conditions) (ACCs) to provision access rights to users who meet the conditions you set. +Here is a high-level, step-by-step breakdown of the encryption and decryption process with Lit: -Lit supports the use of both on and [off-chain data](../access-control/lit-action-conditions) when defining ACCs, examples including locking content behind: +### Encryption +1. Alice starts by creating an Access Control Condition(s) and combines it with her private data to construct the identity parameter. +2. Alice encrypts the private data and the identity parameter using the public key of the shared Lit BLS key to get a ciphertext. +3. Alice stores the encryption metadata - the set of Access Control Conditions, hash of the private data etc. - and the ciphertext wherever she wants (for example, IPFS or Ceramic). -- [Membership within a particular DAO](../access-control/evm/basic-examples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) -- Ownership of a particular [ERC-721](../access-control/evm/basic-examples#must-posess-any-token-in-an-erc721-collection-nft-collection) or [ERC-20](../access-control/evm/basic-examples#must-posess-at-least-one-erc20-token) token -- The result of [any smart contract call](../access-control/evm/custom-contract-calls) -- The result of [any API call](../access-control/lit-action-conditions), such as a follow on Twitter +### Decryption +1. Bob fetches the ciphertext and corresponding encryption metadata from the public data store. +2. Bob presents the encryption metadata to the BLS network and requests for signature shares over the identity parameter. +3. The Lit nodes check whether the user satisfies the Access Control Conditions before signing the constructed identity parameter. +4. Bob assembles the signature shares into a decryption key and successfully decrypts the ciphertext. + +## Features and Examples -## Features +### Features -1. Access Control Conditions can be defined using state from most EVM chains, Cosmos, and Solana.. View the full list [here](../../resources/supported-chains.md). -2. AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. -3. Storage provider of choice: use your preferred storage solution, including IPFS, Arweave, Ceramic, or even a centralized provider, like AWS. +- Use state from most EVM chains, Cosmos, and Solana to create your conditions. Check out the full list of supported chains [here](../../resources/supported-chains.md). +- Use AND + OR operators ([boolean logic](../access-control/condition-types/boolean-logic)) can be used to combine any of the supported conditions listed above. +- Lit works with any storage provider, which means you can use your preferred storage solution, such as IPFS, Arweave, Ceramic, or even a centralized provider, like AWS. -## Resources +### Examples -Learn how you can integrate decentralized access control with Lit into your own product: +Lit supports the use of both on and [off-chain data](../access-control/lit-action-conditions.md) when creating Access Control Conditions. Some examples include: + +- [Membership within a particular DAO](../access-control/evm/basic-examples#must-be-a-member-of-a-dao-molochdaov21-also-supports-daohaus) +- Ownership of a particular [ERC-721](../access-control/evm/basic-examples#must-posess-any-token-in-an-erc721-collection-nft-collection) or [ERC-20](../access-control/evm/basic-examples#must-posess-at-least-one-erc20-token) token +- The result of [any smart contract call](../access-control/evm/custom-contract-calls) +- The result of [any API call](../access-control/lit-action-conditions), such as a follow on Twitter -1. [Quick Start Guide](../access-control/quick-start.md) -2. [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) -3. [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) -4. [Basic EVM Conditions](../access-control/evm/basic-examples) -5. [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) +## Getting Started -## Examples and Use Cases +You can get started with encryption following this [quick start](../access-control/quick-start.md) guide. Below, you'll find some additional resources and example implementations: -1. [Private data](https://docs.lens.xyz/docs/gated) for web3 social -2. [Token-gated video](https://github.com/suhailkakar/livepeer-token-gated-vod) streaming -3. [Encrypted token metadata](https://spark.litprotocol.com/semantic/) -4. [Persistent and private data marketplaces](https://blog.streamr.network/streamr-integrates-lit-protocol/) -5. [Decentralized content discovery](https://spark.litprotocol.com/decentralized-content-discovery-with-lit-and-index/) \ No newline at end of file +1. [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) +2. [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) +3. [Basic EVM Conditions](../access-control/evm/basic-examples) +4. [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) \ No newline at end of file diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 85a76989..9ec3e708 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -1,4 +1,4 @@ -# Introduction to Compute (Lit Actions) +# Decentralized Compute with Lit Actions :::info **STATE OF THE NETWORK** @@ -7,35 +7,33 @@ Using Lit Actions in production IS now supported on the [Habanero Mainnet](../.. ::: -## Overview +## Introduction -Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method that allows developers to encode logic that dictates signing. +Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you can encode logic that governs signing and encryption. -Serverless signing (AKA Lit Actions), are JavaScript programs that can be used to specify signing and authentication logic for Programmable Key Pairs (PKPs). When used in conjunction with PKPs, Lit Actions are serverless functions with their own private key-pair that can be used to write data to blockchains and other state machines. +This logic is encoded using a Lit Action, an immutable JavaScript program that can be "assigned" to the key pairs generated on Lit and used to dictate how they are used. -A simple example is a Lit Action and associated PKP that checks if a number is prime. The PKP gets [atomically](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) assigned to the Lit Action, only returning a signature if the required conditions are met (in this case, if a prime number is inputted). Each node will execute the Lit Action in parallel and verify that it meets the required conditions. If it does, each node independently provisions a signing share to the requesting client. Only after more than two-thirds of these shares have been collected is the complete signature returned. +A simple example would be a Lit Action that checks if a number is prime. To start, you would generate a [Programmable Key Pair](../wallets/intro.md) and assign it to your Lit Action so that it could use it to produce a signature. This signature would only be returned if the conditions defined within your Lit Action were met. In this case, the Lit Action would verify that the input was indeed a prime number. Every Lit node would execute your program independently and provision their key share down to the requesting client. Only after more than two-thirds of these shares have been collected can the complete signature be formed. You can read more about how Lit works [here](../../resources/how-it-works.md). -## Features +## Features and Examples -1. [Blockchain Agnostic](../../resources/supported-chains.md): Lit Actions can be used to write data to and across any supported blockchain and state machine using PKPs. -2. Immutable: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on-chain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. -3. Off-Chain Compatibility: Lit Actions can pull in data from off-chain sources natively, without requiring the use of a third party oracle. +### Features -## Resources +- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to between blockchains with Programmable Key Pairs +- **Immutable**: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on a blockchain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. +- **Off-Chain Compatibility**: You can make arbitrary HTTP requests from a Lit Action, meaning you can pull in data from off-chain sources natively, without needing to use of a third party oracle. -1. [Getting Started](../serverless-signing/quick-start.md) -2. [GetLit CLI](https://developer.litprotocol.com/v3/tools/getlit-cli) Tool -3. [Fetching Off-Chain Data in a Lit Action](../serverless-signing/fetch.md) -4. [Conditional Signing with Lit Actions](../serverless-signing/conditional-signing.md) -5. [Using Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376): Use the Mint/Grant/Burn function in the Lit `contracts-sdk` to atomically assign a Lit Action(s) to a PKP. The PKP will only return a signed response if the function you've declared in your Lit Action returns 'true'. Learn more about minting PKPs [here](../wallets/minting.md). +### Examples +- [Conditional signing](../serverless-signing/conditional-signing.md): Return a signature when your pre-defined conditions are met. +- [Using fetch](../serverless-signing/fetch.md): Fetch data from other chains or off-chain sources in your Lit Action. +- [Access control](../access-control/lit-action-conditions.md): Create Lit Action Conditions to permit decryption using off-chain data. +- [Importing dependencies](../serverless-signing/dependencies.md): Use external packages in your Lit Action. -## Examples and Use Cases +## Getting Started -1. [Generating proofs](../serverless-signing/conditional-signing) -2. [Condition-based execution](../../tools/event-listener) -3. [Looking up permitted actions, addresses and auth methods associated with a PKP](../wallets/auth-methods/#example-setting-auth-context-with-lit-actions) -4. [Checking access control conditions](../access-control/lit-action-conditions) -5. [Fetching off-chain data](../serverless-signing/fetch) -6. [Executing a trade on Uniswap](https://github.com/LIT-Protocol/lit-apps/blob/master/packages/lit-actions/src/to-be-converted/wip-swap.action.mjs?ref=spark.litprotocol.com) -7. [Fetching off-chain price data](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/#how-it-works) +You can create your first Lit Action by following this [quick start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: + +1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. +2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. +3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio rebalancing on Uniswap. diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 7e7305f0..b48daf6b 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -8,37 +8,32 @@ Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ ::: -## Overview +## Introduction -Each PKP is functionally a wallet, where the private key lives across the Lit Network. It is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication methods](../authentication/overview) to their PKP using Lit Actions. +You can use Lit to build seamless, non-custodial wallets and onboarding experiences using Programmable Key Pairs (PKPs). Each PKP is an ECDSA public / private key pair created by the Lit network using a Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. a signed transaction). You can read more about how Lit works [here](../../resources/how-it-works.md). -Each Programmable Key Pair (PKP) is a versatile MPC wallet that can be used to [seamlessly onboard](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) users into web3 and provide flexible and intuitive asset management experiences. +When used to build a wallet, PKPs can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google oAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since PKPs are decentralized, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. -## Features +## Features and Examples -1. [Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs): PKPs can be used to sign transactions on any blockchain or state machine supported by Lit. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos-based chains. -2. Programmable: [Lit Actions](../serverless-signing/overview) can be used to define flexible transaction automations and handle the authentication logic for PKPs. -3. Atomicity: Using [Mint/Grant/Burn](../serverless-signing/overview), you can atomically link a PKP to an authorized set of Lit Actions. This method guarantees that a particular PKP can only ever be used to sign data from within the approved set, and nothing else. -4. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new wallet where the private key never exists in its entirety. -5. Interoperable: Use a provider like [WalletConnect](../wallets/walletconnect.md) to connect PKPs to your favorite dApps, just like any other EOA wallet. +### Features -## Resources +- **[Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs)**: PKPs can be used to sign transactions on any blockchain or state machine supported by Lit. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos-based chains. +- **Programmable**: [Lit Actions](../serverless-signing/overview) can be used to automate signing with PKPs. +- **Non-Custodial**: Each PKP is generated collectively by the Lit nodes using a process called [Distributed Key Generation](../../resources/how-it-works.md) (DKG). As a network, this allows Lit to generate a new wallet where the private key never exists in its entirety. -Learn how you can integrate Programmable Key Pairs (PKPs) into your own product: +### Examples -1. [Quick Start Guide](../wallets/quick-start.md) -2. [Minting a PKP using the Lit Explorer](https://explorer.litprotocol.com/mint-pkp) -3. [Testnet Faucet](https://faucet.litprotocol.com/) -4. [Assigning an Authentication Method](../wallets/auth-methods.md) (and associated [blog post](https://spark.litprotocol.com/how-authentication-works-with-pkps/)) -5. [Using PKPs as Wallets](../wallets/walletconnect.md) +- [Minting a PKP](../wallets/minting.md): Learn about the various methods you can use to create PKPs. +- [Assigning an Authentication Method](../wallets/auth-methods.md): Authentication methods have the ability to "control" the underlying key pair. +- [Signing Transactions](../serverless-signing/processing-validation.md): You can use [Lit Actions](../serverless-signing/overview.md) to sign transactions with PKPs. +- [Connecting to dApps](../wallets/walletconnect.md): Use WalletConnect to connect your PKP wallet to all of your favorite dApps. -## Examples and Use Cases +## Getting Started -PKPs can be used to power a wide array of potential applications and use cases: +You can get started with user wallets following this [quick start](../wallets/quick-start.md) guide. Below, you'll find some additional resources and example implementations: -1. [Seed-Phraseless Onboarding Experiences](https://spark.litprotocol.com/wallet-abstraction-with-google-oauth/) -2. [DeFi automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/) -3. [Automated Credential Issuance](https://spark.litprotocol.com/krebitxlitactions/) -4. [Versatile Web3 Wallets](https://github.com/DustilDawn/Magic) -5. [Cross-Chain Messaging and Swaps](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/) -6. [Signer on an AA Wallet](https://spark.litprotocol.com/account-abstraction-and-mpc/) \ No newline at end of file +1. [Seed-Phraseless Onboarding](../wallets/minting-methods/mint-via-social.md) +2. [Use a PKP as a Signer on a Smart Account](https://spark.litprotocol.com/account-abstraction-and-mpc/) +3. [Using the Lit Explorer](../../tools/pkpexplorer.md) +4. [Working with Claimable Keys](../wallets/claimable-keys/intro.md) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 61223da2..af81db94 100644 --- a/sidebars.js +++ b/sidebars.js @@ -49,6 +49,7 @@ const sidebars = { 'intro/overview', 'intro/what-is-lit-protocol', 'resources/how-it-works', + 'network/migration-guide', ], }, { @@ -101,6 +102,35 @@ const sidebars = { keywords: ['guides'], }, items: [ + { + type: 'category', + label: 'Authentication', + link: { + type: 'doc', + id: 'sdk/authentication/overview', + }, + collapsed: true, + items: [ + 'sdk/authentication/auth-sig', + { + type: 'category', + label: 'Session Signatures', + link: { + type: 'doc', + id: 'sdk/authentication/session-sigs/intro', + }, + collapsed: true, + items: [ + 'sdk/authentication/session-sigs/resources-and-abilities', + 'sdk/authentication/session-sigs/capability-objects', + 'sdk/capacity-credits', + 'sdk/authentication/session-sigs/get-session-sigs', + 'sdk/authentication/session-sigs/usage', + ], + }, + 'sdk/authentication/security', + ], + }, { type: 'category', label: 'User Wallets', @@ -122,36 +152,6 @@ const sidebars = { keywords: ['user wallets'], }, items:[ - { - type: 'category', - label: 'Authentication', - link: { - type: 'doc', - id: 'sdk/authentication/overview', - }, - collapsed: true, - items: [ - 'sdk/authentication/auth-sig', - { - type: 'category', - label: 'Session Signatures', - link: { - type: 'doc', - id: 'sdk/authentication/session-sigs/intro', - }, - collapsed: true, - items: [ - 'sdk/authentication/session-sigs/resources-and-abilities', - 'sdk/authentication/session-sigs/capability-objects', - 'sdk/capacity-credits', - 'sdk/authentication/session-sigs/get-session-sigs', - 'sdk/authentication/session-sigs/usage', - 'sdk/authentication/session-sigs/walletless-sigs', - ], - }, - 'sdk/authentication/security', - ], - }, { type: 'category', label: 'Auth Methods', @@ -226,7 +226,6 @@ const sidebars = { keywords: ['encryption', 'decryption'], }, items:[ - 'sdk/access-control/encryption', 'sdk/access-control/jwt-auth', { type: 'category', @@ -270,7 +269,7 @@ const sidebars = { }, { type: 'category', - label: 'Private Compute (Lit Actions)', + label: 'Decentralized Compute (Lit Actions)', link: { type: 'doc', id: 'sdk/serverless-signing/overview', @@ -329,9 +328,6 @@ const sidebars = { collapsed: true, items: ['network/networks/testnet', 'network/networks/mainnet'], }, - 'network/feature-matrix', - 'network/rollup', - 'network/migration-guide', ], }, { @@ -388,23 +384,22 @@ const sidebars = { }, ], }, - { - type: 'category', - label: 'Concepts', - collapsed: true, - link: { - type: 'generated-index', - title: 'Quick Concepts', - description: 'Learn about the different quick concepts that can help you with Lit SDK!', - keywords: ['concepts'], - }, - items: [ - 'concepts/access-control-concept', - 'concepts/programmable-signing-concept', - 'concepts/pkps-as-wallet', - 'concepts/capacity-credits-concept', - ], - }, + // { + // type: 'category', + // label: 'Concepts', + // collapsed: true, + // link: { + // type: 'generated-index', + // title: 'Quick Concepts', + // description: 'Learn about the different quick concepts that can help you with Lit SDK!', + // keywords: ['concepts'], + // }, + // items: [ + // 'concepts/access-control-concept', + // 'concepts/programmable-signing-concept', + // 'concepts/pkps-as-wallet', + // ], + // }, 'sdk/tests', ], }, @@ -418,11 +413,12 @@ const sidebars = { }, items: [ 'intro/usecases', + 'network/rollup', 'resources/supported-chains', 'resources/contracts', 'resources/glossary', 'support/faq', - 'support/bug-bounty' + 'support/bug-bounty', ], }, { @@ -455,7 +451,14 @@ const sidebars = { }, ] }, - 'additional-examples', + { + type: 'category', + label: 'Additional Examples', + collapsed: true, + items: [ + 'additional-examples/intro', + ], + }, ], }; diff --git a/versioned_sidebars/version-2.0-sidebars.json b/versioned_sidebars/version-2.0-sidebars.json index 0bb789a7..b5c180be 100644 --- a/versioned_sidebars/version-2.0-sidebars.json +++ b/versioned_sidebars/version-2.0-sidebars.json @@ -209,7 +209,6 @@ "ToolsAndExamples/Integrations/Ceramic/installation" ] }, - "ToolsAndExamples/Integrations/bundlrxarweave", "ToolsAndExamples/Integrations/additionalIntegrations" ] }, From 2b970e670d56ba9e0b12ff2863834625131872c0 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:19:32 -0700 Subject: [PATCH 247/627] auto --- package.json | 2 +- yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package.json b/package.json index a2a2a575..3862b4da 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@docusaurus/core": "2.1.0", "@docusaurus/plugin-google-analytics": "^2.1.0", "@docusaurus/preset-classic": "2.1.0", - "@lit-protocol/constants": "^4.2.1", + "@lit-protocol/constants": "^5.0.0", "@mdx-js/react": "^1.6.21", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", diff --git a/yarn.lock b/yarn.lock index d246f21a..25556b8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2249,37 +2249,37 @@ dependencies: ajv "^8.12.0" -"@lit-protocol/auth-helpers@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-4.2.1.tgz#81cbafaf3c81620d745170ca75fec94365db8aef" - integrity sha512-FuDEz2mv300KG/NCzpw5kQG+Qh4HvthOZDWeZt72GzDd1QEDqTGwoPUxfgBpNiE64knVcT6KUFY8vAShWO7uNw== +"@lit-protocol/auth-helpers@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/auth-helpers/-/auth-helpers-5.0.0.tgz#74c028b7314abfcee0a42f184d6a0373e574cfc0" + integrity sha512-uiTUwhxyzUe7h57i4KhJjL96XP0PcxSufpBq2Z2XjEzWD3ns6ruyy7fWpB7wseR0ePzW3kegEz8fuzhl/HtTfQ== dependencies: siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" -"@lit-protocol/constants@^4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-4.2.1.tgz#1a3cf010f2f189f466c2d29d05e5d1dc0b4f179c" - integrity sha512-vdRoXKgIbYjYcmdbdYcktoYRMUnRexYe3dtFbE/5UaLfn+sakzbjSQXnolp5P+sZGfeE6+Pnvw3yDGIT3CbyfQ== +"@lit-protocol/constants@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/constants/-/constants-5.0.0.tgz#6fa307548494facffded7f323d68a5c333019389" + integrity sha512-6zVezFFD/1DhcJn+0xsvEnV4Grpy6GFM3klD3TZInvue10WYJsrSqSfagNraaemfMwf1DDOpdC8jG2J/4Rl78g== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.7" - "@lit-protocol/auth-helpers" "4.2.1" - "@lit-protocol/types" "4.2.1" + "@lit-protocol/auth-helpers" "5.0.0" + "@lit-protocol/types" "5.0.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" siwe-recap "0.0.2-alpha.0" tslib "^2.3.0" -"@lit-protocol/types@4.2.1": - version "4.2.1" - resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-4.2.1.tgz#a71a47e94a4b1a26f29264ede6ddecc71c8e1ca1" - integrity sha512-bpIPr94Cpv7vq7L0jeljc9gtUOgyt1cfRfwoN95dawvPf6jwUDT1pb2SSfN5vsOEcfNfQNstROhPbLTzwXPtSg== +"@lit-protocol/types@5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@lit-protocol/types/-/types-5.0.0.tgz#51bf4d1b59538945b51354597a505e8ccbcdf5fc" + integrity sha512-6r4LCxEe0QiZxFWYQHkTRwedypcEm98kcvBdiGmaoPj8pnbHtjuGOAveG9HumAUvs85rd8psmVh9cl3yLFQYkw== dependencies: "@ethersproject/abstract-provider" "5.7.0" "@lit-protocol/accs-schemas" "0.0.7" - "@lit-protocol/auth-helpers" "4.2.1" + "@lit-protocol/auth-helpers" "5.0.0" ethers "^5.7.1" jszip "^3.10.1" siwe "^2.0.5" From 44b57d8f2f38ca28e00b454c73458b593a2d1616 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:03:14 -0700 Subject: [PATCH 248/627] Update docs/sdk/wallets/intro.md Co-authored-by: Bean --- docs/sdk/wallets/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index b48daf6b..9e40572c 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -12,7 +12,7 @@ Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: http You can use Lit to build seamless, non-custodial wallets and onboarding experiences using Programmable Key Pairs (PKPs). Each PKP is an ECDSA public / private key pair created by the Lit network using a Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. a signed transaction). You can read more about how Lit works [here](../../resources/how-it-works.md). -When used to build a wallet, PKPs can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google oAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since PKPs are decentralized, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. +When used to build a wallet, PKPs can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google OAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since PKPs are decentralized, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. ## Features and Examples From 67f1a31b183aa478f1213a06ca2a11185d2ad093 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:03:36 -0700 Subject: [PATCH 249/627] Update docs/sdk/wallets/intro.md Co-authored-by: Wyatt Barnes --- docs/sdk/wallets/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 9e40572c..dd8a7a7e 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -10,7 +10,7 @@ Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: http ## Introduction -You can use Lit to build seamless, non-custodial wallets and onboarding experiences using Programmable Key Pairs (PKPs). Each PKP is an ECDSA public / private key pair created by the Lit network using a Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. a signed transaction). You can read more about how Lit works [here](../../resources/how-it-works.md). +You can use Lit to build seamless, non-custodial wallets and onboarding experiences using Programmable Key Pairs (PKPs). Each PKP is an ECDSA public / private key pair created by the Lit network using Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. a signed transaction). You can read more about how Lit works [here](../../resources/how-it-works.md). When used to build a wallet, PKPs can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google OAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since PKPs are decentralized, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. From 324c75d10666616d847b846273a2f9f7bb894981 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:20:37 -0700 Subject: [PATCH 250/627] Update docs/sdk/serverless-signing/overview.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 9ec3e708..70e82b26 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -19,7 +19,7 @@ A simple example would be a Lit Action that checks if a number is prime. To star ### Features -- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to between blockchains with Programmable Key Pairs +- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to or even between blockchains with Programmable Key Pairs - **Immutable**: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on a blockchain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. - **Off-Chain Compatibility**: You can make arbitrary HTTP requests from a Lit Action, meaning you can pull in data from off-chain sources natively, without needing to use of a third party oracle. From 92ff93a547b9b816e32ee78e4f897eecd3b419cd Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:45:13 -0700 Subject: [PATCH 251/627] Update docs/sdk/access-control/intro.md Co-authored-by: Wyatt Barnes --- docs/sdk/access-control/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index 31e6874c..7f77e84d 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -14,7 +14,7 @@ You can use Lit for encryption to store data privately on the open web. The Lit Each Lit node holds a share of a shared BLS key. The signature from this BLS key serves as the decryption key for a particular set of [Access Control Conditions](../access-control/evm/basic-examples.md) and private data. The user will only be able to decrypt the data if they can prove that they satisfy the corresponding conditions. -Lit's encryption scheme is highly efficient, as encryption is a entirely a client-side operation. Only one round of network interactivity (between the Lit nodes) is required for decryption in order to request the signature shares and assemble a decryption key. +Lit's encryption scheme is highly efficient, as encryption is entirely a client-side operation. Only one round of network interactivity (between the Lit nodes) is required for decryption in order to request the signature shares and assemble a decryption key. The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the Access Control Conditions and the hash of the private data itself. From 47c7acb221b73c54429568722c6dde8e15e4a21c Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:45:21 -0700 Subject: [PATCH 252/627] Update docs/resources/how-it-works.md Co-authored-by: Wyatt Barnes --- docs/resources/how-it-works.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 08079bbe..dd11b8e5 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -80,7 +80,7 @@ The current node operators active on the Habanero Mainnet Beta include: ### The Lit Protocol Token (LPX) -The Lit Protocol token, LPX, will be used by node operator to meet their staking requirement, as well as a reward token to pay node operators for their service. Developers using Lit will also use the token to pay for transacting on the network. +The Lit Protocol token, LPX, will be used by node operators to meet their staking requirement, as well as a reward token to pay node operators for their service. Developers using Lit will also use the token to pay for transacting on the network. :::info The LPX token is NOT live, and currently a test token (testLPX) is being used for staking and payment. The official LPX token will be released when the v1 network launches later this year. You can subscribe to updates [here](https://spark.litprotocol.com/). From 486bcc763cea444139c9e3e18ebbf97f1e3e95a0 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:52:14 -0700 Subject: [PATCH 253/627] Update sidebars.js --- sidebars.js | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/sidebars.js b/sidebars.js index af81db94..bc6c21de 100644 --- a/sidebars.js +++ b/sidebars.js @@ -384,22 +384,6 @@ const sidebars = { }, ], }, - // { - // type: 'category', - // label: 'Concepts', - // collapsed: true, - // link: { - // type: 'generated-index', - // title: 'Quick Concepts', - // description: 'Learn about the different quick concepts that can help you with Lit SDK!', - // keywords: ['concepts'], - // }, - // items: [ - // 'concepts/access-control-concept', - // 'concepts/programmable-signing-concept', - // 'concepts/pkps-as-wallet', - // ], - // }, 'sdk/tests', ], }, From 64157519e2829d4bbeedc3f8a51c7a53d3871356 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 27 Apr 2024 01:54:20 +0530 Subject: [PATCH 254/627] fix(quick-start): add spacing --- docs/sdk/access-control/quick-start.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/quick-start.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 044a08b7..ccab69f9 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -38,7 +38,7 @@ If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-node Use the **Lit JS SDK V4**: ```jsx -import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` :::note diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index bf5beaaa..edaee271 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -35,7 +35,7 @@ yarn add @lit-protocol/lit-node-client Use the **Lit JS SDK V4**: ```jsx -import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` :::note diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index fe718315..35c25c4c 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -34,7 +34,7 @@ yarn add @lit-protocol/lit-node-client Use the **Lit JS SDK V4**: ```jsx -import * as LitJsSdkfrom "@lit-protocol/lit-node-client"; +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` :::note From 2b17788c337363a17abd5b6055767c052085ca03 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sat, 27 Apr 2024 07:11:11 +0530 Subject: [PATCH 255/627] add(support): add docs feedback links at bottom of all pages --- docs/additional-examples/intro.md | 5 ++++- docs/api-reference/v1-sdk.md | 5 ++++- docs/api-reference/v2-sdk.md | 4 ++++ docs/api-reference/v3-sdk.md | 4 ++++ docs/api-reference/v4-sdk.md | 4 ++++ docs/concepts/access-control-concept.md | 4 ++++ docs/concepts/capacity-credits-concept.md | 4 ++++ docs/concepts/pkps-as-wallet.md | 4 ++++ docs/concepts/programmable-signing-concept.md | 4 ++++ docs/integrations/aa/alchemy-account-kit.md | 4 ++++ docs/integrations/aa/openfort.md | 5 ++++- docs/integrations/aa/overview.md | 4 ++++ docs/integrations/aa/pimlico.md | 4 ++++ docs/integrations/storage/ceramic-example.md | 4 ++++ docs/integrations/storage/irys.md | 4 ++++ docs/intro/overview.mdx | 4 +++- docs/intro/usecases.md | 4 ++++ docs/intro/what-is-lit-protocol.md | 5 ++++- docs/network/feature-matrix.md | 5 ++++- docs/network/migration-guide.md | 5 ++++- docs/network/networks/mainnet.md | 6 +++++- docs/network/networks/testnet.md | 5 ++++- docs/network/rollup.mdx | 4 ++++ docs/network/state-of-network.md | 4 ++++ docs/resources/contracts.md | 4 ++++ docs/resources/glossary.md | 4 ++++ docs/resources/how-it-works.md | 4 +++- .../access-control/condition-types/boolean-logic.md | 4 ++++ .../unified-access-control-conditions.md | 4 ++++ docs/sdk/access-control/encryption.md | 4 ++++ docs/sdk/access-control/evm/basic-examples.md | 4 ++++ docs/sdk/access-control/evm/custom-contract-calls.md | 4 ++++ docs/sdk/access-control/evm/poap.md | 4 ++++ docs/sdk/access-control/evm/siwe.md | 4 ++++ docs/sdk/access-control/evm/timelock.md | 4 ++++ docs/sdk/access-control/intro.md | 6 +++++- docs/sdk/access-control/jwt-auth.md | 4 ++++ docs/sdk/access-control/lit-action-conditions.md | 4 ++++ .../access-control/other-chains/cosmos-conditions.md | 4 ++++ .../access-control/other-chains/sol-rpc-conditions.md | 4 ++++ docs/sdk/access-control/quick-start.md | 4 +++- docs/sdk/authentication/auth-sig.md | 4 ++++ docs/sdk/authentication/overview.md | 4 ++++ docs/sdk/authentication/security.md | 5 ++++- .../authentication/session-sigs/capability-objects.md | 5 ++++- .../authentication/session-sigs/get-session-sigs.md | 4 ++++ docs/sdk/authentication/session-sigs/intro.md | 4 ++++ .../session-sigs/resources-and-abilities.md | 6 +++++- docs/sdk/authentication/session-sigs/usage.md | 5 ++++- docs/sdk/authentication/session-sigs/use-cases.md | 5 ++++- .../authentication/session-sigs/walletless-sigs.md | 5 ++++- docs/sdk/capacity-credits.md | 4 ++++ docs/sdk/installation.md | 4 ++++ docs/sdk/migrations/3.0.0/changes.md | 4 ++++ docs/sdk/migrations/3.0.0/overview.md | 5 ++++- docs/sdk/migrations/3.2.0.md | 5 ++++- docs/sdk/migrations/4.0.0.md | 5 ++++- docs/sdk/serverless-signing/conditional-signing.md | 4 ++++ docs/sdk/serverless-signing/dependencies.md | 5 ++++- docs/sdk/serverless-signing/eip191.md | 4 ++++ docs/sdk/serverless-signing/fetch.md | 4 ++++ docs/sdk/serverless-signing/key-claiming.md | 4 ++++ docs/sdk/serverless-signing/overview.md | 4 ++++ docs/sdk/serverless-signing/processing-validation.md | 5 ++++- docs/sdk/serverless-signing/quick-start.md | 4 +++- docs/sdk/tests.md | 4 ++++ docs/sdk/wallets/auth-methods.md | 4 ++++ docs/sdk/wallets/auth-methods/custom-auth.md | 5 ++++- .../lit-auth-methods/add-remove-auth-methods.md | 4 ++++ .../auth-methods/lit-auth-methods/email-sms.md | 4 ++++ .../auth-methods/lit-auth-methods/social-login.md | 4 ++++ .../auth-methods/lit-auth-methods/web-authn.md | 4 ++++ docs/sdk/wallets/claimable-keys/intro.md | 4 ++++ docs/sdk/wallets/claimable-keys/usage.md | 4 ++++ docs/sdk/wallets/intro.md | 6 +++++- .../sdk/wallets/minting-methods/mint-via-contracts.md | 5 ++++- .../minting-methods/mint-via-multiple-auth-methods.md | 5 ++++- docs/sdk/wallets/minting-methods/mint-via-social.md | 5 ++++- .../sdk/wallets/minting-methods/mint-via-web-authn.md | 4 ++++ docs/sdk/wallets/minting.md | 6 +++++- docs/sdk/wallets/quick-start.md | 4 +++- docs/sdk/wallets/walletconnect.md | 4 ++++ docs/support/bug-bounty.md | 4 ++++ docs/support/faq.md | 4 ++++ docs/support/intro.md | 2 ++ docs/tools/access-control.md | 4 ++++ docs/tools/event-listener.md | 4 ++++ docs/tools/getlit-cli.md | 5 ++++- docs/tools/pkpexplorer.md | 5 ++++- docs/tools/searchlit.md | 5 ++++- src/components/FeedbackComponent.jsx | 11 +++++++++++ 91 files changed, 369 insertions(+), 34 deletions(-) create mode 100644 src/components/FeedbackComponent.jsx diff --git a/docs/additional-examples/intro.md b/docs/additional-examples/intro.md index 4334354d..6d776274 100644 --- a/docs/additional-examples/intro.md +++ b/docs/additional-examples/intro.md @@ -1,3 +1,6 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Overview -Coming Soon... \ No newline at end of file +Coming Soon... + diff --git a/docs/api-reference/v1-sdk.md b/docs/api-reference/v1-sdk.md index 6ed851d7..5933cca6 100644 --- a/docs/api-reference/v1-sdk.md +++ b/docs/api-reference/v1-sdk.md @@ -1 +1,4 @@ -# SDK v1.x.x \ No newline at end of file +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + +# SDK v1.x.x + diff --git a/docs/api-reference/v2-sdk.md b/docs/api-reference/v2-sdk.md index a74356b7..b424c7b1 100644 --- a/docs/api-reference/v2-sdk.md +++ b/docs/api-reference/v2-sdk.md @@ -1 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # SDK v2.x.x + + diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md index 292ec0ea..2871d5a8 100644 --- a/docs/api-reference/v3-sdk.md +++ b/docs/api-reference/v3-sdk.md @@ -1,3 +1,7 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # SDK v3.x.x The most recent API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). + + diff --git a/docs/api-reference/v4-sdk.md b/docs/api-reference/v4-sdk.md index 968ee825..5fa2a5af 100644 --- a/docs/api-reference/v4-sdk.md +++ b/docs/api-reference/v4-sdk.md @@ -1,3 +1,7 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # SDK v4.x.x The most recent API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). + + diff --git a/docs/concepts/access-control-concept.md b/docs/concepts/access-control-concept.md index 09930160..9d654030 100644 --- a/docs/concepts/access-control-concept.md +++ b/docs/concepts/access-control-concept.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Encryption and Access Control :::info @@ -48,3 +50,5 @@ Some links to further reading and resources to help you get started building on - [Access Control with Lit](../sdk/access-control/encryption) - The [Lit Learning Lab](/learningLab/intro-to-lit/acc) - Projects building [privacy and encryption tooling](https://github.com/LIT-Protocol/awesome/tree/main#privacy-and-encryption) + + diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 4a019b37..e13687bd 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -2,6 +2,8 @@ sidebar_position: 4 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Paying For Usage :::info @@ -121,3 +123,5 @@ You can read more about Session Signatures [here](../sdk/authentication/session- - **Capacity Management**: Keep an eye on your usage limit and expiration date. - **Understanding Limits**: Be aware that there are no free requests on `Habanero` mainnet. On `Manzano` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. - **Delegation**: You can create restrictions on your delegations to ensure that your users don't take your `capacityDelegationAuthSig` and use it for other apps. + + diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 92ba182d..4ea08b0d 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -2,6 +2,8 @@ sidebar_position: 3 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # User Wallets (Programmable Key Pairs) :::info @@ -37,3 +39,5 @@ Some links to further reading and resources to help you get started building wit - Working with [User Wallets](../sdk/wallets/intro) - [Creating a wallet](../sdk/wallets/minting) - Overview of supported [authentication methods](../sdk/wallets/auth-methods) + + diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index 39173263..adbccc38 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Decentralized Compute with Lit Actions :::info @@ -44,3 +46,5 @@ Some links to help you get started building with serverless signing: - Getting started with the [Lit SDK](../sdk/installation) - The [Lit Learning Lab](/learningLab/intro-to-lit/prog-signing) - [Projects building with Lit](https://github.com/LIT-Protocol/awesome/tree/main#projects-and-integrations) + + diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index ca61b2bf..6f69dc51 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -8,6 +8,8 @@ Learn how Lit [Programmable Key Pairs](../../sdk/wallets/intro.md) can be a sign --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + ## Objectives At completion of this reading you should be able to: @@ -211,3 +213,5 @@ litSigner.authenticate({ ## Next Steps Explore [Lit Alchemy AA signer documentation](https://accountkit.alchemy.com/packages/aa-signers/lit-protocol/introduction.html). + + diff --git a/docs/integrations/aa/openfort.md b/docs/integrations/aa/openfort.md index 132266af..3843b1b7 100644 --- a/docs/integrations/aa/openfort.md +++ b/docs/integrations/aa/openfort.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Openfort @@ -68,4 +70,5 @@ If you have questions, comments, or need help with code, contact the Openfort te - [Discord](https://discord.com/invite/t7x7hwkJF4) - On X [@openfortxyz](https://twitter.com/openfortxyz) -You can find Lit on [X](https://twitter.com/LitProtocol), [Discord](https://discord.gg/hhqksjTJn3), and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) \ No newline at end of file +You can find Lit on [X](https://twitter.com/LitProtocol), [Discord](https://discord.gg/hhqksjTJn3), and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) + diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md index e9670922..b6ae83b1 100644 --- a/docs/integrations/aa/overview.md +++ b/docs/integrations/aa/overview.md @@ -4,6 +4,8 @@ Learn how to use Lit Protocol with account abstraction providers to streamline h --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + ## Objectives At completion of this reading you should be able to: @@ -53,3 +55,5 @@ AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account te | [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](../aa/pimlico.md) | | - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://nut.sh/ell/forms/352580/YEk9vu) | + + diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md index a15506e6..98e847cc 100644 --- a/docs/integrations/aa/pimlico.md +++ b/docs/integrations/aa/pimlico.md @@ -9,6 +9,8 @@ Learn how to use Lit Protocol's one time password (OTP) sign-in (email, SMS, and --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + ## Objectives At completion of this reading you should be able to: @@ -273,3 +275,5 @@ const initCode = ethers.utils.hexConcat([ Continue exploring Lit by reading more about [programmable signing](../../concepts/programmable-signing-concept.md). Check out [more examples](https://docs.pimlico.io/tutorial) from Pimlico. + + diff --git a/docs/integrations/storage/ceramic-example.md b/docs/integrations/storage/ceramic-example.md index 52acd5b6..503a018e 100644 --- a/docs/integrations/storage/ceramic-example.md +++ b/docs/integrations/storage/ceramic-example.md @@ -2,6 +2,8 @@ sidebar_position: 3 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # ComposeDB (Ceramic) ## Save Data Encrypted with Lit Protocol to the Ceramic Network on ComposeDB @@ -230,3 +232,5 @@ Developers are encouraged to join the Ceramic community, engage with members of - Follow the Ceramic Network on [Twitter](https://twitter.com/ceramicnetwork) for updates - Browse technical tutorials and feature release announcements on the Ceramic [blog](https://blog.ceramic.network/) - Check out the [YouTube Channel](https://www.youtube.com/channel/UCgCLq5dx7sX-yUrrEbtYqVw) for presentations and videos + + diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index 227513ed..b59f987d 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -6,6 +6,8 @@ Learn how to encrypt data before storing on-chain on [Irys](https://irys.xyz/). --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + ## Objectives At completion of this reading you should be able to: @@ -369,3 +371,5 @@ main(); If you have questions while building, make sure to reach out to the Lit development team on [Discord](https://litgateway.com/discord). Questions about Irys? Go to the [Irys Discord](https://discord.irys.xyz) to get in touch. + + diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 46008fc2..c032cf9f 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -3,6 +3,7 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; import EcosystemSection from "@site/src/components/CardSectionsV3/Ecosystem"; import QuickStartSection from "@site/src/components/CardSectionsV3/QuickStart"; import CoreConceptsSection from "@site/src/components/CardSectionsV3/CoreConcepts"; @@ -19,4 +20,5 @@ Lit is an internet native security and identity network. With Lit, you can crea - \ No newline at end of file + + diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 15b1d340..94f1b924 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -3,6 +3,8 @@ slug: /usecases sidebar_position: 4 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Use Cases :::info @@ -51,3 +53,5 @@ Generating signed proofs over arbitrary Web data: Using digital signatures to ve You can find even more examples, ideas, and resources [here](https://github.com/LIT-Protocol/awesome/blob/main/README.md). Have an idea for a project? [Get in touch](https://forms.gle/jNsLvvwcySDprtAx7)! + + diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 4defbf2f..9586bf82 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -3,6 +3,8 @@ slug: /what-is-lit sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # What is Lit Protocol :::info @@ -61,4 +63,5 @@ Check out the Lit [blog](https://spark.litprotocol.com/) to read about new produ Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. -Follow Lit on [X](https://twitter.com/LitProtocol). \ No newline at end of file +Follow Lit on [X](https://twitter.com/LitProtocol). + diff --git a/docs/network/feature-matrix.md b/docs/network/feature-matrix.md index 4c2737ed..ba84a9f2 100644 --- a/docs/network/feature-matrix.md +++ b/docs/network/feature-matrix.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Feature Matrix :::info @@ -27,4 +29,5 @@ V4 refers to `4.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk | Wallet Signatures | ✅ | ✅ | ✅ | | Session Signatures | ✅ | ✅ | ✅ | -_ACC stands for Access Control Condition._ \ No newline at end of file +_ACC stands for Access Control Condition._ + diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 4633e409..a68f0f37 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Migrating to Lit v0 @@ -274,4 +276,5 @@ A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For mi You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). -For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) \ No newline at end of file +For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) + diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 06139261..4e33f204 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Mainnet ## Overview @@ -31,4 +33,6 @@ Upgrading to the v3 SDK can be done by following the [migration guide](../../sdk If your app currently has users in production (on the v1 or v2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to v3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: - If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. -- If you’re building with PKPs (AKA user wallets): Re-mint PKPs on Habanero with the same auth methods. \ No newline at end of file +- If you’re building with PKPs (AKA user wallets): Re-mint PKPs on Habanero with the same auth methods. + + diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index b2892c02..c79d0ae5 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Testnet @@ -23,4 +25,5 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../
  • ## Token Usage -If you'd like to use Manzano, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Manzano uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). \ No newline at end of file +If you'd like to use Manzano, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Manzano uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). + diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index 73ab94a1..eb787d39 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import AddRollupButton from "@site/src/components/AddRollupButton"; # Chronicle: The Lit Rollup @@ -54,3 +56,5 @@ We are also working on a decentralized sequencer for the rollup, such that all C ## Next Steps Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../sdk/serverless-signing/conditional-signing). + + diff --git a/docs/network/state-of-network.md b/docs/network/state-of-network.md index f3f21a9f..5ee5062b 100644 --- a/docs/network/state-of-network.md +++ b/docs/network/state-of-network.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Lit Networks You can set your Lit Network in the LitNodeClient config of the Lit SDK, by passing the network name to the `litNetwork` parameter. @@ -9,3 +11,5 @@ You can set your Lit Network in the LitNodeClient config of the Lit SDK, by pass | Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | September 2023 | Centralized test network. Not persistent, keys will be deleted. | Beta: https://cayenne-status.litprotocol.com/ | | Manzano | ECDSA | Signing | November 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | | Habanero | ECDSA | Encryption, Signing, Lit Actions | December 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | + + diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 8e9ae244..b7f8f3e2 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -6,3 +8,5 @@ import TabItem from '@theme/TabItem'; Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). The contracts live on the [Chronicle Testnet](../network/rollup). + + diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index b9f70c46..497bf273 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Glossary ## Definitions of commonly used terms and core concepts. @@ -120,3 +122,5 @@ Webhooks are one way that apps can send automated messages or information to oth A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. A trivial example would be proving that you are over the age of 18, without actually disclosing your birthday or any PII. + + diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index dd11b8e5..ce525889 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # How Does Lit Protocol Work ## Introduction @@ -97,4 +99,4 @@ Learn more about how Lit Protocol works by checking out the resources below: - About [encryption and access control](../concepts/access-control-concept.md). - About [decentralized compute](../concepts/programmable-signing-concept.md). -Did you find this guide helpful? If not, please [reach out](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). + \ No newline at end of file diff --git a/docs/sdk/access-control/condition-types/boolean-logic.md b/docs/sdk/access-control/condition-types/boolean-logic.md index c15e337a..39c36009 100644 --- a/docs/sdk/access-control/condition-types/boolean-logic.md +++ b/docs/sdk/access-control/condition-types/boolean-logic.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Boolean Logic Lit Protocol supports boolean logic when checking conditions. Use an object with the "operator" property set to "and" or "or" to combine conditions. @@ -92,3 +94,5 @@ const accessControlConditions = [ ] ] ``` + + diff --git a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md index 45837786..3f09f5ae 100644 --- a/docs/sdk/access-control/condition-types/unified-access-control-conditions.md +++ b/docs/sdk/access-control/condition-types/unified-access-control-conditions.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Unified Access Control Conditions You can mix and match EVM Basic Conditions, EVM Custom Contract Conditions, Solana RPC Conditions, and Cosmos Conditions in the same array. Use the `unifiedAccessControlConditions` parameter to specify the conditions on any of the LitNodeClient methods. @@ -149,3 +151,5 @@ Below is a list of supported comparators that can be specified in the `returnVal - `!=` (Not Equal To) - `contains` (Contains the specified value) - `!contains` (Does not contain the specified value) + + diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 153b7cdd..8bb93e87 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Encryption The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. @@ -217,3 +219,5 @@ async decrypt(ciphertext: string, dataToEncryptHash: string, accessControlCondit ``` Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. + + diff --git a/docs/sdk/access-control/evm/basic-examples.md b/docs/sdk/access-control/evm/basic-examples.md index 28938196..b9a93c7e 100644 --- a/docs/sdk/access-control/evm/basic-examples.md +++ b/docs/sdk/access-control/evm/basic-examples.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Basic Examples This page defines some basic access control conditions (referred to as `accessControlConditions` in the code) based on standard contract types like ERC20, ERC721, and ERC1155 for EVM (Ethereum) chains. Also included are some conditions like wallet address ownership, proof of humanity, and POAP possession. You may set your conditions, and define the `returnValueTest` under which access should be granted. @@ -275,3 +277,5 @@ const accessControlConditions = [ } ] ``` + + diff --git a/docs/sdk/access-control/evm/custom-contract-calls.md b/docs/sdk/access-control/evm/custom-contract-calls.md index f4b3712a..9d8662af 100644 --- a/docs/sdk/access-control/evm/custom-contract-calls.md +++ b/docs/sdk/access-control/evm/custom-contract-calls.md @@ -2,6 +2,8 @@ sidebar_position: 3 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Custom Contract Calls This page defines how to create access control conditions (referred to as `evmContractConditions` in the code) based on any smart contract call on an EVM (Ethereum) compatible network. You may pass any function ABI, and define the `returnValueTest` under which access should be granted. @@ -190,3 +192,5 @@ var evmContractConditions = [ }, ]; ``` + + diff --git a/docs/sdk/access-control/evm/poap.md b/docs/sdk/access-control/evm/poap.md index 9cab8f06..151fb90a 100644 --- a/docs/sdk/access-control/evm/poap.md +++ b/docs/sdk/access-control/evm/poap.md @@ -2,6 +2,8 @@ sidebar_position: 3 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # POAP Examples ## Must posess a POAP with a specific name @@ -79,3 +81,5 @@ var accessControlConditions = [ }, ]; ``` + + diff --git a/docs/sdk/access-control/evm/siwe.md b/docs/sdk/access-control/evm/siwe.md index c3f993ac..2fb2ae7d 100644 --- a/docs/sdk/access-control/evm/siwe.md +++ b/docs/sdk/access-control/evm/siwe.md @@ -2,6 +2,8 @@ sidebar_position: 5 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Sign In With Ethereum Parameters A EIP-4631 compliant Sign in with Ethereum message is signed by the user's wallet and presented with every request to the Lit Nodes. This signed message is used to authenticate the user's wallet, but you can also create access control conditions based on the content of this message. Specifically, you can create access control conditions based on the Domain and Resources parameters of the Sign in with Ethereum message. You can learn more about Sign in with Ethereum here: [https://docs.login.xyz/](https://docs.login.xyz/). @@ -49,3 +51,5 @@ const accessControlConditions = [ ## Using SIWE params in Custom Contract Calls See the [Custom Contract Calls](../evm/custom-contract-calls.md) page for more information on how to use SIWE params in custom contract calls. + + diff --git a/docs/sdk/access-control/evm/timelock.md b/docs/sdk/access-control/evm/timelock.md index 973ef2ee..ad7b08bd 100644 --- a/docs/sdk/access-control/evm/timelock.md +++ b/docs/sdk/access-control/evm/timelock.md @@ -2,6 +2,8 @@ sidebar_position: 4 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Timelock Example ## Timelock (Time-based Access Control) @@ -23,3 +25,5 @@ var accessControlConditions = [ }, ]; ``` + + diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index 7f77e84d..e534f58d 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Encryption and Access Control :::info @@ -57,4 +59,6 @@ You can get started with encryption following this [quick start](../access-contr 1. [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) 2. [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) 3. [Basic EVM Conditions](../access-control/evm/basic-examples) -4. [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) \ No newline at end of file +4. [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) + + diff --git a/docs/sdk/access-control/jwt-auth.md b/docs/sdk/access-control/jwt-auth.md index fe165bbe..65fbd092 100644 --- a/docs/sdk/access-control/jwt-auth.md +++ b/docs/sdk/access-control/jwt-auth.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # JWT Auth Access control conditions can be used to "gate" the signing of JWTs that are used to load dynamic content from a server. @@ -106,3 +108,5 @@ const jwt = await litNodeClient.getSignedToken({ ``` You can then present this JWT to a server, which can verify it using the [`verifyJwt` function](https://js-sdk.litprotocol.com/functions/encryption_src.verifyJwt.html). + + diff --git a/docs/sdk/access-control/lit-action-conditions.md b/docs/sdk/access-control/lit-action-conditions.md index 5441ed30..e84e9c9a 100644 --- a/docs/sdk/access-control/lit-action-conditions.md +++ b/docs/sdk/access-control/lit-action-conditions.md @@ -2,6 +2,8 @@ sidebar_position: 4 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Lit Action Conditions You can create a Lit Action Condition to grant access whenever a given Lit Action meets the conditions you set. Lit Actions are JS code that can be executed on the Lit Protocol network. You can use Lit Actions to create custom access control conditions. @@ -57,3 +59,5 @@ Your JS function can return any string (not just true or false), and you can com * != * contains * !contains + + diff --git a/docs/sdk/access-control/other-chains/cosmos-conditions.md b/docs/sdk/access-control/other-chains/cosmos-conditions.md index 0312b3ea..0b529d8b 100644 --- a/docs/sdk/access-control/other-chains/cosmos-conditions.md +++ b/docs/sdk/access-control/other-chains/cosmos-conditions.md @@ -2,6 +2,8 @@ sidebar_position: 5 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Cosmos Examples :::danger @@ -97,3 +99,5 @@ var unifiedAccessControlConditions = [ }, ]; ``` + + diff --git a/docs/sdk/access-control/other-chains/sol-rpc-conditions.md b/docs/sdk/access-control/other-chains/sol-rpc-conditions.md index ad1c3763..6b5feb5f 100644 --- a/docs/sdk/access-control/other-chains/sol-rpc-conditions.md +++ b/docs/sdk/access-control/other-chains/sol-rpc-conditions.md @@ -2,6 +2,8 @@ sidebar_position: 4 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Solana Examples :::danger @@ -149,3 +151,5 @@ The condition below will derive a PDA using pdaParams, pdaInterface, and pdaKey. }, ]; ``` + + diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 89240212..f9b67ab6 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Quick Start ## Start Here @@ -491,4 +493,4 @@ By now you should have successfully created an Access Control Condition and perf 3. [Off-Chain Conditions](../access-control/lit-action-conditions.md). 4. [Custom Contract Calls](../access-control/evm/custom-contract-calls.md). -Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). + diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index 2bdddc7c..09bc547a 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Wallet Signatures An `AuthSig` is a wallet signature obtained from a user. Wallet signatures are required to communicate with the Lit Nodes and authorize requests. @@ -163,3 +165,5 @@ async function main() { main(); ``` + + diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md index 797b46ee..9282ceeb 100644 --- a/docs/sdk/authentication/overview.md +++ b/docs/sdk/authentication/overview.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Overview :::info @@ -31,3 +33,5 @@ This is the recommended way to interact with PKP entities as it will automatical `SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. ::: + + diff --git a/docs/sdk/authentication/security.md b/docs/sdk/authentication/security.md index f6088bc1..3d9ab843 100644 --- a/docs/sdk/authentication/security.md +++ b/docs/sdk/authentication/security.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Security Considerations ## Session Keys @@ -32,4 +34,5 @@ Another possible replay attack comes from an `AuthSig` being provided solely, an ### AuthSig and SessionSig Coupling -Since a full `SessionSig` object couples an (inner) `AuthSig` with an (outer) `SessionSig`, this means that it is impossible for a node to attach a session signature that would be valid against an `AuthSig` that they have obtained elsewhere, i.e. in an attempt to perform a replay attack. This is because the public key in the session signature must match that which is signed against in the (inner) `AuthSig` object. \ No newline at end of file +Since a full `SessionSig` object couples an (inner) `AuthSig` with an (outer) `SessionSig`, this means that it is impossible for a node to attach a session signature that would be valid against an `AuthSig` that they have obtained elsewhere, i.e. in an attempt to perform a replay attack. This is because the public key in the session signature must match that which is signed against in the (inner) `AuthSig` object. + diff --git a/docs/sdk/authentication/session-sigs/capability-objects.md b/docs/sdk/authentication/session-sigs/capability-objects.md index 0eff2027..d14d3acb 100644 --- a/docs/sdk/authentication/session-sigs/capability-objects.md +++ b/docs/sdk/authentication/session-sigs/capability-objects.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Capability Objects Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. @@ -55,4 +57,5 @@ sessionCapabilityObject.addCapabilityForResource( litResource, LitAbility.AccessControlConditionDecryption ); -``` \ No newline at end of file +``` + diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 71419386..f9fae3f7 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Generating SessionSigs You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. @@ -107,3 +109,5 @@ When session capability objects are omitted from the `getSessionSigs()` function ## Clearing Local Storage If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). + + diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 418eafe1..5464b05e 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Session Signatures :::note @@ -120,3 +122,5 @@ URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6 #### Node Address The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. + + diff --git a/docs/sdk/authentication/session-sigs/resources-and-abilities.md b/docs/sdk/authentication/session-sigs/resources-and-abilities.md index 178b11c5..ed3d6c5c 100644 --- a/docs/sdk/authentication/session-sigs/resources-and-abilities.md +++ b/docs/sdk/authentication/session-sigs/resources-and-abilities.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Lit Resources and Abilities Lit Resources and Abilities are used to specifying what action is to be done against which resource. These are primitives that are used to seucrely authenticate users through appropriate scoping of users' abilities across various resources. @@ -32,4 +34,6 @@ A Lit Ability is an action to be performed. It can only be one of the following: - Threshold signing from an access control condition - Threshold signing with a PKP NFT - Authenticating with an increased rate limit threshold with a Capacity Credit NFT -- Threshold signing of a piece of Lit Action code \ No newline at end of file +- Threshold signing of a piece of Lit Action code + + diff --git a/docs/sdk/authentication/session-sigs/usage.md b/docs/sdk/authentication/session-sigs/usage.md index c7b044b1..fd7b9ba6 100644 --- a/docs/sdk/authentication/session-sigs/usage.md +++ b/docs/sdk/authentication/session-sigs/usage.md @@ -2,6 +2,8 @@ sidebar_position: 3 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Authenticate with SessionSigs Once you have obtained `SessionSigs`, you can replace where you provide an `AuthSig` with the `SessionSigs` object. Below are some examples using the Lit SDK. @@ -82,4 +84,5 @@ const decryptedString = await decryptedFiles["string.txt"].async( "text" ); console.log("decrypted string", decryptedString); -``` \ No newline at end of file +``` + diff --git a/docs/sdk/authentication/session-sigs/use-cases.md b/docs/sdk/authentication/session-sigs/use-cases.md index 3a64a149..954efecc 100644 --- a/docs/sdk/authentication/session-sigs/use-cases.md +++ b/docs/sdk/authentication/session-sigs/use-cases.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Use Cases Below are some use cases of how to use session signatures and capability objects. @@ -20,4 +22,5 @@ Alice owns a PKP and Bob wants use it with a specific Lit Action that he has not Alice can create a session capability object that specifies the ability to perform Threshold Execution with a PKP NFT. Alice then signs and issues this capability to Bob. -Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session capability object. Bob can subsequently generate a `SessionSig` that requests for Alice's PKP NFT as well as Bob's Lit Action IPFS CID in the `resourceAbilityRequests`. \ No newline at end of file +Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session capability object. Bob can subsequently generate a `SessionSig` that requests for Alice's PKP NFT as well as Bob's Lit Action IPFS CID in the `resourceAbilityRequests`. + diff --git a/docs/sdk/authentication/session-sigs/walletless-sigs.md b/docs/sdk/authentication/session-sigs/walletless-sigs.md index dd637942..3f94b5ea 100644 --- a/docs/sdk/authentication/session-sigs/walletless-sigs.md +++ b/docs/sdk/authentication/session-sigs/walletless-sigs.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Walletless Signatures With Lit Protocol, you can seamlessly onboard users into web3 using familiar authentication flows like social login and passkeys. The Lit SDK simplifies the process of generating and presenting signatures derived from authentication methods that don't require users to have an existing web3 wallet. Currently, Lit Protocol supports the following non-wallet authentication methods: @@ -14,4 +16,5 @@ With Lit Protocol, you can seamlessly onboard users into web3 using familiar aut Support for one-time passcodes (OTPs) through email and SMS is now live! ::: -By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management and without trusting a centralized custodian with your data. \ No newline at end of file +By utilizing PKP authentication methods, you can build frictionless and secure experiences in the decentralized web without the complexities of private key management and without trusting a centralized custodian with your data. + diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index d01225c3..5cf2f5f5 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Capacity Credits :::info @@ -253,3 +255,5 @@ For more information on session signatures and pkps see [here](./authentication/ console.log("signature result ", res); ``` + + diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index ac4c377f..4baacd05 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -119,3 +121,5 @@ await client.disconnect(); The `LitNodeClient` object has a number of config params you can pass, documented here: https://v5.api-docs.getlit.dev/ For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` + + diff --git a/docs/sdk/migrations/3.0.0/changes.md b/docs/sdk/migrations/3.0.0/changes.md index 8bd270e0..8aad2631 100644 --- a/docs/sdk/migrations/3.0.0/changes.md +++ b/docs/sdk/migrations/3.0.0/changes.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -152,3 +154,5 @@ All of the methods now require `ILitNodeClient` in the function argument. All of the functionality for encrypting and decrypting private data is now implemented by the `encrypt` and `decrypt` methods. All of the functionality for obtaining a BLS network signature over a JWT is now implemented by the `getSignedToken` method. + + diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index a6bd4998..0cdb0fa1 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -339,4 +341,5 @@ for usage with the above package you can change your run script ## Changelog -Changes to the **Lit JS SDK V3** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). \ No newline at end of file +Changes to the **Lit JS SDK V3** will be tracked in the [changelog](https://github.com/LIT-Protocol/js-sdk/blob/master/CHANGELOG.md). + diff --git a/docs/sdk/migrations/3.2.0.md b/docs/sdk/migrations/3.2.0.md index 8218bd1b..15d2cf7a 100644 --- a/docs/sdk/migrations/3.2.0.md +++ b/docs/sdk/migrations/3.2.0.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -129,4 +131,5 @@ const pkpWallet = new PKPEthersWallet({ await pkpWallet.init(); const signature = await pkpWallet.signMessage(TO_SIGN); -``` \ No newline at end of file +``` + diff --git a/docs/sdk/migrations/4.0.0.md b/docs/sdk/migrations/4.0.0.md index e7d061f5..70ac3abe 100644 --- a/docs/sdk/migrations/4.0.0.md +++ b/docs/sdk/migrations/4.0.0.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -67,4 +69,5 @@ Use the **Lit JS SDK v4**: import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` -Get started [here](../installation.md). \ No newline at end of file +Get started [here](../installation.md). + diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index faef1762..78eefaaf 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -117,3 +119,5 @@ const signatures =await litNodeClient.executeJs({ runLitAction(); ``` + + diff --git a/docs/sdk/serverless-signing/dependencies.md b/docs/sdk/serverless-signing/dependencies.md index 371be1e4..ac4059c4 100644 --- a/docs/sdk/serverless-signing/dependencies.md +++ b/docs/sdk/serverless-signing/dependencies.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Dependencies in Lit Actions We preload some dependencies for you: @@ -12,4 +14,5 @@ To add your own dependencies, you'll have to use a bundler, and provide the bund ## Built in functions -We provide a number of functions in the Lit.Actions.* namespace, to do things like call a contract or check an access control condition. The API docs for this are located here: https://actions-docs.litprotocol.com/ \ No newline at end of file +We provide a number of functions in the Lit.Actions.* namespace, to do things like call a contract or check an access control condition. The API docs for this are located here: https://actions-docs.litprotocol.com/ + diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index bd457725..6d64245a 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Signing with EIP191 Use EIP191 `eth_personal_sign` to sign a message instead of a transaction or raw signature. @@ -57,3 +59,5 @@ const signatures = await litNodeClient.executeJs({ go(); ``` + + diff --git a/docs/sdk/serverless-signing/fetch.md b/docs/sdk/serverless-signing/fetch.md index 7debb19c..40d8835d 100644 --- a/docs/sdk/serverless-signing/fetch.md +++ b/docs/sdk/serverless-signing/fetch.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -115,3 +117,5 @@ const runLitAction = async () => { `; ``` + + diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index 7b2ccea3..660560e6 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -81,3 +83,5 @@ const keyId = ethers.utils.keccak256(ethers.utils.toUtf8Bytes("theIPFSIdOfYourLi sendPkpToItself: true }); ``` + + diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 70e82b26..e1911f87 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Decentralized Compute with Lit Actions :::info @@ -37,3 +39,5 @@ You can create your first Lit Action by following this [quick start](../serverle 1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. 2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. 3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio rebalancing on Uniswap. + + diff --git a/docs/sdk/serverless-signing/processing-validation.md b/docs/sdk/serverless-signing/processing-validation.md index 70ea446c..b26c8d85 100644 --- a/docs/sdk/serverless-signing/processing-validation.md +++ b/docs/sdk/serverless-signing/processing-validation.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Processing & Validation ## Generating Signed Transactions @@ -212,4 +214,5 @@ const runLitAction = async () => { }; runLitAction(); -``` \ No newline at end of file +``` + diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 99bd2e29..0e658708 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -499,4 +501,4 @@ By now you should have successfully written a Lit Action, minted a PKP, and used 3. [Using Dependencies](../serverless-signing/dependencies.md). 4. [Creating Blockchain Transactions](../serverless-signing/processing-validation.md). -Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file + \ No newline at end of file diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index bf052280..d8f329e5 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -2,6 +2,8 @@ sidebar_position: 5 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -126,3 +128,5 @@ values={[ ## Wallet Error Handling MetaMask and other wallets throw errors themselves. The format for those exceptions can be found [here](https://docs.metamask.io/guide/ethereum-provider.html#errors). + + diff --git a/docs/sdk/wallets/auth-methods.md b/docs/sdk/wallets/auth-methods.md index 5ad1d0af..7a6e669f 100644 --- a/docs/sdk/wallets/auth-methods.md +++ b/docs/sdk/wallets/auth-methods.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -138,3 +140,5 @@ You will also need the PKP public key in order to generate a [sessionSig](https: ## Custom Auth / Adding new Auth Methods not yet supported by Lit More info on this is available [here](auth-methods/custom-auth). + + diff --git a/docs/sdk/wallets/auth-methods/custom-auth.md b/docs/sdk/wallets/auth-methods/custom-auth.md index adc1745f..bec66a42 100644 --- a/docs/sdk/wallets/auth-methods/custom-auth.md +++ b/docs/sdk/wallets/auth-methods/custom-auth.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Custom Auth Methods If you would like further customization over your PKP auth methods, or want to add a new one not yet supported by Lit, you can do auth yourself with a Lit Action, using the auth helpers we provide (see below). In this scenario, after you give your Lit Action permission to use the PKP, the typical flow is to burn the PKP NFT or send it to itself. It is important to note, if you do decide to burn the PKP, you will be unable to add additional auth methods in the future. @@ -140,4 +142,5 @@ Next, you need to authorize your user and that they are permitted to use the PKP At this point, you should check the array returned by `getPermittedAuthMethods()` to see if your user's identity material (for example, a Roblox user id) is present. Remember - you should have hashed their user id when you minted the PKP, so you should hash it here too before comparing it to the elements in the `getPermittedAuthMethods()` array. -If you find a match in the array, then you know the user is permitted to use the PKP, and you can proceed with signing or whatever else you want to do. \ No newline at end of file +If you find a match in the array, then you know the user is permitted to use the PKP, and you can proceed with signing or whatever else you want to do. + diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md index 6ca3bb2f..907f073a 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Adding and Removing Auth Methods Configure auth methods for your PKP using the [`@lit-protocol/contracts-sdk`](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) package. @@ -188,3 +190,5 @@ const authMethods = ``` The `getPermittedAuthMethods` function returns an array of `authMethod` objects, each of which will include `authMethodType`, `id`, and `userPubkey` values. + + diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md index 3c439927..d0e10999 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Stytch OTP / TOTP Email and SMS authentication provides users with a convenient way to verify their identity using one-time passwords (OTP) sent to their registered email address or phone number. @@ -223,3 +225,5 @@ console.log("session signatures: ", sessionSigs); const authSig = sessionSigs[Object.keys(sessionSigs)[0]]; console.log("authSig", authSig); ``` + + diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md index c6015c24..f2053d2c 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Social Login Social login offers users a convenient way to authenticate with Lit Protocol by leveraging their existing social accounts. Currently, Lit Protocol supports Google and Discord OAuth. @@ -157,3 +159,5 @@ const sessionSigs = await provider.getSessionSigs({ }, }); ``` + + diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md index 8052d183..84222583 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md @@ -2,6 +2,8 @@ sidebar_position: 3 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # WebAuthn WebAuthn enables users to authenticate with web apps using biometrics, passkeys, or other authenticators, providing user-friendly and secure alternative to traditional password-based authentication. @@ -101,3 +103,5 @@ While the registration step involves minting a PKP via the Lit Relay Server (or, This works by using a recent block hash on the underlying blockchain (Polygon Mumbai) as a challenge, and having the user authenticate with their platform authenticator to generate a credential assertion (signature). When each Lit node receives this credential assertion from the client, they can recover the COSE credential public key which is stored in the smart contract to verify whether the assertion / signature is valid. If the signature is valid, then the nodes will return `AuthSig` signature shares back to the client. + + diff --git a/docs/sdk/wallets/claimable-keys/intro.md b/docs/sdk/wallets/claimable-keys/intro.md index 5cd1c36a..24b08f75 100644 --- a/docs/sdk/wallets/claimable-keys/intro.md +++ b/docs/sdk/wallets/claimable-keys/intro.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Intro ## Quick Start @@ -51,3 +53,5 @@ Below is a table of how each supported authentication method derives the `key id Continue to the next section to learn how to create HD keys and claim them. + + diff --git a/docs/sdk/wallets/claimable-keys/usage.md b/docs/sdk/wallets/claimable-keys/usage.md index ac864019..827d9bc2 100644 --- a/docs/sdk/wallets/claimable-keys/usage.md +++ b/docs/sdk/wallets/claimable-keys/usage.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Creating and Claiming The Lit SDK provides a `claimKeyId` method which authenticates an `Auth Method` to derive the `key id` . If authentication is successful, a signature is generated by each of the nodes in the network. This signature, the `key id`, and derived public key are then provided to a `ClaimProcessor` which will register the generated key claim on chain and then routes the generated public key for use. @@ -245,3 +247,5 @@ const pubkey = session.litNodeClient.computePubkey(keyId); console.log("pkp public key: ", pubkey); ``` + + diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index dd8a7a7e..7b76c18e 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Introduction to User Wallets :::info @@ -36,4 +38,6 @@ You can get started with user wallets following this [quick start](../wallets/qu 1. [Seed-Phraseless Onboarding](../wallets/minting-methods/mint-via-social.md) 2. [Use a PKP as a Signer on a Smart Account](https://spark.litprotocol.com/account-abstraction-and-mpc/) 3. [Using the Lit Explorer](../../tools/pkpexplorer.md) -4. [Working with Claimable Keys](../wallets/claimable-keys/intro.md) \ No newline at end of file +4. [Working with Claimable Keys](../wallets/claimable-keys/intro.md) + + diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md index 33d26ecb..65379b35 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-contracts.md +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Mint via Contracts You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using @@ -124,4 +126,5 @@ const mintTx = await authProvider.mintPKPThroughRelayer( 3. [Minting a PKP with no permissions, then add permitted scopes](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-then-set-scope-1.mjs) -4. [Minting a PKP using the relayer, adding permitted scopes, and getting session sigs](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/e2e-nodejs/group-pkp-session-sigs) \ No newline at end of file +4. [Minting a PKP using the relayer, adding permitted scopes, and getting session sigs](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/e2e-nodejs/group-pkp-session-sigs) + diff --git a/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md b/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md index a5f9455c..c5dd397a 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md +++ b/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Mint via multiple Auth Methods You can also mint a PKP using [multiple Auth Methods](../auth-methods#existing-supported-auth-methods) (i.e. Multi-Factor Authentication). This can be done in two different ways: 1. [Using `LitAuthClient`](#using-litauthclient) @@ -229,4 +231,5 @@ const mintTxReceipt = await mintTx.wait(); const tokenId = mintTxReceipt.events[0].topics[1]; ``` -View `Minting a PKP with multiple Auth Methods via ContractsSDK` example in our SDK [here](https://github.com/LIT-Protocol/js-sdk/blob/251482b90761e9e0e734cb08c0c4a93b563b6869/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs). \ No newline at end of file +View `Minting a PKP with multiple Auth Methods via ContractsSDK` example in our SDK [here](https://github.com/LIT-Protocol/js-sdk/blob/251482b90761e9e0e734cb08c0c4a93b563b6869/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs). + diff --git a/docs/sdk/wallets/minting-methods/mint-via-social.md b/docs/sdk/wallets/minting-methods/mint-via-social.md index c06ca926..5c45f67a 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-social.md +++ b/docs/sdk/wallets/minting-methods/mint-via-social.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Mint via Social or Email/SMS (OTP) ## Social @@ -179,4 +181,5 @@ async function authenticateWithStytch(method, code, methodId) { } ``` -Read more about this process [here](../auth-methods). \ No newline at end of file +Read more about this process [here](../auth-methods). + diff --git a/docs/sdk/wallets/minting-methods/mint-via-web-authn.md b/docs/sdk/wallets/minting-methods/mint-via-web-authn.md index b4195954..35a453c1 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-web-authn.md +++ b/docs/sdk/wallets/minting-methods/mint-via-web-authn.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Mint via WebAuthn You can mint a PKP by presenting a valid WebAuthn credential generated by your browser to the Lit Relay server. @@ -20,3 +22,5 @@ In order to allow for various frontends to integrate with our platform, we plan ### Challenge-Free Registration We do not currently use challenges as part of our PKP minting / WebAuthn registration process and only use it for the PKP / WebAuthn authentication step. + + diff --git a/docs/sdk/wallets/minting.md b/docs/sdk/wallets/minting.md index 0bc95944..3dfcd440 100644 --- a/docs/sdk/wallets/minting.md +++ b/docs/sdk/wallets/minting.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Minting a PKP A PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. In other words, each PKP is functionally a wallet, where the private key lives across the Lit Network. @@ -9,4 +11,6 @@ This section will walk you through the process of creating PKPs using the [V3 SD - [Mint via Contracts](minting-methods/mint-via-contracts) - [Mint via Social or Email/SMS (OTP) ](minting-methods/mint-via-social) - [Mint via WebAuthn](minting-methods/mint-via-web-authn) -- [Mint via Multiple Auth Methods](minting-methods/mint-via-multiple-auth-methods) \ No newline at end of file +- [Mint via Multiple Auth Methods](minting-methods/mint-via-multiple-auth-methods) + + diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index e85c0a7b..0eb4baad 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Quick Start ## Start Here @@ -553,4 +555,4 @@ By now you should have successfully minted a PKP, assigned an auth method and pe 3. [Running Custom Authentication](../wallets/auth-methods/custom-auth.md). 4. [Connecting PKPs to dApps with WalletConnect](../wallets/walletconnect.md). -Did you find this guide helpful? If not, please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). \ No newline at end of file + \ No newline at end of file diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index 859d6765..b191619e 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Connecting PKPs to dApps Leverage Lit Protocol and WalletConnect V2 to seamlessly connect PKPs to hundreds of dApps. WalletConnect enables secure communication between wallets and dApps through QR code scanning and deep linking. With WalletConnect, PKPs act as MPC wallets, interacting with dApps without ever exposing private keys. @@ -146,3 +148,5 @@ const signClient = pkpWalletConnect.getSignClient(); ``` Refer to the [WalletConnect V2 docs](https://docs.walletconnect.com/2.0/) for more information on their protocol and SDKs. + + diff --git a/docs/support/bug-bounty.md b/docs/support/bug-bounty.md index 280ae6e8..14c8db92 100644 --- a/docs/support/bug-bounty.md +++ b/docs/support/bug-bounty.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Bug Bounty We have a bug bounty program to reward security researchers who find and report vulnerabilities in our code. We are committed to keeping our code secure and we want to reward those who help us achieve that goal. @@ -12,3 +14,5 @@ If you find something and want to report it, email bugs@litprotocol.com with the - Your name, email address, and country of residence Not all our repos are covered by the bug bounty program. For example, our documentation repos and some application repos are not covered. If you are unsure if a repo is covered, please email bugs@litprotocol.com to check. + + diff --git a/docs/support/faq.md b/docs/support/faq.md index 322b6b4e..0b8405ef 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -2,6 +2,8 @@ sidebar_position: 2 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # FAQ ## General Questions @@ -207,3 +209,5 @@ These security measures work together to make attacks, such as running multiple ## I have a question that isn't answered here. Where can I get help? Join our [Discord](https://litgateway.com/discord) and post your question in our forums! + + diff --git a/docs/support/intro.md b/docs/support/intro.md index 10453cbd..e27e5278 100644 --- a/docs/support/intro.md +++ b/docs/support/intro.md @@ -6,6 +6,8 @@ If you have any issues with Lit SDK, general questions about Lit Protocol, or fe Join the Lit developer community on [Discord](https://litgateway.com/discord) and [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) to stay up to date on the latest developments, troubleshoot errors, get technical support, and engage with fellow builders. Have an idea for a project or currently building? Take a look at Lit's [Ecosystem RFPs](https://github.com/LIT-Protocol/Ecosystem-Ideas) and [Grant program](https://github.com/LIT-Protocol/LitGrants). +Wanna collaborate with Lit? Please [get in touch](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform?usp=send_form). + Check out the Lit [blog](https://spark.litprotocol.com/) to read about new product announcements, integrations, ecosystem updates, and additional insights into the world of cryptography and web3. Subscribe to Lit's [community calendar](https://calendar.google.com/calendar/u/5?cid=Y19hMnVxZDNjaHVqZ2Q0a3FqbGlvcDdxY2JhMEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) to stay up to date on sponsored events, hackathons, office hours, and additional opportunities to engage with the Lit development team. diff --git a/docs/tools/access-control.md b/docs/tools/access-control.md index 3973f8b4..03e266fd 100644 --- a/docs/tools/access-control.md +++ b/docs/tools/access-control.md @@ -2,6 +2,8 @@ sidebar_position: 1 --- +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Access Control ## Debugger @@ -10,3 +12,5 @@ Use the debugger to help with writing access control conditions: https://lit-acc ## Custom Access Control Conditions Set custom access control conditions and check that you're able to encrypt and decrypt them through this application: https://custom-access-control-conditions.lit.repl.co/ + + diff --git a/docs/tools/event-listener.md b/docs/tools/event-listener.md index 100d2fca..8e8acef8 100644 --- a/docs/tools/event-listener.md +++ b/docs/tools/event-listener.md @@ -1,3 +1,5 @@ +import FeedbackComponent from "@site/src/components/FeedbackComponent"; + # Event Listener +:::note +Only available on the `test` networks +::: -The [Lit event listener](https://github.com/DIGITALAX/LitListenerSDK) allows you to create specific event-based triggers for executing Lit Actions. +The [Lit event listener](https://github.com/LIT-Protocol/LitListenerSDK) allows you to create specific event-based triggers for executing Lit Actions. The SDK is designed around the principle of conditionally pre-approved chain reactions with account abstraction. This series of actions encrypted, conditional, often on-chain, can be chained together to trigger complex strategies. @@ -27,10 +30,6 @@ The SDK allows you to set up listeners for specific events occurring on the bloc 3. Intervals Intervals within the SDK act as the timing mechanism that governs how frequently the SDK checks the webhooks and on-chain events. By setting intervals, you determine how often the SDK will check for updates in the specified webhooks or on-chain events. If you need real-time reaction, you might set a short interval, whereas a less time-sensitive circuit might have longer intervals. -## Node Code Platform -![No Code Platform image](/img/event_listener_no_code.png) -Looking to automate signing with Lit Actions, without minimal code? Check out [this platform](https://listener.irrevocable.dev/) that utilizes the event listener SDK. - Event listener SDK brought to you by [DIGITALAX](https://github.com/DIGITALAX). Read the [documentation](https://docs.irrevocable.dev/) to learn more. From 2ef03b03046e6c59827c78c0945057194b161e12 Mon Sep 17 00:00:00 2001 From: Bean Date: Mon, 20 May 2024 15:01:45 -0400 Subject: [PATCH 301/627] featL add decrypt apii key (#288) --- docs/sdk/serverless-signing/combining-decryption-shares.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 2beb57dd..080474bd 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -13,7 +13,7 @@ Decryption with Lit is typically done client-side by an authorized party at the When you call `decryptAndCombine`, the decryption shares are collected from each Lit node before they are combined on a single node. -# Encrypting content +## Encrypting content We will start by performing an `encrypt` operation as shown below using the `LitNodeClient`. This operation is entirely done on the client, so no need for any Lit Action involvement. ```js @@ -76,4 +76,7 @@ const res = await client.executeJs({ }); console.log("decrypted content sent from lit action:", res); -``` \ No newline at end of file +``` + +## Decrypting an API Key From Within an Action +For a guide on decrypting an api for secure usage from within a lit action [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action) \ No newline at end of file From 2d309a25e41a3461fa5e90cce1e78ac44e1558c9 Mon Sep 17 00:00:00 2001 From: Bean Date: Mon, 20 May 2024 17:39:59 -0400 Subject: [PATCH 302/627] ref: node version update (#285) * ref: node version update * ref: add more info on node version --- docs/network/migration-guide.md | 4 +++- docs/sdk/access-control/quick-start.md | 17 ++++++++++++++++- docs/sdk/installation.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 4 +++- docs/sdk/wallets/quick-start.md | 4 +++- .../version-2.0/sdk/explanation/installation.md | 4 +++- .../version-2.0/sdk/explanation/migration.md | 4 +++- 7 files changed, 32 insertions(+), 7 deletions(-) diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 7957f284..243127b2 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -282,7 +282,9 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +You should use **at least Node v19.9.0** +- **crypto** support. +- **webcrypto** library support if targeting `web`. ::: ## Connection to the Lit Network diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index c2b90918..4a82ca4e 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -23,6 +23,11 @@ Ensure you have the following requirements in place: Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: +You should use **at least Node v19.9.0** for +- **crypto** support. +- **webcrypto** library support if targeting `web`. + + ```jsx yarn add @lit-protocol/lit-node-client ``` @@ -34,7 +39,17 @@ npm i @lit-protocol/lit-node-client ``` :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs` +::: + +Use the **Lit JS SDK V4**: + +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +``` + +:::note +You should use **at least Node vv19.9.0** because of the need for **crypto** support.. ::: You also need to install the following lit packages whose functions are used in the example below: diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 98976db0..69874b6d 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -58,7 +58,7 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +You should use **at least Node v19.9.0** because of the need for **crypto** support. ::: ## Connection to the Lit Network diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 9112386c..7d06f3f4 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -41,7 +41,9 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +You should use **at least Node v19.9.0** for +- **crypto** support. +- **webcrypto** library support if targeting `web`. ::: ### Client-Side Usage diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 5556caed..49937153 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -40,7 +40,9 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +You should use **at least Node v19.9.0** +- **crypto** support. +- **webcrypto** library support if targeting `web`. ::: ### Client-Side Usage diff --git a/versioned_docs/version-2.0/sdk/explanation/installation.md b/versioned_docs/version-2.0/sdk/explanation/installation.md index 5fb64ebd..e9773651 100644 --- a/versioned_docs/version-2.0/sdk/explanation/installation.md +++ b/versioned_docs/version-2.0/sdk/explanation/installation.md @@ -65,7 +65,9 @@ import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +You should use **at least Node v19.9.0** +- **crypto** support. +- **webcrypto** library support if targeting `web`. ::: ## Connection to the Lit Network diff --git a/versioned_docs/version-2.0/sdk/explanation/migration.md b/versioned_docs/version-2.0/sdk/explanation/migration.md index e99fb23c..39eb2b61 100644 --- a/versioned_docs/version-2.0/sdk/explanation/migration.md +++ b/versioned_docs/version-2.0/sdk/explanation/migration.md @@ -14,7 +14,9 @@ The **Lit JS SDK V2** has been entirely revamped from the earlier `lit-js-sdk` a ## Installing the V2 SDK :::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +You should use **at least Node v19.9.0** +- **crypto** support. +- **webcrypto** library support if targeting `web`. ::: Get started with **Lit JS SDK V2** by installing the package best suited for your environment. From 9fd328a3d337e389b58629816a0dd517104bae8e Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 26 May 2024 03:28:48 +0530 Subject: [PATCH 303/627] fix(version): remove v2 docs and fix api reference sections along with some nitpicks --- docs/api-reference/latest.md | 4 ++-- docs/api-reference/v1-sdk.md | 3 +++ docs/api-reference/v2-sdk.md | 2 ++ docs/api-reference/v3-sdk.md | 4 ++-- docs/sdk/access-control/encryption.md | 2 +- docs/sdk/access-control/quick-start.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/quick-start.md | 2 +- docusaurus.config.js | 13 +++++++------ sidebars.js | 2 +- 10 files changed, 21 insertions(+), 15 deletions(-) diff --git a/docs/api-reference/latest.md b/docs/api-reference/latest.md index 5f21cd8e..ee90d6d8 100644 --- a/docs/api-reference/latest.md +++ b/docs/api-reference/latest.md @@ -1,7 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# Lit js-sdk API Reference (Latest) +# Latest SDK Version -The most recent API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). +The most recent version of the SDK i.e. v6.x.x (beta) API docs can be viewed [here](https://v6-api-doc-lit-js-sdk.vercel.app/). diff --git a/docs/api-reference/v1-sdk.md b/docs/api-reference/v1-sdk.md index 9e28a4e3..c3ed8af1 100644 --- a/docs/api-reference/v1-sdk.md +++ b/docs/api-reference/v1-sdk.md @@ -1,4 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # SDK v1.x.x + +The SDK v1.x.x API docs can be viewed [here](https://lit-protocol.github.io/lit-js-sdk/api_docs_html/index.html). + diff --git a/docs/api-reference/v2-sdk.md b/docs/api-reference/v2-sdk.md index ad4cc373..902d8390 100644 --- a/docs/api-reference/v2-sdk.md +++ b/docs/api-reference/v2-sdk.md @@ -2,4 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # SDK v2.x.x +The SDK v2.x.x API docs can be viewed [here](https://docs.lit-js-sdk-v2.litprotocol.com/). + diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md index 64a82ce9..05682447 100644 --- a/docs/api-reference/v3-sdk.md +++ b/docs/api-reference/v3-sdk.md @@ -1,7 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# SDK v3.x.x +# SDK v5.x.x to v3.x.x -The most recent API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). +The SDK v5.x.x to v3.x.x API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 2d298027..6a3a5f09 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -47,7 +47,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 4a82ca4e..aa29b0e4 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -18,7 +18,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 7d06f3f4..7b9c3bcb 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -25,7 +25,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 49937153..d922a816 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -24,7 +24,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: diff --git a/docusaurus.config.js b/docusaurus.config.js index 72ae4913..e192cc21 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -29,13 +29,14 @@ const config = { // Please change this to your repo. editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', routeBasePath: '/', + disableVersioning: true, versions: { - '2.0': { - badge: true, - label: 'v2.x.x', - path: 'v2', - banner: 'none', - }, + // '2.0': { + // badge: true, + // label: 'v2.x.x', + // path: 'v2', + // banner: 'none', + // }, current: { badge: true, label: 'v3.x.x', diff --git a/sidebars.js b/sidebars.js index 5337fdea..4d6bb057 100644 --- a/sidebars.js +++ b/sidebars.js @@ -419,7 +419,7 @@ const sidebars = { keywords: ['api-reference'], }, items:[ - 'api-reference/v4-sdk', + 'api-reference/latest', { type: 'category', label: 'Legacy SDK Versions', From 52694ca5e24a222d0423178a28fb25e6b799afdb Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 26 May 2024 03:34:55 +0530 Subject: [PATCH 304/627] fix(eip191): replace with correct func name --- docs/sdk/serverless-signing/eip191.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index 7d6d8cd7..7e17d04f 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -17,8 +17,8 @@ Lit Action code: ```js export const litActionCode = ` (async () => { - const sigShare = await LitActions.signEcdsa({ - toSign: dataToSign, + const sigShare = await LitActions.ethPersonalSignMessageEcdsa({ + message: dataToSign, publicKey, sigName, }); From 49c45bcdc6ea3365597a63e9ad3f62920f5fd64a Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 26 May 2024 03:44:27 +0530 Subject: [PATCH 305/627] add(la-dependency): add a note for the use about lit actions --- docs/sdk/serverless-signing/dependencies.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/sdk/serverless-signing/dependencies.md b/docs/sdk/serverless-signing/dependencies.md index 3af31066..c8e0c81d 100644 --- a/docs/sdk/serverless-signing/dependencies.md +++ b/docs/sdk/serverless-signing/dependencies.md @@ -7,6 +7,11 @@ We preload some dependencies for you: * Ethers v5.7 is loaded and available via the global `ethers` object * The jsonwebtoken library located here https://www.npmjs.com/package/jsonwebtoken is loaded and available via the global `jwt` object +:::note +You cannot use `require` or `import` to load other dependencies in Lit Actions except for pre-loaded dependencies like `ethers` and `jsonwebtoken`. If you need to use other dependencies, you can bundle them and upload the bundle as a single Lit Action file. + +Moreover, there is 5mb size limit on a Lit Action file. +::: ## Adding your own dependencies From c8896b0cafcef969631010581a580ffeb5c9180a Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 26 May 2024 03:53:51 +0530 Subject: [PATCH 306/627] fix(sessionSigs): change authSig to sessionSigs in jwt-auth.md --- docs/sdk/access-control/jwt-auth.md | 8 ++------ docs/sdk/serverless-signing/combining-signatures.md | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/docs/sdk/access-control/jwt-auth.md b/docs/sdk/access-control/jwt-auth.md index fa57c29c..5eda83b2 100644 --- a/docs/sdk/access-control/jwt-auth.md +++ b/docs/sdk/access-control/jwt-auth.md @@ -91,11 +91,7 @@ const litNodeClient = new LitJsSdk.LitNodeClient(); await litNodeClient.connect(); ``` -First, obtain an `authSig` from the user. This will ask their metamask to sign a message proving they own the crypto address in their wallet. Remember to pass the chain you're using! - -```js -const authSig = await LitJsSdk.checkAndSignAuthMessage({ chain: "polygon" }); -``` +First, obtain `sessionSigs` from the user to authenticate with Lit network as stated [here](./quick-start#obtain-a-session-sigs). Now, using the `accessControlConditions` you can use the `getSignedToken` function to get the token: @@ -103,7 +99,7 @@ Now, using the `accessControlConditions` you can use the `getSignedToken` functi const jwt = await litNodeClient.getSignedToken({ accessControlConditions, chain, - authSig, + sessionSigs, }); ``` diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 3b854fc6..0dfdad50 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -20,7 +20,7 @@ const code = `(async () => { const utf8Encode = new TextEncoder(); const toSign = utf8Encode.encode('Hello World'); - // Will use the authentication provided to the `executeJs` call from the sdk on the client. + // Will use the authentication provided to the "executeJs" call from the sdk on the client. const signature = await Lit.Actions.signAndCombineEcdsa({ toSign, publicKey, From 15fd97f32196b4081e76f17b2280d1f24a364626 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Sun, 26 May 2024 04:01:14 +0530 Subject: [PATCH 307/627] fix(wallet-sig): add warning for dropping out authSig to authenticate with lit nodes --- docs/sdk/authentication/auth-sig.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index 4daa05ae..1add1468 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -8,6 +8,10 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; An `AuthSig` is a wallet signature obtained from a user. Wallet signatures are required to communicate with the Lit Nodes and authorize requests. +:::warning +The SDK v6.x.x and above will only accept SessionSigs to authenticate with the Lit Nodes. The Wallet Signatures or AuthSigs will no longer be accepted as a form of authentication. +::: + ## Format of an `AuthSig` You can use any signature compliant with EIP-4361, also known as Sign in with Ethereum (SIWE), for the `AuthSig`. However, the signature must be presented in an `AuthSig` object formatted like so: From 43b4afe686f338320f233dc0165003eb8c420e5a Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Tue, 28 May 2024 12:31:33 +0530 Subject: [PATCH 308/627] fix: add warning about ether.js compatible versions and few nitpicks --- docs/sdk/authentication/auth-sig.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 6 +++++- docs/sdk/wallets/quick-start.md | 4 ++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index 1add1468..cd3f0c33 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -139,7 +139,7 @@ async function main() { // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds const expirationTime = new Date( - Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 + Date.now() + 1000 * 60 * 60 * 24 * 7 ).toISOString(); const siweMessage = new siwe.SiweMessage({ diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 7b9c3bcb..26c35d93 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -106,6 +106,10 @@ yarn add @lit-protocol/auth-helpers To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. +:::warning +You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. +::: + ### Initialize the `contracts-sdk` ```jsx @@ -316,7 +320,7 @@ You should now have successfully minted a PKP! You can verify that the PKP has t import { LitAuthClient } from '@lit-protocol/lit-auth-client'; const authId = await LitAuthClient.getAuthIdByAuthMethod(authMethod); -await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( +const scopes = await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( mintInfo.pkp.tokenId, AuthMethodType.EthWallet, authId, diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index d922a816..6120bf0c 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -104,6 +104,10 @@ yarn add @lit-protocol/lit-auth-client To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. +:::warning +You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. +::: + ### Initialize the `contracts-sdk` ```jsx From b3d8066cdca77df8d65d0d81c01849c0e57b5269 Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Tue, 28 May 2024 17:27:54 -0700 Subject: [PATCH 309/627] change chronicle url in the docs --- docs/network/rollup.mdx | 16 ++++++++-------- src/components/AddRollupButton.jsx | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx index 8a3c2c87..a9fa2a02 100644 --- a/docs/network/rollup.mdx +++ b/docs/network/rollup.mdx @@ -28,14 +28,14 @@ Keep in mind that the official Lit Protocol token is scheduled to launch sometim To connect to Chronicle, you can click or manually add the network parameters below -| Parameter Name | Value | -| ------------------ | -------------------------------------- | -| Chain ID | 175177 | -| Name | Chronicle - Lit Protocol Testnet | -| RPC URL | https://chain-rpc.litprotocol.com/http | -| Block Explorer URL | https://chain.litprotocol.com/ | -| Currency Symbol | testLPX | -| Currency Decimals | 18 | +| Parameter Name | Value | +| ------------------ | ---------------------------------------------- | +| Chain ID | 175177 | +| Name | Chronicle - Lit Protocol Testnet | +| RPC URL | https://chain-rpc.litprotocol.com/replica-http | +| Block Explorer URL | https://chain.litprotocol.com/ | +| Currency Symbol | testLPX | +| Currency Decimals | 18 | **Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. diff --git a/src/components/AddRollupButton.jsx b/src/components/AddRollupButton.jsx index a3979c24..0af680db 100644 --- a/src/components/AddRollupButton.jsx +++ b/src/components/AddRollupButton.jsx @@ -11,7 +11,7 @@ export default function AddRollupButton() { symbol: "LIT", decimals: 18, }, - rpcUrls: ["https://chain-rpc.litprotocol.com/http"], + rpcUrls: ["https://chain-rpc.litprotocol.com/replica-http"], blockExplorerUrls: ["https://chain.litprotocol.com"], }, ]; From d252c505fe1e4ea7bc5dec68dd7e6d8a3386e159 Mon Sep 17 00:00:00 2001 From: Chris Cassano Date: Tue, 28 May 2024 17:31:13 -0700 Subject: [PATCH 310/627] fix api ref issue --- sidebars.js | 57 ++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/sidebars.js b/sidebars.js index 5337fdea..24c7c217 100644 --- a/sidebars.js +++ b/sidebars.js @@ -68,7 +68,8 @@ const sidebars = { link: { type: 'generated-index', title: 'Migrating from earlier versions', - description: 'Learn how to migrate from earlier versions of the Lit SDK!', + description: + 'Learn how to migrate from earlier versions of the Lit SDK!', keywords: ['migrations'], }, items: [ @@ -80,23 +81,20 @@ const sidebars = { id: 'sdk/migrations/3.0.0/overview', }, collapsed: true, - items: [ - 'network/feature-matrix', - 'sdk/migrations/3.0.0/changes', - ], + items: ['network/feature-matrix', 'sdk/migrations/3.0.0/changes'], }, 'sdk/migrations/3.2.0', 'sdk/migrations/4.0.0', 'sdk/migrations/6.0.0', - ] - } + ], + }, ], }, { type: 'category', label: 'Guides', collapsed: true, - link:{ + link: { type: 'generated-index', title: 'Lit SDK Guides', description: 'Learn how to use the Lit SDK!', @@ -146,12 +144,12 @@ const sidebars = { type: 'category', label: 'Advanced Topics', collapsed: true, - link:{ + link: { type: 'generated-index', title: 'Advanced Topics', keywords: ['user wallets'], }, - items:[ + items: [ { type: 'category', label: 'Auth Methods', @@ -201,7 +199,7 @@ const sidebars = { collapsed: true, items: ['sdk/wallets/claimable-keys/usage'], }, - ] + ], }, ], }, @@ -219,12 +217,12 @@ const sidebars = { type: 'category', label: 'Advanced Topics', collapsed: true, - link:{ + link: { type: 'generated-index', title: 'Advanced Topics', keywords: ['encryption', 'decryption'], }, - items:[ + items: [ 'sdk/access-control/jwt-auth', { type: 'category', @@ -262,7 +260,7 @@ const sidebars = { collapsed: true, items: ['sdk/access-control/lit-action-conditions'], }, - ] + ], }, ], }, @@ -280,7 +278,7 @@ const sidebars = { type: 'category', label: 'Advanced Topics', collapsed: true, - link:{ + link: { type: 'generated-index', title: 'Advanced Topics', keywords: ['compute', 'lit actions'], @@ -296,9 +294,9 @@ const sidebars = { `sdk/serverless-signing/combining-signatures`, 'sdk/serverless-signing/run-once', `sdk/serverless-signing/get-rpc-url`, - 'sdk/serverless-signing/broadcast-and-collect' - ] - } + 'sdk/serverless-signing/broadcast-and-collect', + ], + }, ], }, ], @@ -340,7 +338,8 @@ const sidebars = { link: { type: 'generated-index', title: 'Lit Tools', - description: 'Learn about the different tools that can help you with Lit SDK!', + description: + 'Learn about the different tools that can help you with Lit SDK!', keywords: ['tools'], }, items: [ @@ -395,7 +394,7 @@ const sidebars = { label: 'Resources and Support', collapsed: true, link: { - type:'doc', + type: 'doc', id: 'support/intro', }, items: [ @@ -404,7 +403,7 @@ const sidebars = { 'resources/supported-chains', 'resources/contracts', 'resources/glossary', - 'support/faq', + 'support/faq', 'support/bug-bounty', ], }, @@ -415,11 +414,12 @@ const sidebars = { link: { type: 'generated-index', title: 'Lit SDK API Reference', - description: 'Get the API reference for different versions of the Lit SDK!', + description: + 'Get the API reference for different versions of the Lit SDK!', keywords: ['api-reference'], }, - items:[ - 'api-reference/v4-sdk', + items: [ + 'api-reference/latest', { type: 'category', label: 'Legacy SDK Versions', @@ -427,7 +427,8 @@ const sidebars = { link: { type: 'generated-index', title: 'Legacy SDK Versions', - description: 'Get the API reference for older versions of the Lit SDK!', + description: + 'Get the API reference for older versions of the Lit SDK!', keywords: ['api-reference'], }, items: [ @@ -436,15 +437,13 @@ const sidebars = { 'api-reference/v1-sdk', ], }, - ] + ], }, { type: 'category', label: 'Additional Examples', collapsed: true, - items: [ - 'additional-examples/intro', - ], + items: ['additional-examples/intro'], }, ], }; From 1c4a655e13e32311f499b16dbfc1601098de9a71 Mon Sep 17 00:00:00 2001 From: Aaryan-R-S Date: Mon, 3 Jun 2024 00:00:04 +0530 Subject: [PATCH 311/627] fix(versions): remove docs version dropdown from navbar --- docusaurus.config.js | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index e192cc21..6ac618e3 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -29,14 +29,13 @@ const config = { // Please change this to your repo. editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', routeBasePath: '/', - disableVersioning: true, versions: { - // '2.0': { - // badge: true, - // label: 'v2.x.x', - // path: 'v2', - // banner: 'none', - // }, + '2.0': { + badge: true, + label: 'v2.x.x', + path: 'v2', + banner: 'none', + }, current: { badge: true, label: 'v3.x.x', @@ -110,10 +109,10 @@ const config = { position: 'left', label: 'Ecosystem', }, - { - type: 'docsVersionDropdown', - position: 'right', - }, + // { + // type: 'docsVersionDropdown', + // position: 'right', + // }, { href: 'https://github.com/LIT-Protocol/js-sdk', position: 'right', From 50c7afe0e6994be2b647e061afbaf495acc243d8 Mon Sep 17 00:00:00 2001 From: Bean Date: Sun, 2 Jun 2024 21:00:52 -0400 Subject: [PATCH 312/627] feat: add api updates to lit action encryption/decryption features (#291) * feat: add api updates to lit action encryption/decryption features * ref: fix build error * ref: Add more usage description * ref: add more to dscription of new acc param * Update combining-decryption-shares.md Co-authored-by: Wyatt Barnes * Update combining-decryption-shares.md Co-authored-by: Wyatt Barnes * Update encryption.md Co-authored-by: Wyatt Barnes --------- Co-authored-by: Wyatt Barnes --- .../combining-decryption-shares.md | 24 ++++++++++++++++++- docs/sdk/serverless-signing/encryption.md | 22 ++++++++++++++++- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 080474bd..573998e1 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -13,7 +13,7 @@ Decryption with Lit is typically done client-side by an authorized party at the When you call `decryptAndCombine`, the decryption shares are collected from each Lit node before they are combined on a single node. -## Encrypting content +# Encrypting content We will start by performing an `encrypt` operation as shown below using the `LitNodeClient`. This operation is entirely done on the client, so no need for any Lit Action involvement. ```js @@ -49,6 +49,27 @@ We will start by performing an `encrypt` operation as shown below using the `Lit console.log("cipher text:", ciphertext, "hash:", dataToEncryptHash); ``` +## Using IPFS ID as an Access Control Parameter +When defining your Access Control Conditions rules you may wish to use `currentActionIpfsId` which may be added to your condition as shown below. This is useful for restricting decryption to only permit a single Lit Action to decrypt your data. + +```js +{ + contractAddress: '', + standardContractType: '', + chain, + method: 'eth_getBalance', + parameters: [':currentActionIpfsId', 'latest'], + returnValueTest: { + comparator: '=', + value: '', + }, +} +``` + +The ID will be included in the access control check when you use `decryptAndCombine` in an action. It's best to use the `currentActionIpfsId` when you want to share encrypted content that only a specific implementation can decrypt. This is useful for situations where you want to restrict access to sensitive information, like an API key, so that it can only be decrypted by a specific Lit Action. This way, the content will only be decrypted when `decryptAndCombine` is called within that action, keeping your credentials secure within the TEE (Trusted Execution Environment) of the Lit Network. + +## Using decryptAndCombine + Let's now take the `ciphertext` and `dataToEncryptHash` and use it from a Lit Action to decrypt within the TEE. In the below example we set the `authSig` to `null` as a way to tell the Lit Action runtime to use the `authSig` which was provided to the node through the `executeJs` call's `sessionSigs`. If you wish you may provide a different Auth Signature if the one provided from the session is not relevant to your use case. @@ -78,5 +99,6 @@ const res = await client.executeJs({ console.log("decrypted content sent from lit action:", res); ``` + ## Decrypting an API Key From Within an Action For a guide on decrypting an api for secure usage from within a lit action [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action) \ No newline at end of file diff --git a/docs/sdk/serverless-signing/encryption.md b/docs/sdk/serverless-signing/encryption.md index 935794c8..f40e32d8 100644 --- a/docs/sdk/serverless-signing/encryption.md +++ b/docs/sdk/serverless-signing/encryption.md @@ -14,6 +14,26 @@ Within a Lit action, you may choose to `encrypt` from within the context of an a The Lit Action implementation of `encrypt` will not return the `dataToEncryptHash`. This can be created with the `crypto.subtle.digest` implementation by specifying the `SHA-256` hashing option if your use case requires the message hash. ::: +## Using IPFS ID as an Access Control Parameter + +The ID will be included in the access control check when you use `decryptAndCombine` in an action. It's best to use the `currentActionIpfsId` when you want to share encrypted content that only a specific implementation can decrypt. This is useful for situations where you want to restrict access to sensitive information, like an API key, so that it can only be decrypted by a specific Lit Action. This way, the content will only be decrypted when `decryptAndCombine` is called within that action, keeping your credentials secure within the TEE (Trusted Execution Environment) of the Lit Network. + + +```js +{ + contractAddress: '', + standardContractType: '', + chain, + method: 'eth_getBalance', + parameters: [':currentActionIpfsId', 'latest'], + returnValueTest: { + comparator: '==', + value: '', + }, +} +``` + + # Encrypting content ```js @@ -38,7 +58,7 @@ The Lit Action implementation of `encrypt` will not return the `dataToEncryptHas await client.connect(); const code =`(async () => { - let ciphertext = Lit.Actions.encrypt({ + let { ciphertext, dataToEncryptHash } = Lit.Actions.encrypt({ accessControlConditions, to_encrypt: dataToEncrypt }); From 299757c1e907b061f257fc1c165434f9f496dd0b Mon Sep 17 00:00:00 2001 From: Bean Date: Sun, 2 Jun 2024 21:01:11 -0400 Subject: [PATCH 313/627] ref: fix sign and combine example (#296) --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 0dfdad50..9f1612dd 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -64,7 +64,7 @@ const code = `(async () => { // using ether's serializeTransaction // https://docs.ethers.org/v5/api/utils/transactions/#transactions--functions const serializedTx = ethers.utils.serializeTransaction(txn); - let hash = utils.keccak256(ethers.utils.toUtf8Bytes(serializedTx)); + let hash = ethers.utils.keccak256(ethers.utils.toUtf8Bytes(serializedTx)); // encode the message into an uint8array for signing const toSign = await new TextEncoder().encode(hash); const signature = await Lit.Actions.signAndCombineEcdsa({ From 7ddd526f26ea84df0cfd511eecd8e3a2dee03e38 Mon Sep 17 00:00:00 2001 From: Bean Date: Mon, 3 Jun 2024 22:30:31 -0400 Subject: [PATCH 314/627] fix: add 32 byte hashing to signAndCombineEcdsa example (#297) --- docs/sdk/serverless-signing/combining-signatures.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 9f1612dd..3424d4d9 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -19,7 +19,9 @@ const code = `(async () => { // sign "hello world" and allow all the nodes to combine the signature and return it to the action. const utf8Encode = new TextEncoder(); const toSign = utf8Encode.encode('Hello World'); - + ethers.utils.arrayify( + ethers.utils.keccak256(toSign) + ); // Will use the authentication provided to the "executeJs" call from the sdk on the client. const signature = await Lit.Actions.signAndCombineEcdsa({ toSign, From 1c7f663ba7cb5a71d44421e08465cc85b9659db6 Mon Sep 17 00:00:00 2001 From: Aaryan R S Date: Tue, 4 Jun 2024 14:11:34 +0530 Subject: [PATCH 315/627] fix(docusaurus.config.js): remove v3 from links --- docusaurus.config.js | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 6ac618e3..915d871b 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -29,20 +29,21 @@ const config = { // Please change this to your repo. editUrl: 'https://github.com/LIT-Protocol/docs/tree/main', routeBasePath: '/', - versions: { - '2.0': { - badge: true, - label: 'v2.x.x', - path: 'v2', - banner: 'none', - }, - current: { - badge: true, - label: 'v3.x.x', - path: 'v3', - banner: 'none', - }, - }, + disableVersioning: true, + // versions: { + // '2.0': { + // badge: true, + // label: 'v2.x.x', + // path: 'v2', + // banner: 'none', + // }, + // current: { + // badge: true, + // label: 'v3.x.x', + // path: 'v3', + // banner: 'none', + // }, + // }, }, theme: { customCss: require.resolve('./src/css/custom.css'), @@ -95,7 +96,7 @@ const config = { alt: 'Lit Protocol', src: 'brand/lit-logo-black.svg', srcDark: 'brand/lit-logo-white.svg', - href: 'https://developer.litprotocol.com/v3/', + href: 'https://developer.litprotocol.com/', }, items: [ { @@ -162,7 +163,7 @@ const config = { items: [ { label: 'Support', - to: '/v3/support/intro', + to: '/support/intro', }, ], }, From 0b26df180b68ef5b92af17ffa8b833661972dba7 Mon Sep 17 00:00:00 2001 From: Aaryan R S Date: Tue, 4 Jun 2024 21:00:40 +0530 Subject: [PATCH 316/627] fix(netifly.toml): remove v3 from links --- docusaurus.config.js | 4 ++-- netlify.toml | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 915d871b..d692c2b2 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -96,7 +96,7 @@ const config = { alt: 'Lit Protocol', src: 'brand/lit-logo-black.svg', srcDark: 'brand/lit-logo-white.svg', - href: 'https://developer.litprotocol.com/', + href: 'https://developer.litprotocol.com/v3/', }, items: [ { @@ -163,7 +163,7 @@ const config = { items: [ { label: 'Support', - to: '/support/intro', + to: '/v3/support/intro', }, ], }, diff --git a/netlify.toml b/netlify.toml index 97521414..2c0267cc 100644 --- a/netlify.toml +++ b/netlify.toml @@ -645,18 +645,17 @@ force = false status = 302 force = false -# 6/28/23 +# 4/6/24, redirect V3 links to without V3 links [[redirects]] - from = "/*" - to = "/v3/:splat" + from = "/v3/*" + to = "/:splat" status = 302 force = false -# home redirect 7/11/23, pointing to V2... update to V3 when ready [[redirects]] - from = "/" - to = "/v3/" + from = "/v3/" + to = "/" status = 302 force = false From b5a672d2da6ef4358c0579c737ad6235ba29946d Mon Sep 17 00:00:00 2001 From: Aaryan R S Date: Tue, 4 Jun 2024 21:15:27 +0530 Subject: [PATCH 317/627] fix: fix some broken links --- docs/sdk/tests.md | 4 ++-- docusaurus.config.js | 4 ++-- src/pages/feedback.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index 40d9445e..d11382b1 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -83,7 +83,7 @@ values={[ | NodeResourceIdNotFound | Invalid resourceId param. | | NodeRpcError | Error making the call to RPC url for the passed chain param. Please ensure that the contract call that you're making is correct including the contract address & it's passed params. Especially ensure the correctness of the functionAbi if you're using Custom Contract calls. | | NodeStorageError | An error occured while storing the encryption condition. Please look at the returned error for more info. | -| NodeWrongNetwork | Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../../v3/resources/supported-chains/) | +| NodeWrongNetwork | Either you didn't pass a chain param or it's invalid/not supported yet. Please see all the supported chain [here](../resources/supported-chains/) | | NodeHTTPConversionError | Internal error with the RPC url for the provided chain param. Please try again. If this error persists contact us on Discord. | | NodeUnknownError | An unknow error occured. Please try again. If this error persists contact us on Discord. | | NodeParserError | Error parsing a provided param. Please look at the returned error for more info. | @@ -92,7 +92,7 @@ values={[ | NodeSIWESigConversionError | Invalid SIWE capability's sig param. Please look at the returned error for more info. | | NodeSIWESessionKeySignatureInvalid | session.pubkey isn't signed in the wallet-signed SIWE message. | | NodeBlockchainError | Error making an on-chain call. Please look at the returned error for more info. | -| NodeBlockchainChainUnknown | Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../../v3/resources/supported-chains/)] | +| NodeBlockchainChainUnknown | Invalid chain value for the provided Authsig.sig param. Please see all the supported chain [here](../resources/supported-chains/)] | | NodeWalletSignatureJSONError | Error parsing Authsig. Please look at the returned error for more info. | | NodePOAPJSONError | Internal error parsing POAP as a JSON. Please try again. If this error persists contact us on Discord. | | NodeCosmosJSONError | Error parsing Cosmos result. Please ensure that the Cosmos condition passed is correct. | diff --git a/docusaurus.config.js b/docusaurus.config.js index d692c2b2..915d871b 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -96,7 +96,7 @@ const config = { alt: 'Lit Protocol', src: 'brand/lit-logo-black.svg', srcDark: 'brand/lit-logo-white.svg', - href: 'https://developer.litprotocol.com/v3/', + href: 'https://developer.litprotocol.com/', }, items: [ { @@ -163,7 +163,7 @@ const config = { items: [ { label: 'Support', - to: '/v3/support/intro', + to: '/support/intro', }, ], }, diff --git a/src/pages/feedback.md b/src/pages/feedback.md index 4a1bb4c8..c6a6ac10 100644 --- a/src/pages/feedback.md +++ b/src/pages/feedback.md @@ -1,3 +1,3 @@ :::info -Not finding the answer you're looking for? Share your feedback on these docs by creating an issue in our [GitHub Issues and Reports](https://github.com/LIT-Protocol/Issues-and-Reports/issues) repository or get support by visiting our [Support](/v3/support/intro) page. +Not finding the answer you're looking for? Share your feedback on these docs by creating an issue in our [GitHub Issues and Reports](https://github.com/LIT-Protocol/Issues-and-Reports/issues) repository or get support by visiting our [Support](/support/intro) page. ::: \ No newline at end of file From cb3482179d13ca804585d982ce8ed1fade219337 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 5 Jun 2024 02:34:25 -1000 Subject: [PATCH 318/627] Update faq.md to say WASM is not supported (#299) @joshLong145 mentioned that WASM is no longer supported --- docs/support/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/support/faq.md b/docs/support/faq.md index 572ac8fe..93f3d502 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -106,7 +106,7 @@ Check out this PKP x WalletConnect example [here](https://github.com/LIT-Protoco ### 11. Is Web Assembly supported in Lit Actions? -Yes! Check out this [sample project.](https://github.com/dOrgJelli/lit-protocol-wasm-test/blob/d4b8873f9a5bceaf98e7f7a1bf325bf597cbfa40/src/App.js#L6-L51.) +No, currently Web Assembly is not supported within Lit Actions. ### 12. I am getting the following error when connecting to the Lit nodes: "Error: Unable to verify the first certificate in nodejs". What may be causing this? From afbc4ca7d87b602477703eb98f68d60467ee00c8 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 5 Jun 2024 09:15:52 -1000 Subject: [PATCH 319/627] Init Payment Delegation DB doc --- .../paying-for-lit/payment-delegation-db.md | 269 ++++++++++++++++++ sidebars.js | 6 + 2 files changed, 275 insertions(+) create mode 100644 docs/sdk/paying-for-lit/payment-delegation-db.md diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md new file mode 100644 index 00000000..07c5b1cb --- /dev/null +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -0,0 +1,269 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import FeedbackComponent from "@site/src/pages/feedback.md"; + +# Payment Delegation Database + +:::info +Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** currently required on the `cayenne` network. +::: + +The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/lit-assets/blob/develop/blockchain/contracts/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle](../../network/rollup.mdx). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: + +- `POST` `/register-payer`: This route is used to register a new `payer` and will have a [Capacity Credit](../capacity-credits.md) minted for it which can be delegated to `payees` to pay for their usage of Lit +- `POST` `/add-users`: This route is used to add users (as Ethereum addresses) as `payees` for a specific `payer`. This allows the `payer` to pay for the usage of Lit for each user, without each user having to own a Capacity Credit + +Below we will walk through an example of registering a `payer` and adding users as `payees` for a specific `payer`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Capacity Credits](../capacity-credits.md) +- Lit's [Chronicle rollup](../../network/rollup.mdx) +- Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) +- You must have a valid Lit Relayer API key + + - This can be obtained by filling out this form +- You should know which paid Lit network you're going to use: `habanero` or `manzano` + +This guide doesn't have any external dependencies, but relies on `fetch` being natively available in Node.js, which means the minimum supported version is `v18`. + +## Paying for Lit + +Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. + +In order to use Lit, you must reserve capacity on the network. Typically this is done by choosing a `payer` wallet and manually minting a Capacity Credit for it on Chronicle. Afterwards you'd then provide an [Auth Signature](../authentication/auth-sig.md) delegating usage of the Capacity Credit to your users. + +This can be difficult to maintain as it often requires a server to be spun up to maintain a database of the `delegatees` and the expirations of their Capacity Credit Delegation Auth Signatures. Additionally, the Delegation Auth Signature, must be attached to every request the `delegatee` submits to the Lit network, requiring the aforementioned server to provide this to the `delegatees` before then can even being to interact with Lit's network. + +To simplify this process of delegating Capacity Credits, we've implemented the Payment Delegation Database. Using Lit's Relayer server, you can now register a `payer` wallet (which will mint a Capacity Credit) and manage your `delegatees` using the two simple API routes. + +## Registering a Payer Wallet + +:::info + +Registering a payer using Lit's Relayer server requires an API key, if you don't already have one, you can apply for one here. +::: + +:::warning +After successfully registering a `payer` with the Relayer server, you will receive a `payerSecretKey` as part of the API response. This secret key is essentially the **private key** of your new `payer` wallet and should be treated as any other private key would. + +It's also important to note that Lit **never** has access to this secret key and will **not** be able to recover it for you if you loose access to it. Please make sure this secret key is backed up securely, and refrain from leaking this key to unauthorized parties. Whomever has access to the key has the ability to modify the `delegatees` of your Capacity Credit. +::: + +A full implementation of the code in this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/registerPayer.ts). + +To register a new `payer` wallet, you're going to need to decide which Lit network you'd like to use. Currently the Relayer server has two endpoints depending on the Lit network: + +- For `habanero`, we'll be making requests to: + ``` + https://habanero-relayer.getlit.dev/register-payer + ``` +- For `manzano`, we'll be making requests to: + ``` + https://manzano-relayer.getlit.dev/register-payer + ``` + + +You're also going to need a Lit Relayer API key, which you can request one here if you don't already have one. + +To make the request, we'll being using Node.js' builtin `fetch` API, and we'll being by specifying the request headers like so: + +```ts +const headers = { + "api-key": YOUR_LIT_RELAYER_API_KEY, + "Content-Type": "application/json", +}; +``` + +You'll want to replace `YOUR_LIT_RELAYER_API_KEY` with the API key that was generated for you by Lit. + +Next we'll make the `fetch` request to the `register-payer` endpoint: + + + + +```ts +const response = await fetch( + "https://habanero-relayer.getlit.dev/register-payer", + { + method: "POST", + headers, + } +); +``` + + + + + +```ts +const response = await fetch( + "https://manzano-relayer.getlit.dev/register-payer", + { + method: "POST", + headers, + } +); +``` + + + + +The `response` of this request will have the following structure: + +```ts +interface RegisterPayerResponse { + payerSecretKey: string; + payerWalletAddress: string; +} +``` + +Where `payerSecretKey` is a randomly generated API key used to derive a [Hierarchical Deterministic key](https://github.com/WebOfTrustInfo/rwot1-sf/blob/master/topics-and-advance-readings/hierarchical-deterministic-keys--bip32-and-beyond.md) for your new `payer`. `payerWalletAddress` will be the Ethereum address corresponding to your new `payer` wallet derived from `payerSecretKey`. + +Lets now parse the API `response` and check for any errors: + +```ts +if (!response.ok) { + throw new Error(`Error: ${await response.text()}`); +} +``` + +In the event an error happened while registering a new `payer`, the Relayer provided error message will be available as `response.text()`. Some of the errors you may see include: + +- `Missing API key`: This error means you didn't provide your Lit Relayer API key as `api-key` in the request headers. +- `Failed to register payer`: This error means something went wrong internally within the Relayer when creating your `payer` wallet. In this instance, you should make a support inquiry to Lit so we can investigate this further. + +If `response.ok === true`, then we can move onto parsing the response data like so: + +```ts +const { payerWalletAddress, payerSecretKey } = (await response.json()) as RegisterPayerResponse; +``` + +:::warning +Remember that `payerSecretKey` is essentially the private key to your new `payer` wallet and should be handled securely. It **cannot** be recovered by Lit if you loose access to it. +::: + +Now that we have `payerSecretKey`, we'll use it to add users as `payees` for our `payer` wallet. + +## Adding Users as `payees` + +A full implementation of this code for this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/addUsers.ts). + +To add users as `payees` for your `payer` wallet, you're going to need the Relayer API URL for the same Lit network you registered your `payer` on: + - For `habanero`, we'll be making requests to: + ``` + https://habanero-relayer.getlit.dev/add-users + ``` + - For `manzano`, we'll be making requests to: + ``` + https://manzano-relayer.getlit.dev/add-users + ``` + + +You're also going to need a Lit Relayer API key, which you can request one here if you don't already have one. + +Lastly, you'll need the `payerSecretKey` generated for you by the Lit Relayer when you registered a `payer` wallet. + +To make the request, we'll being using Node.js' builtin `fetch` API, and we'll being by specifying the request headers like so: + +```ts +const headers = { + "api-key": YOUR_LIT_RELAYER_API_KEY, + "payer-secret-key": YOUR_LIT_PAYER_SECRET_KEY, + "Content-Type": "application/json", +}; +``` + +You'll want to replace `YOUR_LIT_RELAYER_API_KEY` with the API key that was generated for you by Lit, and `YOUR_LIT_PAYER_SECRET_KEY` with the `payerSecretKey` returned to you by the Relayer when you registered a `payer`. + +Next we'll make the `fetch` request to the `add-users` endpoint: + + + + +```ts +const response = await fetch( + "https://habanero-relayer.getlit.dev/add-users", + { + method: "POST", + headers, + body: JSON.stringify(USERS_YOU_WANT_TO_ADD), + } +); +``` + + + + + +```ts +const response = await fetch( + "https://manzano-relayer.getlit.dev/add-users", + { + method: "POST", + headers, + body: JSON.stringify(USERS_YOU_WANT_TO_ADD), + } +); +``` + + + + +Where `USERS_YOU_WANT_TO_ADD` is an array of Ethereum addresses that you would like to delegate usage of your Capacity Credit to, for example: + +```ts +const users = [ + "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", + "0x53d284357ec70ce289d6d64134dfac8e511c8a3d", +]; +``` + +The `response` of this request will have the following structure: + +```ts +interface AddUserResponse { + success: boolean; + error?: string; +} +``` + +Where `success` refers whether or not the users were successfully added as payees. + +Lets now parse the API `response` and check for any errors: + +```ts +if (!response.ok) { + throw new Error(`Error: ${await response.text()}`); +} +``` + +In the event an error happened while adding new users, the Relayer provided error message will be available as `response.text()`. Some of the errors you may see include: + +- `Missing or invalid API / Payer key`: This error means you didn't provide your Lit Relayer API key as `api-key` in the request headers. +- `Missing or invalid payee addresses`: This error means you either didn't provide an array of addresses within the body of the request, or the addresses weren't formatted correctly. +- `Failed to add payee: delegation transaction failed`: This error means something went wrong internally within the Relayer when attempting to add one of your specified users as a `payee`. In this instance, you should make a support inquiry to Lit so we can investigate this further. + +If `response.ok === true`, then we can move onto parsing the response data like so: + +```ts +const data = (await response.json()) as AddUserResponse; + if (data.success !== true) { + throw new Error(`Error: ${data.error}`); +} +``` + +If `data.success === true`, then your specified users were successfully added as `payees` for your `payer` wallet. diff --git a/sidebars.js b/sidebars.js index 24c7c217..ca4c4978 100644 --- a/sidebars.js +++ b/sidebars.js @@ -101,6 +101,12 @@ const sidebars = { keywords: ['guides'], }, items: [ + { + type: 'category', + label: 'Paying for Lit', + collapsed: true, + items: ['sdk/paying-for-lit/payment-delegation-db'], + }, { type: 'category', label: 'Authentication', From 463e0f64da68eddf7c6ed9d89653357eea525d29 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 5 Jun 2024 12:09:21 -1000 Subject: [PATCH 320/627] Correct note on v6 migration about `cayeene` and payments --- docs/sdk/migrations/6.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index c4da8cd5..8ad5f150 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -474,7 +474,7 @@ const authSig = await generateAuthSig({ There has been some confusion on the parameters for `createCapacityDelegationAuthSig`, particularly `capacityTokenId`, `delegateeAddresses`, and `uses` when delegating [capacity credits](../serverless-signing/quick-start.md). :::note -On the Lit network, `cayenne`, payment for network usage is **not** required. However, when migrating to `v6`, if you use Capacity Credits or are delegating them, your code should still be functional as long as the Capacity Credits you're using were minted on the `cayenne` network. Capacity Credits minted on `manzano` or `habanero` are **not** valid on the `cayenne` network. +Payment for usage of the Lit network is currently only required on the `habanero` and `manzano` networks. If you're using the `cayenne` network, payment is **not** required. ::: Below is a table detailing the expected behaviors of each: From 86cb93445effe9b52e272d6ba4e848ecb17cae10 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 5 Jun 2024 18:02:16 -1000 Subject: [PATCH 321/627] Addressing Josh's feedback --- .../paying-for-lit/payment-delegation-db.md | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index 07c5b1cb..dcb78c8c 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -5,10 +5,10 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Payment Delegation Database :::info -Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** currently required on the `cayenne` network. +Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** required on the `cayenne` network. ::: -The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/lit-assets/blob/develop/blockchain/contracts/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle](../../network/rollup.mdx). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: +The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle](../../network/rollup.mdx). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: - `POST` `/register-payer`: This route is used to register a new `payer` and will have a [Capacity Credit](../capacity-credits.md) minted for it which can be delegated to `payees` to pay for their usage of Lit - `POST` `/add-users`: This route is used to add users (as Ethereum addresses) as `payees` for a specific `payer`. This allows the `payer` to pay for the usage of Lit for each user, without each user having to own a Capacity Credit @@ -23,8 +23,7 @@ Before continuing with this guide, you should have an understanding of: - Lit's [Chronicle rollup](../../network/rollup.mdx) - Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) - You must have a valid Lit Relayer API key - - - This can be obtained by filling out this form + - This can be obtained by filling out [this form](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) - You should know which paid Lit network you're going to use: `habanero` or `manzano` This guide doesn't have any external dependencies, but relies on `fetch` being natively available in Node.js, which means the minimum supported version is `v18`. @@ -42,12 +41,11 @@ To simplify this process of delegating Capacity Credits, we've implemented the P ## Registering a Payer Wallet :::info - -Registering a payer using Lit's Relayer server requires an API key, if you don't already have one, you can apply for one here. +Registering a payer using Lit's Relayer server requires an API key, if you don't already have one, you can apply for one [here](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform). ::: :::warning -After successfully registering a `payer` with the Relayer server, you will receive a `payerSecretKey` as part of the API response. This secret key is essentially the **private key** of your new `payer` wallet and should be treated as any other private key would. +After successfully registering a `payer` with the Relayer server, you will receive a `payerSecretKey` as part of the API response. This secret key is essentially the **private key** of your new `payer` wallet and should be treated as any other private key would. API request using the `payerSecretKey` requires secure context, meaning it should not be used from a browser context where it would be leaked to the end user. It's also important to note that Lit **never** has access to this secret key and will **not** be able to recover it for you if you loose access to it. Please make sure this secret key is backed up securely, and refrain from leaking this key to unauthorized parties. Whomever has access to the key has the ability to modify the `delegatees` of your Capacity Credit. ::: @@ -65,8 +63,7 @@ To register a new `payer` wallet, you're going to need to decide which Lit netwo https://manzano-relayer.getlit.dev/register-payer ``` - -You're also going to need a Lit Relayer API key, which you can request one here if you don't already have one. +You're also going to need a Lit Relayer API key, which you can request one [here](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) if you don't already have one. To make the request, we'll being using Node.js' builtin `fetch` API, and we'll being by specifying the request headers like so: @@ -166,8 +163,7 @@ To add users as `payees` for your `payer` wallet, you're going to need the Relay https://manzano-relayer.getlit.dev/add-users ``` - -You're also going to need a Lit Relayer API key, which you can request one here if you don't already have one. +You're also going to need a Lit Relayer API key, which you can request one [here](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) if you don't already have one. Lastly, you'll need the `payerSecretKey` generated for you by the Lit Relayer when you registered a `payer` wallet. From 5b51d803890593ea7a38947a115d274866228983 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 5 Jun 2024 19:02:05 -1000 Subject: [PATCH 322/627] Address Alex's feedback --- .../paying-for-lit/payment-delegation-db.md | 55 ++++++++++++++----- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index dcb78c8c..b5df8f87 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -2,7 +2,19 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import FeedbackComponent from "@site/src/pages/feedback.md"; -# Payment Delegation Database +# Paying for Users Via The Lit Relayer + +## Paying for Lit + +Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. + +In order to use Lit, you must reserve capacity on the network. Typically this is done by choosing a `payer` wallet and manually minting a Capacity Credit for it on Chronicle. Afterwards you'd then provide an [Auth Signature](../authentication/auth-sig.md) delegating usage of the Capacity Credit to your users. + +This can be difficult to maintain as it often requires a server to be spun up to maintain a database of the `delegatees` and the expirations of their Capacity Credit Delegation Auth Signatures. Additionally, the Delegation Auth Signature, must be attached to every request the `delegatee` submits to the Lit network, requiring the aforementioned server to provide this to the `delegatees` before then can even being to interact with Lit's network. + +To simplify this process of delegating Capacity Credits, we've implemented the Payment Delegation Database. Using Lit's Relayer server, you can now register a `payer` wallet (which will mint a Capacity Credit) and manage your `delegatees` using the two simple API routes. This streamlined process offers a more robust way to delegate capacity to your users, without having to micro-manage Capacity Credit delegations. + +## The Payment Delegation Database :::info Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** required on the `cayenne` network. @@ -20,24 +32,21 @@ Below we will walk through an example of registering a `payer` and adding users Before continuing with this guide, you should have an understanding of: - [Capacity Credits](../capacity-credits.md) -- Lit's [Chronicle rollup](../../network/rollup.mdx) - Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) + - The Relayer is a centrally ran service by the Lit Protocol team to facilitate and subsidize some interactions with the Lit Protocol smart contracts on Chronicle. + - In this guide the Relayer does several things for you including: + - Acting as a gateway to the Chronicle blockchain + - Generating new `payer` wallets when you request to register one + - Handling the blockchain transactions to: + - Register the new `payer` wallet with the Payment Delegation Database smart contract + - Mint Capacity Credits for the new `payer` wallets + - Add users as `payees` for your `payer` wallet - You must have a valid Lit Relayer API key - This can be obtained by filling out [this form](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) - You should know which paid Lit network you're going to use: `habanero` or `manzano` This guide doesn't have any external dependencies, but relies on `fetch` being natively available in Node.js, which means the minimum supported version is `v18`. -## Paying for Lit - -Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. - -In order to use Lit, you must reserve capacity on the network. Typically this is done by choosing a `payer` wallet and manually minting a Capacity Credit for it on Chronicle. Afterwards you'd then provide an [Auth Signature](../authentication/auth-sig.md) delegating usage of the Capacity Credit to your users. - -This can be difficult to maintain as it often requires a server to be spun up to maintain a database of the `delegatees` and the expirations of their Capacity Credit Delegation Auth Signatures. Additionally, the Delegation Auth Signature, must be attached to every request the `delegatee` submits to the Lit network, requiring the aforementioned server to provide this to the `delegatees` before then can even being to interact with Lit's network. - -To simplify this process of delegating Capacity Credits, we've implemented the Payment Delegation Database. Using Lit's Relayer server, you can now register a `payer` wallet (which will mint a Capacity Credit) and manage your `delegatees` using the two simple API routes. - ## Registering a Payer Wallet :::info @@ -45,7 +54,7 @@ Registering a payer using Lit's Relayer server requires an API key, if you don't ::: :::warning -After successfully registering a `payer` with the Relayer server, you will receive a `payerSecretKey` as part of the API response. This secret key is essentially the **private key** of your new `payer` wallet and should be treated as any other private key would. API request using the `payerSecretKey` requires secure context, meaning it should not be used from a browser context where it would be leaked to the end user. +After successfully registering a `payer` with the Relayer server, you will receive a `payerSecretKey` as part of the API response. This secret key is essentially the **private key** of your new `payer` wallet and should be treated as any other private key would. API requests using the `payerSecretKey` requires secure context, meaning it should not be used from a browser context where it would be leaked to the end user. It's also important to note that Lit **never** has access to this secret key and will **not** be able to recover it for you if you loose access to it. Please make sure this secret key is backed up securely, and refrain from leaking this key to unauthorized parties. Whomever has access to the key has the ability to modify the `delegatees` of your Capacity Credit. ::: @@ -144,13 +153,17 @@ const { payerWalletAddress, payerSecretKey } = (await response.json()) as Regist ``` :::warning -Remember that `payerSecretKey` is essentially the private key to your new `payer` wallet and should be handled securely. It **cannot** be recovered by Lit if you loose access to it. +Remember that `payerSecretKey` is essentially the private key to your new `payer` wallet and should be handled securely. It **cannot** be recovered by Lit if you loose access to it, and you shouldn't make requests using it in a context like the browser where the end user would have access to it. ::: Now that we have `payerSecretKey`, we'll use it to add users as `payees` for our `payer` wallet. ## Adding Users as `payees` +:::warning +Remember that `payerSecretKey` is essentially the private key to your new `payer` wallet and should be handled securely. It **cannot** be recovered by Lit if you loose access to it, and you shouldn't make requests using it in a context like the browser where the end user would have access to it. +::: + A full implementation of this code for this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/addUsers.ts). To add users as `payees` for your `payer` wallet, you're going to need the Relayer API URL for the same Lit network you registered your `payer` on: @@ -263,3 +276,17 @@ const data = (await response.json()) as AddUserResponse; ``` If `data.success === true`, then your specified users were successfully added as `payees` for your `payer` wallet. + +## Summary + +This guide has showcased a new way to handle delegation of Capacity Credits to your users. Instead of manually minting Capacity Credits and managing the delegation of those credits to your users, you now have an understanding of how to use the to new API endpoints on the Lit Relayer server to: + +1. Register new `payer` wallets using the `/register-payer` endpoint + - Requests to this endpoint will create a new `payer` wallet, register it with the Payment Delegation Database smart contract on Chronicle, and will automatically mint a Capacity Credit for it +2. Adding users as `payees` to your `payer` wallet using the `/add-users` endpoint + - Requests to this endpoint will grant capacity to use the Lit network to the users you specify + - All requests to the Lit network that require payment, such as decryption and execution of Lit Actions, will be paid for by your `payer` wallet on behalf of the `payee`, reducing the friction of connecting your users to the Lit network + +:::warning +One last final reminder that your `payerSecretKey` is effectively the same thing as a private key, and needs to be handled securely. Any code that uses your secret in plaintext should only be accessible to authorized parties. Requests to the Relayer that use your secret key should not originate from the browser where end users would have access to your secret key. Typically, the code that interacts with the Relayer is going to live on your backend. +::: From 8f05516913013642929f8a994a5c2048d5b0194d Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 6 Jun 2024 14:00:57 -0700 Subject: [PATCH 323/627] Update intro.md --- docs/additional-examples/intro.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/additional-examples/intro.md b/docs/additional-examples/intro.md index 91194484..fa015ab0 100644 --- a/docs/additional-examples/intro.md +++ b/docs/additional-examples/intro.md @@ -1,6 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# Overview +# Example Code + +All example code in this documentation, along with additional examples, can be found in this [repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master). -Coming Soon... From 05af100fa9222bc01c2e5e1ae6638d9fa41c510b Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 6 Jun 2024 14:01:30 -0700 Subject: [PATCH 324/627] Update intro.md --- docs/additional-examples/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/additional-examples/intro.md b/docs/additional-examples/intro.md index fa015ab0..6b137a5d 100644 --- a/docs/additional-examples/intro.md +++ b/docs/additional-examples/intro.md @@ -2,6 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Example Code -All example code in this documentation, along with additional examples, can be found in this [repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master). +All example code present in the Lit docs, along with additional examples, can be found in this [repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master). From 81142d6c9f127186931459aad7f74901a29552d3 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 27 Jun 2024 20:08:26 -1000 Subject: [PATCH 325/627] Wrapped Keys Docs (#302) * Init overview and generate guides * Init importing private key guide * Init exporting wrapped key guide * WIP sign message guide * Update importing key guide * Update importing key guide * Update generating wrapped key guide * Update exporting wrapped key guide * Update exporting wrapped key guide * Update sign message guide * Update sign message guide * Init sign tx guide * Update sign tx guide * Init get wrapped key metadata guide * Update import key guide * Update getting wrapped key guide * Init storing wrapped key metadata guide * Init custom wrapped keys guide * Remove getPkpSessionSigs blurb * Update docs/sdk/wrapped-keys/custom-wrapped-keys.md Co-authored-by: DashKash54 <115020815+DashKash54@users.noreply.github.com> * Address feedback * Fix typo * Update docs/sdk/wrapped-keys/custom-wrapped-keys.md Co-authored-by: DashKash54 <115020815+DashKash54@users.noreply.github.com> * Address feedback * Address feedback * Add get and store metadata * Add broadcast note * Add lit_ to store key guide * Add note that auth method expiration needs to be 10 mins or less * Add note that any auth method can be used for getPkpSessionSigs --------- Co-authored-by: DashKash54 <115020815+DashKash54@users.noreply.github.com> --- docs/sdk/wrapped-keys/custom-wrapped-keys.md | 255 ++++++++ .../sdk/wrapped-keys/exporting-wrapped-key.md | 238 +++++++ .../wrapped-keys/generating-wrapped-key.md | 286 +++++++++ .../getting-wrapped-key-metadata.md | 242 +++++++ docs/sdk/wrapped-keys/importing-key.md | 249 +++++++ docs/sdk/wrapped-keys/overview.md | 71 ++ docs/sdk/wrapped-keys/sign-message.md | 239 +++++++ docs/sdk/wrapped-keys/sign-transaction.md | 605 ++++++++++++++++++ .../storing-wrapped-key-metadata.md | 332 ++++++++++ sidebars.js | 19 + 10 files changed, 2536 insertions(+) create mode 100644 docs/sdk/wrapped-keys/custom-wrapped-keys.md create mode 100644 docs/sdk/wrapped-keys/exporting-wrapped-key.md create mode 100644 docs/sdk/wrapped-keys/generating-wrapped-key.md create mode 100644 docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md create mode 100644 docs/sdk/wrapped-keys/importing-key.md create mode 100644 docs/sdk/wrapped-keys/overview.md create mode 100644 docs/sdk/wrapped-keys/sign-message.md create mode 100644 docs/sdk/wrapped-keys/sign-transaction.md create mode 100644 docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md diff --git a/docs/sdk/wrapped-keys/custom-wrapped-keys.md b/docs/sdk/wrapped-keys/custom-wrapped-keys.md new file mode 100644 index 00000000..c63acdf9 --- /dev/null +++ b/docs/sdk/wrapped-keys/custom-wrapped-keys.md @@ -0,0 +1,255 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Custom Wrapped Keys + +This guide provides an overview of how custom Lit Actions can be used to provide functionality, such as signing, with Wrapped Keys. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +Typically, you would want to implement a custom Lit Action to support signing with a Wrapped Key that has an underlying private key derived from an curve other than what's currently supported by the Wrapped Keys SDK. + +However, you are able to provide arbitrary Lit Action code, so you can adapt Wrapped Keys to support your use case. + + +## Provided Wrapped Keys Lit Actions + +Currently the Wrapped Keys SDK includes Lit Action to support the following: + +### Wrapped Keys Derived from `K256` Algorithm + +For Wrapped Keys derived from the `K256` algorithm (commonly known as `ecdsa`): + +- Generating `K256` (commonly known as `ecdsa`) private keys within a Lit Action + - Uses the [generateEncryptedEthereumPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/generateEncryptedEthereumPrivateKey.js) Lit Action +- Signing arbitrary messages using Ethers.js' [signMessage](https://docs.ethers.org/v5/api/signer/#Signer-signMessage) + - Uses the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action +- Signing Ethers.js transaction objects using [signTransaction](https://docs.ethers.org/v5/api/signer/#Signer-signTransaction) + - Uses the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action + +### Wrapped Keys Derived `ed25519` Algorithm + +For Wrapped Keys derived from the `ed25519` algorithm (used for Solana private key): + +- Generating `ed25519` private keys within a Lit Action using the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) SDK + - Uses the [generateEncryptedSolanaPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/generateEncryptedSolanaPrivateKey.js) Lit Action +- Signing arbitrary messages using the `@solana/web3.js` SDK + - Uses the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action +- Signing Solana transaction objects using the `@solana/web3.js` SDK + - uses the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action + +## Implementing a Custom Lit Action + +Implementing your own Lit Action allows you to do something different than what the provided Wrapped Key Lit Actions do. For example, supporting new functionality such as signing with a private key derived from an alternative curve to `K256` or `ed25519`. + +You can use the [Provided Wrapped Keys Lit Actions](#provided-wrapped-keys-lit-actions) as guides on how to implement your custom Lit Action. Below we will be covering common functionality for Wrapped Key Lit Actions. + +### `accessControlConditions` + +Access Control Conditions are provided to the Lit SDK when the underlying private key for the Wrapped Key is encrypted. If you [imported](./importing-key.md) or [generated](./generating-wrapped-key.md) a Wrapped Key, then the default Access Control Conditions used to encrypt the private key are: + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +If you manually encrypt your private key with custom Access Control Conditions, then you'll need to supply them yourself when calling your custom Lit Action. + +### Using A Third-party SDK Within Your Lit Action + +The [Ethers.js v5](https://docs.ethers.org/v5/) SDK is already made available within a Lit Action. For any other SDK, you'll need to bundle the code with your Lit Action. Lit Actions execute within a [Deno](https://deno.com/) environment, so any APIs that aren't supported by Deno will need to be accounted for via polyfills and/or shims. + +As a reference implementation, the Wrapped Keys SDK uses [esbuild](https://esbuild.github.io/) to bundle the `@solana/web3.js` SDK with the Lit Action code, and provide the required shim. [This](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/esbuild.config.js) is the `esbuild.config.js` used and [this](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/buffer.shim.js) is the shim used to include [buffer](https://www.npmjs.com/package/buffer) within the bundled Lit Action code. + +Then, as you can see in the [Solana Wrapped Keys Lit Actions](#wrapped-keys-derived-ed25519-algorithm), various `@solana/web3.js` exports are `import`ed into the Lit Action code as usual. + +### Generating and Encrypting a Private Key + +If you want to implementing generation and encryption of a private key using an alternative private key algorithm, then you should make use of the following Lit Actions SDK methods: + +[runOnce](https://actions-docs.litprotocol.com/#runonce) allows you to specify code that should only be ran by a single Lit node instead of having all Lit nodes run the same code. This is useful for executing the code that generates and encrypts the private key. + +In addition to generating the private key within `runOnce`, you'll use the [encrypt](https://actions-docs.litprotocol.com/#encrypt) method to encrypt the private key. + +Running both the key generation and encryption code within `runOnce` results in only a single Lit node having access to the clear text private key, as only what you return from `runOnce` will be shared with the other Lit nodes. + +To work with the Wrapped Keys SDK, your Lit Action should return the `ciphertext`, `dataToEncryptHash`, and the corresponding public key to the generated private key as a `JSON.stringify`ed object. This can be done using the [setResponse](https://actions-docs.litprotocol.com/#setresponse) method like so: + +```ts +(async () => { + const LIT_PREFIX = 'lit_'; + + const result = await Lit.Actions.runOnce( + { waitForResponse: true, name: 'encryptedPrivateKey' }, + async () => { + // Your private key generation logic... + + const generatedPrivateKey = "your_private_key"; + const utf8Encode = new TextEncoder(); + const encodedPrivateKey = utf8Encode.encode( + `${LIT_PREFIX}${generatedPrivateKey}` // For enhanced security, you should prepend all generated private keys with "lit_" + ); + + const { ciphertext, dataToEncryptHash } = await Lit.Actions.encrypt({ + accessControlConditions, // This should be passed into the Lit Action + to_encrypt: encodedPrivateKey, + }); + return JSON.stringify({ + ciphertext, + dataToEncryptHash, + // The following is pseudo code, but you need to return + // the public key for the generated private key as a string. + publicKey: generatedPrivateKey.publicKey.toString(), + }); + } + ); + + // Any other code you'd like to run... + + Lit.Actions.setResponse({ + response: result, + }); +}) +``` + +#### Storing the Encryption Metadata + +After generating and encrypting the private key, the resulting encryption metadata (`ciphertext`, `dataToEncryptHash`, and the `publicKey`) should be stored in Lit's private instance of DynamoDB using the [storeEncryptedKeyMetadata](./storing-wrapped-key-metadata.md) method included in the Wrapped Keys SDK. + +### Decrypting a Wrapped Key + +Decrypting a Wrapped Key, typically to be used for signing, can be done using the Lit Action SDK's[decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) method. + +In order to call `decryptToSingleNode`, you will need to provide the following arguments: + +##### `accessControlConditions` + +This value is the Access Control Conditions provided to the Lit SDK when the underlying private key for the Wrapped Key was encrypted. If you [imported](./importing-key.md) or [generated](./generating-wrapped-key.md) a Wrapped Key, then the default Access Control Conditions used to encrypt the private key are: + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +If you manually encrypted your private key with custom Access Control Conditions, then you'll need to supply them yourself when calling your custom Lit Action. + +##### `ciphertext` + +This is the encrypted form of the underlying private key for the Wrapped Key (encrypted using the Lit network's BLS public key). This value is returned by the encryption functions from the Lit SDK e.g. [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html). + +##### `dataToEncryptHash` + +This is the `SHA-256` hash of the underlying private key for the Wrapped Key that was encrypted using the Lit network's BLS public key. This value is returned by the encryption functions from the Lit SDK e.g. [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html). + +##### `authSig` + +This value should be hardcoded as `null`. + +##### `chain` + +This value should be hardcoded as `ethereum`. + +#### Fetching a Wrapped Key's Metadata + +If you stored the encryption metadata in Lit's private instance of DynamoDB using the [storeEncryptedKeyMetadata](./storing-wrapped-key-metadata.md) method, then you can retrieve the metadata using the [getEncryptedKeyMetadata](./getting-wrapped-key-metadata.md) method included in the Wrapped Keys SDK. + +#### Example Implementation + +Once you have the required arguments, you can call `decryptToSingleNode` like so: + +```ts +(async () => { + const LIT_PREFIX = 'lit_'; + + let decryptedPrivateKey; + try { + decryptedPrivateKey = await Lit.Actions.decryptToSingleNode({ + accessControlConditions, + chain: 'ethereum', + ciphertext, + dataToEncryptHash, + authSig: null, + }); + } catch (error) { + Lit.Actions.setResponse({ + response: `Error: When decrypting data to private key: ${error.message}`, + }); + return; + } + + if (!decryptedPrivateKey) { + // Exit the nodes which don't have the decryptedData + return; + } + + // Here we're checking if LIT_PREFIX was prepended to the private key, + // and removing it if it exists before using the key. + const privateKey = decryptedPrivateKey.startsWith(LIT_PREFIX) + ? decryptedPrivateKey.slice(LIT_PREFIX.length) + : decryptedPrivateKey; + + // The rest of your Lit Action code... +}) +``` + +After decrypting the private key, you'll have access to it's clear text form to be used for signing message, transaction, or for any other use case. + +## Executing Your Custom Lit Action + +After implementing your custom Lit Action, you'll want to make use of Lit SDK's [executeJs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#executeJs) method to execute the Lit Action with any required arguments. + +As a reference implementation, you can take a look at the following methods used by the Wrapped Keys SDK to call the [Provided Wrapped Keys Lit Actions](#provided-wrapped-keys-lit-actions): + +- [generateKeyWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts) +- [signMessageWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts) +- [signTransactionWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts) + +To call `executeJs`, you'll need to pass the following arguments: + +##### `sessionSigs` + +If your Wrapped Key was encrypted using the default Access Control Conditions, this would be the case if your private key was [imported](./importing-key.md) or [generated](./generating-wrapped-key.md), then these Session Signatures will need to be generated by the same PKP used when import or generating the Wrapped Keys. This is because the Wrapped Key was encrypted with Access Control Conditions to only authorize decryption if the provided `sessionSigs` were generated by the PKP that created the Wrapped Key. + +If you implemented your own private key encryption logic, then `sessionSigs` may not be relevant for decryption, but are still required to authenticate and authorize yourself with the Lit network to allow for usage of the network. + +##### `ipfsId` + +The Wrapped Keys SDK methods make use of this property so that the Lit Action code doesn't have to be bundled into the `@lit-protocol/wrapped-keys` package. Additionally, because the Solana Wrapped Key Lit Actions code includes the `@solana/web3.js` SDK, the resulting code is too large to pass as a string when calling `executeJs`. + +If you're bundling a third-party SDK with your Lit Action code, or just prefer this method, you should upload your code to [IPFS](https://www.ipfs.com/) and provide the generated Content Identifier (CID) as the value for this property. + +:::note +[IPFS Pinata](https://www.pinata.cloud/) is an easy to use service to upload and pin files to IPFS. +::: + +##### `code` + +Alternatively, instead of using `ipfsId`, if your Lit Action code is simple enough, you can directly provide your Lit Action code as a `string` using this property. + +##### `jsParams` + +This is an object containing any parameters required by your Lit Action. The key for each property in this object will be the name of the variable within your Lit Action code. + +## Summary + +This overview covers the basis of implementing custom Lit Actions to be used with Wrapped Keys. If you have any questions, or need help implementing custom Lit Actions for your Wrapped Keys use case, feel free to reach out to us on our [Discord](https://litgateway.com/discord) or [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md new file mode 100644 index 00000000..d1791094 --- /dev/null +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -0,0 +1,238 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Exporting a Wrapped Key + +This guide covers the `exportPrivateKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +Using the `exportPrivateKey` function, you can export existing Wrapped Keys to decrypt and obtain their underlying private keys. The Wrapped Keys SDK will look up the corresponding encryption metadata (`ciphertext` and `dataToEncryptHash`) for your PKP in Lit's private DynamoDB instance. If found, it well then use your provided PKP Session Signatures to authorize decryption of the private key, and will return it to you in clear text. + +Below we will walk through an implementation of `exportPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `exportPrivateKey`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/export-private-key.ts) + +```ts +/** Exports a previously persisted private key from the wrapped keys service for direct use by the caller, along with the keys metadata + */ +export async function exportPrivateKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + } +): Promise<{ + pkpAddress: string; + decryptedPrivateKey: string; + publicKey: string; + litNetwork: LIT_NETWORKS_KEYS; + keyType: string; +}> +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +### Return Value + +#### `pkpAddress` + +This is the Ethereum address for the PKP that is associated with the Wrapped Key i.e. the PKP that created the Session Signatures when the Wrapped Key was imported/generated, and used for encrypting the private key. The address is derived from the provided `pkpSessionSigs`. + +#### `decryptedPrivateKey` + +:::warning +This return value is the private key **unencrypted** and **clear text**. + +Be mindful when and where you're calling this method as to not expose the private key to anyone who should not have direct access to it. +::: + +This is the underlying private key for the Wrapped Key that was either imported into the Lit network, or generated by a Wrapped Keys Lit Action. + +#### `publicKey` + +This is the corresponding public key for the wrapped private key that was either imported into the Lit network, or generated by a Wrapped Keys Lit Action. + +#### `litNetwork` + +This is the Lit network that the `LitNodeClient` was connected to when the Wrapped Key was created. + +#### `keyType` + +This is the algorithm used to generate the underlying private key for the Wrapped Key. + +## Example Implementation + +Now that we know what the `exportPrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider( + "https://chain-rpc.litprotocol.com/http" + ) +); +``` + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Exporting a Wrapped Key + +:::warning +The return value from successfully calling `exportPrivateKey` includes the **unencrypted** private key in **clear text**. + +Be mindful when and where you're calling this method as to not expose the private key to anyone who should not have direct access to it. +::: + +Now that we have all that we need, we can call `exportPrivateKey` to export the underlying private key for the Wrapped Key: + +```ts +import { api } from "@lit-protocol/wrapped-keys"; + +const { exportPrivateKey } = api; + +const exportedPrivateKeyResult = await exportPrivateKey({ + pkpSessionSigs, + litNodeClient, +}); +``` + +### Summary + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). + +After executing the example implementation above, you will have exported the underlying private key for the Wrapped Key associated with the PKP that produced the provided `pkpSessionSigs`. diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md new file mode 100644 index 00000000..65e99deb --- /dev/null +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -0,0 +1,286 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Generating a New Key + +This guide covers the `generatePrivateKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +Using the `generatePrivateKey` function, you can request a Lit node to generate a new private key within it's trusted execution environment (TEE). Once generated, the private key will be encrypted using Lit network's BLS key, and the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) will be returned and stored by Lit on your behalf in a private DynamoDB instance. + +Afterwards, you will be able to make use of the SDK's signing methods (`signTransactionWithEncryptedKey` and `signMessageWithEncryptedKey`) to sign messages and transaction with the generated private key, all within a Lit node's TEE. + + +Below we will walk through an implementation of `generatePrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/generateWrappedKey.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `generatePrivateKey`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/generate-private-key.ts) + +```ts +/** + * Generates a random private key inside a Lit Action, and persists the key and its metadata to the wrapped keys service. + * Returns the public key of the random private key, and the PKP address that it was associated with. + * We don't return the generated wallet address since it can be derived from the publicKey + * + * The key will be associated with the PKP address embedded in the `pkpSessionSigs` you provide. One and only one wrapped key can be associated with a given LIT PKP. + */ +async function generatePrivateKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + network: 'evm' | 'solana'; + } +): Promise<{ + pkpAddress: string; + generatedPublicKey: string; +}> +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +#### `network` + + +This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L12) which currently consists of: + + - `evm` This will generate a private key using the ECDSA curve. + - `solana` This will generate a private key using the Ed25519 curve. + +### Return Value + + +`generatePrivateKey` will return a [GeneratePrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L82-L90) object after it successfully generates and encrypts the private key and stores the encryption metadata. + +```ts +/** @typedef GeneratePrivateKeyResult + * @property { string } pkpAddress The LIT PKP Address that the key was linked to; this is derived from the provided pkpSessionSigs + * @property { string } generatedPublicKey The public key component of the newly generated keypair + * + */ +interface GeneratePrivateKeyResult { + pkpAddress: string; + generatedPublicKey: string; +} +``` + +#### `pkpAddress` + +This address, derived from the `pkpSessionSigs`, is what was used for the Access Control Conditions when encrypting the private key. + +#### `generatedPublicKey` + +This is the public key for the generated private key. The corresponding address, derived from the public key, can be obtained using the [getEncryptedKeyMetadata](./get-wrapped-key-metadata.md) function from the Wrapped Keys SDK. + +## Example Implementation + +Now that we know what the `generatePrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/generateWrappedKey.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-browser \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/contracts-sdk \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-browser \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/contracts-sdk \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider( + "https://chain-rpc.litprotocol.com/http" + ) +); +``` + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Generating a Private Key + +Now that we have all that we need, we can call `generatePrivateKey` to generate our Wrapped Key: + + + + +```ts +import { + api, + NETWORK_EVM, +} from "@lit-protocol/wrapped-keys"; + +const { generatePrivateKey } = api; + +const { pkpAddress, generatedPublicKey } = await generatePrivateKey({ + pkpSessionSigs, + network: 'evm', + litNodeClient, +}); +``` + + + + + +```ts +import { + api, + NETWORK_SOLANA, +} from "@lit-protocol/wrapped-keys"; + +const { generatePrivateKey } = api; + +const { pkpAddress, generatedPublicKey } = await generatePrivateKey({ + pkpSessionSigs, + network: 'solana', + litNodeClient, +}); +``` + + + + +### Summary + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/generateWrappedKey.ts). + +After executing the example implementation above, the `generatePrivateKey` function will return you an object containing the corresponding public key for your generated Wrapped Key, and the PKP address that is associated with it (and used to encrypt the Wrapped Key). + +With you new Wrapped Key, you can explore the additional guides in this section to sign messages and transactions: + +- [Signing a Message](./sign-message.md) +- [Signing a Transaction](./sign-transaction.md) diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md new file mode 100644 index 00000000..5b8e0250 --- /dev/null +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -0,0 +1,242 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Getting Wrapped Key Metadata + +This guide covers the `getEncryptedKeyMetadata` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +The `getEncryptedKeyMetadata` function allows you to request a Wrapped Key's metadata stored within Lit's private DynamoDB instance. Covered in detail [further in this guide](#return-value), the metadata includes properties such as the encrypted private key's `ciphertext` and `dataToEncryptHash` that could be used to decrypt the key outside of the Wrapped Key Lit Actions. + + +Below we will walk through an implementation of `getEncryptedKeyMetadata`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `getEncryptedKeyMetadata`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/get-encrypted-key-metadata.ts) + +```ts +/** Get a previously encrypted and persisted private key and its metadata. + * Note that this method does _not_ decrypt the private key; only the _encrypted_ key and its metadata will be returned to the caller. + */ +export async function getEncryptedKeyMetadata( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + } +): Promise<{ + ciphertext: string; + dataToEncryptHash: string; + publicKey: string; + pkpAddress: string; + keyType: string; + litNetwork: LIT_NETWORKS_KEYS; +}> +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +### Return Value + +#### `ciphertext` + +This return value is the encrypted form of the underlying private key for the Wrapped Key associated with the PKP that produced `pkpSessionSigs`. + +Used with the `dataToEncryptHash`, Access Control Conditions, and `pkpSessionSigs`, [you can decrypt](../../sdk/access-control/quick-start#performing-decryption) the `ciphertext` to get the clear text private key. + +#### `dataToEncryptHash` + +This is the `SHA-256` hash of the `ciphertext`. + +Used with the `ciphertext`, Access Control Conditions, and `pkpSessionSigs`, [you can decrypt](../../sdk/access-control/quick-start#performing-decryption) the `ciphertext` to get the clear text private key. + +#### `publicKey` + +This is the corresponding public key for the underlying private key for the Wrapped Key. + +#### `pkpAddress` + +This is the Ethereum address for the PKP that is associated with the Wrapped Key i.e. the PKP that created the Session Signatures when the Wrapped Key was imported/generated, and used for encrypting the private key. The address is derived from the provided `pkpSessionSigs`. + +#### `keyType` + +This is the algorithm used to generate the underlying private key for the Wrapped Key. + +#### `litNetwork` + +This is the Lit network that the `LitNodeClient` was connected to when the Wrapped Key was created. + +## Example Implementation + +Now that we know what the `getEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider( + "https://chain-rpc.litprotocol.com/http" + ) +); +``` + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Getting a Wrapped Key's Metadata + +Now that we know what the `getEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). + +```ts +import { api } from "@lit-protocol/wrapped-keys"; + +const { getEncryptedKeyMetadata } = api; + +const wrappedKeyMetadata = await getEncryptedKeyMetadata({ + pkpSessionSigs, + litNodeClient, +}); +``` + +### Summary + + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). + +After executing the example implementation above, you will have exported the metadata for the Wrapped Key associated with the PKP that produced the provided `pkpSessionSigs`. diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md new file mode 100644 index 00000000..0352e8ad --- /dev/null +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -0,0 +1,249 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Importing an Existing Private Key + +This guide covers the `importPrivateKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +Using the `importPrivateKey` function, you can import an existing private key into the Lit network to be turned into a Wrapped Key. The private key will first be encrypted using Lit network's BLS key, and the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) will be returned to you and stored by Lit on your behalf in a private DynamoDB instance. + +Afterwards, you will be able to make use of the SDK's signing methods (`signTransactionWithEncryptedKey` and `signMessageWithEncryptedKey`) to sign messages and transaction with the resulting Wrapped Key, all within a Lit node's trusted execution environment. + + +Below we will walk through an implementation of `importPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/importKey.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `importPrivateKey`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/import-private-key.ts) + +```ts +/** + * Import a provided private key into the wrapped keys service backend. + * First, the key is pre-pended with `LIT_PREFIX` for security reasons, then the salted key is encrypted and stored in the backend service. + * The key will be associated with the PKP address embedded in the `pkpSessionSigs` you provide. One and only one wrapped key can be associated with a given LIT PKP. + */ +async function importPrivateKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + privateKey: string; + publicKey: string; + keyType: string; + } +): Promise +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the address derived from the `pkpSessionSigs`. This restricts the decryption (and by extension, usage) of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. It's used to communicate with both the Lit network and the Wrapped Keys service. + +#### `privateKey` + +This parameter is the private key (as a clear text `string`) you're importing into the Lit network to be made into a Wrapped Key. The Wrapped Keys SDK encrypts it using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method from the Lit SDK, with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is derived from the provided `pkpSessionSigs`. + +This means that the PKP used to produce the Session Signatures (`pkpSessionSigs`) is the only entity authorized to decrypt the imported private key. + +#### `publicKey` + +This is the public key for the private key you're importing. It's stored in Lit's private DynamoDB instance to allow for querying of the Wrapped Key's address without having to decrypt the private key within the Wrapped Key's Lit Action. + +#### `keyType` + +This is the algorithm used to derive the private key you're importing. This might be `K256`, `ed25519`, or other key formats. + +### Return Value + +`importPrivateKey` will return `Promise` after it successfully encrypts and imports the private key. The `string` returned is the corresponding Ethereum address for the PKP used to generate `pkpSessionSigs`. + +## Example Implementation + +Now that we know what the `importPrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/importKey.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider( + "https://chain-rpc.litprotocol.com/http" + ) +); +``` + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Importing a Private Key + +Now that we have all that we need, we can call `importPrivateKey` to import our key as a Wrapped Key. + +```ts +import { importPrivateKey } from "@lit-protocol/wrapped-keys"; + +const pkpAddress = await importPrivateKey({ + pkpSessionSigs, + litNodeClient, + privateKey: process.env.ETHEREUM_PRIVATE_KEY, + publicKey: process.env.ETHEREUM_PUBLIC_KEY, + keyType: 'K256' +}); +``` + +### Summary + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/importKey.ts). + +After executing the example implementation above, you will have imported your private key as a Wrapped Key into the Lit network. The `pkpAddress` returned from `importPrivateKey` is confirmation of what PKP has authorization to decrypt and use the Wrapped Key. + +With you new Wrapped Key, you can explore the additional guides in this section to sign messages and transactions: + +- [Signing a Message](./sign-message.md) +- [Signing a Transaction](./sign-transaction.md) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md new file mode 100644 index 00000000..ea115c42 --- /dev/null +++ b/docs/sdk/wrapped-keys/overview.md @@ -0,0 +1,71 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Overview + +Wrapped Keys are private keys that are either imported into the Lit network, or generated within the trusted execution environment (TEE) of a Lit node via a Lit Action. + +Wrapped Keys are private keys that are either imported into the Lit network, or generated within the trusted execution environment (TEE) of a Lit node via a Lit Action. The private keys are first encrypted using Lit network's BLS key, then the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) is stored by Lit, in a private instance of DynamoDB, for retrieval when you request a Lit node to sign with your Wrapped Key. + +Using the Wrapped Keys SDK, you can request a Lit node to sign arbitrary messages and transactions, optionally sending signed transaction to a network. The Lit node will combine decryption shares of your Wrapped Key from other Lit nodes within it's TEE. This results in the complete unencrypted key used for signing only existing temporarily within the secure execution context of a Lit node's TEE. + +Lastly, the exporting of imported or generated private keys from Lit's network is also supported. + +## How it Works + +Whether you import an existing private key, of generate a new one inside of the Wrapped Key Lit Action, the clear text private key are encrypted using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method. The Access Control Conditions are set to: + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the Ethereum address that's derived from your provided PKP's public key. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +## The SDK + +The Wrapped Keys SDK streamlines the process of interacting with this new primitive and is available to install from NPM: + + + + +```bash +npm i @lit-protocol/wrapped-keys +``` + + + + + +```bash +yarn add @lit-protocol/wrapped-keys +``` + + + + +With the SDK, you have the following functions available to you: + +- `generatePrivateKey` - Generates a random private key within a Lit Action and returns the public key. +- `importPrivateKey` - Import an existing private key into Lit's network. +- `exportPrivateKey` - Export a previously imported or generated private key from Lit's network. +- `signMessageWithEncryptedKey` - Use a Wrapped Key to sign an arbitrary message. +- `signTransactionWithEncryptedKey` - Use a Wrapped Key to sign a transaction, with the option to submit it to a chosen network. + +Within this section of the docs, we have several guides covering the usage of the above SDK methods. Please refer to them to learn how to use these methods, but feel free to reach out to us on our [Discord](https://litgateway.com/discord) or [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/sdk/wrapped-keys/sign-message.md new file mode 100644 index 00000000..fdf1b558 --- /dev/null +++ b/docs/sdk/wrapped-keys/sign-message.md @@ -0,0 +1,239 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Signing a Message + +This guide covers the `signMessageWithEncryptedKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +Using the `signMessageWithEncryptedKey` function, you can sign an arbitrary message using a Wrapped Key. The Wrapped Keys SDK will look up the corresponding encryption metadata (`ciphertext` and `dataToEncryptHash`) for your PKP in Lit's private DynamoDB instance. If found, it well then use your provided PKP Session Signatures to authorize decryption of the private key, and will sign your provided message, returning the signed message. + +Below we will walk through an implementation of `signMessageWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `signMessageWithEncryptedKey`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts) + +```ts +/** + * Signs a message inside the Lit Action using the previously persisted wrapped key associated with the current LIT PK. + * This method fetches the encrypted key from the wrapped keys service, then executes a Lit Action that decrypts the key inside the LIT action and uses + * the decrypted key to sign the provided transaction + */ +async function signMessageWithEncryptedKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + network: 'evm' | 'solana'; + messageToSign: string | Uint8Array; + } +): Promise +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +#### `network` + + + +This parameter dictates what message signing Lit Action is used to sign `messageToSign`. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L9-L12) which currently consists of: + + - `evm` This will use the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action. + - Use this network if your Wrapped Key is a private key derived from the ECDSA curve. + - Uses Ethers.js' [signMessage](https://docs.ethers.org/v5/api/signer/#Signer-signMessage) function to sign `messageToSign`. + - `solana` This will use the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action. + - Use this network if your Wrapped Key is a private key derived from the Ed25519 curve. + - Uses the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) package to create a signer using the decrypted Wrapped Key, and the [tweetnacl](https://github.com/dchest/tweetnacl-js) package to sign `messageToSign`. + +#### `messageToSign` + +This parameter is the message, provided as either a `string` or a `Uint8Array`, that you would like the Wrapped Key to sign. + +### Return Value + +`signMessageWithEncryptedKey` will return the signature as `Promise` after it successfully decrypts and signs the provided `messageToSign` using the Wrapped Key associated with the PKP derived from `pkpSessionSigs`. + +## Example Implementation + +Now that we know what the `signMessageWithEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Signing a Message With A Wrapped Key + +Now that we have all that we need, we can call `signMessageWithEncryptedKey` to sign a message with a Wrapped Key: + + + + +```ts +import { api } from "@lit-protocol/wrapped-keys"; + +const { importPrivateKey } = api; + +const signature = await signMessageWithEncryptedKey({ + pkpSessionSigs, + network: 'evm', + messageToSign: "The answer to the Universe is 42.", + litNodeClient, +}); +``` + + + + + +```ts +import { api } from "@lit-protocol/wrapped-keys"; + +const { importPrivateKey } = api; + +const signature = await signMessageWithEncryptedKey({ + pkpSessionSigs, + network: 'solana', + messageToSign: "The answer to the Universe is 42.", + litNodeClient, +}); +``` + + + + +### Summary + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). + +After executing the example implementation above, you will have a signed message using the Wrapped Key that's associated with PKP derived from the provided `pkpSessionSigs`. diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/sdk/wrapped-keys/sign-transaction.md new file mode 100644 index 00000000..26eaf2df --- /dev/null +++ b/docs/sdk/wrapped-keys/sign-transaction.md @@ -0,0 +1,605 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Signing a Transaction + +This guide covers the `signTransactionWithEncryptedKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +Using the `signTransactionWithEncryptedKey` function, you can sign a transaction using a Wrapped Key. The Wrapped Keys SDK will look up the corresponding encryption metadata (`ciphertext` and `dataToEncryptHash`) for your PKP in Lit's private DynamoDB instance. If found, it well then use your provided PKP Session Signatures to authorize decryption of the private key, and will sign your provided message, returning the signed message. If the [broadcast](#broadcast) setting is enabled, then the signed transaction will also be broadcasted to the specified [chain](#chain). + +Below we will walk through an implementation of `signTransactionWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `signTransactionWithEncryptedKey`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts) + + + + +```ts +/** + * Signs a transaction inside the Lit Action using the previously persisted wrapped key associated with the current LIT PK. + * This method fetches the encrypted key from the wrapped keys service, then executes a Lit Action that decrypts the key inside the LIT action and uses + * the decrypted key to sign the provided transaction + * Optionally, if you pass `broadcast: true`, the LIT action will also submit the signed transaction to the associated RPC endpoint on your behalf + */ +async function signTransactionWithEncryptedKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + network: 'evm'; + broadcast: boolean; + unsignedTransaction: EthereumLitTransaction; + } +): Promise +``` + +`EthereumLitTransaction` has the following interface: + +:::note +`chain` **must** be one of the [supported EVM networks](https://github.com/LIT-Protocol/js-sdk/blob/cc95304922d0e0b00300e0198de2455586b858a4/packages/constants/src/lib/constants/constants.ts#L29-L601). +::: + +```ts +/** EthereumLitTransaction must be provided to the `SignTransaction` endpoint when `network` is `evm`. + * + * @typedef EthereumLitTransaction + * + * @property { string } toAddress The address the transaction is 'to' + * @property { string } value The value of the transaction to be sent + * @property { number } chainId The chain ID of the target chain that the transaction will be executed on + * @property { string } [gasPrice] The exact gas price that you are willing to pay to execute the transaction + * @property { string } [gasLimit] The maximum gas price that you are willing to pay to execute the transaction + * @property { string } [dataHex] Data in hex format to be included in the transaction + * + */ +interface EthereumLitTransaction { + chain: string; + toAddress: string; + value: string; + chainId: number; + gasPrice?: string; + gasLimit?: number; + dataHex?: string; +} +``` + + + + + +```ts +/** + * Signs a transaction inside the Lit Action using the previously persisted wrapped key associated with the current LIT PK. + * This method fetches the encrypted key from the wrapped keys service, then executes a Lit Action that decrypts the key inside the LIT action and uses + * the decrypted key to sign the provided transaction + * Optionally, if you pass `broadcast: true`, the LIT action will also submit the signed transaction to the associated RPC endpoint on your behalf + */ +async function signTransactionWithEncryptedKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + network: 'solana'; + broadcast: boolean; + unsignedTransaction: SerializedTransaction; + } +): Promise +``` + +`SerializedTransaction` has the following interface: + +:::note +`chain` **must** be one of the following: + +- `mainnet-beta` +- `testnet` +- `devnet` +::: + +```ts +interface SerializedTransaction { + chain: string; + serializedTransaction: string; +} +``` + + + + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +#### `network` + + + +This parameter dictates what transaction signing Lit Action is used to sign `unsignedTransaction`. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L9-L12) which currently consists of: + + - `evm` This will use the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action. + - Use this network if your Wrapped Key is a private key derived from the ECDSA curve. + - Uses Ethers.js' [signTransaction](https://docs.ethers.org/v5/api/signer/#Signer-signTransaction) function to sign `unsignedTransaction`. + - `solana` This will use the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action. + - Use this network if your Wrapped Key is a private key derived from the Ed25519 curve. + - Uses the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) package to create a signer using the decrypted Wrapped Key, and a [Transaction](https://solana-labs.github.io/solana-web3.js/classes/Transaction.html) instance to sign the serialized unsigned transaction. + +#### `broadcast` + +When this parameter is set to `true`, after signing the transaction, the Wrapped Key Lit Action will broadcast the signed transaction to a network. + +Which network the transaction is broadcasted to is determined one of two ways: + +1. If the `network` parameter is set to `evm`, then the `chain` property from the `EthereumLitTransaction` object will be used to lookup the corresponding RPC URL to use for broadcasting the signed transaction. +2. If the `network` parameter is set to `solana`, then the `chain` property from the `SerializedTransaction` object will be used to create a [Connection](https://solana-labs.github.io/solana-web3.js/classes/Connection.html) instance, connected to the specified network. + +#### `unsignedTransaction` + +This parameter is the unsigned transaction that the Wrapped Key will sign. Depending on the `network` parameter, this object will be one of two options: + + + + +If the `network` parameter is set to `evm`, then `unsignedTransaction` will implement the `EthereumLitTransaction` interface: + +```ts +/** EthereumLitTransaction must be provided to the `SignTransaction` endpoint when `network` is `evm`. + * + * @typedef EthereumLitTransaction + * + * @property { string } toAddress The address the transaction is 'to' + * @property { string } value The value of the transaction to be sent + * @property { number } chainId The chain ID of the target chain that the transaction will be executed on + * @property { string } [gasPrice] The exact gas price that you are willing to pay to execute the transaction + * @property { string } [gasLimit] The maximum gas price that you are willing to pay to execute the transaction + * @property { string } [dataHex] Data in hex format to be included in the transaction + * + */ +interface EthereumLitTransaction { + chain: string; + toAddress: string; + value: string; + chainId: number; + gasPrice?: string; + gasLimit?: number; + dataHex?: string; +} +``` + +#### Parameters + +##### `chain` + +:::note +`chain` **must** be one of the [supported EVM networks](https://github.com/LIT-Protocol/js-sdk/blob/cc95304922d0e0b00300e0198de2455586b858a4/packages/constants/src/lib/constants/constants.ts#L29-L601). +::: + +This parameters determines what chain will be used to the following: + +- Get the latest `nonce` for the address associated with the Wrapped Key. +- Get the current `gasPrice` for the `chain`. +- Get the estimated `gasLimit` for `unsignedTransaction` on the `chain`. +- When `broadcast` is set to `true`, it will be the `chain` that the signed transaction is broadcasted to. + +##### `toAddress` + +This parameter is the EVM based address used as the `to` property of the transaction, and will be the recipient of the transaction's `data` and `value`. + + +##### `value` + +This parameter is the amount of the native token on the `chain` that will be transferred to `toAddress`. Within the Wrapped Keys Lit Action, `value` will be parsed using Ethers.js' [parseEther](https://docs.ethers.org/v5/api/utils/display-logic/#utils-parseEther), so this value should be given as the number of tokens expressed in full units, not in Wei (or whatever the smallest domination is for the `chain` the transaction is being signed for). + +For example, `"1"` should be used to transfer a whole token, `".5"` for half a token, and `".01"` for a hundredth of a token. + +##### `chainId` + +This parameter is the [EIP-155](https://eips.ethereum.org/EIPS/eip-155) chain id that will be used in the transaction object that is signed by the Wrapped Key. + +You can check [ChainList](https://chainlist.org/) for your `chain`'s `chainId`. + +##### `gasPrice` + +This parameter will set the `gasPrice` of the transaction in `wei`. If this parameter is omitted, the Wrapped Keys Lit Action will fetch the current `gasPrice` for `chain` for you. + +##### `gasLimit` + +This parameter will set the `gasLimit` for the transaction. If this parameter is omitted, the Wrapped Keys Lit Action will attempt to estimate the `gasLimit` on the specified `chain` for you. Gas estimation is done using Ethers.js' [estimateGas](https://docs.ethers.org/v5/api/providers/provider/#Provider-estimateGas) function. + +There is the possibility that ethers fails to estimate the gas for your transaction, even when it's a valid transaction, and you will receive an error along the lines of `Error: When estimating gas-...`. In this case, you can try manually setting the `gasLimit` to circumvent ethers trying to estimate it. + +##### `dataHex` + +This parameter will set the `data` property for the transaction. Data should be UTF-8 bytes represented as a hexadecimal string. You can use ethers.js' [hexlify](https://docs.ethers.org/v5/api/utils/bytes/#utils-hexlify) and [toUtf8Bytes](https://docs.ethers.org/v5/api/utils/strings/#utils-toUtf8Bytes) (or similar) methods to convert a UTF-8 string. + +For example: + +```ts +import { ethers } from 'ethers'; + +const dataHex = ethers.utils.hexlify( + ethers.utils.toUtf8Bytes('The answer to the Universe is 42.') +); +``` + + + + + +If the `network` parameter is set to `solana`, then the `unsignedTransaction` will implement the `SerializedTransaction` interface: + +```ts +interface SerializedTransaction { + chain: string; + serializedTransaction: string; +} +``` + +#### Parameters + +##### `chain` + +This parameter will set the Solana network the transaction will be signed for and submitted to if `broadcast` is set to `true`. This parameter **needs** to be one of the following values: + +- `mainnet-beta` +- `testnet` +- `devnet` + +##### `serializedTransaction` + +This parameter is the complete unsigned Solana transaction that has been serialized and is ready to be signed. Using the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) SDK, the process of obtaining a serialized transaction might look like: + +```ts +import { + Connection, + LAMPORTS_PER_SOL, + PublicKey, + SystemProgram, + Transaction, + clusterApiUrl, +} from '@solana/web3.js'; + +const chain = 'devnet'; +const fromPublicKey = new PublicKey(process.env.SOLANA_PUBLIC_KEY); +const toPublicKey = new PublicKey(process.env.SOLANA_TRANSACTION_RECIPIENT_PUBLIC_KEY); + +const solanaTransaction = new Transaction(); + solanaTransaction.add( + SystemProgram.transfer({ + fromPubkey: fromPublicKey, + toPubkey: toPublicKey, + lamports: LAMPORTS_PER_SOL / 100, // Transfer 0.01 SOL + }) +); +solanaTransaction.feePayer = fromPublicKey; + +const solanaConnection = new Connection(clusterApiUrl(chain), 'confirmed'); +const { blockhash } = await solanaConnection.getLatestBlockhash(); +solanaTransaction.recentBlockhash = blockhash; + +const serializedTransaction = solanaTransaction + .serialize({ + requireAllSignatures: false, // should be false as the transaction is not yet being signed + verifySignatures: false, // should be false as the transaction is not yet being signed + }) + .toString('base64'); + +const unsignedTransaction: SerializedTransaction = { + serializedTransaction, + chain, +}; +``` + + + +### Return Value + +Depending on what `network` and `broadcast` is set to, what `signTransactionWithEncryptedKey` returns differs: + + + + +If `network` is set to `evm` and `broadcast` is set to `false`, then the return value of `signTransactionWithEncryptedKey` will be `Promise` where the `string` is the signed transaction. + +If `broadcast` is set to `true`, then the signed transaction will be broadcasted to the `chain`, and the return value of `signTransactionWithEncryptedKey` will be `Promise` where the `string` is the transaction hash. + + + + + +If `network` is set to `solana`, then the return value of `signTransactionWithEncryptedKey` will be `Promise` where the `string` is the signed transaction. + +If `broadcast` is set to `true`, then the signed transaction will be submitted to `chain`, but `signTransactionWithEncryptedKey` will still return the signed transaction and **not** the transaction hash. + +To get the transaction hash or receipt from the broadcasted signed transaction, you can do the following using the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) SDK: + +```ts +import { + Connection, + clusterApiUrl, +} from '@solana/web3.js'; + +const chain = 'devnet'; + +const transactionSignature = await signTransactionWithEncryptedKey({ +// This parameter values are not included here for brevity, +// but follow the other code examples in this guide. +// +// pkpSessionSigs, +// network: 'solana', +// unsignedTransaction, +// broadcast: true, +// litNodeClient, +}); + +// Wait for confirmation and fetch the transaction details +const signatureBuffer = Buffer.from(transactionSignature, 'base64'); +const solanaConnection = new Connection(clusterApiUrl(chain), 'confirmed'); +const confirmation = await solanaConnection.confirmTransaction(signatureBuffer); +console.log('Transaction confirmation status:', confirmation.value); + +const transactionReceipt = await solanaConnection.getTransaction( + signatureBuffer.toString('base64'), + { commitment: 'confirmed' }, +); +``` + + + + +## Example Implementation + +Now that we know what the `signTransactionWithEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Signing a Transaction With A Wrapped Key + +Now that we know what the `signTransactionWithEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). + + + + +```ts +import { api } from "@lit-protocol/wrapped-keys"; + +const { signTransactionWithEncryptedKey } = api; + +const transactionHash = await signTransactionWithEncryptedKey({ + pkpSessionSigs, + network: 'evm', + unsignedTransaction: { + chain: "ethereum", + toAddress: process.env.ETHEREUM_TRANSACTION_RECIPIENT + value: "4.2" // This will be 4.2 ether + chainId: 1, + dataHex: ethers.utils.hexlify( + ethers.utils.toUtf8Bytes('The answer to the Universe is 42.') + ) + }, + broadcast: true, + litNodeClient, +}); +``` + + + + + +```ts +import { + Connection, + LAMPORTS_PER_SOL, + PublicKey, + SystemProgram, + Transaction, + clusterApiUrl, +} from '@solana/web3.js'; +import { api } from "@lit-protocol/wrapped-keys"; + +const { signTransactionWithEncryptedKey } = api; +const chain = 'devnet'; +const fromPublicKey = new PublicKey(process.env.SOLANA_PUBLIC_KEY); +const toPublicKey = new PublicKey(process.env.SOLANA_TRANSACTION_RECIPIENT_PUBLIC_KEY); + +const solanaTransaction = new Transaction(); + solanaTransaction.add( + SystemProgram.transfer({ + fromPubkey: fromPublicKey, + toPubkey: toPublicKey, + lamports: LAMPORTS_PER_SOL / 100, // Transfer 0.01 SOL + }) +); +solanaTransaction.feePayer = fromPublicKey; + +const solanaConnection = new Connection(clusterApiUrl(chain), 'confirmed'); +const { blockhash } = await solanaConnection.getLatestBlockhash(); +solanaTransaction.recentBlockhash = blockhash; + +const serializedTransaction = solanaTransaction + .serialize({ + requireAllSignatures: false, // should be false as the transaction is not yet being signed + verifySignatures: false, // should be false as the transaction is not yet being signed + }) + .toString('base64'); + +const unsignedTransaction: SerializedTransaction = { + serializedTransaction, + chain, +}; + +const transactionSignature = await signTransactionWithEncryptedKey({ + pkpSessionSigs, + network: 'solana', + unsignedTransaction, + broadcast: true, + litNodeClient, +}); + +// Wait for confirmation and fetch the transaction details +const signatureBuffer = Buffer.from(transactionSignature, 'base64'); +const confirmation = await solanaConnection.confirmTransaction(signatureBuffer); +console.log('Transaction confirmation status:', confirmation.value); + +const transactionReceipt = await solanaConnection.getTransaction( + signatureBuffer.toString('base64'), + { commitment: 'confirmed' }, +); +``` + + + + +### Summary + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). + +After executing the example implementation above, you will have a signed transaction using the Wrapped Key that's associated with PKP derived from the provided `pkpSessionSigs`. If `broadcast` was set to `true`, then the signed transaction was also broadcasted to the `chain`. diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md new file mode 100644 index 00000000..fcb8ca67 --- /dev/null +++ b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md @@ -0,0 +1,332 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Storing Wrapped Key Metadata + +This guide covers the `storeEncryptedKeyMetadata` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +The `storeEncryptedKeyMetadata` function allows you to manually initialize a Wrapped Key by providing the required Wrapped Key metadata. Lit will store the provided metadata in a private instance of DynamoDB, effectively registering the Wrapped Key for use. + +This method is useful for when you would like to implement your own method of generating a private key and encrypting it with Lit network's public BLS key. This could be code completely ran on your own infrastructure, or this could be a custom Lit Action that you've implemented. The stored metadata can then later be used with the other Wrapped Keys SDK methods (e.g. [signMessageWithEncryptedKey](./sign-message.md) or [signTransactionWithEncryptedKey](./sign-transaction.md)), or custom Lit Actions you create to sign data with a Wrapped Key. + + +Below we will walk through an implementation of `storeEncryptedKeyMetadata`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) +- [Encrypting using the Lit SDK](../../sdk/access-control/quick-start#performing-encryption) + +## `storeEncryptedKeyMetadata`'s Interface + + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/store-encrypted-key-metadata.ts) + +```ts +/** Get a previously encrypted and persisted private key and its metadata. + * Note that this method does _not_ decrypt the private key; only the _encrypted_ key and its metadata will be returned to the caller. + */ +export async function storeEncryptedKeyMetadata( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + ciphertext: string; + dataToEncryptHash: string; + publicKey: string; + keyType: string; + } +): Promise +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +#### `ciphertext` + +This is the result of encrypting the clear text private key and the Access Control Conditions for decryption using the Lit SDK. + +This value can be obtained using the Lit SDK's [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method: + +:::note +In the below example, `process.env.PKP_ETH_ADDRESS` would be the Ethereum address of the PKP you would like to associate the Wrapped Key with. This restricts the decryption (and by extension, usage) of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which corresponds to this address. +::: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { encryptString } from '@lit-protocol/lit-node-client'; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); + +const { ciphertext, dataToEncryptHash } = await encryptString( + { + accessControlConditions: [ + { + contractAddress: '', + standardContractType: '', + chain: 'ethereum', + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: process.env.PKP_ETH_ADDRESS, + }, + }, + ], + // For enhanced security, "lit_" should be prepended to all stored private keys. + dataToEncrypt: `lit_${process.env.CLEAR_TEXT_PRIVATE_KEY}`, + }, + litNodeClient, +) +``` + +#### `dataToEncryptHash` + +This is the SHA-256 hash of the clear text private key. + +This value can be obtained using the Lit SDK's [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method: + +:::note +In the below example, `process.env.PKP_ETH_ADDRESS` would be the Ethereum address of the PKP you would like to associate the Wrapped Key with. This restricts the decryption (and by extension, usage) of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which corresponds to this address. +::: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { encryptString } from '@lit-protocol/lit-node-client'; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); + +const { ciphertext, dataToEncryptHash } = await encryptString( + { + accessControlConditions: [ + { + contractAddress: '', + standardContractType: '', + chain: 'ethereum', + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: process.env.PKP_ETH_ADDRESS, + }, + }, + ], + dataToEncrypt: process.env.CLEAR_TEXT_PRIVATE_KEY, + }, + litNodeClient, +) +``` + +#### `publicKey` + +This is the corresponding public key for the private key you're encrypting and turning into a Wrapped Key. + +#### `keyType` + +This is the algorithm used to derive the private key you're importing. This might be `K256`, `ed25519`, or other key formats. + +### Return Value + +`storeEncryptedKeyMetadata` will return `Promise` indicating the success of storing the Wrapped Key metadata within Lit's private instance of DynamoDB. + +## Example Implementation + +Now that we know what the `storeEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Getting a Wrapped Key's Metadata + +Now that we know what the `storeEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { encryptString } from '@lit-protocol/lit-node-client'; +import { api } from "@lit-protocol/wrapped-keys"; + +const { storeEncryptedKeyMetadata } = api; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + debug: false, +}); +await litNodeClient.connect(); + +const { ciphertext, dataToEncryptHash } = await encryptString( + { + accessControlConditions: [ + { + contractAddress: '', + standardContractType: '', + chain: 'ethereum', + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: process.env.PKP_ETH_ADDRESS, + }, + }, + ], + dataToEncrypt: process.env.CLEAR_TEXT_PRIVATE_KEY, + }, + litNodeClient, +) + +const successfullyStoredMetadata = await storeEncryptedKeyMetadata({ + pkpSessionSigs, + litNodeClient, + ciphertext; + dataToEncryptHash; + publicKey: process.env.PUBLIC_KEY; + keyType: `K256`; +}); +``` + +### Summary + + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). + +After executing the example implementation above, you will have stored the metadata for a Wrapped Key and associated with the PKP that produced the provided `pkpSessionSigs`. + +With you new Wrapped Key, you can explore the additional guides in this section to sign messages and transactions: + +- [Signing a Message](./sign-message.md) +- [Signing a Transaction](./sign-transaction.md) diff --git a/sidebars.js b/sidebars.js index ca4c4978..3583522c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -305,6 +305,25 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'Wrapped Keys', + collapsed: true, + link: { + type: 'doc', + id: 'sdk/wrapped-keys/overview', + }, + items: [ + 'sdk/wrapped-keys/generating-wrapped-key', + 'sdk/wrapped-keys/importing-key', + 'sdk/wrapped-keys/exporting-wrapped-key', + 'sdk/wrapped-keys/getting-wrapped-key-metadata', + 'sdk/wrapped-keys/storing-wrapped-key-metadata', + 'sdk/wrapped-keys/sign-message', + 'sdk/wrapped-keys/sign-transaction', + 'sdk/wrapped-keys/custom-wrapped-keys', + ], + }, ], }, { From 183e02c8051d5b4354a557d3db1fa08c19668234 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 2 Jul 2024 10:29:45 -0700 Subject: [PATCH 326/627] Removed dup/Fixed source code URL --- docs/sdk/wrapped-keys/generating-wrapped-key.md | 2 +- docs/sdk/wrapped-keys/overview.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index 65e99deb..f5140910 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -22,7 +22,7 @@ Before continuing with this guide, you should have an understanding of: ## `generatePrivateKey`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/generate-private-key.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/generate-private-key.ts) ```ts /** diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index ea115c42..6ae18492 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem'; Wrapped Keys are private keys that are either imported into the Lit network, or generated within the trusted execution environment (TEE) of a Lit node via a Lit Action. -Wrapped Keys are private keys that are either imported into the Lit network, or generated within the trusted execution environment (TEE) of a Lit node via a Lit Action. The private keys are first encrypted using Lit network's BLS key, then the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) is stored by Lit, in a private instance of DynamoDB, for retrieval when you request a Lit node to sign with your Wrapped Key. +The private keys are first encrypted using Lit network's BLS key, then the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) is stored by Lit, in a private instance of DynamoDB, for retrieval when you request a Lit node to sign with your Wrapped Key. Using the Wrapped Keys SDK, you can request a Lit node to sign arbitrary messages and transactions, optionally sending signed transaction to a network. The Lit node will combine decryption shares of your Wrapped Key from other Lit nodes within it's TEE. This results in the complete unencrypted key used for signing only existing temporarily within the secure execution context of a Lit node's TEE. From 32e4f75371a1dad36db48db42a1d72c8234f1691 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 2 Jul 2024 10:51:06 -0700 Subject: [PATCH 327/627] Replaced every hash URL with master --- docs/sdk/wrapped-keys/custom-wrapped-keys.md | 20 +++++++++---------- .../sdk/wrapped-keys/exporting-wrapped-key.md | 2 +- .../wrapped-keys/generating-wrapped-key.md | 4 ++-- .../getting-wrapped-key-metadata.md | 2 +- docs/sdk/wrapped-keys/importing-key.md | 2 +- docs/sdk/wrapped-keys/sign-message.md | 8 ++++---- docs/sdk/wrapped-keys/sign-transaction.md | 8 ++++---- .../storing-wrapped-key-metadata.md | 2 +- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/docs/sdk/wrapped-keys/custom-wrapped-keys.md b/docs/sdk/wrapped-keys/custom-wrapped-keys.md index c63acdf9..21a8846f 100644 --- a/docs/sdk/wrapped-keys/custom-wrapped-keys.md +++ b/docs/sdk/wrapped-keys/custom-wrapped-keys.md @@ -19,22 +19,22 @@ Currently the Wrapped Keys SDK includes Lit Action to support the following: For Wrapped Keys derived from the `K256` algorithm (commonly known as `ecdsa`): - Generating `K256` (commonly known as `ecdsa`) private keys within a Lit Action - - Uses the [generateEncryptedEthereumPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/generateEncryptedEthereumPrivateKey.js) Lit Action + - Uses the [generateEncryptedEthereumPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/generateEncryptedEthereumPrivateKey.js) Lit Action - Signing arbitrary messages using Ethers.js' [signMessage](https://docs.ethers.org/v5/api/signer/#Signer-signMessage) - - Uses the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action + - Uses the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action - Signing Ethers.js transaction objects using [signTransaction](https://docs.ethers.org/v5/api/signer/#Signer-signTransaction) - - Uses the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action + - Uses the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action ### Wrapped Keys Derived `ed25519` Algorithm For Wrapped Keys derived from the `ed25519` algorithm (used for Solana private key): - Generating `ed25519` private keys within a Lit Action using the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) SDK - - Uses the [generateEncryptedSolanaPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/generateEncryptedSolanaPrivateKey.js) Lit Action + - Uses the [generateEncryptedSolanaPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/generateEncryptedSolanaPrivateKey.js) Lit Action - Signing arbitrary messages using the `@solana/web3.js` SDK - - Uses the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action + - Uses the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action - Signing Solana transaction objects using the `@solana/web3.js` SDK - - uses the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action + - uses the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action ## Implementing a Custom Lit Action @@ -68,7 +68,7 @@ If you manually encrypt your private key with custom Access Control Conditions, The [Ethers.js v5](https://docs.ethers.org/v5/) SDK is already made available within a Lit Action. For any other SDK, you'll need to bundle the code with your Lit Action. Lit Actions execute within a [Deno](https://deno.com/) environment, so any APIs that aren't supported by Deno will need to be accounted for via polyfills and/or shims. -As a reference implementation, the Wrapped Keys SDK uses [esbuild](https://esbuild.github.io/) to bundle the `@solana/web3.js` SDK with the Lit Action code, and provide the required shim. [This](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/esbuild.config.js) is the `esbuild.config.js` used and [this](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/buffer.shim.js) is the shim used to include [buffer](https://www.npmjs.com/package/buffer) within the bundled Lit Action code. +As a reference implementation, the Wrapped Keys SDK uses [esbuild](https://esbuild.github.io/) to bundle the `@solana/web3.js` SDK with the Lit Action code, and provide the required shim. [This](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/esbuild.config.js) is the `esbuild.config.js` used and [this](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/buffer.shim.js) is the shim used to include [buffer](https://www.npmjs.com/package/buffer) within the bundled Lit Action code. Then, as you can see in the [Solana Wrapped Keys Lit Actions](#wrapped-keys-derived-ed25519-algorithm), various `@solana/web3.js` exports are `import`ed into the Lit Action code as usual. @@ -220,9 +220,9 @@ After implementing your custom Lit Action, you'll want to make use of Lit SDK's As a reference implementation, you can take a look at the following methods used by the Wrapped Keys SDK to call the [Provided Wrapped Keys Lit Actions](#provided-wrapped-keys-lit-actions): -- [generateKeyWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts) -- [signMessageWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts) -- [signTransactionWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts) +- [generateKeyWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/lit-actions-client/generate-key.ts) +- [signMessageWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/lit-actions-client/sign-message.ts) +- [signTransactionWithLitAction](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/lit-actions-client/sign-transaction.ts) To call `executeJs`, you'll need to pass the following arguments: diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index d1791094..64e0e083 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -19,7 +19,7 @@ Before continuing with this guide, you should have an understanding of: ## `exportPrivateKey`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/export-private-key.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/export-private-key.ts) ```ts /** Exports a previously persisted private key from the wrapped keys service for direct use by the caller, along with the keys metadata diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index f5140910..1bb4de98 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -77,7 +77,7 @@ This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel. #### `network` -This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L12) which currently consists of: +This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L12) which currently consists of: - `evm` This will generate a private key using the ECDSA curve. - `solana` This will generate a private key using the Ed25519 curve. @@ -85,7 +85,7 @@ This parameter dictates what elliptic curve is used to generate the private key. ### Return Value -`generatePrivateKey` will return a [GeneratePrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L82-L90) object after it successfully generates and encrypts the private key and stores the encryption metadata. +`generatePrivateKey` will return a [GeneratePrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L82-L90) object after it successfully generates and encrypts the private key and stores the encryption metadata. ```ts /** @typedef GeneratePrivateKeyResult diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md index 5b8e0250..88eca85b 100644 --- a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -20,7 +20,7 @@ Before continuing with this guide, you should have an understanding of: ## `getEncryptedKeyMetadata`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/get-encrypted-key-metadata.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/get-encrypted-key-metadata.ts) ```ts /** Get a previously encrypted and persisted private key and its metadata. diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md index 0352e8ad..f895a5d1 100644 --- a/docs/sdk/wrapped-keys/importing-key.md +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -22,7 +22,7 @@ Before continuing with this guide, you should have an understanding of: ## `importPrivateKey`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/import-private-key.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/import-private-key.ts) ```ts /** diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/sdk/wrapped-keys/sign-message.md index fdf1b558..be5020d0 100644 --- a/docs/sdk/wrapped-keys/sign-message.md +++ b/docs/sdk/wrapped-keys/sign-message.md @@ -19,7 +19,7 @@ Before continuing with this guide, you should have an understanding of: ## `signMessageWithEncryptedKey`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts) ```ts /** @@ -71,12 +71,12 @@ This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel. -This parameter dictates what message signing Lit Action is used to sign `messageToSign`. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L9-L12) which currently consists of: +This parameter dictates what message signing Lit Action is used to sign `messageToSign`. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L9-L12) which currently consists of: - - `evm` This will use the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action. + - `evm` This will use the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action. - Use this network if your Wrapped Key is a private key derived from the ECDSA curve. - Uses Ethers.js' [signMessage](https://docs.ethers.org/v5/api/signer/#Signer-signMessage) function to sign `messageToSign`. - - `solana` This will use the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action. + - `solana` This will use the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action. - Use this network if your Wrapped Key is a private key derived from the Ed25519 curve. - Uses the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) package to create a signer using the decrypted Wrapped Key, and the [tweetnacl](https://github.com/dchest/tweetnacl-js) package to sign `messageToSign`. diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/sdk/wrapped-keys/sign-transaction.md index 26eaf2df..08612e7b 100644 --- a/docs/sdk/wrapped-keys/sign-transaction.md +++ b/docs/sdk/wrapped-keys/sign-transaction.md @@ -19,7 +19,7 @@ Before continuing with this guide, you should have an understanding of: ## `signTransactionWithEncryptedKey`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts) -This parameter dictates what transaction signing Lit Action is used to sign `unsignedTransaction`. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/types.ts#L9-L12) which currently consists of: +This parameter dictates what transaction signing Lit Action is used to sign `unsignedTransaction`. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L9-L12) which currently consists of: - - `evm` This will use the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action. + - `evm` This will use the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action. - Use this network if your Wrapped Key is a private key derived from the ECDSA curve. - Uses Ethers.js' [signTransaction](https://docs.ethers.org/v5/api/signer/#Signer-signTransaction) function to sign `unsignedTransaction`. - - `solana` This will use the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action. + - `solana` This will use the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action. - Use this network if your Wrapped Key is a private key derived from the Ed25519 curve. - Uses the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) package to create a signer using the decrypted Wrapped Key, and a [Transaction](https://solana-labs.github.io/solana-web3.js/classes/Transaction.html) instance to sign the serialized unsigned transaction. diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md index fcb8ca67..969d84c3 100644 --- a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md @@ -23,7 +23,7 @@ Before continuing with this guide, you should have an understanding of: ## `storeEncryptedKeyMetadata`'s Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/ac8f17372a2c0a204286515e35b6abeb26e1effc/packages/wrapped-keys/src/lib/api/store-encrypted-key-metadata.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/store-encrypted-key-metadata.ts) ```ts /** Get a previously encrypted and persisted private key and its metadata. From dd0a405561653979bb37723144d804232b4d882a Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 3 Jul 2024 13:01:44 -0700 Subject: [PATCH 328/627] Replaced Cayenne with Datil-dev, specific notes in comment --- docs/sdk/access-control/encryption.md | 4 ++-- docs/sdk/access-control/quick-start.md | 4 ++-- docs/sdk/authentication/auth-sig.md | 2 +- docs/sdk/authentication/session-sigs/get-session-sigs.md | 2 +- docs/sdk/serverless-signing/broadcast-and-collect.md | 2 +- .../sdk/serverless-signing/combining-decryption-shares.md | 2 +- docs/sdk/serverless-signing/combining-signatures.md | 4 ++-- docs/sdk/serverless-signing/conditional-signing.md | 4 ++-- docs/sdk/serverless-signing/encryption.md | 4 ++-- docs/sdk/serverless-signing/fetch.md | 2 +- docs/sdk/serverless-signing/get-rpc-url.md | 6 +++--- docs/sdk/serverless-signing/processing-validation.md | 2 +- docs/sdk/serverless-signing/run-once.md | 2 +- .../lit-auth-methods/add-remove-auth-methods.md | 2 +- .../wallets/auth-methods/lit-auth-methods/email-sms.md | 2 +- docs/sdk/wallets/claimable-keys/usage.md | 8 ++++---- docs/sdk/wallets/walletconnect.md | 2 +- docs/sdk/wrapped-keys/exporting-wrapped-key.md | 4 ++-- docs/sdk/wrapped-keys/generating-wrapped-key.md | 4 ++-- docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md | 4 ++-- docs/sdk/wrapped-keys/importing-key.md | 4 ++-- docs/sdk/wrapped-keys/sign-message.md | 4 ++-- docs/sdk/wrapped-keys/sign-transaction.md | 4 ++-- .../authentication/sessionSigs/authMethods/email-sms.md | 2 +- 24 files changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 6a3a5f09..15c6a457 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -91,7 +91,7 @@ class Lit { async connect() { this.litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", }); await this.litNodeClient.connect(); } @@ -148,7 +148,7 @@ class Lit { async connect() { app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: true, }); diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index aa29b0e4..3cd5b253 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -77,7 +77,7 @@ class Lit { async connect() { this.litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", }); await this.litNodeClient.connect(); } @@ -134,7 +134,7 @@ class Lit { async connect() { app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: true, }); diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md index cd3f0c33..1f40f43e 100644 --- a/docs/sdk/authentication/auth-sig.md +++ b/docs/sdk/authentication/auth-sig.md @@ -121,7 +121,7 @@ async function main() { // Initialize LitNodeClient const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: 'cayenne', + litNetwork: "datil-dev", }); await litNodeClient.connect(); diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index a1138376..e1da498a 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -87,7 +87,7 @@ const sessionSigs = await litNodeClient.getSessionSigs({ ```javascript const LocalStorage = require('node-localstorage').LocalStorage; const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: true, storageProvider: { provider: new LocalStorage('./storage.test.db'), diff --git a/docs/sdk/serverless-signing/broadcast-and-collect.md b/docs/sdk/serverless-signing/broadcast-and-collect.md index df0ee6f1..0bb546a5 100644 --- a/docs/sdk/serverless-signing/broadcast-and-collect.md +++ b/docs/sdk/serverless-signing/broadcast-and-collect.md @@ -32,7 +32,7 @@ const code = `(async () => { `; const client = new LitNodeClient({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", }); await client.connect(); const res = await client.executeJs({ diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 573998e1..e1148b17 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -33,7 +33,7 @@ We will start by performing an `encrypt` operation as shown below using the `Lit ]; const message = 'Hello world'; const client = new LitNodeClient({ - litNetwork: 'cayenne' + litNetwork: "datil-dev" }); await client.connect(); const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 3424d4d9..ec5ba7d8 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -34,7 +34,7 @@ const code = `(async () => { })()`; const client = new LitNodeClient({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", }); await client.connect(); const res = await client.executeJs({ @@ -84,7 +84,7 @@ const code = `(async () => { `; const client = new LitNodeClient({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", }); await client.connect(); diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 3d566247..025fda2b 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -21,7 +21,7 @@ The below example will check if the user has at least 1 Wei on Ethereum, only re The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. ::: -Installed the latest client on `cayenne` +Installed the latest client on `datil-dev` ```bash yarn install @lit-protocol/lit-node-client @@ -85,7 +85,7 @@ Run the Lit Action code on the Lit nodes: const runLitAction = async () => { const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", }); await litNodeClient.connect(); diff --git a/docs/sdk/serverless-signing/encryption.md b/docs/sdk/serverless-signing/encryption.md index f40e32d8..7a66a9c8 100644 --- a/docs/sdk/serverless-signing/encryption.md +++ b/docs/sdk/serverless-signing/encryption.md @@ -3,7 +3,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decrypting and Combining Within an Action :::info - Only available on the `cayenne` network + Only available on the `datil-dev` network ::: ## Overview @@ -52,7 +52,7 @@ The ID will be included in the access control check when you use `decryptAndComb ]; const message = 'Hello world'; const client = new LitNodeClient({ - litNetwork: 'cayenne' + litNetwork: "datil-dev" }); await client.connect(); diff --git a/docs/sdk/serverless-signing/fetch.md b/docs/sdk/serverless-signing/fetch.md index 220a2a11..dfdb667d 100644 --- a/docs/sdk/serverless-signing/fetch.md +++ b/docs/sdk/serverless-signing/fetch.md @@ -63,7 +63,7 @@ const runLitAction = async () => { const litNodeClient = new LitJsSdk.LitNodeClient({ alertWhenUnauthorized: false, - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: true, }); await litNodeClient.connect(); diff --git a/docs/sdk/serverless-signing/get-rpc-url.md b/docs/sdk/serverless-signing/get-rpc-url.md index 530f32e4..370cda85 100644 --- a/docs/sdk/serverless-signing/get-rpc-url.md +++ b/docs/sdk/serverless-signing/get-rpc-url.md @@ -3,7 +3,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Get Chain RPC URLs Within an Action :::info - Only available on the `cayenne` network + Only available on the `datil-dev` network ::: ## Overview @@ -23,7 +23,7 @@ code = `(async () => { `; const client = new LitNodeClient({ -litNetwork: 'cayenne' +litNetwork: "datil-dev" }); await client.connect(); @@ -51,7 +51,7 @@ code = `(async () => { })(); `; const client = new LitNodeClient({ -litNetwork: 'cayenne' +litNetwork: "datil-dev" }); await client.connect(); diff --git a/docs/sdk/serverless-signing/processing-validation.md b/docs/sdk/serverless-signing/processing-validation.md index 3e049db1..36c8183a 100644 --- a/docs/sdk/serverless-signing/processing-validation.md +++ b/docs/sdk/serverless-signing/processing-validation.md @@ -48,7 +48,7 @@ const go = async () => { alertWhenUnauthorized: false, minNodeCount: 6, debug: true, - litNetwork: "cayenne", + litNetwork: "datil-dev", }); await litNodeClient.connect(); const results = await litNodeClient.executeJs({ diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index a383d1b0..0eae6004 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -57,7 +57,7 @@ const code = ` })() ` const client = new LitNodeClient({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", }); await client.connect(); diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md index 9e6cda66..0f111b0d 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md @@ -21,7 +21,7 @@ import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; // If you haven't done before, create a LitNodeClient instance const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", }); await litNodeClient.connect(); diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md index 29dc7028..e8e9beaf 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md @@ -177,7 +177,7 @@ Initalize an instance of the `LitNodeClient` and connect to the network ```javascript const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: true, }); await litNodeClient.connect(); diff --git a/docs/sdk/wallets/claimable-keys/usage.md b/docs/sdk/wallets/claimable-keys/usage.md index 9e5cbf0a..92a37f00 100644 --- a/docs/sdk/wallets/claimable-keys/usage.md +++ b/docs/sdk/wallets/claimable-keys/usage.md @@ -22,7 +22,7 @@ Below is an example of claiming a key with the `LitNodeClient` using the default ```jsx const client = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: false }); await client.connect(); @@ -43,7 +43,7 @@ import { LitContracts } from '@lit-protocol/contracts-sdk'; import { ClaimRequest, ClaimResult, ClientClaimProcessor } from "@lit-protocol/types" const client = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: false }); await client.connect(); @@ -68,7 +68,7 @@ An example of deriving a `key id` to its public key, this operation does not per ```jsx const client = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: false }); @@ -83,7 +83,7 @@ An example of claiming with a customized `ClaimProcessor` making a call to the ` ```jsx const client = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", debug: false }); await client.connect(); diff --git a/docs/sdk/wallets/walletconnect.md b/docs/sdk/wallets/walletconnect.md index fb4d93f1..e7f3ea28 100644 --- a/docs/sdk/wallets/walletconnect.md +++ b/docs/sdk/wallets/walletconnect.md @@ -21,7 +21,7 @@ import { PKPClient } from "@lit-protocol/pkp-client"; // If you haven't done before, create a LitNodeClient instance const litNodeClient = new LitNodeClient({ - litNetwork: "cayenne", + litNetwork: "datil-dev", }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index 64e0e083..a830d470 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -156,14 +156,14 @@ const ethersSigner = new ethers.Wallet( ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cdatil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index 1bb4de98..0d49e01c 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -171,14 +171,14 @@ const ethersSigner = new ethers.Wallet( ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md index 88eca85b..a95cb403 100644 --- a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -162,14 +162,14 @@ const ethersSigner = new ethers.Wallet( ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md index f895a5d1..85593bbd 100644 --- a/docs/sdk/wrapped-keys/importing-key.md +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -167,14 +167,14 @@ const ethersSigner = new ethers.Wallet( ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/sdk/wrapped-keys/sign-message.md index be5020d0..18ac783a 100644 --- a/docs/sdk/wrapped-keys/sign-message.md +++ b/docs/sdk/wrapped-keys/sign-message.md @@ -133,14 +133,14 @@ ethers@v5 ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/sdk/wrapped-keys/sign-transaction.md index 08612e7b..5869c90b 100644 --- a/docs/sdk/wrapped-keys/sign-transaction.md +++ b/docs/sdk/wrapped-keys/sign-transaction.md @@ -440,14 +440,14 @@ ethers@v5 ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: "datil-dev", debug: false, }); await litNodeClient.connect(); diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md index dfdb0791..094ca0d6 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -131,7 +131,7 @@ Initalize an instance of the `LitNodeClient` and connect to the network ```javascript const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", debug: true }); await litNodeClient.connect(); From a04a4214eb5f4fa2f3fc1832740e3b96b7e1f72a Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 3 Jul 2024 10:47:09 -1000 Subject: [PATCH 329/627] Init datil-dev migration guide --- docs/sdk/migrations/datil-dev.md | 82 ++++++++++++++++++++++++++++++++ sidebars.js | 7 +-- 2 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 docs/sdk/migrations/datil-dev.md diff --git a/docs/sdk/migrations/datil-dev.md b/docs/sdk/migrations/datil-dev.md new file mode 100644 index 00000000..ab64909b --- /dev/null +++ b/docs/sdk/migrations/datil-dev.md @@ -0,0 +1,82 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrating from Cayenne to Datil-dev + +Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Chronicle Vesuvius, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). + +Like `cayenne`, `datil-dev` is a centralized DevNet intended to be used for application prototyping/getting familiar with Lit. Unlike the existing chains `manzano` and `habanero`, payment is not required for usage of the Lit network. + +## Breaking Changes and Important Updates + +### New Network, New PKPs + +Because existing PKPs were minted on the old Chronicle chain, migration from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. + +### Encrypted Data + +Because Chronicle Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. + +To migrate existing encrypted data, you will need to decrypt it using `cayenne`, then re-encrypt the data using the `datil-dev` network. + +## How to Connect to `datil-dev` + +The only code changes required to make use of the new `datil-dev` network are as follows: + +- Upgrade the Lit packages to the latest version that supports `datil-dev` +- Specify the Lit network `datil-dev` when instantiating Lit node clients from the SDK + +Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. + +If you do run into issues after migrating from `cayenne` to `datil-dev`, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. + +### Upgrading the Lit Packages + +The `datil-dev` NPM tag can be used to install any of the Lit packages like so: + + + + +```bash +npm install @lit-protocol/lit-node-client@datil-dev +``` + + + + + +```bash +yarn add @lit-protocol/lit-node-client@datil-dev +``` + + + + +### Connecting a Lit Client to `datil-dev` + +Connecting a `LitNodeClient` to `datil-dev`: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; + +const litNodeClient = new LitNodeClient({ + litNetwork: 'datil-dev', // <-- Change this from 'cayenne' +}); +await litNodeClient.connect(); +``` + +Connecting a contracts client to `datil-dev`: + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; + +const litContractsClient = new LitContracts({ + litNetwork: 'datil-dev', // <-- Change this from 'cayenne' +}); +await litContractsClient.connect(); +``` diff --git a/sidebars.js b/sidebars.js index 3583522c..6c48fb9d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -73,6 +73,10 @@ const sidebars = { keywords: ['migrations'], }, items: [ + 'sdk/migrations/datil-dev', + 'sdk/migrations/6.0.0', + 'sdk/migrations/4.0.0', + 'sdk/migrations/3.2.0', { type: 'category', label: 'Migrating from 2.x.x to 3.x.x', @@ -83,9 +87,6 @@ const sidebars = { collapsed: true, items: ['network/feature-matrix', 'sdk/migrations/3.0.0/changes'], }, - 'sdk/migrations/3.2.0', - 'sdk/migrations/4.0.0', - 'sdk/migrations/6.0.0', ], }, ], From 8af9c5a6f8b8a987db4c57c9724b04337f5832b9 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 3 Jul 2024 14:07:00 -0700 Subject: [PATCH 330/627] Versioned change --- .../authentication/sessionSigs/authMethods/email-sms.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md index 094ca0d6..dfdb0791 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -131,7 +131,7 @@ Initalize an instance of the `LitNodeClient` and connect to the network ```javascript const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ - litNetwork: "datil-dev", + litNetwork: 'cayenne', debug: true }); await litNodeClient.connect(); From c587a05335c6277779a2bebb2fb3048a3805ed14 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 3 Jul 2024 17:03:22 -0700 Subject: [PATCH 331/627] Update docs/sdk/wrapped-keys/exporting-wrapped-key.md Co-authored-by: Wyatt Barnes --- docs/sdk/wrapped-keys/exporting-wrapped-key.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index a830d470..15f819cb 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -156,7 +156,7 @@ const ethersSigner = new ethers.Wallet( ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cdatil-dev` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; From 6c790faa6c3a210e341fff005c9c44bbf53fd852 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 5 Jul 2024 11:50:41 -0700 Subject: [PATCH 332/627] More datil changes! --- docs/integrations/aa/alchemy-account-kit.md | 18 +++++++++--------- docs/integrations/aa/pimlico.md | 2 +- docs/integrations/storage/irys.md | 2 +- docs/network/networks/testnet.md | 5 +++-- docs/resources/contracts.md | 2 +- docs/resources/supported-chains.md | 4 ++-- docs/sdk/migrations/3.0.0/overview.md | 2 +- docs/sdk/migrations/6.0.0.md | 2 +- .../paying-for-lit/payment-delegation-db.md | 2 +- .../serverless-signing/conditional-signing.md | 2 +- docs/sdk/tests.md | 4 ++-- .../add-remove-auth-methods.md | 2 +- docs/sdk/wallets/claimable-keys/intro.md | 2 +- docs/sdk/wrapped-keys/exporting-wrapped-key.md | 2 +- .../storing-wrapped-key-metadata.md | 2 +- src/css/custom.css | 11 +++++++++-- .../sessionSigs/authMethods/email-sms.md | 2 +- 17 files changed, 37 insertions(+), 29 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 881118ec..de888f34 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -66,7 +66,7 @@ values={[ ```js -npm i @lit-protocol/pkp-ethers@cayenne +npm i @lit-protocol/pkp-ethers@datil-dev ``` @@ -74,7 +74,7 @@ npm i @lit-protocol/pkp-ethers@cayenne ```js -yarn add @lit-protocol/pkp-ethers@cayenne +yarn add @lit-protocol/pkp-ethers@datil-dev ``` @@ -92,9 +92,9 @@ values={[ ```js -npm i @lit-protocol/lit-node-client@cayenne -npm i @lit-protocol/crypto@cayenne -npm i @lit-protocol/auth-helpers@cayenne +npm i @lit-protocol/lit-node-client@datil-dev +npm i @lit-protocol/crypto@datil-dev +npm i @lit-protocol/auth-helpers@datil-dev ``` @@ -102,9 +102,9 @@ npm i @lit-protocol/auth-helpers@cayenne ```js -yarn add @lit-protocol/lit-node-client@cayenne -yarn add @lit-protocol/crypto@cayenne -yarn add @lit-protocol/auth-helpers@cayenne +yarn add @lit-protocol/lit-node-client@datil-dev +yarn add @lit-protocol/crypto@datil-dev +yarn add @lit-protocol/auth-helpers@datil-dev ``` @@ -161,7 +161,7 @@ const PKP_PUBLIC_KEY = ""; const litSigner = new LitSigner({ pkpPublicKey: PKP_PUBLIC_KEY, rpcUrl: POLYGON_MUMBAI_RPC_URL, - network: "cayenne" + network: "datil-dev" }); ``` diff --git a/docs/integrations/aa/pimlico.md b/docs/integrations/aa/pimlico.md index c40b28a6..25ceb8b3 100644 --- a/docs/integrations/aa/pimlico.md +++ b/docs/integrations/aa/pimlico.md @@ -176,7 +176,7 @@ const pkps = await session.fetchPKPsThroughRelayer(authMethod) ```js const litNodeClient = new LitNodeClientNodeJs({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", debug: false, }) await litNodeClient.connect(); diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index a83137b4..f616286d 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -73,7 +73,7 @@ async function getLitNodeClient() { // Initialize LitNodeClient const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: "cayenne", + litNetwork: "datil-dev", }); await litNodeClient.connect(); diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index ed5a591e..c8244bd8 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -19,8 +19,9 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Development status | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | | Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | -| Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://cayenne-status.litprotocol.com/) | V4+ | Good to use | [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | -| Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | +| Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Not Live | V4+ | Deprecated. Do not build new apps that use this network.| [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | +| Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) +| DatilDev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) |
    diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 85fb5a77..31b00684 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem'; # Contracts -Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne). +Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under datil-dev](`https://github.com/LIT-Protocol/networks/tree/main/datil-dev`). The contracts live on the [Chronicle Testnet](../network/rollup). diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 91ce733b..8f174a33 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -22,7 +22,7 @@ defaultValue="habanero" values={[ {label: 'Habanero', value: 'habanero'}, {label: 'Manzano', value: 'manzano'}, -{label: 'Cayenne', value: 'cayenne'}, +{label: 'DatilDev', value: 'datil-dev'}, {label: 'Jalapeno', value: 'jalapeno'}, ]}> @@ -112,7 +112,7 @@ values={[ - + - alfajores - anvil diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index 333e0eed..1739e717 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -191,7 +191,7 @@ V3 includes the following breaking changes from V2. ### Supported Lit Networks -Both `jalapeno` and `serrano` will no longer be supported. Now, `cayenne`, `manzano` and `habanero` are the only supported networks and we will be moving forward with them. +Both `jalapeno` and `serrano` will no longer be supported. Now, `datil-dev`, `manzano` and `habanero` are the only supported networks and we will be moving forward with them. ### Types diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 8ad5f150..78fd9672 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -474,7 +474,7 @@ const authSig = await generateAuthSig({ There has been some confusion on the parameters for `createCapacityDelegationAuthSig`, particularly `capacityTokenId`, `delegateeAddresses`, and `uses` when delegating [capacity credits](../serverless-signing/quick-start.md). :::note -Payment for usage of the Lit network is currently only required on the `habanero` and `manzano` networks. If you're using the `cayenne` network, payment is **not** required. +Payment for usage of the Lit network is currently only required on the `habanero` and `manzano` networks. If you're using the `datil-dev` network, payment is **not** required. ::: Below is a table detailing the expected behaviors of each: diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index b5df8f87..af584fc7 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -17,7 +17,7 @@ To simplify this process of delegating Capacity Credits, we've implemented the P ## The Payment Delegation Database :::info -Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** required on the `cayenne` network. +Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** required on the `datil-dev` network. ::: The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle](../../network/rollup.mdx). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 025fda2b..c11ca59d 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -24,7 +24,7 @@ The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert t Installed the latest client on `datil-dev` ```bash -yarn install @lit-protocol/lit-node-client +yarn install @lit-protocol/lit-node-client@datil-dev ``` Set up the Lit Action code to be run on the Lit nodes. diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index d11382b1..9730848a 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -25,7 +25,7 @@ Errors are thrown as exceptions when something has gone wrong. Errors are object defaultValue="jalapeno" values={[ {label: 'jalapeno', value: 'jalapeno'}, -{label: 'serrano, cayenne', value: 'serrano, cayenne'}, +{label: 'serrano, datil-dev', value: 'serrano, datil-dev'}, ]}> @@ -49,7 +49,7 @@ values={[ | unknown_error | An unknown error has occurred. Please contact us on Discord to report this error. | - + | error code | reason | | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md index 0f111b0d..1bbb7e6a 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md @@ -8,7 +8,7 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be instantiated with an `AuthSig`, `AuthenticationProps` or a `SessionSig` (deprecated) in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../authentication/overview). +`PKPEthersWallet` must be instantiated with an `AuthSig`, `AuthenticationProps` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../authentication/overview). Ideally you would want to pass `AuthenticationProps` as it will update `SessionSigs` for you based on current conditions while retaining the benefits of sessions. diff --git a/docs/sdk/wallets/claimable-keys/intro.md b/docs/sdk/wallets/claimable-keys/intro.md index 727b7553..6931cc77 100644 --- a/docs/sdk/wallets/claimable-keys/intro.md +++ b/docs/sdk/wallets/claimable-keys/intro.md @@ -13,7 +13,7 @@ Ready to jump right in? Quickly learn how you can integrate claimable keys into When creating a new Programmable Key Pair (PKP) it is now possible to deterministically derive keys so the public portion of the key pair is known **before** creating the key. We're going to abbreviate claimable keys as HD keys, short for homogeneous derived keys. -With the release of the test network `cayenne` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). +With the release of the test network `datil-dev` we are introducing a new concept to Programmable Key Pairs (PKP) - claimable keys (what will be referred to as Homogenous Derivation - HD keys). HD keys work off a set of `root keys` which combined with a `key identifier` allow the deterministic generation of new key pairs. diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index a830d470..15f819cb 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -156,7 +156,7 @@ const ethersSigner = new ethers.Wallet( ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cdatil-dev` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md index 969d84c3..1594ffa8 100644 --- a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md @@ -214,7 +214,7 @@ ethers@v5 ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `cayenne` Lit network. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; diff --git a/src/css/custom.css b/src/css/custom.css index 052aefa3..912a0091 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -762,8 +762,15 @@ html[data-theme='dark'] .alert--danger { } .testnet-networks-table tbody { color: white; } -.testnet-networks-table tbody tr:nth-child(1) { background: #e22525; } -.testnet-networks-table tbody tr:nth-child(n+2) { background: green; } +.testnet-networks-table tbody tr:nth-child(1), +.testnet-networks-table tbody tr:nth-child(2) { + background: #e22525; +} + +.testnet-networks-table tbody tr:nth-child(3), +.testnet-networks-table tbody tr:nth-child(4) { + background: green; +} .mainnet-networks-table tbody { color: white; } diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md index dfdb0791..094ca0d6 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/authMethods/email-sms.md @@ -131,7 +131,7 @@ Initalize an instance of the `LitNodeClient` and connect to the network ```javascript const litNodeClient: LitNodeClientNodeJs = new LitNodeClientNodeJs({ - litNetwork: 'cayenne', + litNetwork: "datil-dev", debug: true }); await litNodeClient.connect(); From 6ace0262893d4166e12135b2276a1242ccfcac33 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 5 Jul 2024 09:32:47 -1000 Subject: [PATCH 333/627] Update docs/sdk/migrations/datil-dev.md Co-authored-by: Anson --- docs/sdk/migrations/datil-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/datil-dev.md b/docs/sdk/migrations/datil-dev.md index ab64909b..368effe8 100644 --- a/docs/sdk/migrations/datil-dev.md +++ b/docs/sdk/migrations/datil-dev.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Migrating from Cayenne to Datil-dev -Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Chronicle Vesuvius, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). +Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Vesuvius, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). Like `cayenne`, `datil-dev` is a centralized DevNet intended to be used for application prototyping/getting familiar with Lit. Unlike the existing chains `manzano` and `habanero`, payment is not required for usage of the Lit network. From 80e95d6330482f1f66a60c1819c5173f848a33ab Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 5 Jul 2024 09:32:56 -1000 Subject: [PATCH 334/627] Update docs/sdk/migrations/datil-dev.md Co-authored-by: Anson --- docs/sdk/migrations/datil-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/datil-dev.md b/docs/sdk/migrations/datil-dev.md index 368effe8..0342a872 100644 --- a/docs/sdk/migrations/datil-dev.md +++ b/docs/sdk/migrations/datil-dev.md @@ -15,7 +15,7 @@ Because existing PKPs were minted on the old Chronicle chain, migration from `ca ### Encrypted Data -Because Chronicle Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. +Because Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. To migrate existing encrypted data, you will need to decrypt it using `cayenne`, then re-encrypt the data using the `datil-dev` network. From 494d2fccbf804612f3755b10a897099164cb3bf8 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 5 Jul 2024 09:35:29 -1000 Subject: [PATCH 335/627] Add NPM tag note --- docs/sdk/migrations/datil-dev.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sdk/migrations/datil-dev.md b/docs/sdk/migrations/datil-dev.md index 0342a872..fa0e4c72 100644 --- a/docs/sdk/migrations/datil-dev.md +++ b/docs/sdk/migrations/datil-dev.md @@ -32,6 +32,10 @@ If you do run into issues after migrating from `cayenne` to `datil-dev`, please ### Upgrading the Lit Packages +```note +The version of the Lit SDK that supports `datil-dev` is still in beta. Once the package version is fully release, the `datil-dev` NPM tag will no longer be required, as it will be installed from NPM by default. +``` + The `datil-dev` NPM tag can be used to install any of the Lit packages like so: Date: Fri, 5 Jul 2024 10:34:19 -1000 Subject: [PATCH 336/627] Make the guide apply to all datil networks --- docs/sdk/migrations/datil-dev.md | 86 ---------------- docs/sdk/migrations/datil.md | 164 +++++++++++++++++++++++++++++++ sidebars.js | 2 +- 3 files changed, 165 insertions(+), 87 deletions(-) delete mode 100644 docs/sdk/migrations/datil-dev.md create mode 100644 docs/sdk/migrations/datil.md diff --git a/docs/sdk/migrations/datil-dev.md b/docs/sdk/migrations/datil-dev.md deleted file mode 100644 index fa0e4c72..00000000 --- a/docs/sdk/migrations/datil-dev.md +++ /dev/null @@ -1,86 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Migrating from Cayenne to Datil-dev - -Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Vesuvius, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). - -Like `cayenne`, `datil-dev` is a centralized DevNet intended to be used for application prototyping/getting familiar with Lit. Unlike the existing chains `manzano` and `habanero`, payment is not required for usage of the Lit network. - -## Breaking Changes and Important Updates - -### New Network, New PKPs - -Because existing PKPs were minted on the old Chronicle chain, migration from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. - -### Encrypted Data - -Because Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. - -To migrate existing encrypted data, you will need to decrypt it using `cayenne`, then re-encrypt the data using the `datil-dev` network. - -## How to Connect to `datil-dev` - -The only code changes required to make use of the new `datil-dev` network are as follows: - -- Upgrade the Lit packages to the latest version that supports `datil-dev` -- Specify the Lit network `datil-dev` when instantiating Lit node clients from the SDK - -Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. - -If you do run into issues after migrating from `cayenne` to `datil-dev`, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. - -### Upgrading the Lit Packages - -```note -The version of the Lit SDK that supports `datil-dev` is still in beta. Once the package version is fully release, the `datil-dev` NPM tag will no longer be required, as it will be installed from NPM by default. -``` - -The `datil-dev` NPM tag can be used to install any of the Lit packages like so: - - - - -```bash -npm install @lit-protocol/lit-node-client@datil-dev -``` - - - - - -```bash -yarn add @lit-protocol/lit-node-client@datil-dev -``` - - - - -### Connecting a Lit Client to `datil-dev` - -Connecting a `LitNodeClient` to `datil-dev`: - -```ts -import { LitNodeClient } from "@lit-protocol/lit-node-client"; - -const litNodeClient = new LitNodeClient({ - litNetwork: 'datil-dev', // <-- Change this from 'cayenne' -}); -await litNodeClient.connect(); -``` - -Connecting a contracts client to `datil-dev`: - -```ts -import { LitContracts } from "@lit-protocol/contracts-sdk"; - -const litContractsClient = new LitContracts({ - litNetwork: 'datil-dev', // <-- Change this from 'cayenne' -}); -await litContractsClient.connect(); -``` diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md new file mode 100644 index 00000000..c95348c2 --- /dev/null +++ b/docs/sdk/migrations/datil.md @@ -0,0 +1,164 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrating to Datil + +Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Vesuvius, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). + +Depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: + +| Currently Available | Requires Payment | Your Current Network | Network to Migrate to | Description | +| --------------------| ---------------- | -------------------- | -------------------- | ------------------------------------------------------------ | +| ❌ | ✅ | `habanero` | `datil` | Decentralized mainnet designed for production use cases | +| ❌ | ✅ | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ❌ | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | + +Like their counterparts, `datil` and `datil-test` require payment for usage of the Lit network via [Capacity Credits](../capacity-credits.md); however, `datil-dev` does not. + +## Breaking Changes and Important Updates + +### New Network, New PKPs + +Because existing PKPs were minted on the old Chronicle chain, migration from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. + +### Encrypted Data + +Because Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. + +Each Lit network has it's own BLS root key that's used for encrypting data. To migrate existing encrypted data, you will need to decrypt it using the Lit network it was encrypted with. Then re-encrypt it using one of the new Datil networks. + +There were no API changes made to the SDK for encrypting and decrypting, so you're existing code should work with Datil. See [here](../../sdk/access-control/quick-start#performing-encryption) for a guide on encrypting data, and [here](../../sdk/access-control/quick-start#performing-decryption) for decrypting. + +## How to Connect to a Datil Network + +:::note +Currently only the `datil-dev` network is live and available to connect to. This guide will be updated when the other Datil networks come online. +::: + +The only code changes required to make use of the new Datil networks are as follows: + +- Upgrade the Lit packages to the latest version that supports Datil +- Specify the Datil network when instantiating Lit node clients from the SDK + +Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. + +If you do run into issues after migrating from an existing network to a Datil network, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. + +### Upgrading the Lit Packages + +:::note +The version of the Lit SDK that supports `datil-dev` is still in beta. Once the package version is fully released, the `datil-dev` NPM tag will no longer be required, as it will be installed from NPM by default. +::: + +The `datil-dev` NPM tag can be used to install any of the Lit packages like so: + + + + +```bash +npm install @lit-protocol/lit-node-client@datil-dev +``` + + + + + +```bash +yarn add @lit-protocol/lit-node-client@datil-dev +``` + + + + +### Connecting a Lit Client to a Datil Network + + + + +Connecting a `LitNodeClient` to `datil-dev`: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; + +const litNodeClient = new LitNodeClient({ + litNetwork: 'datil-dev', // <-- Change this from 'cayenne' +}); +await litNodeClient.connect(); +``` + +Connecting a contracts client to `datil-dev`: + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; + +const litContractsClient = new LitContracts({ + litNetwork: 'datil-dev', // <-- Change this from 'cayenne' +}); +await litContractsClient.connect(); +``` + + + + + +Connecting a `LitNodeClient` to `datil-test`: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; + +const litNodeClient = new LitNodeClient({ + litNetwork: 'datil-test', // <-- Change this from 'manzano' +}); +await litNodeClient.connect(); +``` + +Connecting a contracts client to `datil-test`: + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; + +const litContractsClient = new LitContracts({ + litNetwork: 'datil-test', // <-- Change this from 'manzano' +}); +await litContractsClient.connect(); +``` + + + + + +Connecting a `LitNodeClient` to `datil`: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; + +const litNodeClient = new LitNodeClient({ + litNetwork: 'datil', // <-- Change this from 'habanero' +}); +await litNodeClient.connect(); +``` + +Connecting a contracts client to `datil`: + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; + +const litContractsClient = new LitContracts({ + litNetwork: 'datil', // <-- Change this from 'habanero' +}); +await litContractsClient.connect(); +``` + + + diff --git a/sidebars.js b/sidebars.js index 6c48fb9d..8bbfb0d6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -73,7 +73,7 @@ const sidebars = { keywords: ['migrations'], }, items: [ - 'sdk/migrations/datil-dev', + 'sdk/migrations/datil', 'sdk/migrations/6.0.0', 'sdk/migrations/4.0.0', 'sdk/migrations/3.2.0', From d55185d4818f1492ebf386cd6443a101c8a7cb88 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 5 Jul 2024 10:38:08 -1000 Subject: [PATCH 337/627] Add resources section --- docs/sdk/migrations/datil.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index c95348c2..c2bda4b4 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -17,6 +17,10 @@ Like their counterparts, `datil` and `datil-test` require payment for usage of t ## Breaking Changes and Important Updates +### Datil Resources + +Datil has a new [block explorer](https://vesuvius-explorer.litprotocol.com/), and Lit test tokens can be received from [this faucet](https://datil-dev-faucet.vercel.app/). + ### New Network, New PKPs Because existing PKPs were minted on the old Chronicle chain, migration from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. From 0594e6dc1d743da115ccf7b9cffec8115b34e5e4 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 5 Jul 2024 17:59:35 -1000 Subject: [PATCH 338/627] Add pkp migration script --- docs/sdk/migrations/datil.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index c2bda4b4..a94541f4 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -25,6 +25,14 @@ Datil has a new [block explorer](https://vesuvius-explorer.litprotocol.com/), an Because existing PKPs were minted on the old Chronicle chain, migration from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. +To reduce the friction of migrating PKPs to Datil, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. + +:::note +The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. + +Additionally, the newly minted PKPs on the target Lit network will have new Ethereum addresses, so anything that uses the existing PKP's Ethereum address for things like permissions, will need to be manually updated to us the new PKP's Ethereum address. +::: + ### Encrypted Data Because Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. From 2d585d403fd906cd7259057b69b05a651b98d2f5 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 8 Jul 2024 13:55:42 -0700 Subject: [PATCH 339/627] Removed depricated pages, updated outdated info --- docs/network/state-of-network.md | 15 - docs/sdk/access-control/encryption.md | 571 --------------------- docs/sdk/serverless-signing/get-rpc-url.md | 4 - 3 files changed, 590 deletions(-) delete mode 100644 docs/network/state-of-network.md delete mode 100644 docs/sdk/access-control/encryption.md diff --git a/docs/network/state-of-network.md b/docs/network/state-of-network.md deleted file mode 100644 index a95d7ebd..00000000 --- a/docs/network/state-of-network.md +++ /dev/null @@ -1,15 +0,0 @@ -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# Lit Networks - -You can set your Lit Network in the LitNodeClient config of the Lit SDK, by passing the network name to the `litNetwork` parameter. - -| Name | Supported Algorithms | Supported Features | ETA | Description | Status | -| -------- | -------------------- | -------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | -| Jalapeno | BLS | Encryption | Live Now | Centralized alpha network. Persistent, so keys will not be deleted. | https://jalapeno-status.litprotocol.com/ | -| Serrano | BLS, ECDSA | Encryption, Signing, Lit Actions | Live Now | Deprecated centralized test network. Persistent. Will be turned off someday, but not before July 2024 and we will give ample notice when we pick a date to turn it off. | https://serrano-status.litprotocol.com/ | -| Cayenne | BLS, ECDSA | Encryption, Signing, Lit Actions | September 2023 | Centralized test network. Not persistent, keys will be deleted. | Beta: https://cayenne-status.litprotocol.com/ | -| Manzano | ECDSA | Signing | November 2023 | Decentralized test network. No persistency guarantees, but will try to keep keys if possible. | Coming Soon | -| Habanero | ECDSA | Encryption, Signing, Lit Actions | December 2023 | Decentralized main network. Persistent, so keys will not be deleted. | Coming Soon | - - diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md deleted file mode 100644 index 15c6a457..00000000 --- a/docs/sdk/access-control/encryption.md +++ /dev/null @@ -1,571 +0,0 @@ -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# Encryption - -The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. - -:::info -Habanero Mainnet and Manzano Testnet are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: - -### How Does ID Encrypt Work - -This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. - -This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). - -The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. - -## High-Level Overview - -Here is a high-level, step-by-step breakdown of encryption and decryption: - -### Encryption - -1. Alice chooses some access control condition and private data and constructs the identity parameter -2. Alice encrypts the private data using the BLS network public key and the identity parameter to get a ciphertext -3. Alice stores the encryption metadata - set of access control conditions, hash of the private data etc. - and the ciphertext wherever she wants - -### Decryption - -1. Bob fetches the ciphertext and corresponding encryption metadata from the public data store -2. Bob presents the encryption metadata to the BLS network and requests for signature shares over the identity parameter -3. The BLS network nodes checks whether the user satisfies the access control conditions before signing the constructed identity parameter -4. Bob assembles the signature shares into a decryption key and successfully decrypts the ciphertext - -## Technical Walkthrough - -You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. - -Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. - -Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. - -### Install and Import the Lit SDK - -Ensure you have the following requirements in place: - -1. Operating System: Linux, Mac OS, or Windows. -2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. -4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. - -Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: - -```jsx -yarn add @lit-protocol/lit-node-client -``` - -OR - -```jsx -npm i @lit-protocol/lit-node-client -``` - -:::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. -::: - -You also need to install the following lit packages whose functions are used in the example below: - -- `@lit-protocol/constants` -- `@lit-protocol/auth-helpers` -- `@lit-protocol/contracts-sdk` - - -#### Client-Side Usage - -Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit class. Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit Network. - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; - -class Lit { - litNodeClient; - chain; - - constructor(chain){ - this.chain = chain; - } - - async connect() { - this.litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "datil-dev", - }); - await this.litNodeClient.connect(); - } -} - -const chain = "ethereum"; - -let myLit = new Lit(chain); -await myLit.connect(); -``` - -The litNodeClient listens to network state, and those listeners will keep your litNodeClient running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow the browser to disconnect gracefully, call: - -```jsx -await this.litNodeClient.disconnect(); -``` - -:::note -To avoid errors from Lit nodes due to stale `authSig` or `sessionSigs`, make sure to clear the local storage for `authSig` and `sessionSigs` before reconnecting or restarting the litNodeClient. - -One way to do this is to disconnect the existing litNodeClient first and then reconnect. To disconnect the litNodeClient after making a connection, call the following function: -```jsx -await this.litNodeClient.disconnect(); -``` - -Other way is to simply call `disconnectWeb3` function which will clear up the local storage for `authSig` and `sessionSigs`: -```jsx -LitJsSdk.disconnectWeb3(); -``` -::: - -#### Server-Side Usage - -In this example stub, the `litNodeClient` is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. Note that `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. - -:::note -If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs`. Moreover, the server-side implementation, the `litNodeClient` class is named `LitNodeClientNodeJs`. -::: - -Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit network. - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; - -class Lit { - litNodeClient; - chain; - - constructor(chain){ - this.chain = chain; - } - - async connect() { - app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - alertWhenUnauthorized: false, - litNetwork: "datil-dev", - debug: true, - }); - - this.litNodeClient = app.locals.litNodeClient; - await this.litNodeClient.connect(); - } -} - -const chain = "ethereum"; - -let myLit = new Lit(chain); -await myLit.connect(); -``` - -The `litNodeClient` listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow node to exit gracefully, call:  - -```jsx -await this.litNodeClient.disconnect(); -``` - -### Performing Encryption - -To encrypt something with Lit, you’ll need to follow these steps: - -1. Create an access control condition. -2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. -3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. - -#### Create an Access Control Condition - -In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: - -```jsx -const accessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain: "ethereum", - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "1000000000000", // 0.000001 ETH - }, - }, -]; -``` - -#### Encryption - -To encrypt a string, use one of the following functions: - -- [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. -- - [encryptString()](../../) - Used to encrypt the raw string. -- [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. - -To encrypt a file, use: - -- [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. -- [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. -- [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadata in the zip, so you must store those yourself. - -Apart from these, we have one more function which can be used to encrypt both strings and files: - -- [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialize all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. - -Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. - -In this example, we are using `encryptString()`: - -:::note - -All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. - -::: - -```jsx -class Lit { - ... - - async encrypt(message) { - // Encrypt the message - const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( - { - accessControlConditions, - dataToEncrypt: message, - }, - this.litNodeClient, - ); - - // Return the ciphertext and dataToEncryptHash - return { - ciphertext, - dataToEncryptHash, - }; - } - - ... -} -``` - -:::note - -Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. - -::: - -### Performing Decryption - -Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. - -There is just one step: - -1. Obtain the decrypted data in plaintext using the `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. - -#### Mint Capacity Credits - -In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. - -First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: - -```jsx -yarn add @lit-protocol/contracts-sdk -``` - -OR - -```jsx -npm i @lit-protocol/contracts-sdk -``` - -The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: - -```jsx -const walletWithCapacityCredit = new Wallet(""); - -let contractClient = new LitContracts({ - signer: dAppOwnerWallet, - network: 'habanero', -}); - -await contractClient.connect(); -``` - -After you’ve set your wallet, your next step is to mint the NFT: - -```jsx -// this identifier will be used in delegation requests. -const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ - requestsPerKilosecond: 80, - // requestsPerDay: 14400, - // requestsPerSecond: 10, - daysUntilUTCMidnightExpiration: 2, -}); -``` - -In the above example, we are configuring 2 properties: - -- `requestsPerDay` - How many requests can be sent in a 24 hour period. -- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. - -Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. - -#### Delegate usage of your NFT - -Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). - -```jsx -const { capacityDelegationAuthSig } = - await litNodeClient.createCapacityDelegationAuthSig({ - uses: '1', - signer: wallet, - capacityTokenId: capacityTokenIdStr, - delegateeAddresses: [walletAddress], - }); -``` - -To delegate your Rate Limit NFT there are 4 properties to configure: - -- `uses` - How many times the delegation may be used -- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` -- `capacityTokenId` - The `token identifier` of the Rate Limit NFT -- `delegateeAddresses` - The wallet addresses which will be delegated to - -:::note -The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. -::: - -#### Obtain a Session Sigs - -In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. - -`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. - -The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. - -:::note -Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash SessionSigs will not be validated. -::: - -##### Obtain a `SessionSigs` in the browser - -If you want to obtain a `SessionSigs` in the browser, you can instantiate an `ethers.Signer` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: - - -```jsx -import {ethers} from "ethers"; -import { - LitAccessControlConditionResource, - LitAbility, - createSiweMessageWithRecaps, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -class Lit { - ... - - async getSessionSignatures(){ - // Connect to the wallet - const provider = new ethers.providers.Web3Provider(window.ethereum); - await provider.send("eth_requestAccounts", []); - const signer = provider.getSigner(); - const walletAddress = await signer.getAddress(); - console.log("Connected account:", walletAddress); - - // Get the latest blockhash - const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); - - // Define the authNeededCallback function - const authNeededCallback = async(params) => { - if (!params.uri) { - throw new Error("uri is required"); - } - if (!params.expiration) { - throw new Error("expiration is required"); - } - - if (!params.resourceAbilityRequests) { - throw new Error("resourceAbilityRequests is required"); - } - - // Create the SIWE message - const toSign = await createSiweMessageWithRecaps({ - uri: params.uri, - expiration: params.expiration, - resources: params.resourceAbilityRequests, - walletAddress: walletAddress, - nonce: latestBlockhash, - litNodeClient: this.litNodeClient, - }); - - // Generate the authSig - const authSig = await generateAuthSig({ - signer: signer, - toSign, - }); - - return authSig; - } - - // Define the Lit resource - const litResource = new LitAccessControlConditionResource('*'); - - // Get the session signatures - const sessionSigs = await this.litNodeClient.getSessionSigs({ - chain: this.chain, - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback, - capacityDelegationAuthSig, - }); - return sessionSigs; - } - - ... -} -``` - -##### Obtain a `SessionSigs` on the server-side - -If you want to obtain a `SessionSigs` on the server-side, you can instantiate an `ethers.wallet` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: - -```jsx -import {ethers} from "ethers"; -import { - LitAccessControlConditionResource, - LitAbility, - createSiweMessageWithRecaps, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -class Lit { - private ethersWallet; - - constructor(yourPrivateKey) { - this.ethersWallet = new ethers.Wallet( - "" - ); - } - - ... - - async getSessionSignatures(){ - // Get the latest blockhash - const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); - - // Define the authNeededCallback function - const authNeededCallback = async(params) => { - if (!params.uri) { - throw new Error("uri is required"); - } - if (!params.expiration) { - throw new Error("expiration is required"); - } - - if (!params.resourceAbilityRequests) { - throw new Error("resourceAbilityRequests is required"); - } - - // Create the SIWE message - const toSign = await createSiweMessageWithRecaps({ - uri: params.uri, - expiration: params.expiration, - resources: params.resourceAbilityRequests, - walletAddress: this.ethersWallet.address, - nonce: latestBlockhash, - litNodeClient: this.litNodeClient, - }); - - // Generate the authSig - const authSig = await generateAuthSig({ - signer: this.ethersWallet, - toSign, - }); - - return authSig; - } - - // Define the Lit resource - const litResource = new LitAccessControlConditionResource('*'); - - // Get the session signatures - const sessionSigs = await this.litNodeClient.getSessionSigs({ - chain: this.chain, - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback, - capacityDelegationAuthSig, - }); - return sessionSigs; - } - - ... -} -``` - -#### Using a delegated `capacityDelegationAuthSig` from a backend - -If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: - -- [ExpressJS](https://www.npmjs.com/package/express) -- [Node HTTP server](https://nodejs.org/api/http.html#http) - -#### Decryption - -To decrypt use the following functions depending on the function used to encrypt: - -- [decryptToString()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) -- [decryptToZip()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) -- [decryptToFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) -- [decryptZipFileWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) -- [decryptFromJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - -In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. - -:::note - -If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. - -::: - -```jsx -class Lit { - ... - - async decrypt(ciphertext, dataToEncryptHash) { - // Get the session signatures - const sessionSigs = await this.getSessionSignatures(); - - // Decrypt the message - const decryptedString = await LitJsSdk.decryptToString( - { - accessControlConditions, - chain: this.chain, - ciphertext, - dataToEncryptHash, - sessionSigs, - }, - this.litNodeClient, - ); - - // Return the decrypted string - return { decryptedString }; - } - - ... -} -``` - -Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. - - diff --git a/docs/sdk/serverless-signing/get-rpc-url.md b/docs/sdk/serverless-signing/get-rpc-url.md index 370cda85..eaad8dc4 100644 --- a/docs/sdk/serverless-signing/get-rpc-url.md +++ b/docs/sdk/serverless-signing/get-rpc-url.md @@ -2,10 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Get Chain RPC URLs Within an Action -:::info - Only available on the `datil-dev` network -::: - ## Overview You can use the `getRpcUrl` function within a Lit Action to call make an RPC call to a given blockchain. This can be useful for sending transactions, calling contract methods, pulling block data, and other related use cases. From 69e11e8308d9b3d71749ca433a4157304820a0a6 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 11:30:06 -1000 Subject: [PATCH 340/627] Update to Chronicle Vesuvius --- docs/sdk/migrations/datil.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index a94541f4..56c8e157 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Migrating to Datil -Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Vesuvius, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). +Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Chronicle Vesuvius Testnet, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). Depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: @@ -35,7 +35,7 @@ Additionally, the newly minted PKPs on the target Lit network will have new Ethe ### Encrypted Data -Because Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. +Because Chronicle Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. Each Lit network has it's own BLS root key that's used for encrypting data. To migrate existing encrypted data, you will need to decrypt it using the Lit network it was encrypted with. Then re-encrypt it using one of the new Datil networks. From 73f7fc652a19a5d1eefc635183091d1e4b91a9b1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 11:40:44 -1000 Subject: [PATCH 341/627] Update resources section --- docs/sdk/migrations/datil.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index 56c8e157..c911fd9e 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -17,9 +17,15 @@ Like their counterparts, `datil` and `datil-test` require payment for usage of t ## Breaking Changes and Important Updates -### Datil Resources +### Chronicle Vesuvius Testnet Resources -Datil has a new [block explorer](https://vesuvius-explorer.litprotocol.com/), and Lit test tokens can be received from [this faucet](https://datil-dev-faucet.vercel.app/). +The following are useful resources for the Chronicle Vesuvius Testnet: + +- [Chain facts](https://app.conduit.xyz/published/view/vesuvius-as793xpg5g) +- [Block explorer](https://vesuvius-explorer.litprotocol.com/) +- A new Lit test token has been deployed for the testnet, and previous Lit test token balances from Chronicle will **not** be carried over. + - The new Lit test token address, deployed on Chronicle Vesuvius Testnet, is: `0x7FC23B31E9f262329cbc83c293a93b4e7176807E` + - Lit test tokens can be received from [this faucet](https://datil-dev-faucet.vercel.app/) ### New Network, New PKPs From 85d626ee7fac99fbc0bcd6cb924422062540e487 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 11:42:12 -1000 Subject: [PATCH 342/627] Update payment disclaimer --- docs/sdk/migrations/datil.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index c911fd9e..63b3063e 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -13,7 +13,7 @@ Depending on the existing Lit network you are using, you should migrate to it's | ❌ | ✅ | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | -Like their counterparts, `datil` and `datil-test` require payment for usage of the Lit network via [Capacity Credits](../capacity-credits.md); however, `datil-dev` does not. +Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits.md); however, `datil-dev` does not. ## Breaking Changes and Important Updates From 84648e84f706b6e6a1b15f33fd455cfc0e3fc6af Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 11:44:50 -1000 Subject: [PATCH 343/627] Grammar --- docs/sdk/migrations/datil.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index 63b3063e..7afb2431 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -29,7 +29,7 @@ The following are useful resources for the Chronicle Vesuvius Testnet: ### New Network, New PKPs -Because existing PKPs were minted on the old Chronicle chain, migration from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. +Because existing PKPs were minted on the old Chronicle chain, migrating from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. To reduce the friction of migrating PKPs to Datil, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. From 01577a0b5c14bba45c7ec58ca819f48570aa5f2d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 12:21:52 -1000 Subject: [PATCH 344/627] Update PKP migration disclaimer --- docs/sdk/migrations/datil.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index 7afb2431..1595603b 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -34,7 +34,7 @@ Because existing PKPs were minted on the old Chronicle chain, migrating from `ca To reduce the friction of migrating PKPs to Datil, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. :::note -The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. +The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction. Additionally, the newly minted PKPs on the target Lit network will have new Ethereum addresses, so anything that uses the existing PKP's Ethereum address for things like permissions, will need to be manually updated to us the new PKP's Ethereum address. ::: From fdfacaf3ea348a5fd5bdd85d0a52cb9355ee7fe1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 12:27:47 -1000 Subject: [PATCH 345/627] Update decryption disclaimer --- docs/sdk/migrations/datil.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index 1595603b..2b9f2ed0 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -41,7 +41,7 @@ Additionally, the newly minted PKPs on the target Lit network will have new Ethe ### Encrypted Data -Because Chronicle Vesuvius is a new Lit network, a new round of Distributed Key Generation (DKG) has been done, resulting in new BLS root keys for the network. This means all previously encrypted data using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. +Because each Lit network undergoes it's own Distributed Key Generation (DKG), and therefore has it's own BLS root key, any encrypted data on one Lit network is **not** able to be decrypted using a different Lit network. For example, data encrypted using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. Each Lit network has it's own BLS root key that's used for encrypting data. To migrate existing encrypted data, you will need to decrypt it using the Lit network it was encrypted with. Then re-encrypt it using one of the new Datil networks. From 7d9a7eed182666fa88b28d9a5e032db651e01d91 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 13:01:46 -1000 Subject: [PATCH 346/627] Add 6.1.0 version for datil-dev --- docs/sdk/migrations/datil.md | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index 2b9f2ed0..aa267813 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -7,11 +7,11 @@ Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called Depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: -| Currently Available | Requires Payment | Your Current Network | Network to Migrate to | Description | -| --------------------| ---------------- | -------------------- | -------------------- | ------------------------------------------------------------ | -| ❌ | ✅ | `habanero` | `datil` | Decentralized mainnet designed for production use cases | -| ❌ | ✅ | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | -| ✅ | ❌ | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | +| Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | +| --------------------| ---------------- | -------------------- | -------------------- | -------------------- | ------------------------------------------------------------ | +| ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | +| ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits.md); however, `datil-dev` does not. @@ -56,6 +56,7 @@ Currently only the `datil-dev` network is live and available to connect to. This The only code changes required to make use of the new Datil networks are as follows: - Upgrade the Lit packages to the latest version that supports Datil + - `6.1.0` is the minimum version of the packages that supports `datil-dev` - Specify the Datil network when instantiating Lit node clients from the SDK Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. @@ -64,11 +65,7 @@ If you do run into issues after migrating from an existing network to a Datil ne ### Upgrading the Lit Packages -:::note -The version of the Lit SDK that supports `datil-dev` is still in beta. Once the package version is fully released, the `datil-dev` NPM tag will no longer be required, as it will be installed from NPM by default. -::: - -The `datil-dev` NPM tag can be used to install any of the Lit packages like so: +The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: ```bash -npm install @lit-protocol/lit-node-client@datil-dev +npm install @lit-protocol/lit-node-client ``` @@ -87,7 +84,7 @@ npm install @lit-protocol/lit-node-client@datil-dev ```bash -yarn add @lit-protocol/lit-node-client@datil-dev +yarn add @lit-protocol/lit-node-client ``` From d732fc6add5fccb87e075f950a40dfef14c3953f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 13:05:39 -1000 Subject: [PATCH 347/627] Add example of specifying lit network when connecting client --- docs/sdk/migrations/datil.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md index aa267813..b29f319a 100644 --- a/docs/sdk/migrations/datil.md +++ b/docs/sdk/migrations/datil.md @@ -58,6 +58,15 @@ The only code changes required to make use of the new Datil networks are as foll - Upgrade the Lit packages to the latest version that supports Datil - `6.1.0` is the minimum version of the packages that supports `datil-dev` - Specify the Datil network when instantiating Lit node clients from the SDK + - This is done by specifying the `litNetwork` property when [connecting a Lit client](https://github.com/LIT-Protocol/docs/pull/306/commits/7d9a7eed182666fa88b28d9a5e032db651e01d91) to a network: + ```ts + import { LitNodeClient } from "@lit-protocol/lit-node-client"; + + const litNodeClient = new LitNodeClient({ + litNetwork: 'datil-dev' + }); + await litNodeClient.connect(); + ``` Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. From faa22d2f9a2ddec021142c5a9ebe481644257853 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 22:21:26 -1000 Subject: [PATCH 348/627] Re-org --- .../connecting-to-a-lit-network/connecting.md | 31 +++ .../lit-blockchains/chronicle-vesuvius.md | 54 +++++ .../lit-blockchains/chronicle.md | 56 ++++++ .../migrations/migrating-to-vesuvius.md | 60 ++++++ docs/connecting-to-a-lit-network/testnets.md | 49 +++++ docs/sdk/migrations/datil.md | 188 ------------------ sidebars.js | 30 ++- src/components/AddRollupButtonVesuvius.jsx | 30 +++ 8 files changed, 309 insertions(+), 189 deletions(-) create mode 100644 docs/connecting-to-a-lit-network/connecting.md create mode 100644 docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md create mode 100644 docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md create mode 100644 docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md create mode 100644 docs/connecting-to-a-lit-network/testnets.md delete mode 100644 docs/sdk/migrations/datil.md create mode 100644 src/components/AddRollupButtonVesuvius.jsx diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md new file mode 100644 index 00000000..c738fae8 --- /dev/null +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -0,0 +1,31 @@ +# Connecting to a Lit Network + +After installing the Lit SDK, you can connect an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) to a Lit network. This is done by setting the `litNetwork` property when instantiating an instance of `LitNodeClient`: + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; + +const litNodeClient = new LitNodeClient({ + // Change this to the Lit SDK Network Identifier you want to connect to + litNetwork: 'datil-dev', +}); +await litNodeClient.connect(); +``` + +## Available Lit Networks + +### Mainnets + +| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | +|----------|----------------------------|---------------|-----------------| +| Datil | `datil` | n/a | ❌ | +| Habanero | `habanero` | n/a | ✅ | + +### Testnets + +| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | +|-----------|----------------------------|------------------------------|-----------------| +| Datil-dev | `datil-dev` | [Link](./testnets#datil-dev) | ✅ | +| Datil | `datil-test` | n/a | ❌ | +| Cayenne | `cayenne` | n/a | ✅ | +| Manzano | `manzano` | n/a | ✅ | diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md new file mode 100644 index 00000000..11c75bd3 --- /dev/null +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md @@ -0,0 +1,54 @@ +import FeedbackComponent from "@site/src/pages/feedback.md"; + +import AddRollupButton from "@site/src/components/AddRollupButtonVesuvius"; + +# Chronicle Vesuvius + +Chronicle Vesuvius is Lit Protocol's custom EVM rollup which is superseding the [Chronicle](./chronicle.md) blockchain, allowing for a more performant and stable backend for Lit's infrastructure. + + + +## About Chronicle Vesuvius + +Chronicle Vesuvius is a custom EVM rollup using [Arbitrum Orbit](https://arbitrum.io/orbit), designed specifically for Lit Protocol. This rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle Vesuvius can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. + +## `testLPX` Test Token + +The `testLPX` test token serves as the gas for transactions on Chronicle Vesuvius. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. + +To obtain the `testLPX` test token, please use [the faucet](https://datil-dev-faucet.vercel.app/). The `testLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. + +## Connecting to Chronicle Vesuvius + +To connect to Chronicle Vesuvius, you can click or manually add the network parameters below: + +:::note +The below and additional chain facts are available [here](https://app.conduit.xyz/published/view/vesuvius-as793xpg5g). +::: + +| Parameter Name | Value | +|--------------------|----------------------------------------------------| +| Chain ID | 2311 | +| Name | Chronicle Vesuvius - Lit Protocol Testnet | +| RPC URL | https://rpc-vesuvius-as793xpg5g.t.conduit.xyz | +| Block Explorer URL | https://explorer-vesuvius-as793xpg5g.t.conduit.xyz | +| Currency Symbol | testLPX | +| Currency Decimals | 18 | + +**Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. + +## Block Explorer + +A block explorer is available for Chronicle Vesuvius, providing valuable insights into the network. You can access it [here](https://explorer-vesuvius-as793xpg5g.t.conduit.xyz). The explorer allows you to track transactions, addresses, and other essential data on the rollup. + +## Special Features + +Chronicle Vesuvius includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle Vesuvius. + +## Next Steps + +Now that you've learned about Chronicle Vesuvius, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../../sdk/serverless-signing/conditional-signing). + + diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md new file mode 100644 index 00000000..206fc14b --- /dev/null +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -0,0 +1,56 @@ +import FeedbackComponent from "@site/src/pages/feedback.md"; + +import AddRollupButton from "@site/src/components/AddRollupButton"; + +# Chronicle + +Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. + + + +## About Chronicle + +Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. + +## `testLPX` Test Token + +The `testLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. + +To obtain the `testLPX` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. + +## Connecting to Chronicle + +To connect to Chronicle, you can click or manually add the network parameters below + +| Parameter Name | Value | +| ------------------ | ---------------------------------------------- | +| Chain ID | 175177 | +| Name | Chronicle - Lit Protocol Testnet | +| RPC URL | https://chain-rpc.litprotocol.com/replica-http | +| Block Explorer URL | https://chain.litprotocol.com/ | +| Currency Symbol | testLPX | +| Currency Decimals | 18 | + +**Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. + +## Block Explorer + +A block explorer is available for Chronicle, providing valuable insights into the network. You can access it at https://chain.litprotocol.com/. The explorer allows you to track transactions, addresses, and other essential data on the rollup. + +## Special Features + +Chronicle includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle. + +## Future Plans + +Soon, each Lit Node operator will also run a Chronicle node. This will provide instant, secure Chronicle data to the Lit Nodes. + +We are also working on a decentralized sequencer for the rollup, such that all Chronicle node operators are able to submit transactions to the rollup. This will allow for a more decentralized and secure rollup. + +## Next Steps + +Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../../sdk/serverless-signing/conditional-signing). + + diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md new file mode 100644 index 00000000..1760e4c4 --- /dev/null +++ b/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md @@ -0,0 +1,60 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Migrating From Chronicle to Chronicle Vesuvius + +Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../chronicle). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new blockchain network, [Chronicle Vesuvius](../chronicle-vesuvius), powered by [Arbitrum Orbit](https://arbitrum.io/orbit). + +Chronicle Vesuvius will support three new Lit networks, and depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: + +| Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | +| --------------------| ---------------- | -------------------- | -------------------- | -------------------- | ------------------------------------------------------------ | +| ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | +| ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | + +Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. + +## Breaking Changes and Important Updates + +Chronicle Vesuvius' chain facts are available [here](../chronicle-vesuvius#connecting-to-chronicle-vesuvius). + +### New Network, New PKPs + +PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Vesuvius blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. + +To reduce the friction of re-minting PKPs on Chronicle Vesuvius, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. + +:::caution +The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction. + +Additionally, the newly minted PKPs on the target Lit network will have new Ethereum addresses, so anything that uses the existing PKP's Ethereum address for things like permissions, will need to be manually updated to us the new PKP's Ethereum address. +::: + +### Encrypted Data + +Because each Lit network undergoes it's own Distributed Key Generation (DKG), and therefore has it's own BLS root key, any encrypted data on one Lit network is **not** able to be decrypted using a different Lit network. For example, data encrypted using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. + +As a result, to migrate existing encrypted data, you must first decrypt it using the Lit network it was encrypted on, then re-encrypt that data using the Datil network you're migrating to. + +There were no API changes made to the SDK for encrypting and decrypting, so you're existing code should work with Datil. See [here](../../sdk/access-control/quick-start#performing-encryption) for a guide on encrypting data, and [here](../../sdk/access-control/quick-start#performing-decryption) for decrypting. + +## How to Connect to a Datil Network + +:::note +Currently only the `datil-dev` network is live and available to connect to. [This page](../../connecting) will be updated when the other Datil networks come online. +::: + +The only code changes required to make use of the new Datil networks are as follows: + +- Upgrade the Lit packages to the latest version that supports Datil + - `6.1.0` is the minimum version of the packages that supports `datil-dev` +- Specify the Datil network when instantiating Lit node clients from the SDK + - This is done by specifying the `litNetwork` property when [connecting a Lit client](../../connecting) to a network to one of the following Datil networks: + - `datil` + - `datil-test` + - `datil-dev` + +Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. + +If you do run into issues after migrating from an existing network to a Datil network, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md new file mode 100644 index 00000000..906aeddd --- /dev/null +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -0,0 +1,49 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Testnets + +Test networks are designed for early-stage application development. Storing assets with real world value on these networks is **highly discouraged** and minted PKPs may be deleted. All test networks may be deprecated in the future. + +Here is an overview of the Lit testnets: + +| Name | Lit Blockchain | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | +|-----------|------------------------------------------------------------|-------------------------|----------------------------|------------------| +| Datil-dev | [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) | `^6.1.0` | `datil-dev` | ❌ | +| Cayenne | [Chronicle](./lit-blockchains/chronicle) | `^4.0.0` | `cayenne` | ❌ | +| Manzano | [Chronicle](./lit-blockchains/chronicle) | `^4.0.0` | `manzano` | ✅ | + +## Datil-dev + +The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Vesuvius. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). + +If you are currently on one of the Lit networks that utilize the Chronicle blockchain, please refer to [this guide](./lit-blockchains/migrations/migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. + +The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: + + + + +```bash +npm install @lit-protocol/lit-node-client +``` + + + + + +```bash +yarn add @lit-protocol/lit-node-client +``` + + + + +There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Cayenne should work without issue on Datil-dev. If you do run into issues after migrating to Datil-dev, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. + +To connect to Datil-Dev, please follow the [Connecting to a Lit Network](./connecting) guide using `datil-dev` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. diff --git a/docs/sdk/migrations/datil.md b/docs/sdk/migrations/datil.md deleted file mode 100644 index b29f319a..00000000 --- a/docs/sdk/migrations/datil.md +++ /dev/null @@ -1,188 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -# Migrating to Datil - -Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../../network/rollup.mdx). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new network, Chronicle Vesuvius Testnet, powered by [Arbitrum Orbit](https://arbitrum.io/orbit). - -Depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: - -| Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | -| --------------------| ---------------- | -------------------- | -------------------- | -------------------- | ------------------------------------------------------------ | -| ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | -| ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | -| ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | - -Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits.md); however, `datil-dev` does not. - -## Breaking Changes and Important Updates - -### Chronicle Vesuvius Testnet Resources - -The following are useful resources for the Chronicle Vesuvius Testnet: - -- [Chain facts](https://app.conduit.xyz/published/view/vesuvius-as793xpg5g) -- [Block explorer](https://vesuvius-explorer.litprotocol.com/) -- A new Lit test token has been deployed for the testnet, and previous Lit test token balances from Chronicle will **not** be carried over. - - The new Lit test token address, deployed on Chronicle Vesuvius Testnet, is: `0x7FC23B31E9f262329cbc83c293a93b4e7176807E` - - Lit test tokens can be received from [this faucet](https://datil-dev-faucet.vercel.app/) - -### New Network, New PKPs - -Because existing PKPs were minted on the old Chronicle chain, migrating from `cayenne` to `datil-dev` requires re-minting of all PKPs. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. - -To reduce the friction of migrating PKPs to Datil, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. - -:::note -The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction. - -Additionally, the newly minted PKPs on the target Lit network will have new Ethereum addresses, so anything that uses the existing PKP's Ethereum address for things like permissions, will need to be manually updated to us the new PKP's Ethereum address. -::: - -### Encrypted Data - -Because each Lit network undergoes it's own Distributed Key Generation (DKG), and therefore has it's own BLS root key, any encrypted data on one Lit network is **not** able to be decrypted using a different Lit network. For example, data encrypted using `cayenne`'s public BLS key, will **not** be able to be decrypted using the `datil-dev` network. - -Each Lit network has it's own BLS root key that's used for encrypting data. To migrate existing encrypted data, you will need to decrypt it using the Lit network it was encrypted with. Then re-encrypt it using one of the new Datil networks. - -There were no API changes made to the SDK for encrypting and decrypting, so you're existing code should work with Datil. See [here](../../sdk/access-control/quick-start#performing-encryption) for a guide on encrypting data, and [here](../../sdk/access-control/quick-start#performing-decryption) for decrypting. - -## How to Connect to a Datil Network - -:::note -Currently only the `datil-dev` network is live and available to connect to. This guide will be updated when the other Datil networks come online. -::: - -The only code changes required to make use of the new Datil networks are as follows: - -- Upgrade the Lit packages to the latest version that supports Datil - - `6.1.0` is the minimum version of the packages that supports `datil-dev` -- Specify the Datil network when instantiating Lit node clients from the SDK - - This is done by specifying the `litNetwork` property when [connecting a Lit client](https://github.com/LIT-Protocol/docs/pull/306/commits/7d9a7eed182666fa88b28d9a5e032db651e01d91) to a network: - ```ts - import { LitNodeClient } from "@lit-protocol/lit-node-client"; - - const litNodeClient = new LitNodeClient({ - litNetwork: 'datil-dev' - }); - await litNodeClient.connect(); - ``` - -Making these changes shouldn't cause your existing implementations to break, assuming you've handled migration of PKPs and encrypted data as mentioned above. - -If you do run into issues after migrating from an existing network to a Datil network, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. - -### Upgrading the Lit Packages - -The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: - - - - -```bash -npm install @lit-protocol/lit-node-client -``` - - - - - -```bash -yarn add @lit-protocol/lit-node-client -``` - - - - -### Connecting a Lit Client to a Datil Network - - - - -Connecting a `LitNodeClient` to `datil-dev`: - -```ts -import { LitNodeClient } from "@lit-protocol/lit-node-client"; - -const litNodeClient = new LitNodeClient({ - litNetwork: 'datil-dev', // <-- Change this from 'cayenne' -}); -await litNodeClient.connect(); -``` - -Connecting a contracts client to `datil-dev`: - -```ts -import { LitContracts } from "@lit-protocol/contracts-sdk"; - -const litContractsClient = new LitContracts({ - litNetwork: 'datil-dev', // <-- Change this from 'cayenne' -}); -await litContractsClient.connect(); -``` - - - - - -Connecting a `LitNodeClient` to `datil-test`: - -```ts -import { LitNodeClient } from "@lit-protocol/lit-node-client"; - -const litNodeClient = new LitNodeClient({ - litNetwork: 'datil-test', // <-- Change this from 'manzano' -}); -await litNodeClient.connect(); -``` - -Connecting a contracts client to `datil-test`: - -```ts -import { LitContracts } from "@lit-protocol/contracts-sdk"; - -const litContractsClient = new LitContracts({ - litNetwork: 'datil-test', // <-- Change this from 'manzano' -}); -await litContractsClient.connect(); -``` - - - - - -Connecting a `LitNodeClient` to `datil`: - -```ts -import { LitNodeClient } from "@lit-protocol/lit-node-client"; - -const litNodeClient = new LitNodeClient({ - litNetwork: 'datil', // <-- Change this from 'habanero' -}); -await litNodeClient.connect(); -``` - -Connecting a contracts client to `datil`: - -```ts -import { LitContracts } from "@lit-protocol/contracts-sdk"; - -const litContractsClient = new LitContracts({ - litNetwork: 'datil', // <-- Change this from 'habanero' -}); -await litContractsClient.connect(); -``` - - - diff --git a/sidebars.js b/sidebars.js index 8bbfb0d6..6515131d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -73,7 +73,6 @@ const sidebars = { keywords: ['migrations'], }, items: [ - 'sdk/migrations/datil', 'sdk/migrations/6.0.0', 'sdk/migrations/4.0.0', 'sdk/migrations/3.2.0', @@ -91,6 +90,35 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'Connecting to a Lit Network', + collapsed: true, + link: { + type: 'doc', + id: 'connecting-to-a-lit-network/connecting', + }, + items: [ + 'connecting-to-a-lit-network/testnets', + { + type: 'category', + label: 'Lit Blockchains', + collapsed: true, + items: [ + 'connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius', + 'connecting-to-a-lit-network/lit-blockchains/chronicle', + { + type: 'category', + label: 'Migrations', + collapsed: true, + items: [ + 'connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius', + ], + }, + ], + }, + ], + }, { type: 'category', label: 'Guides', diff --git a/src/components/AddRollupButtonVesuvius.jsx b/src/components/AddRollupButtonVesuvius.jsx new file mode 100644 index 00000000..021296df --- /dev/null +++ b/src/components/AddRollupButtonVesuvius.jsx @@ -0,0 +1,30 @@ +import React from 'react'; + +export default function AddRollupButton() { + const addNetwork = () => { + const params = [ + { + chainId: '0x907', + chainName: 'Chronicle Vesuvius - Lit Protocol Testnet', + nativeCurrency: { + name: 'LIT', + symbol: 'LIT', + decimals: 18, + }, + rpcUrls: ['https://rpc-vesuvius-as793xpg5g.t.conduit.xyz'], + blockExplorerUrls: [ + 'https://explorer-vesuvius-as793xpg5g.t.conduit.xyz', + ], + }, + ]; + + window.ethereum + .request({ method: 'wallet_addEthereumChain', params }) + .then(() => console.log('Success')) + .catch(error => console.log('Error', error.message)); + }; + + return ( + + ); +} From 8d38ff3f5ea4cd23154a429c6fadcc4d685626e8 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 22:23:24 -1000 Subject: [PATCH 349/627] Add networks to datil migration blurb --- docs/connecting-to-a-lit-network/testnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 906aeddd..0e100173 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -17,7 +17,7 @@ Here is an overview of the Lit testnets: The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Vesuvius. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain, please refer to [this guide](./lit-blockchains/migrations/migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./lit-blockchains/migrations/migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: From 61a0282532f805738cec0ea86bd2e1dae4308f73 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 22:48:00 -1000 Subject: [PATCH 350/627] Add deprecation callout to Chronicle page --- .../lit-blockchains/chronicle.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index 206fc14b..fc8af964 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -4,6 +4,12 @@ import AddRollupButton from "@site/src/components/AddRollupButton"; # Chronicle +:::warning +With the release of [Chronicle Vesuvius](./chronicle-vesuvius), Chronicle is going to be deprecated, and **should no longer be used.** + +Please check out the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-vesuvius) guide if you need to migrate you application to Chronicle Vesuvius. +::: + Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. From 7c1ddd0a896b93e2bbeeb6606befc48b01cdbfeb Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 8 Jul 2024 22:58:21 -1000 Subject: [PATCH 351/627] Add deprecation notice for chronicle networks --- .../connecting-to-a-lit-network/connecting.md | 26 ++++++++++++------- .../migrations/migrating-to-vesuvius.md | 10 +++---- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index c738fae8..5593d7c5 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -14,18 +14,24 @@ await litNodeClient.connect(); ## Available Lit Networks +:::warning +With the release of [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) and the Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. + +If you are currently using these networks, please review the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-vesuvius) guide to migrate your application and Lit assets to a Datil network. +::: + ### Mainnets -| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | -|----------|----------------------------|---------------|-----------------| -| Datil | `datil` | n/a | ❌ | -| Habanero | `habanero` | n/a | ✅ | +| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | +|----------|----------------------------|---------------|---------------------------| +| Datil | `datil` | n/a | ❌ | +| Habanero | `habanero` | n/a | ⚠️ Going to be deprecated | ### Testnets -| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | -|-----------|----------------------------|------------------------------|-----------------| -| Datil-dev | `datil-dev` | [Link](./testnets#datil-dev) | ✅ | -| Datil | `datil-test` | n/a | ❌ | -| Cayenne | `cayenne` | n/a | ✅ | -| Manzano | `manzano` | n/a | ✅ | +| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | +|-----------|----------------------------|------------------------------|---------------------------| +| Datil-dev | `datil-dev` | [Link](./testnets#datil-dev) | ✅ | +| Datil | `datil-test` | n/a | ❌ | +| Cayenne | `cayenne` | n/a | ⚠️ Going to be deprecated | +| Manzano | `manzano` | n/a | ⚠️ Going to be deprecated | diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md index 1760e4c4..a64726ea 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md @@ -7,11 +7,11 @@ Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called Chronicle Vesuvius will support three new Lit networks, and depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: -| Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | -| --------------------| ---------------- | -------------------- | -------------------- | -------------------- | ------------------------------------------------------------ | -| ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | -| ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | -| ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | +| Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | +|---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| +| ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | +| ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. From 1e7e86e9714a3cbf50925a9485f30e7098dd0c9c Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 06:42:11 -1000 Subject: [PATCH 352/627] Move/rename Datil migration guide --- .../migrations => }/migrating-to-vesuvius.md | 2 +- sidebars.js | 9 +-------- 2 files changed, 2 insertions(+), 9 deletions(-) rename docs/connecting-to-a-lit-network/{lit-blockchains/migrations => }/migrating-to-vesuvius.md (99%) diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md similarity index 99% rename from docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md rename to docs/connecting-to-a-lit-network/migrating-to-vesuvius.md index a64726ea..dd608a16 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md @@ -1,7 +1,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Migrating From Chronicle to Chronicle Vesuvius +# Migrating To Datil From Earlier Networks Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../chronicle). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new blockchain network, [Chronicle Vesuvius](../chronicle-vesuvius), powered by [Arbitrum Orbit](https://arbitrum.io/orbit). diff --git a/sidebars.js b/sidebars.js index 6515131d..c6a7b1f5 100644 --- a/sidebars.js +++ b/sidebars.js @@ -100,6 +100,7 @@ const sidebars = { }, items: [ 'connecting-to-a-lit-network/testnets', + 'connecting-to-a-lit-network/migrating-to-vesuvius', { type: 'category', label: 'Lit Blockchains', @@ -107,14 +108,6 @@ const sidebars = { items: [ 'connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius', 'connecting-to-a-lit-network/lit-blockchains/chronicle', - { - type: 'category', - label: 'Migrations', - collapsed: true, - items: [ - 'connecting-to-a-lit-network/lit-blockchains/migrations/migrating-to-vesuvius', - ], - }, ], }, ], From 7ff2cbe6add45a8ffd70ae7d873ad4d845b50f72 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 06:43:56 -1000 Subject: [PATCH 353/627] Remove v0 migration guide from sidebar --- sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index c6a7b1f5..4a222487 100644 --- a/sidebars.js +++ b/sidebars.js @@ -49,7 +49,7 @@ const sidebars = { 'intro/overview', 'intro/what-is-lit-protocol', 'resources/how-it-works', - 'network/migration-guide', + // 'network/migration-guide', ], }, { From 6b8423c0c53f9022c1d8f8f5d5415618b21e9c59 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 06:44:44 -1000 Subject: [PATCH 354/627] Grammar --- docs/connecting-to-a-lit-network/migrating-to-vesuvius.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md index dd608a16..ec8d5c55 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md @@ -50,7 +50,7 @@ The only code changes required to make use of the new Datil networks are as foll - Upgrade the Lit packages to the latest version that supports Datil - `6.1.0` is the minimum version of the packages that supports `datil-dev` - Specify the Datil network when instantiating Lit node clients from the SDK - - This is done by specifying the `litNetwork` property when [connecting a Lit client](../../connecting) to a network to one of the following Datil networks: + - This is done by specifying the `litNetwork` property when [connecting a Lit client](../../connecting) to one of the following Datil networks: - `datil` - `datil-test` - `datil-dev` From 6d523dd9e9b9ff42159ae4e62a15e9d1907b848b Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 07:21:45 -1000 Subject: [PATCH 355/627] Add blurb to migrating PKPs section in datil migration --- docs/connecting-to-a-lit-network/migrating-to-vesuvius.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md index ec8d5c55..25704c42 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md @@ -25,6 +25,8 @@ PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` e To reduce the friction of re-minting PKPs on Chronicle Vesuvius, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. +After re-minting PKPs on Chronicle Vesuvius, your users could use both the old Chronicle based network PKPs and the new Chronicle Vesuvius PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves. + :::caution The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction. From b54debfd53d6c2f962a24f0a5f6470c0a268255f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 07:22:33 -1000 Subject: [PATCH 356/627] Remove v0 migration guide from sidebar --- sidebars.js | 1 - 1 file changed, 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 4a222487..35f6af1c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -49,7 +49,6 @@ const sidebars = { 'intro/overview', 'intro/what-is-lit-protocol', 'resources/how-it-works', - // 'network/migration-guide', ], }, { From 85fa0e564e80200a67edb9e3a8a2aea07820b5e9 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 07:36:51 -1000 Subject: [PATCH 357/627] Update State of the Network callout --- docs/concepts/access-control-concept.md | 5 +- docs/concepts/programmable-signing-concept.md | 5 +- docs/intro/overview.mdx | 6 +- docs/intro/usecases.md | 5 +- docs/intro/what-is-lit-protocol.md | 5 +- docs/network/feature-matrix.md | 5 +- docs/network/rollup.mdx | 60 ------------------- docs/sdk/access-control/encryption.md | 5 +- docs/sdk/access-control/intro.md | 5 +- docs/sdk/authentication/overview.md | 5 +- docs/sdk/installation.md | 5 +- docs/sdk/migrations/3.0.0/changes.md | 5 +- docs/sdk/migrations/3.0.0/overview.md | 5 +- docs/sdk/migrations/3.2.0.md | 5 +- docs/sdk/migrations/4.0.0.md | 5 +- docs/sdk/tests.md | 5 +- docs/sdk/wallets/intro.md | 7 +-- sidebars.js | 1 - src/pages/state-of-the-network.md | 3 + 19 files changed, 36 insertions(+), 111 deletions(-) delete mode 100644 docs/network/rollup.mdx create mode 100644 src/pages/state-of-the-network.md diff --git a/docs/concepts/access-control-concept.md b/docs/concepts/access-control-concept.md index 92a9a01b..5a5975fa 100644 --- a/docs/concepts/access-control-concept.md +++ b/docs/concepts/access-control-concept.md @@ -2,13 +2,12 @@ sidebar_position: 1 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Encryption and Access Control -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + ## Overview diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index 989ae145..6174ac8c 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -2,13 +2,12 @@ sidebar_position: 2 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Decentralized Compute with Lit Actions -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + ## Overview diff --git a/docs/intro/overview.mdx b/docs/intro/overview.mdx index 7060074e..8b02ac11 100644 --- a/docs/intro/overview.mdx +++ b/docs/intro/overview.mdx @@ -3,6 +3,7 @@ sidebar_position: 1 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import EcosystemSection from "@site/src/components/CardSectionsV3/Ecosystem"; import QuickStartSection from "@site/src/components/CardSectionsV3/QuickStart"; @@ -13,10 +14,7 @@ import LearnCodeSection from "@site/src/components/CardSectionsV3/LearnCode"; Lit is an internet native security and identity network. With Lit, you can create and control keys and run code for virtually any application that can be made private, immutable, and / or autonomous. -:::info -[Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: - + diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index f44950b1..6d03d402 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -3,13 +3,12 @@ slug: /usecases sidebar_position: 4 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Use Cases -:::info -[Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + Developers can leverage the Lit Network to build decentralized applications with programmable keys at their core. Possible use cases include: diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 60507406..44ba673e 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -3,13 +3,12 @@ slug: /what-is-lit sidebar_position: 2 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # What is Lit Protocol -:::info -[Habanero Mainnet](network/networks/mainnet) and [Manzano Testnet](network/networks/testnet) are now live. Check out the [docs on migration](network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + Lit is a decentralized key management and compute network. Builders of apps, wallets, protocols, and AI agents use Lit to advance digital ownership with decentralized keys and private, immutable programs. diff --git a/docs/network/feature-matrix.md b/docs/network/feature-matrix.md index 0b34d03c..10f6a417 100644 --- a/docs/network/feature-matrix.md +++ b/docs/network/feature-matrix.md @@ -1,10 +1,9 @@ +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Feature Matrix -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + Shown below is a matrix illustrating which features are available with each SDK version. diff --git a/docs/network/rollup.mdx b/docs/network/rollup.mdx deleted file mode 100644 index a9fa2a02..00000000 --- a/docs/network/rollup.mdx +++ /dev/null @@ -1,60 +0,0 @@ -import FeedbackComponent from "@site/src/pages/feedback.md"; - -import AddRollupButton from "@site/src/components/AddRollupButton"; - -# Chronicle: The Lit Rollup - -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: - -Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. - - - -## About Chronicle - -Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Notee that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. - -## `testLPX` Test Token - -The `testLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. - -To obtain the `testLPX` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. - -Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. - -## Connecting to Chronicle - -To connect to Chronicle, you can click or manually add the network parameters below - -| Parameter Name | Value | -| ------------------ | ---------------------------------------------- | -| Chain ID | 175177 | -| Name | Chronicle - Lit Protocol Testnet | -| RPC URL | https://chain-rpc.litprotocol.com/replica-http | -| Block Explorer URL | https://chain.litprotocol.com/ | -| Currency Symbol | testLPX | -| Currency Decimals | 18 | - -**Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. - -## Block Explorer - -A block explorer is available for Chronicle, providing valuable insights into the network. You can access it at https://chain.litprotocol.com/. The explorer allows you to track transactions, addresses, and other essential data on the rollup. - -## Special Features - -Chronicle includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle. - -## Future Plans - -Soon, each Lit Node operator will also run a Chronicle node. This will provide instant, secure Chronicle data to the Lit Nodes. - -We are also working on a decentralized sequencer for the rollup, such that all Chronicle node operators are able to submit transactions to the rollup. This will allow for a more decentralized and secure rollup. - -## Next Steps - -Now that you've learned about Chronicle, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../sdk/serverless-signing/conditional-signing). - - diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 6a3a5f09..671cf744 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -1,12 +1,11 @@ +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Encryption The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. -:::info -Habanero Mainnet and Manzano Testnet are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + ### How Does ID Encrypt Work diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index c49cae42..7b3b6897 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -2,13 +2,12 @@ sidebar_position: 1 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Encryption and Access Control -:::info -The [Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + ## Introduction diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md index f7f7e93d..5a6db005 100644 --- a/docs/sdk/authentication/overview.md +++ b/docs/sdk/authentication/overview.md @@ -2,13 +2,12 @@ sidebar_position: 1 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Overview -:::info -[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + To interact with the nodes in the Lit Network, you will need to generate and present signatures. Currently, there are three ways to do this: diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 69874b6d..2b0f96d9 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -1,3 +1,4 @@ +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; @@ -5,9 +6,7 @@ import TabItem from '@theme/TabItem'; # Installation -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + Ensure you have the following requirements in place: diff --git a/docs/sdk/migrations/3.0.0/changes.md b/docs/sdk/migrations/3.0.0/changes.md index c0e4a4dd..c02c1006 100644 --- a/docs/sdk/migrations/3.0.0/changes.md +++ b/docs/sdk/migrations/3.0.0/changes.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; @@ -11,9 +12,7 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + ## `@lit-protocol/bls-sdk` diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index 333e0eed..9e6f4f42 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; @@ -11,9 +12,7 @@ import TabItem from '@theme/TabItem'; The **Lit JS SDK V3** replaces the existing access control condition based encryption and JWT signing processes with new cryptographic primitives to offer a more secure and seamless user experience. -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + ## Data Migration diff --git a/docs/sdk/migrations/3.2.0.md b/docs/sdk/migrations/3.2.0.md index 3a1bbe37..f31374d8 100644 --- a/docs/sdk/migrations/3.2.0.md +++ b/docs/sdk/migrations/3.2.0.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; @@ -9,9 +10,7 @@ import TabItem from '@theme/TabItem'; # Migrating from 3.1.x to 3.2.0 -:::info -[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + # Removed `controllerSessionSigs` diff --git a/docs/sdk/migrations/4.0.0.md b/docs/sdk/migrations/4.0.0.md index b1e72dc7..e3a2927f 100644 --- a/docs/sdk/migrations/4.0.0.md +++ b/docs/sdk/migrations/4.0.0.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; @@ -9,9 +10,7 @@ import TabItem from '@theme/TabItem'; # Migrating from 3.x.x to 4.x.x -:::info -[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + V4 release is packed with several improvements, new features, and critical changes aimed at enhancing the robustness, usability, and overall performance of the Lit SDK. Here's everything you need to know about key changes and additions:. diff --git a/docs/sdk/tests.md b/docs/sdk/tests.md index d11382b1..3d194987 100644 --- a/docs/sdk/tests.md +++ b/docs/sdk/tests.md @@ -2,6 +2,7 @@ sidebar_position: 5 --- +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; @@ -9,9 +10,7 @@ import TabItem from '@theme/TabItem'; # Testing and Error Handling -:::info -[Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet) are now live. Check out the [docs on migration](../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: + Currently we have manual tests that you can run in the browser in `manual_tests.html`. To run these, set up a HTTP server in the build folder. We use python for this with the built in SimpleHTTPServer module by running `python2 -m SimpleHTTPServer` and then going to `http://localhost:8000/manual_tests.html` in a browser. diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index d5baec28..69fa47da 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -1,12 +1,11 @@ +import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; # Introduction to User Wallets -:::info -**STATE OF THE NETWORK** - -[Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet) are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. + +:::info Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ ::: diff --git a/sidebars.js b/sidebars.js index 35f6af1c..9f058969 100644 --- a/sidebars.js +++ b/sidebars.js @@ -445,7 +445,6 @@ const sidebars = { }, items: [ 'intro/usecases', - 'network/rollup', 'resources/supported-chains', 'resources/contracts', 'resources/glossary', diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md new file mode 100644 index 00000000..f7377cb9 --- /dev/null +++ b/src/pages/state-of-the-network.md @@ -0,0 +1,3 @@ +:::info +The [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnet is now live and is superseding the Cayenne testnet. Check out the [docs on migration](connecting-to-a-lit-network/migrating-to-vesuvius) to learn how you can start building on Datil-dev today. +::: From c5092f79f56e6c68d5111e0879b0dae345806484 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:32:09 -0700 Subject: [PATCH 358/627] Update docs/integrations/aa/alchemy-account-kit.md Co-authored-by: Wyatt Barnes --- docs/integrations/aa/alchemy-account-kit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index de888f34..af29f289 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -74,7 +74,7 @@ npm i @lit-protocol/pkp-ethers@datil-dev ```js -yarn add @lit-protocol/pkp-ethers@datil-dev +yarn add @lit-protocol/pkp-ethers ``` From b158b01be47b44ade22b24eaea45043f7fe97756 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:34:30 -0700 Subject: [PATCH 359/627] Update docs/integrations/aa/alchemy-account-kit.md Co-authored-by: Wyatt Barnes --- docs/integrations/aa/alchemy-account-kit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index af29f289..cccac079 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -66,7 +66,7 @@ values={[ ```js -npm i @lit-protocol/pkp-ethers@datil-dev +npm i @lit-protocol/pkp-ethers ``` From 06d3e890282c727807fe1a766b7e68568fa1d655 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:34:42 -0700 Subject: [PATCH 360/627] Update docs/integrations/aa/alchemy-account-kit.md Co-authored-by: Wyatt Barnes --- docs/integrations/aa/alchemy-account-kit.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index cccac079..4b76cca0 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -92,9 +92,9 @@ values={[ ```js -npm i @lit-protocol/lit-node-client@datil-dev -npm i @lit-protocol/crypto@datil-dev -npm i @lit-protocol/auth-helpers@datil-dev +npm i @lit-protocol/lit-node-client +npm i @lit-protocol/crypto +npm i @lit-protocol/auth-helpers ``` From c94f7dbf75709feefa9e5b5ff47c2465dd412bb0 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:34:56 -0700 Subject: [PATCH 361/627] Update docs/integrations/aa/alchemy-account-kit.md Co-authored-by: Wyatt Barnes --- docs/integrations/aa/alchemy-account-kit.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 4b76cca0..b8b5a5d8 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -102,9 +102,9 @@ npm i @lit-protocol/auth-helpers ```js -yarn add @lit-protocol/lit-node-client@datil-dev -yarn add @lit-protocol/crypto@datil-dev -yarn add @lit-protocol/auth-helpers@datil-dev +yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/crypto +yarn add @lit-protocol/auth-helpers ``` From 0d72c5755864337bd1d2e48a6c40ff999dd1740d Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:35:18 -0700 Subject: [PATCH 362/627] Update docs/network/networks/testnet.md Co-authored-by: Wyatt Barnes --- docs/network/networks/testnet.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index c8244bd8..77ea227b 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -21,7 +21,7 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | | Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Not Live | V4+ | Deprecated. Do not build new apps that use this network.| [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | | Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) -| DatilDev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) | +| Datil-dev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) |
    From 387e1c1a55213ab0613b4281a2d71598a6717795 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:35:53 -0700 Subject: [PATCH 363/627] Update docs/sdk/serverless-signing/encryption.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/encryption.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/encryption.md b/docs/sdk/serverless-signing/encryption.md index 7a66a9c8..8414ce6c 100644 --- a/docs/sdk/serverless-signing/encryption.md +++ b/docs/sdk/serverless-signing/encryption.md @@ -3,7 +3,10 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decrypting and Combining Within an Action :::info - Only available on the `datil-dev` network + Only available on the Lit networks: + - `habanero` + - `manzano` + - `datil-dev` ::: ## Overview From f4f1a06a63b39574bc16610fa1feedae3578c103 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 11:36:01 -0700 Subject: [PATCH 364/627] Update docs/sdk/serverless-signing/conditional-signing.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/conditional-signing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index c11ca59d..025fda2b 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -24,7 +24,7 @@ The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert t Installed the latest client on `datil-dev` ```bash -yarn install @lit-protocol/lit-node-client@datil-dev +yarn install @lit-protocol/lit-node-client ``` Set up the Lit Action code to be run on the Lit nodes. From da401412aa4d17ab70c11537cf94882dcf476558 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 9 Jul 2024 09:35:21 -1000 Subject: [PATCH 365/627] Address feedback --- .../migrating-to-vesuvius.md | 6 ++++-- docs/connecting-to-a-lit-network/testnets.md | 10 +++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md index 25704c42..02c5550b 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md @@ -3,9 +3,11 @@ import TabItem from '@theme/TabItem'; # Migrating To Datil From Earlier Networks -Previously Lit networks were powered by a pre-Bedrock Optimism L2 rollup called [Chronicle](../chronicle). In our effort to deliver a more performant and stable backend for Lit's infrastructure, we're launching a new blockchain network, [Chronicle Vesuvius](../chronicle-vesuvius), powered by [Arbitrum Orbit](https://arbitrum.io/orbit). +Lit is launching three new networks, Datil-dev, Datil-test, and Datil, to improve performance and stability for production users compared to previous Lit networks like Cayenne, Manzano, and Habanero. -Chronicle Vesuvius will support three new Lit networks, and depending on the existing Lit network you are using, you should migrate to it's corresponding Datil network: +The Datil networks use a new rollup blockchain called [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius), which replaces the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. + +Depending on the existing Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements: | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 0e100173..5e7e859d 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -7,11 +7,11 @@ Test networks are designed for early-stage application development. Storing asse Here is an overview of the Lit testnets: -| Name | Lit Blockchain | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | -|-----------|------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-dev | [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) | `^6.1.0` | `datil-dev` | ❌ | -| Cayenne | [Chronicle](./lit-blockchains/chronicle) | `^4.0.0` | `cayenne` | ❌ | -| Manzano | [Chronicle](./lit-blockchains/chronicle) | `^4.0.0` | `manzano` | ✅ | +| Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | +|-----------|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| +| Datil-dev | [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.1.0` | `datil-dev` | ❌ | +| Cayenne | [Chronicle](./lit-blockchains/chronicle) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^4.0.0` | `cayenne` | ❌ | +| Manzano | [Chronicle](./lit-blockchains/chronicle) | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | `^4.0.0` | `manzano` | ✅ | ## Datil-dev From 4b39dc3d68f0f7427b6cbb2c0ba8f0d4c88e7bab Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 13:59:17 -0700 Subject: [PATCH 366/627] Added deprecated encryption back (hopefully merge res) --- docs/sdk/access-control/encryption.md | 571 ++++++++++++++++++++++++++ 1 file changed, 571 insertions(+) create mode 100644 docs/sdk/access-control/encryption.md diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md new file mode 100644 index 00000000..ecb0803d --- /dev/null +++ b/docs/sdk/access-control/encryption.md @@ -0,0 +1,571 @@ +import FeedbackComponent from "@site/src/pages/feedback.md"; + +# Encryption + +The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. + +:::info +Habanero Mainnet and Manzano Testnet are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + +### How Does ID Encrypt Work + +This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. + +This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). + +The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. + +## High-Level Overview + +Here is a high-level, step-by-step breakdown of encryption and decryption: + +### Encryption + +1. Alice chooses some access control condition and private data and constructs the identity parameter +2. Alice encrypts the private data using the BLS network public key and the identity parameter to get a ciphertext +3. Alice stores the encryption metadata - set of access control conditions, hash of the private data etc. - and the ciphertext wherever she wants + +### Decryption + +1. Bob fetches the ciphertext and corresponding encryption metadata from the public data store +2. Bob presents the encryption metadata to the BLS network and requests for signature shares over the identity parameter +3. The BLS network nodes checks whether the user satisfies the access control conditions before signing the constructed identity parameter +4. Bob assembles the signature shares into a decryption key and successfully decrypts the ciphertext + +## Technical Walkthrough + +You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. + +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. + +Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. + +### Install and Import the Lit SDK + +Ensure you have the following requirements in place: + +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/lit-node-client +``` + +OR + +```jsx +npm i @lit-protocol/lit-node-client +``` + +:::note +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +::: + +You also need to install the following lit packages whose functions are used in the example below: + +- `@lit-protocol/constants` +- `@lit-protocol/auth-helpers` +- `@lit-protocol/contracts-sdk` + + +#### Client-Side Usage + +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit class. Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit Network. + +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +class Lit { + litNodeClient; + chain; + + constructor(chain){ + this.chain = chain; + } + + async connect() { + this.litNodeClient = new LitJsSdk.LitNodeClient({ + litNetwork: LitNetwork.Cayenne, + }); + await this.litNodeClient.connect(); + } +} + +const chain = "ethereum"; + +let myLit = new Lit(chain); +await myLit.connect(); +``` + +The litNodeClient listens to network state, and those listeners will keep your litNodeClient running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow the browser to disconnect gracefully, call: + +```jsx +await this.litNodeClient.disconnect(); +``` + +:::note +To avoid errors from Lit nodes due to stale `authSig` or `sessionSigs`, make sure to clear the local storage for `authSig` and `sessionSigs` before reconnecting or restarting the litNodeClient. + +One way to do this is to disconnect the existing litNodeClient first and then reconnect. To disconnect the litNodeClient after making a connection, call the following function: +```jsx +await this.litNodeClient.disconnect(); +``` + +Other way is to simply call `disconnectWeb3` function which will clear up the local storage for `authSig` and `sessionSigs`: +```jsx +LitJsSdk.disconnectWeb3(); +``` +::: + +#### Server-Side Usage + +In this example stub, the `litNodeClient` is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. Note that `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. + +:::note +If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs`. Moreover, the server-side implementation, the `litNodeClient` class is named `LitNodeClientNodeJs`. +::: + +Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit network. + +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +class Lit { + litNodeClient; + chain; + + constructor(chain){ + this.chain = chain; + } + + async connect() { + app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: LitNetwork.Cayenne, + debug: true, + }); + + this.litNodeClient = app.locals.litNodeClient; + await this.litNodeClient.connect(); + } +} + +const chain = "ethereum"; + +let myLit = new Lit(chain); +await myLit.connect(); +``` + +The `litNodeClient` listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow node to exit gracefully, call:  + +```jsx +await this.litNodeClient.disconnect(); +``` + +### Performing Encryption + +To encrypt something with Lit, you’ll need to follow these steps: + +1. Create an access control condition. +2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. + +#### Create an Access Control Condition + +In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: + +```jsx +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, +]; +``` + +#### Encryption + +To encrypt a string, use one of the following functions: + +- [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- - [encryptString()](../../) - Used to encrypt the raw string. +- [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. + +To encrypt a file, use: + +- [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadata in the zip, so you must store those yourself. + +Apart from these, we have one more function which can be used to encrypt both strings and files: + +- [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialize all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. + +Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. + +In this example, we are using `encryptString()`: + +:::note + +All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. + +::: + +```jsx +class Lit { + ... + + async encrypt(message) { + // Encrypt the message + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + dataToEncrypt: message, + }, + this.litNodeClient, + ); + + // Return the ciphertext and dataToEncryptHash + return { + ciphertext, + dataToEncryptHash, + }; + } + + ... +} +``` + +:::note + +Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. + +::: + +### Performing Decryption + +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. + +There is just one step: + +1. Obtain the decrypted data in plaintext using the `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. + +#### Mint Capacity Credits + +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. + +First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/contracts-sdk +``` + +OR + +```jsx +npm i @lit-protocol/contracts-sdk +``` + +The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: + +```jsx +const walletWithCapacityCredit = new Wallet(""); + +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: 'habanero', +}); + +await contractClient.connect(); +``` + +After you’ve set your wallet, your next step is to mint the NFT: + +```jsx +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 2, +}); +``` + +In the above example, we are configuring 2 properties: + +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. + +#### Delegate usage of your NFT + +Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). + +```jsx +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + signer: wallet, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [walletAddress], + }); +``` + +To delegate your Rate Limit NFT there are 4 properties to configure: + +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to + +:::note +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: + +#### Obtain a Session Sigs + +In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. + +`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. + +The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. + +:::note +Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash SessionSigs will not be validated. +::: + +##### Obtain a `SessionSigs` in the browser + +If you want to obtain a `SessionSigs` in the browser, you can instantiate an `ethers.Signer` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: + + +```jsx +import {ethers} from "ethers"; +import { + LitAccessControlConditionResource, + LitAbility, + createSiweMessageWithRecaps, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +class Lit { + ... + + async getSessionSignatures(){ + // Connect to the wallet + const provider = new ethers.providers.Web3Provider(window.ethereum); + await provider.send("eth_requestAccounts", []); + const signer = provider.getSigner(); + const walletAddress = await signer.getAddress(); + console.log("Connected account:", walletAddress); + + // Get the latest blockhash + const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); + + // Define the authNeededCallback function + const authNeededCallback = async(params) => { + if (!params.uri) { + throw new Error("uri is required"); + } + if (!params.expiration) { + throw new Error("expiration is required"); + } + + if (!params.resourceAbilityRequests) { + throw new Error("resourceAbilityRequests is required"); + } + + // Create the SIWE message + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: walletAddress, + nonce: latestBlockhash, + litNodeClient: this.litNodeClient, + }); + + // Generate the authSig + const authSig = await generateAuthSig({ + signer: signer, + toSign, + }); + + return authSig; + } + + // Define the Lit resource + const litResource = new LitAccessControlConditionResource('*'); + + // Get the session signatures + const sessionSigs = await this.litNodeClient.getSessionSigs({ + chain: this.chain, + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); + return sessionSigs; + } + + ... +} +``` + +##### Obtain a `SessionSigs` on the server-side + +If you want to obtain a `SessionSigs` on the server-side, you can instantiate an `ethers.wallet` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: + +```jsx +import {ethers} from "ethers"; +import { + LitAccessControlConditionResource, + LitAbility, + createSiweMessageWithRecaps, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +class Lit { + private ethersWallet; + + constructor(yourPrivateKey) { + this.ethersWallet = new ethers.Wallet( + "" + ); + } + + ... + + async getSessionSignatures(){ + // Get the latest blockhash + const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); + + // Define the authNeededCallback function + const authNeededCallback = async(params) => { + if (!params.uri) { + throw new Error("uri is required"); + } + if (!params.expiration) { + throw new Error("expiration is required"); + } + + if (!params.resourceAbilityRequests) { + throw new Error("resourceAbilityRequests is required"); + } + + // Create the SIWE message + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: this.ethersWallet.address, + nonce: latestBlockhash, + litNodeClient: this.litNodeClient, + }); + + // Generate the authSig + const authSig = await generateAuthSig({ + signer: this.ethersWallet, + toSign, + }); + + return authSig; + } + + // Define the Lit resource + const litResource = new LitAccessControlConditionResource('*'); + + // Get the session signatures + const sessionSigs = await this.litNodeClient.getSessionSigs({ + chain: this.chain, + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); + return sessionSigs; + } + + ... +} +``` + +#### Using a delegated `capacityDelegationAuthSig` from a backend + +If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: + +- [ExpressJS](https://www.npmjs.com/package/express) +- [Node HTTP server](https://nodejs.org/api/http.html#http) + +#### Decryption + +To decrypt use the following functions depending on the function used to encrypt: + +- [decryptToString()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) +- [decryptToZip()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) +- [decryptToFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) +- [decryptZipFileWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) +- [decryptFromJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) + +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. + +:::note + +If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. + +::: + +```jsx +class Lit { + ... + + async decrypt(ciphertext, dataToEncryptHash) { + // Get the session signatures + const sessionSigs = await this.getSessionSignatures(); + + // Decrypt the message + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions, + chain: this.chain, + ciphertext, + dataToEncryptHash, + sessionSigs, + }, + this.litNodeClient, + ); + + // Return the decrypted string + return { decryptedString }; + } + + ... +} +``` + +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. + + \ No newline at end of file From a91b4235e155a9b56f4ce17933d34c5633e1e76b Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 14:03:40 -0700 Subject: [PATCH 367/627] Delete docs/sdk/access-control/encryption.md --- docs/sdk/access-control/encryption.md | 571 -------------------------- 1 file changed, 571 deletions(-) delete mode 100644 docs/sdk/access-control/encryption.md diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md deleted file mode 100644 index ecb0803d..00000000 --- a/docs/sdk/access-control/encryption.md +++ /dev/null @@ -1,571 +0,0 @@ -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# Encryption - -The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. - -:::info -Habanero Mainnet and Manzano Testnet are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. -::: - -### How Does ID Encrypt Work - -This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. - -This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). - -The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. - -## High-Level Overview - -Here is a high-level, step-by-step breakdown of encryption and decryption: - -### Encryption - -1. Alice chooses some access control condition and private data and constructs the identity parameter -2. Alice encrypts the private data using the BLS network public key and the identity parameter to get a ciphertext -3. Alice stores the encryption metadata - set of access control conditions, hash of the private data etc. - and the ciphertext wherever she wants - -### Decryption - -1. Bob fetches the ciphertext and corresponding encryption metadata from the public data store -2. Bob presents the encryption metadata to the BLS network and requests for signature shares over the identity parameter -3. The BLS network nodes checks whether the user satisfies the access control conditions before signing the constructed identity parameter -4. Bob assembles the signature shares into a decryption key and successfully decrypts the ciphertext - -## Technical Walkthrough - -You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. - -Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. - -Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. - -### Install and Import the Lit SDK - -Ensure you have the following requirements in place: - -1. Operating System: Linux, Mac OS, or Windows. -2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. -4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. - -Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: - -```jsx -yarn add @lit-protocol/lit-node-client -``` - -OR - -```jsx -npm i @lit-protocol/lit-node-client -``` - -:::note -You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. -::: - -You also need to install the following lit packages whose functions are used in the example below: - -- `@lit-protocol/constants` -- `@lit-protocol/auth-helpers` -- `@lit-protocol/contracts-sdk` - - -#### Client-Side Usage - -Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit class. Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit Network. - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; - -class Lit { - litNodeClient; - chain; - - constructor(chain){ - this.chain = chain; - } - - async connect() { - this.litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.Cayenne, - }); - await this.litNodeClient.connect(); - } -} - -const chain = "ethereum"; - -let myLit = new Lit(chain); -await myLit.connect(); -``` - -The litNodeClient listens to network state, and those listeners will keep your litNodeClient running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow the browser to disconnect gracefully, call: - -```jsx -await this.litNodeClient.disconnect(); -``` - -:::note -To avoid errors from Lit nodes due to stale `authSig` or `sessionSigs`, make sure to clear the local storage for `authSig` and `sessionSigs` before reconnecting or restarting the litNodeClient. - -One way to do this is to disconnect the existing litNodeClient first and then reconnect. To disconnect the litNodeClient after making a connection, call the following function: -```jsx -await this.litNodeClient.disconnect(); -``` - -Other way is to simply call `disconnectWeb3` function which will clear up the local storage for `authSig` and `sessionSigs`: -```jsx -LitJsSdk.disconnectWeb3(); -``` -::: - -#### Server-Side Usage - -In this example stub, the `litNodeClient` is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. Note that `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. - -:::note -If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs`. Moreover, the server-side implementation, the `litNodeClient` class is named `LitNodeClientNodeJs`. -::: - -Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit network. - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; - -class Lit { - litNodeClient; - chain; - - constructor(chain){ - this.chain = chain; - } - - async connect() { - app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - alertWhenUnauthorized: false, - litNetwork: LitNetwork.Cayenne, - debug: true, - }); - - this.litNodeClient = app.locals.litNodeClient; - await this.litNodeClient.connect(); - } -} - -const chain = "ethereum"; - -let myLit = new Lit(chain); -await myLit.connect(); -``` - -The `litNodeClient` listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow node to exit gracefully, call:  - -```jsx -await this.litNodeClient.disconnect(); -``` - -### Performing Encryption - -To encrypt something with Lit, you’ll need to follow these steps: - -1. Create an access control condition. -2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. -3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. - -#### Create an Access Control Condition - -In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: - -```jsx -const accessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain: "ethereum", - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "1000000000000", // 0.000001 ETH - }, - }, -]; -``` - -#### Encryption - -To encrypt a string, use one of the following functions: - -- [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. -- - [encryptString()](../../) - Used to encrypt the raw string. -- [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. - -To encrypt a file, use: - -- [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. -- [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. -- [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadata in the zip, so you must store those yourself. - -Apart from these, we have one more function which can be used to encrypt both strings and files: - -- [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialize all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. - -Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. - -In this example, we are using `encryptString()`: - -:::note - -All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. - -::: - -```jsx -class Lit { - ... - - async encrypt(message) { - // Encrypt the message - const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( - { - accessControlConditions, - dataToEncrypt: message, - }, - this.litNodeClient, - ); - - // Return the ciphertext and dataToEncryptHash - return { - ciphertext, - dataToEncryptHash, - }; - } - - ... -} -``` - -:::note - -Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. - -::: - -### Performing Decryption - -Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. - -There is just one step: - -1. Obtain the decrypted data in plaintext using the `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. - -#### Mint Capacity Credits - -In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. - -First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: - -```jsx -yarn add @lit-protocol/contracts-sdk -``` - -OR - -```jsx -npm i @lit-protocol/contracts-sdk -``` - -The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: - -```jsx -const walletWithCapacityCredit = new Wallet(""); - -let contractClient = new LitContracts({ - signer: dAppOwnerWallet, - network: 'habanero', -}); - -await contractClient.connect(); -``` - -After you’ve set your wallet, your next step is to mint the NFT: - -```jsx -// this identifier will be used in delegation requests. -const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ - requestsPerKilosecond: 80, - // requestsPerDay: 14400, - // requestsPerSecond: 10, - daysUntilUTCMidnightExpiration: 2, -}); -``` - -In the above example, we are configuring 2 properties: - -- `requestsPerDay` - How many requests can be sent in a 24 hour period. -- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. - -Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. - -#### Delegate usage of your NFT - -Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). - -```jsx -const { capacityDelegationAuthSig } = - await litNodeClient.createCapacityDelegationAuthSig({ - uses: '1', - signer: wallet, - capacityTokenId: capacityTokenIdStr, - delegateeAddresses: [walletAddress], - }); -``` - -To delegate your Rate Limit NFT there are 4 properties to configure: - -- `uses` - How many times the delegation may be used -- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` -- `capacityTokenId` - The `token identifier` of the Rate Limit NFT -- `delegateeAddresses` - The wallet addresses which will be delegated to - -:::note -The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. -::: - -#### Obtain a Session Sigs - -In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. - -`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. - -The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. - -:::note -Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash SessionSigs will not be validated. -::: - -##### Obtain a `SessionSigs` in the browser - -If you want to obtain a `SessionSigs` in the browser, you can instantiate an `ethers.Signer` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: - - -```jsx -import {ethers} from "ethers"; -import { - LitAccessControlConditionResource, - LitAbility, - createSiweMessageWithRecaps, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -class Lit { - ... - - async getSessionSignatures(){ - // Connect to the wallet - const provider = new ethers.providers.Web3Provider(window.ethereum); - await provider.send("eth_requestAccounts", []); - const signer = provider.getSigner(); - const walletAddress = await signer.getAddress(); - console.log("Connected account:", walletAddress); - - // Get the latest blockhash - const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); - - // Define the authNeededCallback function - const authNeededCallback = async(params) => { - if (!params.uri) { - throw new Error("uri is required"); - } - if (!params.expiration) { - throw new Error("expiration is required"); - } - - if (!params.resourceAbilityRequests) { - throw new Error("resourceAbilityRequests is required"); - } - - // Create the SIWE message - const toSign = await createSiweMessageWithRecaps({ - uri: params.uri, - expiration: params.expiration, - resources: params.resourceAbilityRequests, - walletAddress: walletAddress, - nonce: latestBlockhash, - litNodeClient: this.litNodeClient, - }); - - // Generate the authSig - const authSig = await generateAuthSig({ - signer: signer, - toSign, - }); - - return authSig; - } - - // Define the Lit resource - const litResource = new LitAccessControlConditionResource('*'); - - // Get the session signatures - const sessionSigs = await this.litNodeClient.getSessionSigs({ - chain: this.chain, - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback, - capacityDelegationAuthSig, - }); - return sessionSigs; - } - - ... -} -``` - -##### Obtain a `SessionSigs` on the server-side - -If you want to obtain a `SessionSigs` on the server-side, you can instantiate an `ethers.wallet` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: - -```jsx -import {ethers} from "ethers"; -import { - LitAccessControlConditionResource, - LitAbility, - createSiweMessageWithRecaps, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -class Lit { - private ethersWallet; - - constructor(yourPrivateKey) { - this.ethersWallet = new ethers.Wallet( - "" - ); - } - - ... - - async getSessionSignatures(){ - // Get the latest blockhash - const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); - - // Define the authNeededCallback function - const authNeededCallback = async(params) => { - if (!params.uri) { - throw new Error("uri is required"); - } - if (!params.expiration) { - throw new Error("expiration is required"); - } - - if (!params.resourceAbilityRequests) { - throw new Error("resourceAbilityRequests is required"); - } - - // Create the SIWE message - const toSign = await createSiweMessageWithRecaps({ - uri: params.uri, - expiration: params.expiration, - resources: params.resourceAbilityRequests, - walletAddress: this.ethersWallet.address, - nonce: latestBlockhash, - litNodeClient: this.litNodeClient, - }); - - // Generate the authSig - const authSig = await generateAuthSig({ - signer: this.ethersWallet, - toSign, - }); - - return authSig; - } - - // Define the Lit resource - const litResource = new LitAccessControlConditionResource('*'); - - // Get the session signatures - const sessionSigs = await this.litNodeClient.getSessionSigs({ - chain: this.chain, - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback, - capacityDelegationAuthSig, - }); - return sessionSigs; - } - - ... -} -``` - -#### Using a delegated `capacityDelegationAuthSig` from a backend - -If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: - -- [ExpressJS](https://www.npmjs.com/package/express) -- [Node HTTP server](https://nodejs.org/api/http.html#http) - -#### Decryption - -To decrypt use the following functions depending on the function used to encrypt: - -- [decryptToString()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) -- [decryptToZip()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) -- [decryptToFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) -- [decryptZipFileWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) -- [decryptFromJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - -In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. - -:::note - -If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. - -::: - -```jsx -class Lit { - ... - - async decrypt(ciphertext, dataToEncryptHash) { - // Get the session signatures - const sessionSigs = await this.getSessionSignatures(); - - // Decrypt the message - const decryptedString = await LitJsSdk.decryptToString( - { - accessControlConditions, - chain: this.chain, - ciphertext, - dataToEncryptHash, - sessionSigs, - }, - this.litNodeClient, - ); - - // Return the decrypted string - return { decryptedString }; - } - - ... -} -``` - -Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. - - \ No newline at end of file From 1953e5c3a443d77b82aafd9deb73a9a7d5d32ebe Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 9 Jul 2024 14:15:56 -0700 Subject: [PATCH 368/627] Added encryption.md back to fix merge error. --- docs/sdk/access-control/encryption.md | 571 ++++++++++++++++++++++++++ 1 file changed, 571 insertions(+) create mode 100644 docs/sdk/access-control/encryption.md diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md new file mode 100644 index 00000000..ecab6aa8 --- /dev/null +++ b/docs/sdk/access-control/encryption.md @@ -0,0 +1,571 @@ +import FeedbackComponent from "@site/src/pages/feedback.md"; + +# Encryption + +The Lit network uses an identity (ID) based encryption scheme to encrypt data, which means that decryption is only permitted to those who satisfy a certain identity. + +:::info +Habanero Mainnet and Manzano Testnet are now live. Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero and Manzano today. +::: + +### How Does ID Encrypt Work + +This is made possible because the BLS network signature is the decryption key for a particular set of access control conditions and private data, and the BLS network will only produce signature shares to the client if the user can prove that they satisfy the corresponding access control conditions. + +This scheme is highly efficient, as encrypting private data is a entirely a client-side operation, and only 1 round of network interactivity with the nodes is required upon decryption (in order to request signature shares to assemble into a decryption key). + +The identity-based encryption scheme necessitates the construction of an identity parameter, and it is this parameter that the BLS network is producing signature shares over. In order to prevent the same network signature (decryption key) to be used for multiple distinct ciphertexts, we choose this identity parameter to be a combination of the hash of the access control conditions and the hash of the private data itself. + +## High-Level Overview + +Here is a high-level, step-by-step breakdown of encryption and decryption: + +### Encryption + +1. Alice chooses some access control condition and private data and constructs the identity parameter +2. Alice encrypts the private data using the BLS network public key and the identity parameter to get a ciphertext +3. Alice stores the encryption metadata - set of access control conditions, hash of the private data etc. - and the ciphertext wherever she wants + +### Decryption + +1. Bob fetches the ciphertext and corresponding encryption metadata from the public data store +2. Bob presents the encryption metadata to the BLS network and requests for signature shares over the identity parameter +3. The BLS network nodes checks whether the user satisfies the access control conditions before signing the constructed identity parameter +4. Bob assembles the signature shares into a decryption key and successfully decrypts the ciphertext + +## Technical Walkthrough + +You can use Lit to encrypt and store any static content. Examples of static content are files or strings. You need to store the ciphertext and metadata yourself (on IPFS, Arweave, or even a centralized storage solution), and the Lit network will enforce who is allowed to decrypt it. + +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. + +Keep reading to see a step-by-step process of how to encrypt and decrypt static data client side. + +### Install and Import the Lit SDK + +Ensure you have the following requirements in place: + +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. + +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/lit-node-client +``` + +OR + +```jsx +npm i @lit-protocol/lit-node-client +``` + +:::note +You should use **at least Node v16.16.0** because of the need for the **webcrypto** library. +::: + +You also need to install the following lit packages whose functions are used in the example below: + +- `@lit-protocol/constants` +- `@lit-protocol/auth-helpers` +- `@lit-protocol/contracts-sdk` + + +#### Client-Side Usage + +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit class. Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit Network. + +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +class Lit { + litNodeClient; + chain; + + constructor(chain){ + this.chain = chain; + } + + async connect() { + this.litNodeClient = new LitJsSdk.LitNodeClient({ + litNetwork: "datil-dev", + }); + await this.litNodeClient.connect(); + } +} + +const chain = "ethereum"; + +let myLit = new Lit(chain); +await myLit.connect(); +``` + +The litNodeClient listens to network state, and those listeners will keep your litNodeClient running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow the browser to disconnect gracefully, call: + +```jsx +await this.litNodeClient.disconnect(); +``` + +:::note +To avoid errors from Lit nodes due to stale `authSig` or `sessionSigs`, make sure to clear the local storage for `authSig` and `sessionSigs` before reconnecting or restarting the litNodeClient. + +One way to do this is to disconnect the existing litNodeClient first and then reconnect. To disconnect the litNodeClient after making a connection, call the following function: +```jsx +await this.litNodeClient.disconnect(); +``` + +Other way is to simply call `disconnectWeb3` function which will clear up the local storage for `authSig` and `sessionSigs`: +```jsx +LitJsSdk.disconnectWeb3(); +``` +::: + +#### Server-Side Usage + +In this example stub, the `litNodeClient` is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. Note that `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. + +:::note +If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs`. Moreover, the server-side implementation, the `litNodeClient` class is named `LitNodeClientNodeJs`. +::: + +Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit network. + +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +class Lit { + litNodeClient; + chain; + + constructor(chain){ + this.chain = chain; + } + + async connect() { + app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: "datil-dev", + debug: true, + }); + + this.litNodeClient = app.locals.litNodeClient; + await this.litNodeClient.connect(); + } +} + +const chain = "ethereum"; + +let myLit = new Lit(chain); +await myLit.connect(); +``` + +The `litNodeClient` listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow node to exit gracefully, call:  + +```jsx +await this.litNodeClient.disconnect(); +``` + +### Performing Encryption + +To encrypt something with Lit, you’ll need to follow these steps: + +1. Create an access control condition. +2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. + +#### Create an Access Control Condition + +In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: + +```jsx +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, +]; +``` + +#### Encryption + +To encrypt a string, use one of the following functions: + +- [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- - [encryptString()](../../) - Used to encrypt the raw string. +- [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. + +To encrypt a file, use: + +- [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadata in the zip, so you must store those yourself. + +Apart from these, we have one more function which can be used to encrypt both strings and files: + +- [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialize all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. + +Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. + +In this example, we are using `encryptString()`: + +:::note + +All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. + +::: + +```jsx +class Lit { + ... + + async encrypt(message) { + // Encrypt the message + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + dataToEncrypt: message, + }, + this.litNodeClient, + ); + + // Return the ciphertext and dataToEncryptHash + return { + ciphertext, + dataToEncryptHash, + }; + } + + ... +} +``` + +:::note + +Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. + +::: + +### Performing Decryption + +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. + +There is just one step: + +1. Obtain the decrypted data in plaintext using the `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. + +#### Mint Capacity Credits + +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. + +First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/contracts-sdk +``` + +OR + +```jsx +npm i @lit-protocol/contracts-sdk +``` + +The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: + +```jsx +const walletWithCapacityCredit = new Wallet(""); + +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: 'habanero', +}); + +await contractClient.connect(); +``` + +After you’ve set your wallet, your next step is to mint the NFT: + +```jsx +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 2, +}); +``` + +In the above example, we are configuring 2 properties: + +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. + +#### Delegate usage of your NFT + +Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). + +```jsx +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + signer: wallet, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [walletAddress], + }); +``` + +To delegate your Rate Limit NFT there are 4 properties to configure: + +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to + +:::note +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: + +#### Obtain a Session Sigs + +In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. + +`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. + +The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. + +:::note +Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash SessionSigs will not be validated. +::: + +##### Obtain a `SessionSigs` in the browser + +If you want to obtain a `SessionSigs` in the browser, you can instantiate an `ethers.Signer` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: + + +```jsx +import {ethers} from "ethers"; +import { + LitAccessControlConditionResource, + LitAbility, + createSiweMessageWithRecaps, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +class Lit { + ... + + async getSessionSignatures(){ + // Connect to the wallet + const provider = new ethers.providers.Web3Provider(window.ethereum); + await provider.send("eth_requestAccounts", []); + const signer = provider.getSigner(); + const walletAddress = await signer.getAddress(); + console.log("Connected account:", walletAddress); + + // Get the latest blockhash + const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); + + // Define the authNeededCallback function + const authNeededCallback = async(params) => { + if (!params.uri) { + throw new Error("uri is required"); + } + if (!params.expiration) { + throw new Error("expiration is required"); + } + + if (!params.resourceAbilityRequests) { + throw new Error("resourceAbilityRequests is required"); + } + + // Create the SIWE message + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: walletAddress, + nonce: latestBlockhash, + litNodeClient: this.litNodeClient, + }); + + // Generate the authSig + const authSig = await generateAuthSig({ + signer: signer, + toSign, + }); + + return authSig; + } + + // Define the Lit resource + const litResource = new LitAccessControlConditionResource('*'); + + // Get the session signatures + const sessionSigs = await this.litNodeClient.getSessionSigs({ + chain: this.chain, + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); + return sessionSigs; + } + + ... +} +``` + +##### Obtain a `SessionSigs` on the server-side + +If you want to obtain a `SessionSigs` on the server-side, you can instantiate an `ethers.wallet` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: + +```jsx +import {ethers} from "ethers"; +import { + LitAccessControlConditionResource, + LitAbility, + createSiweMessageWithRecaps, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +class Lit { + private ethersWallet; + + constructor(yourPrivateKey) { + this.ethersWallet = new ethers.Wallet( + "" + ); + } + + ... + + async getSessionSignatures(){ + // Get the latest blockhash + const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); + + // Define the authNeededCallback function + const authNeededCallback = async(params) => { + if (!params.uri) { + throw new Error("uri is required"); + } + if (!params.expiration) { + throw new Error("expiration is required"); + } + + if (!params.resourceAbilityRequests) { + throw new Error("resourceAbilityRequests is required"); + } + + // Create the SIWE message + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: this.ethersWallet.address, + nonce: latestBlockhash, + litNodeClient: this.litNodeClient, + }); + + // Generate the authSig + const authSig = await generateAuthSig({ + signer: this.ethersWallet, + toSign, + }); + + return authSig; + } + + // Define the Lit resource + const litResource = new LitAccessControlConditionResource('*'); + + // Get the session signatures + const sessionSigs = await this.litNodeClient.getSessionSigs({ + chain: this.chain, + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); + return sessionSigs; + } + + ... +} +``` + +#### Using a delegated `capacityDelegationAuthSig` from a backend + +If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: + +- [ExpressJS](https://www.npmjs.com/package/express) +- [Node HTTP server](https://nodejs.org/api/http.html#http) + +#### Decryption + +To decrypt use the following functions depending on the function used to encrypt: + +- [decryptToString()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) +- [decryptToZip()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) +- [decryptToFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) +- [decryptZipFileWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) +- [decryptFromJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) + +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. + +:::note + +If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. + +::: + +```jsx +class Lit { + ... + + async decrypt(ciphertext, dataToEncryptHash) { + // Get the session signatures + const sessionSigs = await this.getSessionSignatures(); + + // Decrypt the message + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions, + chain: this.chain, + ciphertext, + dataToEncryptHash, + sessionSigs, + }, + this.litNodeClient, + ); + + // Return the decrypted string + return { decryptedString }; + } + + ... +} +``` + +Check out [this example](https://github.com/LIT-Protocol/js-sdk/tree/feat/SDK-V3/apps/demo-encrypt-decrypt-react) for a full-fledged **React** application that encrypts and decrypts a **string** using the Lit JS SDK V3. + + \ No newline at end of file From 414595a225327fd6bc299ebe913195a2da3c9ab7 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 10 Jul 2024 08:03:54 -0700 Subject: [PATCH 369/627] Update testnets.md --- docs/connecting-to-a-lit-network/testnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 5e7e859d..281842c2 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -17,7 +17,7 @@ Here is an overview of the Lit testnets: The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Vesuvius. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./lit-blockchains/migrations/migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./connecting-to-a-lit-network/migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: From 900f32be4935a08350cac41de9913372eb9fa103 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 10 Jul 2024 08:06:45 -0700 Subject: [PATCH 370/627] Update testnets.md --- docs/connecting-to-a-lit-network/testnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 281842c2..6961fa98 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -17,7 +17,7 @@ Here is an overview of the Lit testnets: The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Vesuvius. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./connecting-to-a-lit-network/migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: From c44963cb06fee466f5f613fb5d4c0522b53476bc Mon Sep 17 00:00:00 2001 From: Adarsh-Kumar28 Date: Wed, 10 Jul 2024 18:19:24 -0700 Subject: [PATCH 371/627] feat: Add warning for Habanero Wrapped Keys --- docs/sdk/wrapped-keys/generating-wrapped-key.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index 0d49e01c..1cff725f 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -3,6 +3,10 @@ import TabItem from '@theme/TabItem'; # Generating a New Key +:::warning +Wrapped Key are under active development please do **not** use it for production i.e. do not use it on Habanero. It will be available for production very soon. +::: + This guide covers the `generatePrivateKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). Using the `generatePrivateKey` function, you can request a Lit node to generate a new private key within it's trusted execution environment (TEE). Once generated, the private key will be encrypted using Lit network's BLS key, and the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) will be returned and stored by Lit on your behalf in a private DynamoDB instance. From 453555a80025abac33e86fb29e6009627b136065 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jul 2024 03:38:52 -0700 Subject: [PATCH 372/627] Update chronicle-vesuvius.md --- .../lit-blockchains/chronicle-vesuvius.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md index 11c75bd3..3f00288c 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md @@ -12,11 +12,11 @@ Chronicle Vesuvius is Lit Protocol's custom EVM rollup which is superseding the Chronicle Vesuvius is a custom EVM rollup using [Arbitrum Orbit](https://arbitrum.io/orbit), designed specifically for Lit Protocol. This rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle Vesuvius can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. -## `testLPX` Test Token +## `tstLPX` Test Token -The `testLPX` test token serves as the gas for transactions on Chronicle Vesuvius. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. +The `tstLPX` test token serves as the gas for transactions on Chronicle Vesuvius. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `testLPX` test token, please use [the faucet](https://datil-dev-faucet.vercel.app/). The `testLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. +To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-vesuvius-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. @@ -34,10 +34,10 @@ The below and additional chain facts are available [here](https://app.conduit.xy | Name | Chronicle Vesuvius - Lit Protocol Testnet | | RPC URL | https://rpc-vesuvius-as793xpg5g.t.conduit.xyz | | Block Explorer URL | https://explorer-vesuvius-as793xpg5g.t.conduit.xyz | -| Currency Symbol | testLPX | +| Currency Symbol | tstLPX | | Currency Decimals | 18 | -**Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. +**Note** You must have the `tstLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. ## Block Explorer From 2b2bf27ecd778377c8703664151c901e91f4ef06 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jul 2024 08:17:58 -0700 Subject: [PATCH 373/627] Update testnet.md --- docs/network/networks/testnet.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 77ea227b..01339de0 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -1,18 +1,10 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# Testnet - - - -:::info -[Manzano Testnet](testnet) is now live. Check out the [docs on migration](../migration-guide) to learn how you can start building on Manzano today. -::: +# Testnets Test networks are designed for early-stage application development, for development and testing pre-production. Storing assets with real world value on these networks is highly discouraged and keys may be deleted. All test networks may be deprecated in the future. -When building on Lit, you'll need some tokens [for gas](../rollup.mdx) and to pay for network services. All Lit networks currently use a test token for payments and gas ('testLPX'). These tokens hold no real world value and should be used exclusively for developing apps that use and interact with the Lit network. Tokens should only be acquired from the verified [faucet](https://faucet.litprotocol.com/). - -You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. +You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../connecting-to-a-lit-network/connecting), by passing the network name to the `litNetwork` parameter.
    @@ -20,11 +12,9 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | | Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | | Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Not Live | V4+ | Deprecated. Do not build new apps that use this network.| [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | -| Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) +| Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | Datil-dev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) |
    -## Token Usage -If you'd like to use Manzano, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Manzano uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). From 7d09e14ab0008ddbfd42d3abb0c696b5010cb564 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jul 2024 08:22:32 -0700 Subject: [PATCH 374/627] Update mainnet.md --- docs/network/networks/mainnet.md | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 6fa5f023..558f75ae 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -4,12 +4,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; ## Overview -:::info -**STATE OF THE NETWORK** - -Lit V0, the Habanero Mainnet, is now live and available for teams building apps in production. Habanero supports [ID encrypt](../../sdk/access-control/encryption.md), [user wallets](../../sdk/wallets/intro.md), and [serverless signing](../../sdk/serverless-signing/overview.md). -::: - Main networks should be used by applications that are currently live in production, supporting the storage of live assets. Mainnet keys are persistent and will not be deleted. You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. @@ -23,16 +17,5 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../
    -## Token Usage -If you'd like to use Habanero, you'll need some 'testLPX' tokens to pay for network fees and [gas](../rollup.mdx) when minting PKPs. Habanero uses a test token for payments and gas that holds no real world value. You can acquire some tokens from the verified [faucet](https://faucet.litprotocol.com/). - -## Migration -In order to connect to the Habanero mainnet network, you'll need to ensure your application is compatible with the v3 version of the Lit SDK. This means if you were previously building on Jalapeno or Serrano using the v2 SDK, you'll need to update your app to use v3. - -Upgrading to the v3 SDK can be done by following the [migration guide](../../sdk/migrations/3.0.0/overview.md), or checking out the related [blog post](https://spark.litprotocol.com/cayenne-network-release-lit-js-sdk-v3/) on Spark. - -If your app currently has users in production (on the v1 or v2 SDK), we recommend upgrading internally while keeping users on the current branch until after Habanero is live and fully functional. Once you've upgraded to v3 and Habanero is stable, you’ll just need to perform the necessary migration tasks dependent on the Lit tooling that you’re using: -- If you’re using Lit for encryption (AKA decentralized access control): Perform re-encryption with Habanero keys. -- If you’re building with PKPs (AKA user wallets): Re-mint PKPs on Habanero with the same auth methods. From fb711a2032c2955a645a13077443adddbb845385 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jul 2024 08:38:33 -0700 Subject: [PATCH 375/627] Update custom.css --- src/css/custom.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/css/custom.css b/src/css/custom.css index 912a0091..6bf9b873 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -763,11 +763,11 @@ html[data-theme='dark'] .alert--danger { .testnet-networks-table tbody { color: white; } .testnet-networks-table tbody tr:nth-child(1), -.testnet-networks-table tbody tr:nth-child(2) { +.testnet-networks-table tbody tr:nth-child(2), +.testnet-networks-table tbody tr:nth-child(3) { background: #e22525; } -.testnet-networks-table tbody tr:nth-child(3), .testnet-networks-table tbody tr:nth-child(4) { background: green; } From 9eb51d629cb3722913cda7b1c115d16350270a0c Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:38:49 -0700 Subject: [PATCH 376/627] Update how-it-works.md --- docs/resources/how-it-works.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 690a9b2b..d18c8de1 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -80,14 +80,14 @@ The current node operators active on the Habanero Mainnet Beta include: - [01node](https://01node.com/?ref=spark.litprotocol.com) - [CMT Digital](https://cmt.digital/?ref=spark.litprotocol.com) -### The Lit Protocol Token (LPX) +### The Lit Protocol Token (LITKEY) -The Lit Protocol token, LPX, will be used by node operators to meet their staking requirement, as well as a reward token to pay node operators for their service. Developers using Lit will also use the token to pay for transacting on the network. +The Lit Protocol token, LITKEY, will be used by node operators to meet their staking requirement, as well as a reward token to pay node operators for their service. Developers using Lit will also use the token to pay for transacting on the network. :::info -The LPX token is NOT live, and currently a test token (testLPX) is being used for staking and payment. The official LPX token will be released when the v1 network launches later this year. You can subscribe to updates [here](https://spark.litprotocol.com/). +The LITKEY token is NOT live, and currently a test token (tstLPX) is being used for staking and payment. The official LITKEY token will be released when the v1 network launches later this year. You can subscribe to updates [here](https://spark.litprotocol.com/). -If you're a developer building on Lit, test tokens can be claimed from the [verified faucet](https://faucet.litprotocol.com/). +If you're a developer building on Lit, test tokens can be claimed from the [verified faucet](https://chronicle-vesuvius-faucet.getlit.dev/). ::: @@ -95,8 +95,8 @@ If you're a developer building on Lit, test tokens can be claimed from the [veri Learn more about how Lit Protocol works by checking out the resources below: -- About [user wallets](../concepts/pkps-as-wallet.md). -- About [encryption and access control](../concepts/access-control-concept.md). -- About [decentralized compute](../concepts/programmable-signing-concept.md). +- About [user wallets](../sdk/wallets/intro). +- About [encryption and access control](../sdk/access-control/intro). +- About [decentralized compute](../sdk/serverless-signing/overview). - \ No newline at end of file + From b4832427b06e0d965edf083a4a43a96b9a388a77 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:40:04 -0700 Subject: [PATCH 377/627] Update chronicle-vesuvius.md --- .../lit-blockchains/chronicle-vesuvius.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md index 3f00288c..536a9591 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md @@ -32,8 +32,8 @@ The below and additional chain facts are available [here](https://app.conduit.xy |--------------------|----------------------------------------------------| | Chain ID | 2311 | | Name | Chronicle Vesuvius - Lit Protocol Testnet | -| RPC URL | https://rpc-vesuvius-as793xpg5g.t.conduit.xyz | -| Block Explorer URL | https://explorer-vesuvius-as793xpg5g.t.conduit.xyz | +| RPC URL | https://vesuvius-rpc.litprotocol.com/ | +| Block Explorer URL | https://vesuvius-explorer.litprotocol.com/ | | Currency Symbol | tstLPX | | Currency Decimals | 18 | From 97289e93d3a8cad1b2852dc26cb80b3b212b2db9 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 11 Jul 2024 11:11:27 -1000 Subject: [PATCH 378/627] Update AddRollupButtons --- src/components/AddRollupButton.jsx | 20 ++++++++++---------- src/components/AddRollupButtonVesuvius.jsx | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/components/AddRollupButton.jsx b/src/components/AddRollupButton.jsx index 0af680db..b1172783 100644 --- a/src/components/AddRollupButton.jsx +++ b/src/components/AddRollupButton.jsx @@ -1,25 +1,25 @@ -import React from "react"; +import React from 'react'; export default function AddRollupButton() { const addNetwork = () => { const params = [ { - chainId: "0x2AC49", - chainName: "Chronicle - Lit Protocol Testnet", + chainId: '0x2AC49', + chainName: 'Chronicle - Lit Protocol Testnet', nativeCurrency: { - name: "LIT", - symbol: "LIT", + name: 'Lit Protocol - Chronicle Testnet Token (tstLIT)', + symbol: 'tstLIT', decimals: 18, }, - rpcUrls: ["https://chain-rpc.litprotocol.com/replica-http"], - blockExplorerUrls: ["https://chain.litprotocol.com"], + rpcUrls: ['https://chain-rpc.litprotocol.com/replica-http'], + blockExplorerUrls: ['https://chain.litprotocol.com'], }, ]; window.ethereum - .request({ method: "wallet_addEthereumChain", params }) - .then(() => console.log("Success")) - .catch((error) => console.log("Error", error.message)); + .request({ method: 'wallet_addEthereumChain', params }) + .then(() => console.log('Success')) + .catch(error => console.log('Error', error.message)); }; return ; diff --git a/src/components/AddRollupButtonVesuvius.jsx b/src/components/AddRollupButtonVesuvius.jsx index 021296df..fafc5808 100644 --- a/src/components/AddRollupButtonVesuvius.jsx +++ b/src/components/AddRollupButtonVesuvius.jsx @@ -7,11 +7,11 @@ export default function AddRollupButton() { chainId: '0x907', chainName: 'Chronicle Vesuvius - Lit Protocol Testnet', nativeCurrency: { - name: 'LIT', - symbol: 'LIT', + name: 'Lit Protocol - Chronicle Vesuvius Testnet Token (tstLPX)', + symbol: 'tstLPX', decimals: 18, }, - rpcUrls: ['https://rpc-vesuvius-as793xpg5g.t.conduit.xyz'], + rpcUrls: ['https://vesuvius-rpc.litprotocol.com'], blockExplorerUrls: [ 'https://explorer-vesuvius-as793xpg5g.t.conduit.xyz', ], From b9f4adfbfc4d23dc812bf61e2c6d7a60292e8303 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 12 Jul 2024 17:59:16 -0700 Subject: [PATCH 379/627] Updated the generating session sigs page --- .../session-sigs/get-session-sigs.md | 113 +++++++++--------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index e1da498a..b5abc3f2 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -13,69 +13,70 @@ In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in si You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way: ```javascript -import { LitNodeClient } from '@lit-protocol/lit-node-client'; -import { LitAccessControlConditionResource, LitAbility } from '@lit-protocol/auth-helpers'; +const { LitNodeClient } = require('@lit-protocol/lit-node-client'); +const { LitNetwork } = require('@lit-protocol/constants'); +const { LitAbility, LitActionResource, createSiweMessageWithRecaps } = require('@lit-protocol/auth-helpers'); +const { ethers } = require('ethers'); // Create a new ethers.js Wallet instance -const wallet = new Wallet(process.env.YOUR_PRIVATE_KEY); +const wallet = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); -// Instantiate a LitNodeClient -const litNodeClient = new LitNodeClient({ - litNetwork: "manzano", - debug: true, -}); -await litNodeClient.connect(); - -let nonce = await litNodeClient.getLatestBlockhash(); - -/** - * When the getSessionSigs function is called, it will generate a session key - * and sign it using a callback function. The authNeededCallback parameter - * in this function is optional. If you don't pass this callback, - * then the user will be prompted to authenticate with their wallet. - */ -const authNeededCallback = async ({ chain, resources, expiration, uri }) => { - const domain = "localhost:3000"; - const message = new SiweMessage({ - domain, - address: wallet.address, - statement: "Sign a session key to use with Lit Protocol", - uri, - version: "1", - chainId: "1", - expirationTime: expiration, - resources, - nonce, +const sessionSigsFunction = async() => { + // Instantiate a LitNodeClient + const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: true, }); - const toSign = message.prepareMessage(); - const signature = await wallet.signMessage(toSign); - - const authSig = { - sig: signature, - derivedVia: "web3.eth.personal.sign", - signedMessage: toSign, - address: wallet.address, + await litNodeClient.connect(); + + /* + * When the getSessionSigs function is called, it will generate a session key + * and sign it using a callback function. The authNeededCallback parameter + * in this function is optional. If you don't pass this callback, + * then the user will be prompted to authenticate with their wallet. + */ + const authNeededCallback = async ({ + uri, + expiration, + resourceAbilityRequests, + }) => { + // Prepare the SIWE message for signing + const toSign = await createSiweMessageWithRecaps({ + uri: uri, + expiration: expiration, + resources: resourceAbilityRequests, + walletAddress: wallet.address, + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient: litNodeClient, + }); + // Use the Ethereum wallet to sign the message, return the digital signature + const signature = await wallet.signMessage(toSign); + + // Create an AuthSig using the derived signature, the message, and wallet address + const authSig = { + sig: signature, + derivedVia: "web3.eth.personal.sign", + signedMessage: toSign, + address: wallet.address, + }; + + return authSig; }; - return authSig; + // Create a session key and sign it using the authNeededCallback defined above + const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + authNeededCallback, + }); + + return sessionSigs; }; - -// Create an access control condition resource -const litResource = new LitAccessControlConditionResource( - hashedEncryptedSymmetricKeyString -); - -const sessionSigs = await litNodeClient.getSessionSigs({ - chain: "ethereum", - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption - } - ], - authNeededCallback, - capacityDelegationAuthSig, // here is where we add the delegation to our session request -}); ``` **Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. From aff66c4607e41561497a004b050f83e460a0587e Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 16 Jul 2024 12:45:02 -0700 Subject: [PATCH 380/627] Updated links, began updating SessionSigs --- docs/sdk/access-control/encryption.md | 22 +++++++++---------- docs/sdk/access-control/quick-start.md | 22 +++++++++---------- docs/sdk/authentication/session-sigs/intro.md | 15 ++++--------- docs/sdk/installation.md | 2 +- docs/sdk/migrations/6.0.0.md | 2 +- 5 files changed, 28 insertions(+), 35 deletions(-) diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index d51462cf..5858a48a 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -200,19 +200,19 @@ const accessControlConditions = [ To encrypt a string, use one of the following functions: -- [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. - - [encryptString()](../../) - Used to encrypt the raw string. -- [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. +- [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. To encrypt a file, use: -- [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. -- [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. -- [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadata in the zip, so you must store those yourself. +- [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadata in the zip, so you must store those yourself. Apart from these, we have one more function which can be used to encrypt both strings and files: -- [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialize all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. +- [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialize all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. @@ -523,11 +523,11 @@ If using a `mainnet` in order to keep the wallet which holds the `Capacity Credi To decrypt use the following functions depending on the function used to encrypt: -- [decryptToString()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptString.html) -- [decryptToZip()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v5.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) -- [decryptToFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) -- [decryptZipFileWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) -- [decryptFromJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v5.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) +- [decryptToString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToString.html) for [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) +- [decryptToZip()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) +- [decryptToFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) +- [decryptZipFileWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) +- [decryptFromJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 3cd5b253..f88935e2 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -187,18 +187,18 @@ const accessControlConditions = [ To encrypt a string, use one of the following functions: -- [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. -- [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. +- [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. To encrypt a file, use: -- [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. -- [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. -- [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. +- [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. Apart from these, we have one more function which can be used to encrypt both strings and files: -- [encryptToJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialise all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. +- [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialise all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. @@ -508,11 +508,11 @@ If using a `mainnet` in order to keep the wallet which holds the `Capacity Credi To decrypt use the following functions depending on the function used to encrypt: -- [decryptToString()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) -- [decryptToZip()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) -- [decryptToFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) -- [decryptZipFileWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) -- [decryptFromJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) +- [decryptToString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToString.html) for [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) +- [decryptToZip()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) +- [decryptToFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) +- [decryptZipFileWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) +- [decryptFromJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 17412580..b10b5a1d 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -12,11 +12,12 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; ::: -We refer to a session signature obtained from the user via session keys as a `SessionSig`. +Session keys are a unique string of data generated during a specific online session between two or more entities. In our case, the keypair is a ed25519 keypair. It serves as a protective layer for identity verification by incorporating unique session-specific details such as date, time, and other contextual factors to generate a signature. A signature, known as a `SessionSig`, is obtained from the user through the session keys. -`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. The first step to producing `SessionSigs` is to first obtain an `AuthSig` through an authentication method like Google OAuth (example [here](https://github.com/LIT-Protocol/oauth-pkp-signup-example/blob/main/src/App.tsx#L398)). By specifying the session keypair's public key in the signature payload of the `AuthSig` - the `uri` field of the SIWE - users can choose which specific actions to delegate to the session keypair for operating upon certain resources. +The Lit SDK uses the session keypair to sign all requests to the Lit Nodes. Each node in the Lit Network receives a unique signature for each request and can verify that the user owns the wallet address that signed the capability. The user’s `AuthSig` is sent along with the `SessionSig` as an attached "capability" to introduce capability to the `SessionSig`. + +Attaching capability is done by specifying the session keypair's public key as the `address` field of the `AuthSig` and the `capabilities` field. The `capabilities` field is an array of one or more signatures which authorize the `AuthSig` address (also our session keypair public key) to utilize the resources specified in the capabilities of the SIWE messages. These signatures contain the `AuthSig` `address` in their URI field, which can be seen in the example below. -The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. ## Capability Objects @@ -111,14 +112,6 @@ Here is what each field in `signedMessage` means: - `expiration` is the time the SessionSig becomes invalid. - `nodeAddress` is the specific URL the SessionSig is meant for. -#### Capabilities - -The `capabilities` field is an array of one or more signatures. These capabilities authorize this AuthSig address to utilize the resources specified in the capabilities SIWE messages. These signatures would have the address from the top level AuthSig in their URI field. For example, notice the following in the AuthSig above: - -``` -URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a -``` - #### Node Address The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 2b0f96d9..01e1fb51 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -117,7 +117,7 @@ await client.disconnect(); ## Debug Logging and Lit Node Client configuration -The `LitNodeClient` object has a number of config params you can pass, documented here: https://v5.api-docs.getlit.dev/ +The `LitNodeClient` object has a number of config params you can pass, documented here: [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/) For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 78fd9672..350583aa 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -289,7 +289,7 @@ In the `signSessionKey` parameters, we've added three extra optional arguments f For simplicity, we introduced `getPkpSessionSigs`, which uses `signSessionKey` under the hood. -Here's the (AuthCalbackParams)[https://github.com/LIT-Protocol/js-sdk/blob/635ec8da948103f3ce14271ccfc00393bc9e02a2/packages/types/src/lib/interfaces.ts#L45] interface for the `props` +Here's the [AuthCalbackParams](https://github.com/LIT-Protocol/js-sdk/blob/635ec8da948103f3ce14271ccfc00393bc9e02a2/packages/types/src/lib/interfaces.ts#L45) interface for the `props` ```tsx // v5 From 73956994f7cb50c2d8f5b32ef0098ec670e2a8cf Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 16 Jul 2024 12:52:35 -0700 Subject: [PATCH 381/627] Change docusaurus href for API docs --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 915d871b..c47cef37 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -154,7 +154,7 @@ const config = { }, { label: 'API', - href: 'https://v5.api-docs.getlit.dev/', + href: 'https://v6-api-doc-lit-js-sdk.vercel.app/', }, ], }, From 22e2c02d3ee638358ed1840f0e54614254e01838 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 16 Jul 2024 14:15:02 -0700 Subject: [PATCH 382/627] Update docs/sdk/migrations/6.0.0.md Co-authored-by: Wyatt Barnes --- docs/sdk/migrations/6.0.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 350583aa..eca93754 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -289,7 +289,7 @@ In the `signSessionKey` parameters, we've added three extra optional arguments f For simplicity, we introduced `getPkpSessionSigs`, which uses `signSessionKey` under the hood. -Here's the [AuthCalbackParams](https://github.com/LIT-Protocol/js-sdk/blob/635ec8da948103f3ce14271ccfc00393bc9e02a2/packages/types/src/lib/interfaces.ts#L45) interface for the `props` +Here's the [AuthCallbackParams](https://github.com/LIT-Protocol/js-sdk/blob/635ec8da948103f3ce14271ccfc00393bc9e02a2/packages/types/src/lib/interfaces.ts#L45) interface for the `props` ```tsx // v5 From b9dcf16cb15525ba6646ab863f44545322bd8242 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 16 Jul 2024 15:29:52 -0700 Subject: [PATCH 383/627] Update docusaurus.config.js --- docusaurus.config.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 915d871b..264bd422 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -158,6 +158,19 @@ const config = { }, ], }, + { + title: 'Legal', + items: [ + { + label: 'Terms of Service', + to: 'https://www.litprotocol.com/legal/terms-of-service', + }, + { + label: 'Privacy Policy', + href: 'https://www.litprotocol.com/legal/privacy-policy', + }, + ], + }, { title: 'Contact', items: [ From 0e6baa2b7f9b352939416a535ca8d573382c411d Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 16 Jul 2024 15:39:58 -0700 Subject: [PATCH 384/627] Update docusaurus.config.js --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 264bd422..8250ba05 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -163,7 +163,7 @@ const config = { items: [ { label: 'Terms of Service', - to: 'https://www.litprotocol.com/legal/terms-of-service', + href: 'https://www.litprotocol.com/legal/terms-of-service', }, { label: 'Privacy Policy', From 332dc8cee713abf533193a911669f9c73a46d2a1 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 18 Jul 2024 17:19:15 -0700 Subject: [PATCH 385/627] Initial session sigs methods changes --- .../session-sigs/get-session-sigs.md | 253 +++++++++++++++--- 1 file changed, 218 insertions(+), 35 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index b5abc3f2..f80ac214 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,35 +6,65 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Generating SessionSigs -You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. +The Lit SDK has three functions that explicitly generate session signatures: `getSessionSigs()`, `getPkpSessionSigs()`, and `getLitActionSessionSigs()`. These functions differ in their parameters and uses, but will all return session signatures. -In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Habanero` and `Manzano` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. +These functions use the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. -You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way: +In order to generate `SessionSigs` on both the `Habanero` and `Manzano` networks, you will need to include `capabilityAuthSigs`. This is because transactions on these networks require capacity credits. `capabilityAuthSigs` are **not** required on the `datil-dev` network. + +You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. + +## Storing SessionSigs + If running the SDK in a Server environment, session signatures may *not* be cached unless you provide an instance of `Storage` to the runtime. + [Here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. + If storage is not available, session keys *MUST* be persisted in an external data store. + ```javascript + const LocalStorage = require('node-localstorage').LocalStorage; + const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: true, + storageProvider: { + provider: new LocalStorage('./storage.test.db'), + } + }); + ``` + +All functions for generating session signatures will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key as the `sessionKey` param. + +In the example of `getSessionSigs()` below we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. + +## getSessionSigs() ```javascript -const { LitNodeClient } = require('@lit-protocol/lit-node-client'); -const { LitNetwork } = require('@lit-protocol/constants'); -const { LitAbility, LitActionResource, createSiweMessageWithRecaps } = require('@lit-protocol/auth-helpers'); -const { ethers } = require('ethers'); +import dotenv from "dotenv"; +dotenv.config({ path: "./process.env" }); // Should I include these? + +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { + LitAbility, + LitActionResource, + createSiweMessageWithRecaps, +} from "@lit-protocol/auth-helpers"; +import { ethers } from "ethers"; // Create a new ethers.js Wallet instance const wallet = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); -const sessionSigsFunction = async() => { +const sessionSigsFunction = async () => { // Instantiate a LitNodeClient const litNodeClient = new LitNodeClient({ litNetwork: LitNetwork.DatilDev, - debug: true, + debug: false, }); await litNodeClient.connect(); /* - * When the getSessionSigs function is called, it will generate a session key - * and sign it using a callback function. The authNeededCallback parameter - * in this function is optional. If you don't pass this callback, - * then the user will be prompted to authenticate with their wallet. - */ + * When the getSessionSigs function is called, it will generate a session key + * and sign it using a callback function. The authNeededCallback parameter + * in this function is optional. If you don't pass this callback, + * then the user will be prompted to authenticate with their wallet. + */ const authNeededCallback = async ({ uri, expiration, @@ -43,7 +73,7 @@ const sessionSigsFunction = async() => { // Prepare the SIWE message for signing const toSign = await createSiweMessageWithRecaps({ uri: uri, - expiration: expiration, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), resources: resourceAbilityRequests, walletAddress: wallet.address, nonce: await litNodeClient.getLatestBlockhash(), @@ -73,7 +103,7 @@ const sessionSigsFunction = async() => { }, ], authNeededCallback, - }); + }); return sessionSigs; }; @@ -81,31 +111,184 @@ const sessionSigsFunction = async() => { **Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. -:::note - If running the SDK in a Server environment, session signatures may *not* be cached unless you provide an instance of `Storage` to the runtime. - [Here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. - If storage is not available, session keys *MUST* be persisted in an external data store. - ```javascript - const LocalStorage = require('node-localstorage').LocalStorage; - const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", - debug: true, - storageProvider: { - provider: new LocalStorage('./storage.test.db'), - } - }); - ``` -::: +## getPkpSessionSigs() +```javascript +import dotenv from "dotenv"; +dotenv.config({ path: "./process.env" }); // Should I include these? + +import ethers from "ethers"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { + AuthMethodScope, + LitNetwork, + ProviderType, + LIT_RPC, +} from "@lit-protocol/constants"; +import { + EthWalletProvider, + LitAuthClient, +} from "@lit-protocol/lit-auth-client"; +import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; + +const pkpSessionSigsFunction = async () => { + // Create/Import an ethers.Wallet, connect it to Chronicle Vesuvius + let userEthersSigner = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); + userEthersSigner = userEthersSigner.connect( + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_VESUVIUS) + ); + + // Instantiate a LitNodeClient + const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, + }); + await litNodeClient.connect(); + + // Instantiate a LitAuthClient + const litAuthClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: process.env.LIT_RELAYER_API_KEY, + }, + rpcUrl: LIT_RPC.CHRONICLE_VESUVIUS, + litNodeClient, + }); + + // Initialize a provider through the litAuthClient, specifying EthWallet + const userAuthProvider = litAuthClient.initProvider(ProviderType.EthWallet); -The `getSessionSigs()` function will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key to `getSessionSigs()` as the `sessionKey` param. + // Generate a wallet signature to use as an AuthMethod + const authMethod = await EthWalletProvider.authenticate({ + signer: userEthersSigner, + litNodeClient, + }); + + // Mint a new PKP for the given AuthMethod through the relay server + const mintedPkpTransactionHash = await userAuthProvider.mintPKPThroughRelayer( + authMethod, + { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], + } + ); + + // Using the relay server, we can fetch the PKPs that have been minted to the AuthMethod + const pkps = await userAuthProvider.fetchPKPsThroughRelayer(authMethod); + + // Using the first PKP minted to our AuthMethod, adding that our AuthMethod is authorized + // to perform the actions defined by the resourceAbilityRequests for the next 10 minutes + const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: pkps[pkps.length - 1].publicKey, + authMethods: [authMethod], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), + }); + + return pkpSessionSigs; +}; +``` +## getLitActionSessionSigs() +```javascript +import dotenv from "dotenv"; +dotenv.config({ path: "./process.env" }); // Should I include these? + +import ethers from "ethers"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { + AuthMethodScope, + LitNetwork, + ProviderType, + LIT_RPC, +} from "@lit-protocol/constants"; +import { + EthWalletProvider, + LitAuthClient, +} from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const sessionSigsFunction = async () => { + // Create/Import an ethers.Wallet, connect it to Chronicle Vesuvius + let userEthersSigner = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); + userEthersSigner = userEthersSigner.connect( + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_VESUVIUS) + ); + + // Instantiate a LitNodeClient + const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, + }); + await litNodeClient.connect(); + + // Instantiate a LitAuthClient + const litAuthClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: process.env.LIT_RELAYER_API_KEY, + }, + rpcUrl: LIT_RPC.CHRONICLE_VESUVIUS, + litNodeClient, + }); + + // Initialize a provider through the litAuthClient, specifying EthWallet + const userAuthProvider = litAuthClient.initProvider(ProviderType.EthWallet); + + // Generate a wallet signature to use as an AuthMethod + const authMethod = await EthWalletProvider.authenticate({ + signer: userEthersSigner, + litNodeClient, + }); -In the example above, we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. + // Mint a new PKP for the given AuthMethod through the relay server + const mintedPkpTransactionHash = await userAuthProvider.mintPKPThroughRelayer( + authMethod, + { + permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], + } + ); + + // Using the relay server, we can fetch the PKPs that have been minted to the AuthMethod + const pkps = await userAuthProvider.fetchPKPsThroughRelayer(authMethod); + const pkp = pkps[pkps.length - 1]; + const litActionCode = `const go = async () => { + Lit.Actions.setResponse({ response: "true" }); +}; + +go(); +`; + + const litActionSessionSigs = await litNodeClient.getLitActionSessionSigs({ + pkpPublicKey: pkp.publicKey, + authMethods: [authMethod], + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: new LitPKPResource("*"), + ability: LitAbility.PKPSigning, + }, + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + litActionCode: Buffer.from(litActionCode).toString("base64"), + jsParams: {}, + }); + return litActionSessionSigs; +}; +``` ## Resources You Can Request -You can pass an array of "resource ability requests" to the `getSessionSigs()` function, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of `resourceAbilityRequests` to the above functions, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. -When session capability objects are omitted from the `getSessionSigs()` function call, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](capability-objects) about how to create custom session capability objects. +When session capability objects are omitted from functions generating session signatures, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](capability-objects) about how to create custom session capability objects. ## Clearing Local Storage From a0e259a0a37ad6c977e628f91e0a8e049dc86b9f Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 18 Jul 2024 18:12:53 -0700 Subject: [PATCH 386/627] Added explanation to gss, rewrote the intro --- .../session-sigs/get-session-sigs.md | 12 ++++-------- docs/sdk/authentication/session-sigs/intro.md | 14 +++++++++++--- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index f80ac214..b49e9a6d 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -8,7 +8,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; The Lit SDK has three functions that explicitly generate session signatures: `getSessionSigs()`, `getPkpSessionSigs()`, and `getLitActionSessionSigs()`. These functions differ in their parameters and uses, but will all return session signatures. -These functions use the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. +These functions use the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific capabilities. In order to generate `SessionSigs` on both the `Habanero` and `Manzano` networks, you will need to include `capabilityAuthSigs`. This is because transactions on these networks require capacity credits. `capabilityAuthSigs` are **not** required on the `datil-dev` network. @@ -34,7 +34,7 @@ All functions for generating session signatures will try to create a session key In the example of `getSessionSigs()` below we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. ## getSessionSigs() - +Below is an implementation of `getSessionSigs()`. This function can generate session sigs using authentication derived from a PKP or wallet. A key feature of this function that separates it from `getPkpSessionSigs()` and `getLitActionSessionSigs()` is the use of `authNeededCallback`. This property is used to define the `AuthSig` present in the session signatures. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.GetSessionSigsProps.html) ```javascript import dotenv from "dotenv"; dotenv.config({ path: "./process.env" }); // Should I include these? @@ -59,12 +59,6 @@ const sessionSigsFunction = async () => { }); await litNodeClient.connect(); - /* - * When the getSessionSigs function is called, it will generate a session key - * and sign it using a callback function. The authNeededCallback parameter - * in this function is optional. If you don't pass this callback, - * then the user will be prompted to authenticate with their wallet. - */ const authNeededCallback = async ({ uri, expiration, @@ -112,6 +106,7 @@ const sessionSigsFunction = async () => { **Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. ## getPkpSessionSigs() +This is an implementation of `getPkpSessionSigs()`. Noticably different from `getSessionSigs()`, it lacks the `authNeededCallback` parameter, instead creating the callback and signing the session key under the hood with the `signSessionKey()` function. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs) ```javascript import dotenv from "dotenv"; dotenv.config({ path: "./process.env" }); // Should I include these? @@ -191,6 +186,7 @@ const pkpSessionSigsFunction = async () => { }; ``` ## getLitActionSessionSigs() +Lastly is a simple example of `getLitActionSessionSigs()`. The parameters are similar to `getPkpSessionSigs()`, however this function retrieves sessions signatures specifically for Lit Actions. Unlike `getPkpSessionSigs()` this function requires either `litActionCode` or `litActionIpfsId` and the necessary `jsParams` for executing the provided Lit Action. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs) ```javascript import dotenv from "dotenv"; dotenv.config({ path: "./process.env" }); // Should I include these? diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index b10b5a1d..62b7cb87 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -12,11 +12,19 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; ::: -Session keys are a unique string of data generated during a specific online session between two or more entities. In our case, the keypair is a ed25519 keypair. It serves as a protective layer for identity verification by incorporating unique session-specific details such as date, time, and other contextual factors to generate a signature. A signature, known as a `SessionSig`, is obtained from the user through the session keys. +To communicate with a Lit network, you must first authenticate yourself using session signatures. -The Lit SDK uses the session keypair to sign all requests to the Lit Nodes. Each node in the Lit Network receives a unique signature for each request and can verify that the user owns the wallet address that signed the capability. The user’s `AuthSig` is sent along with the `SessionSig` as an attached "capability" to introduce capability to the `SessionSig`. +Session signatures are created with session keys, which are generated when you initiate a session through a request to a Lit network using the Lit SDK. These session keys are unique `ed25519` keypairs generated locally by the Lit SDK and are used to sign all requests to the Lit Network during the current session. Think of them as a temporary ID badge for signing all your requests to Lit during the session. -Attaching capability is done by specifying the session keypair's public key as the `address` field of the `AuthSig` and the `capabilities` field. The `capabilities` field is an array of one or more signatures which authorize the `AuthSig` address (also our session keypair public key) to utilize the resources specified in the capabilities of the SIWE messages. These signatures contain the `AuthSig` `address` in their URI field, which can be seen in the example below. +While session signatures facilitate ongoing communication, more secure access requires an `AuthSig` (Authentication Signature) to verify your identity and authorization to the Lit Nodes. +An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message that specifies: +- The Lit resources you're requesting access to (e.g., PKPs, Lit Actions). +- The specific [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) you're requesting for the session keys (e.g., signing transactions with a particular PKP, executing a specified Lit Action). + +The `AuthSig` allows Lit Nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit Network. +When you make a request, each Lit Node checks your Auth Sig to confirm that your request aligns with the capabilities you previously defined. + +This authentication system ensures that the Lit Network remains secure, verifying that you are genuinely making the request and that you have the necessary authorization. ## Capability Objects From fe8e138bee7a8e481d667839e05d04d407e6ff8f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 19 Jul 2024 11:48:40 -1000 Subject: [PATCH 387/627] Init --- .../connecting-to-a-lit-network/connecting.md | 16 +++--- .../lit-blockchains/chronicle-vesuvius.md | 2 +- .../lit-blockchains/chronicle-yellowstone.md | 54 +++++++++++++++++++ .../lit-blockchains/chronicle.md | 2 +- ...g-to-vesuvius.md => migrating-to-datil.md} | 26 ++++++--- docs/connecting-to-a-lit-network/testnets.md | 52 +++++++++++++++--- sidebars.js | 3 +- src/components/AddRollupButtonYellowstone.jsx | 30 +++++++++++ src/pages/state-of-the-network.md | 4 +- 9 files changed, 161 insertions(+), 28 deletions(-) create mode 100644 docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md rename docs/connecting-to-a-lit-network/{migrating-to-vesuvius.md => migrating-to-datil.md} (60%) create mode 100644 src/components/AddRollupButtonYellowstone.jsx diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index 5593d7c5..bd4b298d 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -15,9 +15,9 @@ await litNodeClient.connect(); ## Available Lit Networks :::warning -With the release of [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) and the Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. +With the release of [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone.md), [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius), and their Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. -If you are currently using these networks, please review the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-vesuvius) guide to migrate your application and Lit assets to a Datil network. +If you are currently using these networks, please review the [Migrating to Datil](./migrations/migrating-to-datil) guide to migrate your application and Lit assets to a Datil network. ::: ### Mainnets @@ -29,9 +29,9 @@ If you are currently using these networks, please review the [Migrating From Chr ### Testnets -| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | -|-----------|----------------------------|------------------------------|---------------------------| -| Datil-dev | `datil-dev` | [Link](./testnets#datil-dev) | ✅ | -| Datil | `datil-test` | n/a | ❌ | -| Cayenne | `cayenne` | n/a | ⚠️ Going to be deprecated | -| Manzano | `manzano` | n/a | ⚠️ Going to be deprecated | +| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | +|-----------|----------------------------|-------------------------------|---------------------------| +| Datil | `datil-test` | [Link](./testnets#datil-test) | ✅ | +| Datil-dev | `datil-dev` | [Link](./testnets#datil-dev) | ✅ | +| Manzano | `manzano` | n/a | ⚠️ Going to be deprecated | +| Cayenne | `cayenne` | n/a | ⚠️ Going to be deprecated | diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md index 536a9591..c0edc63c 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md @@ -41,7 +41,7 @@ The below and additional chain facts are available [here](https://app.conduit.xy ## Block Explorer -A block explorer is available for Chronicle Vesuvius, providing valuable insights into the network. You can access it [here](https://explorer-vesuvius-as793xpg5g.t.conduit.xyz). The explorer allows you to track transactions, addresses, and other essential data on the rollup. +A block explorer is available for Chronicle Vesuvius, providing valuable insights into the network. You can access it [here](https://vesuvius-explorer.litprotocol.com/). The explorer allows you to track transactions, addresses, and other essential data on the rollup. ## Special Features diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md new file mode 100644 index 00000000..34ece262 --- /dev/null +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md @@ -0,0 +1,54 @@ +import FeedbackComponent from "@site/src/pages/feedback.md"; + +import AddRollupButton from "@site/src/components/AddRollupButtonYellowstone"; + +# Chronicle Yellowstone + +Chronicle Yellowstone is Lit Protocol's custom EVM rollup which is superseding the [Chronicle](./chronicle.md) blockchain, allowing for a more performant and stable backend for Lit's infrastructure. + + + +## About Chronicle Yellowstone + +Chronicle Yellowstone is a custom EVM rollup using [Arbitrum Orbit](https://arbitrum.io/orbit), designed specifically for Lit Protocol. This rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle Yellowstone can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. + +## `tstLPX` Test Token + +The `tstLPX` test token serves as the gas for transactions on Chronicle Yellowstone. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. + +To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. + +## Connecting to Chronicle Yellowstone + +To connect to Chronicle Yellowstone, you can click or manually add the network parameters below: + +:::note +The below and additional chain facts are available [here](https://app.conduit.xyz/published/view/chronicle-yellowstone-testnet-9qgmzfcohk). +::: + +| Parameter Name | Value | +|--------------------|----------------------------------------------------| +| Chain ID | 175188 | +| Name | Chronicle Yellowstone - Lit Protocol Testnet | +| RPC URL | https://yellowstone-rpc.litprotocol.com/ | +| Block Explorer URL | https://yellowstone-explorer.litprotocol.com/ | +| Currency Symbol | tstLPX | +| Currency Decimals | 18 | + +**Note** You must have the `tstLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. + +## Block Explorer + +A block explorer is available for Chronicle Yellowstone, providing valuable insights into the network. You can access it [here](https://yellowstone-explorer.litprotocol.com/). The explorer allows you to track transactions, addresses, and other essential data on the rollup. + +## Special Features + +Chronicle Yellowstone includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle Yellowstone. + +## Next Steps + +Now that you've learned about Chronicle Yellowstone, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../../sdk/serverless-signing/conditional-signing). + + diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index fc8af964..03da290a 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -7,7 +7,7 @@ import AddRollupButton from "@site/src/components/AddRollupButton"; :::warning With the release of [Chronicle Vesuvius](./chronicle-vesuvius), Chronicle is going to be deprecated, and **should no longer be used.** -Please check out the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-vesuvius) guide if you need to migrate you application to Chronicle Vesuvius. +Please check out the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-datil) guide if you need to migrate you application to Chronicle Vesuvius. ::: Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. diff --git a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md similarity index 60% rename from docs/connecting-to-a-lit-network/migrating-to-vesuvius.md rename to docs/connecting-to-a-lit-network/migrating-to-datil.md index 02c5550b..bc897f7c 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -5,29 +5,38 @@ import TabItem from '@theme/TabItem'; Lit is launching three new networks, Datil-dev, Datil-test, and Datil, to improve performance and stability for production users compared to previous Lit networks like Cayenne, Manzano, and Habanero. -The Datil networks use a new rollup blockchain called [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius), which replaces the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. +The Datil and Datil-test networks use a new rollup blockchain called [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone.md), and Datil-dev uses a new rollup blockchain called [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius); Both new blockchains replace the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. Depending on the existing Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements: | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| | ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | -| ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ✅ | `6.2.0` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. ## Breaking Changes and Important Updates -Chronicle Vesuvius' chain facts are available [here](../chronicle-vesuvius#connecting-to-chronicle-vesuvius). +- Chronicle Yellowstone's chain facts are available [here](./lit-blockchains/chronicle-yellowstone.md#connecting-to-chronicle-yellowstone). +- Chronicle Vesuvius' chain facts are available [here](./lit-blockchains/chronicle-vesuvius.md#connecting-to-chronicle-vesuvius). + +Because Datil-dev uses Chronicle Vesuvius, and Datil-test using Chronicle Yellowstone, you will also need to follow the below migration steps when migrating between these networks. ### New Network, New PKPs -PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Vesuvius blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. +PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Yellowstone/Vesuvius blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Yellowstone/Vesuvius. + +:::info +If you're migrating from `habanero` or `manzano` to `Datil` or `Datil-test`, you will be migrating from Chronicle to Chronicle Yellowstone. + +If you're migrating from `cayenne` to `Datil-dev`, you will be migrating from Chronicle to Chronicle Vesuvius. +::: -To reduce the friction of re-minting PKPs on Chronicle Vesuvius, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. +To reduce the friction of re-minting PKPs on Chronicle Yellowstone/Vesuvius, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. -After re-minting PKPs on Chronicle Vesuvius, your users could use both the old Chronicle based network PKPs and the new Chronicle Vesuvius PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves. +After re-minting PKPs on Chronicle Yellowstone/Vesuvius, your users could use both the old Chronicle based network PKPs and the new Chronicle Yellowstone/Vesuvius PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves. :::caution The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction. @@ -46,15 +55,16 @@ There were no API changes made to the SDK for encrypting and decrypting, so you' ## How to Connect to a Datil Network :::note -Currently only the `datil-dev` network is live and available to connect to. [This page](../../connecting) will be updated when the other Datil networks come online. +For latest on which Datil networks are available to connect to, please refer to [this page](./connecting.md). ::: The only code changes required to make use of the new Datil networks are as follows: - Upgrade the Lit packages to the latest version that supports Datil + - `6.2.0` is the minimum version of the packages that supports `datil-test` - `6.1.0` is the minimum version of the packages that supports `datil-dev` - Specify the Datil network when instantiating Lit node clients from the SDK - - This is done by specifying the `litNetwork` property when [connecting a Lit client](../../connecting) to one of the following Datil networks: + - This is done by specifying the `litNetwork` property when [connecting a Lit client](./connecting) to one of the following Datil networks: - `datil` - `datil-test` - `datil-dev` diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 6961fa98..78cdb160 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -7,19 +7,55 @@ Test networks are designed for early-stage application development. Storing asse Here is an overview of the Lit testnets: -| Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | -|-----------|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-dev | [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.1.0` | `datil-dev` | ❌ | -| Cayenne | [Chronicle](./lit-blockchains/chronicle) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^4.0.0` | `cayenne` | ❌ | -| Manzano | [Chronicle](./lit-blockchains/chronicle) | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | `^4.0.0` | `manzano` | ✅ | +| Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | +|------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| +| Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.2.0` | `datil-test` | ✅ | +| Datil-dev | [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.1.0` | `datil-dev` | ❌ | +| Cayenne | [Chronicle](./lit-blockchains/chronicle) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^4.0.0` | `cayenne` | ❌ | +| Manzano | [Chronicle](./lit-blockchains/chronicle) | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | `^4.0.0` | `manzano` | ✅ | + +## Datil-test + +The Lit network, Datil-test, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized testnet designed for pre-production development, and is superseding the Manzano testnet. Like Manzano, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). + +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), or are migrating from Datil-dev which uses the Chronicle Vesuvius blockchain, please refer to [this guide](./migrating-to-yellowstone) to learn how to migrate to Chronicle Yellowstone. + +The minimum version of the Lit SDK that supports `datil-test` is `6.2.0`, and the latest SDK version will be installed from NPM by default: + + + + +```bash +npm install @lit-protocol/lit-node-client +``` + + + + + +```bash +yarn add @lit-protocol/lit-node-client +``` + + + + +There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Habanero should work without issue on Datil-test. If you do run into issues after migrating to Datil-test, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. + +To connect to Datil-test, please follow the [Connecting to a Lit Network](./connecting) guide using `datil-test` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. ## Datil-dev The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Vesuvius. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-datil) to learn how to migrate to Chronicle Vesuvius. -The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and a latest SDK version will be installed from NPM by default: { + const params = [ + { + chainId: '0x2ac54', + chainName: 'Chronicle Yellowstone - Lit Protocol Testnet', + nativeCurrency: { + name: 'Lit Protocol - Chronicle Vesuvius Testnet Token (tstLPX)', + symbol: 'tstLPX', + decimals: 18, + }, + rpcUrls: ['https://yellowstone-rpc.litprotocol.com'], + blockExplorerUrls: [ + 'https://explorer-chronicle-yellowstone-testnet-9qgmzfcohk.t.conduit.xyz', + ], + }, + ]; + + window.ethereum + .request({ method: 'wallet_addEthereumChain', params }) + .then(() => console.log('Success')) + .catch(error => console.log('Error', error.message)); + }; + + return ( + + ); +} diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index f7377cb9..7e7af34e 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,3 +1,5 @@ :::info -The [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnet is now live and is superseding the Cayenne testnet. Check out the [docs on migration](connecting-to-a-lit-network/migrating-to-vesuvius) to learn how you can start building on Datil-dev today. +The [Datil-test](connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. + +Check out the [migration docs](connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: From b30eda688beef914891a85777f6a499b919fec89 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Fri, 19 Jul 2024 15:22:07 -0700 Subject: [PATCH 388/627] Update LearnCode.jsx --- src/components/CardSectionsV3/LearnCode.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/CardSectionsV3/LearnCode.jsx b/src/components/CardSectionsV3/LearnCode.jsx index 58fa1ac9..79c990ad 100644 --- a/src/components/CardSectionsV3/LearnCode.jsx +++ b/src/components/CardSectionsV3/LearnCode.jsx @@ -13,9 +13,9 @@ export default function LearnCodeSection({ title, className }) { to="https://github.com/LIT-Protocol/awesome/blob/main/README.md" /> Date: Fri, 19 Jul 2024 18:29:14 -0700 Subject: [PATCH 389/627] Some new sessionSigs function explanation --- .../session-sigs/get-session-sigs.md | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index b49e9a6d..c0709ffc 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,11 +6,14 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Generating SessionSigs -The Lit SDK has three functions that explicitly generate session signatures: `getSessionSigs()`, `getPkpSessionSigs()`, and `getLitActionSessionSigs()`. These functions differ in their parameters and uses, but will all return session signatures. +The Lit SDK has three functions that explicitly generate session signatures: `getSessionSigs()`, `getPkpSessionSigs()`, and `getLitActionSessionSigs()`. These functions differ in their parameters and uses, but will all return session signatures. + +We recommend using `getSessionSigs()` to specify the abilities of your current session on the Lit Network, using only an `ethers.Wallet` and the `LitNodeClient`. This method is arguably the simplest, enabling your `ethers.Wallet` to perform the specified abilities on the Lit Network. `getPkpSessionSigs()` can be used if your implementation of the Lit SDK involves a PKP and you wish to designate resources to it. Similarly, `getLitActionSessionSigs()` can designate specific abilities and resources to Lit Actions, allowing them to execute code on the Lit Network. + These functions use the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific capabilities. -In order to generate `SessionSigs` on both the `Habanero` and `Manzano` networks, you will need to include `capabilityAuthSigs`. This is because transactions on these networks require capacity credits. `capabilityAuthSigs` are **not** required on the `datil-dev` network. +In order to generate `SessionSigs` on both the `Habanero` and `Manzano` networks, you will need to include `capabilityAuthSigs`. This is because transactions on these networks require capacity credits. This will also be the case for the upcoming `datil-test` and `datil-prod` networks. `capabilityAuthSigs` are **not** required on the `datil-dev` network. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. @@ -37,10 +40,12 @@ In the example of `getSessionSigs()` below we construct a SIWE message manually, Below is an implementation of `getSessionSigs()`. This function can generate session sigs using authentication derived from a PKP or wallet. A key feature of this function that separates it from `getPkpSessionSigs()` and `getLitActionSessionSigs()` is the use of `authNeededCallback`. This property is used to define the `AuthSig` present in the session signatures. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.GetSessionSigsProps.html) ```javascript import dotenv from "dotenv"; -dotenv.config({ path: "./process.env" }); // Should I include these? +dotenv.config({ path: "./process.env" }); import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; +import { + LitNetwork, + LIT_RPC } from "@lit-protocol/constants"; import { LitAbility, LitActionResource, @@ -49,7 +54,10 @@ import { import { ethers } from "ethers"; // Create a new ethers.js Wallet instance -const wallet = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); + let userEthersSigner = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); + userEthersSigner = userEthersSigner.connect( + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_VESUVIUS) + ); const sessionSigsFunction = async () => { // Instantiate a LitNodeClient @@ -109,7 +117,7 @@ const sessionSigsFunction = async () => { This is an implementation of `getPkpSessionSigs()`. Noticably different from `getSessionSigs()`, it lacks the `authNeededCallback` parameter, instead creating the callback and signing the session key under the hood with the `signSessionKey()` function. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs) ```javascript import dotenv from "dotenv"; -dotenv.config({ path: "./process.env" }); // Should I include these? +dotenv.config({ path: "./process.env" }); import ethers from "ethers"; import { LitNodeClient } from "@lit-protocol/lit-node-client"; @@ -189,7 +197,7 @@ const pkpSessionSigsFunction = async () => { Lastly is a simple example of `getLitActionSessionSigs()`. The parameters are similar to `getPkpSessionSigs()`, however this function retrieves sessions signatures specifically for Lit Actions. Unlike `getPkpSessionSigs()` this function requires either `litActionCode` or `litActionIpfsId` and the necessary `jsParams` for executing the provided Lit Action. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs) ```javascript import dotenv from "dotenv"; -dotenv.config({ path: "./process.env" }); // Should I include these? +dotenv.config({ path: "./process.env" }); import ethers from "ethers"; import { LitNodeClient } from "@lit-protocol/lit-node-client"; From e814a5c7dc87aa3f6870129e5333b40d7135198a Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 22 Jul 2024 14:07:47 -0700 Subject: [PATCH 390/627] Vesuvius -> Yellowstone --- .../connecting-to-a-lit-network/connecting.md | 4 +- .../lit-blockchains/chronicle-vesuvius.md | 54 ------------------- .../lit-blockchains/chronicle-yellowstone.md | 54 +++++++++++++++++++ .../lit-blockchains/chronicle.md | 4 +- ...esuvius.md => migrating-to-yellowstone.md} | 10 ++-- docs/connecting-to-a-lit-network/testnets.md | 6 +-- docs/resources/how-it-works.md | 2 +- sidebars.js | 4 +- ...ius.jsx => AddRollupButtonYellowstone.jsx} | 12 ++--- src/pages/state-of-the-network.md | 2 +- 10 files changed, 76 insertions(+), 76 deletions(-) delete mode 100644 docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md create mode 100644 docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md rename docs/connecting-to-a-lit-network/{migrating-to-vesuvius.md => migrating-to-yellowstone.md} (75%) rename src/components/{AddRollupButtonVesuvius.jsx => AddRollupButtonYellowstone.jsx} (56%) diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index 5593d7c5..fa7823ad 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -15,9 +15,9 @@ await litNodeClient.connect(); ## Available Lit Networks :::warning -With the release of [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) and the Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. +With the release of [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) and the Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. -If you are currently using these networks, please review the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-vesuvius) guide to migrate your application and Lit assets to a Datil network. +If you are currently using these networks, please review the [Migrating From Chronicle to Chronicle Yellowstone](./migrations/migrating-to-yellowstone) guide to migrate your application and Lit assets to a Datil network. ::: ### Mainnets diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md deleted file mode 100644 index 536a9591..00000000 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius.md +++ /dev/null @@ -1,54 +0,0 @@ -import FeedbackComponent from "@site/src/pages/feedback.md"; - -import AddRollupButton from "@site/src/components/AddRollupButtonVesuvius"; - -# Chronicle Vesuvius - -Chronicle Vesuvius is Lit Protocol's custom EVM rollup which is superseding the [Chronicle](./chronicle.md) blockchain, allowing for a more performant and stable backend for Lit's infrastructure. - - - -## About Chronicle Vesuvius - -Chronicle Vesuvius is a custom EVM rollup using [Arbitrum Orbit](https://arbitrum.io/orbit), designed specifically for Lit Protocol. This rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle Vesuvius can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. - -## `tstLPX` Test Token - -The `tstLPX` test token serves as the gas for transactions on Chronicle Vesuvius. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. - -To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-vesuvius-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. - -Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. - -## Connecting to Chronicle Vesuvius - -To connect to Chronicle Vesuvius, you can click or manually add the network parameters below: - -:::note -The below and additional chain facts are available [here](https://app.conduit.xyz/published/view/vesuvius-as793xpg5g). -::: - -| Parameter Name | Value | -|--------------------|----------------------------------------------------| -| Chain ID | 2311 | -| Name | Chronicle Vesuvius - Lit Protocol Testnet | -| RPC URL | https://vesuvius-rpc.litprotocol.com/ | -| Block Explorer URL | https://vesuvius-explorer.litprotocol.com/ | -| Currency Symbol | tstLPX | -| Currency Decimals | 18 | - -**Note** You must have the `tstLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. - -## Block Explorer - -A block explorer is available for Chronicle Vesuvius, providing valuable insights into the network. You can access it [here](https://explorer-vesuvius-as793xpg5g.t.conduit.xyz). The explorer allows you to track transactions, addresses, and other essential data on the rollup. - -## Special Features - -Chronicle Vesuvius includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle Vesuvius. - -## Next Steps - -Now that you've learned about Chronicle Vesuvius, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../../sdk/serverless-signing/conditional-signing). - - diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md new file mode 100644 index 00000000..2ce0b2b3 --- /dev/null +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md @@ -0,0 +1,54 @@ +import FeedbackComponent from "@site/src/pages/feedback.md"; + +import AddRollupButton from "@site/src/components/AddRollupButtonYellowstone"; + +# Chronicle Yellowstone + +Chronicle Yellowstone is Lit Protocol's custom EVM rollup which is superseding the [Chronicle](./chronicle.md) blockchain, allowing for a more performant and stable backend for Lit's infrastructure. + + + +## About Chronicle Yellowstone + +Chronicle Yellowstone is a custom EVM rollup using [Arbitrum Orbit](https://arbitrum.io/orbit), designed specifically for Lit Protocol. This rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle Yellowstone can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. + +## `tstLPX` Test Token + +The `tstLPX` test token serves as the gas for transactions on Chronicle Yellowstone. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. + +To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. + +## Connecting to Chronicle Yellowstone + +To connect to Chronicle Yellowstone, you can click or manually add the network parameters below: + +:::note +The below and additional chain facts are available [here](https://app.conduit.xyz/published/view/chronicle-yellowstone-testnet-9qgmzfcohk). +::: + +| Parameter Name | Value | +|--------------------|----------------------------------------------------| +| Chain ID | 175188 | +| Name | Chronicle Yellowstone - Lit Protocol Testnet | +| RPC URL | https://yellowstone-rpc.litprotocol.com | +| Block Explorer URL | https://yellowstone-explorer.litprotocol.com | +| Currency Symbol | tstLPX | +| Currency Decimals | 18 | + +**Note** You must have the `tstLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. + +## Block Explorer + +A block explorer is available for Chronicle Yellowstone, providing valuable insights into the network. You can access it [here](https://yellowstone-explorer.litprotocol.com/). The explorer allows you to track transactions, addresses, and other essential data on the rollup. + +## Special Features + +Chronicle Yellowstone includes BLS 12-381 precompiles, which means you can verify BLS signatures on-chain. This feature is not part of Ethereum yet and is only available on Chronicle Yellowstone. + +## Next Steps + +Now that you've learned about Chronicle Yellowstone, you can write your first Lit Action that uses a PKP to sign! Learn how to do that [here](../../sdk/serverless-signing/conditional-signing). + + diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index fc8af964..bae26e26 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -5,9 +5,9 @@ import AddRollupButton from "@site/src/components/AddRollupButton"; # Chronicle :::warning -With the release of [Chronicle Vesuvius](./chronicle-vesuvius), Chronicle is going to be deprecated, and **should no longer be used.** +With the release of [Chronicle Yellowstone](./chronicle-yellowstone), Chronicle is going to be deprecated, and **should no longer be used.** -Please check out the [Migrating From Chronicle to Chronicle Vesuvius](./migrations/migrating-to-vesuvius) guide if you need to migrate you application to Chronicle Vesuvius. +Please check out the [Migrating From Chronicle to Chronicle Yellowstone](./migrations/migrating-to-yellowstone) guide if you need to migrate you application to Chronicle Yellowstone. ::: Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. diff --git a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md b/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md similarity index 75% rename from docs/connecting-to-a-lit-network/migrating-to-vesuvius.md rename to docs/connecting-to-a-lit-network/migrating-to-yellowstone.md index 02c5550b..27e08f10 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-vesuvius.md +++ b/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md @@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem'; Lit is launching three new networks, Datil-dev, Datil-test, and Datil, to improve performance and stability for production users compared to previous Lit networks like Cayenne, Manzano, and Habanero. -The Datil networks use a new rollup blockchain called [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius), which replaces the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. +The Datil networks use a new rollup blockchain called [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone), which replaces the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. Depending on the existing Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements: @@ -19,15 +19,15 @@ Like their counterparts, `datil` and `datil-test` require developers to pay for ## Breaking Changes and Important Updates -Chronicle Vesuvius' chain facts are available [here](../chronicle-vesuvius#connecting-to-chronicle-vesuvius). +Chronicle Yellowstone's chain facts are available [here](../chronicle-yellowstone#connecting-to-chronicle-yellowstone). ### New Network, New PKPs -PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Vesuvius blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Vesuvius. +PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Yellowstone blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Yellowstone. -To reduce the friction of re-minting PKPs on Chronicle Vesuvius, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. +To reduce the friction of re-minting PKPs on Chronicle Yellowstone, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. -After re-minting PKPs on Chronicle Vesuvius, your users could use both the old Chronicle based network PKPs and the new Chronicle Vesuvius PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves. +After re-minting PKPs on Chronicle Yellowstone, your users could use both the old Chronicle based network PKPs and the new Chronicle Yellowstone PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves. :::caution The migration script **will not** handle migration of any assets the existing PKPs own such as tokens. Assets held by existing PKPs will need to be manually transferred to a new PKP's Ethereum address (or some another address of your choosing) using a blockchain transaction. diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 6961fa98..1868bffe 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -9,15 +9,15 @@ Here is an overview of the Lit testnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |-----------|------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-dev | [Chronicle Vesuvius](./lit-blockchains/chronicle-vesuvius) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.1.0` | `datil-dev` | ❌ | +| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.1.0` | `datil-dev` | ❌ | | Cayenne | [Chronicle](./lit-blockchains/chronicle) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^4.0.0` | `cayenne` | ❌ | | Manzano | [Chronicle](./lit-blockchains/chronicle) | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | `^4.0.0` | `manzano` | ✅ | ## Datil-dev -The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Vesuvius. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). +The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-vesuvius) to learn how to migrate to Chronicle Vesuvius. +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-yellowstone) to learn how to migrate to Chronicle Yellowstone. The minimum version of the Lit SDK that supports `datil-dev` is `6.1.0`, and it will be installed from NPM by default: diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index d18c8de1..463f1ba2 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -87,7 +87,7 @@ The Lit Protocol token, LITKEY, will be used by node operators to meet their sta :::info The LITKEY token is NOT live, and currently a test token (tstLPX) is being used for staking and payment. The official LITKEY token will be released when the v1 network launches later this year. You can subscribe to updates [here](https://spark.litprotocol.com/). -If you're a developer building on Lit, test tokens can be claimed from the [verified faucet](https://chronicle-vesuvius-faucet.getlit.dev/). +If you're a developer building on Lit, test tokens can be claimed from the [verified faucet](https://chronicle-yellowstone-faucet.getlit.dev/). ::: diff --git a/sidebars.js b/sidebars.js index 9f058969..f45b86b7 100644 --- a/sidebars.js +++ b/sidebars.js @@ -99,13 +99,13 @@ const sidebars = { }, items: [ 'connecting-to-a-lit-network/testnets', - 'connecting-to-a-lit-network/migrating-to-vesuvius', + 'connecting-to-a-lit-network/migrating-to-yellowstone', { type: 'category', label: 'Lit Blockchains', collapsed: true, items: [ - 'connecting-to-a-lit-network/lit-blockchains/chronicle-vesuvius', + 'connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone', 'connecting-to-a-lit-network/lit-blockchains/chronicle', ], }, diff --git a/src/components/AddRollupButtonVesuvius.jsx b/src/components/AddRollupButtonYellowstone.jsx similarity index 56% rename from src/components/AddRollupButtonVesuvius.jsx rename to src/components/AddRollupButtonYellowstone.jsx index fafc5808..33c2ee77 100644 --- a/src/components/AddRollupButtonVesuvius.jsx +++ b/src/components/AddRollupButtonYellowstone.jsx @@ -4,16 +4,16 @@ export default function AddRollupButton() { const addNetwork = () => { const params = [ { - chainId: '0x907', - chainName: 'Chronicle Vesuvius - Lit Protocol Testnet', + chainId: '175188', + chainName: 'Chronicle Yellowstone - Lit Protocol Testnet', nativeCurrency: { - name: 'Lit Protocol - Chronicle Vesuvius Testnet Token (tstLPX)', + name: 'Lit Protocol - Chronicle Yellowstone Testnet Token (tstLPX)', symbol: 'tstLPX', decimals: 18, }, - rpcUrls: ['https://vesuvius-rpc.litprotocol.com'], + rpcUrls: ['https://yellowstone-rpc.litprotocol.com'], blockExplorerUrls: [ - 'https://explorer-vesuvius-as793xpg5g.t.conduit.xyz', + 'https://yellowstone-explorer.litprotocol.com', ], }, ]; @@ -25,6 +25,6 @@ export default function AddRollupButton() { }; return ( - + ); } diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index f7377cb9..48019021 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,3 +1,3 @@ :::info -The [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnet is now live and is superseding the Cayenne testnet. Check out the [docs on migration](connecting-to-a-lit-network/migrating-to-vesuvius) to learn how you can start building on Datil-dev today. +The [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnet is now live and is superseding the Cayenne testnet. Check out the [docs on migration](connecting-to-a-lit-network/migrating-to-yellowstone) to learn how you can start building on Datil-dev today. ::: From 681c4aa6335b30030b14460beb89b051abcc4ab4 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 22 Jul 2024 14:24:08 -0700 Subject: [PATCH 391/627] Updated broken links --- docs/connecting-to-a-lit-network/connecting.md | 2 +- docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md | 2 +- docs/connecting-to-a-lit-network/migrating-to-yellowstone.md | 2 +- src/pages/state-of-the-network.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index fa7823ad..40eb1e19 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -17,7 +17,7 @@ await litNodeClient.connect(); :::warning With the release of [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) and the Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. -If you are currently using these networks, please review the [Migrating From Chronicle to Chronicle Yellowstone](./migrations/migrating-to-yellowstone) guide to migrate your application and Lit assets to a Datil network. +If you are currently using these networks, please review the [Migrating From Chronicle to Chronicle Yellowstone](./migrating-to-yellowstone) guide to migrate your application and Lit assets to a Datil network. ::: ### Mainnets diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index bae26e26..5518fb64 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -7,7 +7,7 @@ import AddRollupButton from "@site/src/components/AddRollupButton"; :::warning With the release of [Chronicle Yellowstone](./chronicle-yellowstone), Chronicle is going to be deprecated, and **should no longer be used.** -Please check out the [Migrating From Chronicle to Chronicle Yellowstone](./migrations/migrating-to-yellowstone) guide if you need to migrate you application to Chronicle Yellowstone. +Please check out the [Migrating From Chronicle to Chronicle Yellowstone](.././migrating-to-yellowstone) guide if you need to migrate you application to Chronicle Yellowstone. ::: Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the performance and scalability of our programmable decentralized threshold cryptography system. diff --git a/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md b/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md index 27e08f10..6f2a494b 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md +++ b/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md @@ -19,7 +19,7 @@ Like their counterparts, `datil` and `datil-test` require developers to pay for ## Breaking Changes and Important Updates -Chronicle Yellowstone's chain facts are available [here](../chronicle-yellowstone#connecting-to-chronicle-yellowstone). +Chronicle Yellowstone's chain facts are available [here](./lit-blockchains/chronicle-yellowstone#connecting-to-chronicle-yellowstone). ### New Network, New PKPs diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index 48019021..99f3cc83 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,3 +1,3 @@ :::info -The [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnet is now live and is superseding the Cayenne testnet. Check out the [docs on migration](connecting-to-a-lit-network/migrating-to-yellowstone) to learn how you can start building on Datil-dev today. +The [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnet is now live and is superseding the Cayenne testnet. Check out the [docs on migration](../../docs/connecting-to-a-lit-network/migrating-to-yellowstone) to learn how you can start building on Datil-dev today. ::: From 967805a2f95c98d80140c311cf20653bf8af80ef Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 22 Jul 2024 14:50:21 -0700 Subject: [PATCH 392/627] Changed latest datil dev version --- docs/connecting-to-a-lit-network/migrating-to-yellowstone.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md b/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md index 6f2a494b..b7e0fb0b 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md +++ b/docs/connecting-to-a-lit-network/migrating-to-yellowstone.md @@ -13,7 +13,7 @@ Depending on the existing Lit network you are using, you should migrate to its c |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| | ❌ | ✅ | n/a | `habanero` | `datil` | Decentralized mainnet designed for production use cases | | ❌ | ✅ | n/a | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | -| ✅ | ❌ | `6.1.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | +| ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. From d320fc0599610b25741c9dcec210fbdc2fcc98cf Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 22 Jul 2024 12:36:24 -1000 Subject: [PATCH 393/627] Update docs/connecting-to-a-lit-network/migrating-to-datil.md --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index fe19f41a..4e942090 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -5,7 +5,7 @@ import TabItem from '@theme/TabItem'; Lit is launching three new networks, Datil-dev, Datil-test, and Datil, to improve performance and stability for production users compared to previous Lit networks like Cayenne, Manzano, and Habanero. -The Datil-dev and Datil-test networks use a new rollup blockchain called [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone.md). This new blockchains replaces the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. +The Datil-dev and Datil-test networks use a new rollup blockchain called [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone.md). These new blockchains replace the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. Depending on the existing Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements: From 95d5761a495149d3710ee3750151788584d547d8 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 22 Jul 2024 12:36:30 -1000 Subject: [PATCH 394/627] Update docs/connecting-to-a-lit-network/migrating-to-datil.md --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 4e942090..a29ced10 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -57,8 +57,7 @@ For latest on which Datil networks are available to connect to, please refer to The only code changes required to make use of the new Datil networks are as follows: - Upgrade the Lit packages to the latest version that supports Datil - - `6.2.2` is the minimum version of the packages that supports `datil-test` - - `6.2.2` is the minimum version of the packages that supports `datil-dev` + - `6.2.2` is the minimum version of the packages that support `datil-test` and `datil-dev` - Specify the Datil network when instantiating Lit node clients from the SDK - This is done by specifying the `litNetwork` property when [connecting a Lit client](./connecting) to one of the following Datil networks: - `datil-prod` From e02e99edcaf16b1c61ce63bd61a38aabed8464de Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 22 Jul 2024 20:32:52 -0700 Subject: [PATCH 395/627] Wrapped keys updates + payment delegation fixes --- .../paying-for-lit/payment-delegation-db.md | 28 +++++++++---------- docs/sdk/wrapped-keys/custom-wrapped-keys.md | 2 +- .../sdk/wrapped-keys/exporting-wrapped-key.md | 5 ++-- .../wrapped-keys/generating-wrapped-key.md | 5 ++-- .../getting-wrapped-key-metadata.md | 5 ++-- docs/sdk/wrapped-keys/importing-key.md | 5 ++-- docs/sdk/wrapped-keys/sign-message.md | 2 +- docs/sdk/wrapped-keys/sign-transaction.md | 2 +- .../storing-wrapped-key-metadata.md | 8 +++--- 9 files changed, 33 insertions(+), 29 deletions(-) diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index af584fc7..1640c486 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -8,7 +8,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. -In order to use Lit, you must reserve capacity on the network. Typically this is done by choosing a `payer` wallet and manually minting a Capacity Credit for it on Chronicle. Afterwards you'd then provide an [Auth Signature](../authentication/auth-sig.md) delegating usage of the Capacity Credit to your users. +In order to use Lit, you must reserve capacity on the network. Typically this is done by choosing a `payer` wallet and manually minting a Capacity Credit for it on Chronicle Yellowstone. Afterwards you'd then provide an [Auth Signature](../authentication/auth-sig.md) delegating usage of the Capacity Credit to your users. This can be difficult to maintain as it often requires a server to be spun up to maintain a database of the `delegatees` and the expirations of their Capacity Credit Delegation Auth Signatures. Additionally, the Delegation Auth Signature, must be attached to every request the `delegatee` submits to the Lit network, requiring the aforementioned server to provide this to the `delegatees` before then can even being to interact with Lit's network. @@ -17,10 +17,10 @@ To simplify this process of delegating Capacity Credits, we've implemented the P ## The Payment Delegation Database :::info -Currently the Payment Delegation Database is only supported on the `habanero` and `manzano` Lit networks. Payment for usage is **not** required on the `datil-dev` network. +Currently the Payment Delegation Database is only supported on the `habanero` and `datil-test` Lit networks. Payment for usage is **not** required on the `datil-dev` network. ::: -The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle](../../network/rollup.mdx). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: +The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: - `POST` `/register-payer`: This route is used to register a new `payer` and will have a [Capacity Credit](../capacity-credits.md) minted for it which can be delegated to `payees` to pay for their usage of Lit - `POST` `/add-users`: This route is used to add users (as Ethereum addresses) as `payees` for a specific `payer`. This allows the `payer` to pay for the usage of Lit for each user, without each user having to own a Capacity Credit @@ -43,7 +43,7 @@ Before continuing with this guide, you should have an understanding of: - Add users as `payees` for your `payer` wallet - You must have a valid Lit Relayer API key - This can be obtained by filling out [this form](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) -- You should know which paid Lit network you're going to use: `habanero` or `manzano` +- You should know which paid Lit network you're going to use: `habanero` or `datil-test` This guide doesn't have any external dependencies, but relies on `fetch` being natively available in Node.js, which means the minimum supported version is `v18`. @@ -67,9 +67,9 @@ To register a new `payer` wallet, you're going to need to decide which Lit netwo ``` https://habanero-relayer.getlit.dev/register-payer ``` -- For `manzano`, we'll be making requests to: +- For `datil-test`, we'll be making requests to: ``` - https://manzano-relayer.getlit.dev/register-payer + https://datil-test-relayer.getlit.dev/register-payer ``` You're also going to need a Lit Relayer API key, which you can request one [here](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) if you don't already have one. @@ -91,7 +91,7 @@ Next we'll make the `fetch` request to the `register-payer` endpoint: defaultValue="habanero" values={[ {label: 'Using Habanero', value: 'habanero'}, -{label: 'Using Manzano', value: 'manzano'}, +{label: 'Using DatilTest', value: 'datil-test'}, ]}> @@ -107,11 +107,11 @@ const response = await fetch( - + ```ts const response = await fetch( - "https://manzano-relayer.getlit.dev/register-payer", + "https://datil-test-relayer.getlit.dev/register-payer", { method: "POST", headers, @@ -171,9 +171,9 @@ To add users as `payees` for your `payer` wallet, you're going to need the Relay ``` https://habanero-relayer.getlit.dev/add-users ``` - - For `manzano`, we'll be making requests to: + - For `datil-test`, we'll be making requests to: ``` - https://manzano-relayer.getlit.dev/add-users + https://datil-test-relayer.getlit.dev/add-users ``` You're also going to need a Lit Relayer API key, which you can request one [here](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) if you don't already have one. @@ -198,7 +198,7 @@ Next we'll make the `fetch` request to the `add-users` endpoint: defaultValue="habanero" values={[ {label: 'Using Habanero', value: 'habanero'}, -{label: 'Using Manzano', value: 'manzano'}, +{label: 'Using DatilTest', value: 'datil-test'}, ]}> @@ -215,11 +215,11 @@ const response = await fetch( - + ```ts const response = await fetch( - "https://manzano-relayer.getlit.dev/add-users", + "https://datil-test-relayer.getlit.dev/add-users", { method: "POST", headers, diff --git a/docs/sdk/wrapped-keys/custom-wrapped-keys.md b/docs/sdk/wrapped-keys/custom-wrapped-keys.md index 21a8846f..40aef373 100644 --- a/docs/sdk/wrapped-keys/custom-wrapped-keys.md +++ b/docs/sdk/wrapped-keys/custom-wrapped-keys.md @@ -127,7 +127,7 @@ After generating and encrypting the private key, the resulting encryption metada ### Decrypting a Wrapped Key -Decrypting a Wrapped Key, typically to be used for signing, can be done using the Lit Action SDK's[decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) method. +Decrypting a Wrapped Key, typically to be used for signing, can be done using the Lit Action SDK's [decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) method. In order to call `decryptToSingleNode`, you will need to provide the following arguments: diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index 15f819cb..1e53b8c6 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -145,11 +145,12 @@ The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding E ```ts import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, new ethers.providers.JsonRpcProvider( - "https://chain-rpc.litprotocol.com/http" + LIT_RPC.CHRONICLE_YELLOWSTONE ) ); ``` @@ -163,7 +164,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index 1cff725f..e3deb0a9 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -164,11 +164,12 @@ The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding E ```ts import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, new ethers.providers.JsonRpcProvider( - "https://chain-rpc.litprotocol.com/http" + LIT_RPC.CHRONICLE_YELLOWSTONE ) ); ``` @@ -182,7 +183,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md index a95cb403..1a766baa 100644 --- a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -151,11 +151,12 @@ The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding E ```ts import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, new ethers.providers.JsonRpcProvider( - "https://chain-rpc.litprotocol.com/http" + LIT_RPC.CHRONICLE_YELLOWSTONE ) ); ``` @@ -169,7 +170,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md index 85593bbd..773971e4 100644 --- a/docs/sdk/wrapped-keys/importing-key.md +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -156,11 +156,12 @@ The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding E ```ts import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, new ethers.providers.JsonRpcProvider( - "https://chain-rpc.litprotocol.com/http" + LIT_RPC.CHRONICLE_YELLOWSTONE ) ); ``` @@ -174,7 +175,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/sdk/wrapped-keys/sign-message.md index 18ac783a..aa9d3fb7 100644 --- a/docs/sdk/wrapped-keys/sign-message.md +++ b/docs/sdk/wrapped-keys/sign-message.md @@ -140,7 +140,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/sdk/wrapped-keys/sign-transaction.md index 5869c90b..b726d349 100644 --- a/docs/sdk/wrapped-keys/sign-transaction.md +++ b/docs/sdk/wrapped-keys/sign-transaction.md @@ -447,7 +447,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md index 1594ffa8..01c22901 100644 --- a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md @@ -87,7 +87,7 @@ import { LitNetwork } from "@lit-protocol/constants"; import { encryptString } from '@lit-protocol/lit-node-client'; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); @@ -130,7 +130,7 @@ import { LitNetwork } from "@lit-protocol/constants"; import { encryptString } from '@lit-protocol/lit-node-client'; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); @@ -221,7 +221,7 @@ import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); @@ -284,7 +284,7 @@ import { api } from "@lit-protocol/wrapped-keys"; const { storeEncryptedKeyMetadata } = api; const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Cayenne, + litNetwork: LitNetwork.DatilDev, debug: false, }); await litNodeClient.connect(); From beb6eae326265addb804b7296887e01bad4724b8 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 23 Jul 2024 09:10:47 -0700 Subject: [PATCH 396/627] Update connecting.md --- docs/connecting-to-a-lit-network/connecting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index c5350563..be2159da 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -17,7 +17,7 @@ await litNodeClient.connect(); :::warning With the release of [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) and the Datil networks, the [Chronicle](./lit-blockchains/chronicle) based Lit networks: `habanero`, `manzano`, and `cayenne` are going to be deprecated. -If you are currently using these networks, please review the [Migrating to Datil](./migrations/migrating-to-datil) guide to migrate your application and Lit assets to a Datil network. +If you are currently using these networks, please review the [Migrating to Datil](./migrating-to-datil) guide to migrate your application and Lit assets to a Datil network. ::: ### Mainnets From 4a4c13e5da3b5909b526210bacee0469f04cab89 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 15:03:26 -1000 Subject: [PATCH 397/627] WIP Paying for Lit --- .../creating-session-with-credit.md | 1 + docs/paying-for-lit/delegating-credit.md | 1 + docs/paying-for-lit/intro.md | 0 docs/paying-for-lit/lit-relayer.md | 1 + .../minting-capacity-credit/lit-contracts.md | 1 + .../minting-capacity-credit/lit-explorer.md | 1 + docs/paying-for-lit/payer-wallet.md | 1 + docs/paying-for-lit/paying-for-usage.md | 1 + .../paying-for-lit/payment-delegation-db.md | 2 +- sidebars.js | 39 ++++++++++++++++--- 10 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 docs/paying-for-lit/creating-session-with-credit.md create mode 100644 docs/paying-for-lit/delegating-credit.md create mode 100644 docs/paying-for-lit/intro.md create mode 100644 docs/paying-for-lit/lit-relayer.md create mode 100644 docs/paying-for-lit/minting-capacity-credit/lit-contracts.md create mode 100644 docs/paying-for-lit/minting-capacity-credit/lit-explorer.md create mode 100644 docs/paying-for-lit/payer-wallet.md create mode 100644 docs/paying-for-lit/paying-for-usage.md rename docs/{sdk => }/paying-for-lit/payment-delegation-db.md (99%) diff --git a/docs/paying-for-lit/creating-session-with-credit.md b/docs/paying-for-lit/creating-session-with-credit.md new file mode 100644 index 00000000..b16d302a --- /dev/null +++ b/docs/paying-for-lit/creating-session-with-credit.md @@ -0,0 +1 @@ +# Creating a Session \ No newline at end of file diff --git a/docs/paying-for-lit/delegating-credit.md b/docs/paying-for-lit/delegating-credit.md new file mode 100644 index 00000000..ee3de2da --- /dev/null +++ b/docs/paying-for-lit/delegating-credit.md @@ -0,0 +1 @@ +# Delegating Credits \ No newline at end of file diff --git a/docs/paying-for-lit/intro.md b/docs/paying-for-lit/intro.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/paying-for-lit/lit-relayer.md b/docs/paying-for-lit/lit-relayer.md new file mode 100644 index 00000000..395b9001 --- /dev/null +++ b/docs/paying-for-lit/lit-relayer.md @@ -0,0 +1 @@ +# Lit Relayer \ No newline at end of file diff --git a/docs/paying-for-lit/minting-capacity-credit/lit-contracts.md b/docs/paying-for-lit/minting-capacity-credit/lit-contracts.md new file mode 100644 index 00000000..9d73f7a1 --- /dev/null +++ b/docs/paying-for-lit/minting-capacity-credit/lit-contracts.md @@ -0,0 +1 @@ +# Using the Lit Contracts Package \ No newline at end of file diff --git a/docs/paying-for-lit/minting-capacity-credit/lit-explorer.md b/docs/paying-for-lit/minting-capacity-credit/lit-explorer.md new file mode 100644 index 00000000..6da78dba --- /dev/null +++ b/docs/paying-for-lit/minting-capacity-credit/lit-explorer.md @@ -0,0 +1 @@ +# Using the Lit Explorer \ No newline at end of file diff --git a/docs/paying-for-lit/payer-wallet.md b/docs/paying-for-lit/payer-wallet.md new file mode 100644 index 00000000..48496371 --- /dev/null +++ b/docs/paying-for-lit/payer-wallet.md @@ -0,0 +1 @@ +# Setting Up a Payer Wallet \ No newline at end of file diff --git a/docs/paying-for-lit/paying-for-usage.md b/docs/paying-for-lit/paying-for-usage.md new file mode 100644 index 00000000..70cebbd4 --- /dev/null +++ b/docs/paying-for-lit/paying-for-usage.md @@ -0,0 +1 @@ +# Credit Usage Examples \ No newline at end of file diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/paying-for-lit/payment-delegation-db.md similarity index 99% rename from docs/sdk/paying-for-lit/payment-delegation-db.md rename to docs/paying-for-lit/payment-delegation-db.md index 1640c486..93ee4841 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/paying-for-lit/payment-delegation-db.md @@ -2,7 +2,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import FeedbackComponent from "@site/src/pages/feedback.md"; -# Paying for Users Via The Lit Relayer +# Payment Delegation Database ## Paying for Lit diff --git a/sidebars.js b/sidebars.js index 847cfdd3..d7a874c0 100644 --- a/sidebars.js +++ b/sidebars.js @@ -111,6 +111,39 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'Paying for Usage of Lit', + collapsed: true, + link: { + type: 'doc', + id: 'paying-for-lit/intro', + }, + items: [ + 'paying-for-lit/lit-relayer', + 'paying-for-lit/payment-delegation-db', + { + type: 'category', + label: 'Capacity Credits', + collapsed: true, + items: [ + { + type: 'category', + label: 'Minting a Capacity Credit', + collapsed: true, + items: [ + 'paying-for-lit/minting-capacity-credit/lit-explorer', + 'paying-for-lit/minting-capacity-credit/lit-contracts', + ], + }, + 'paying-for-lit/payer-wallet', + 'paying-for-lit/creating-session-with-credit', + 'paying-for-lit/delegating-credit', + 'paying-for-lit/paying-for-usage', + ], + }, + ], + }, { type: 'category', label: 'Guides', @@ -122,12 +155,6 @@ const sidebars = { keywords: ['guides'], }, items: [ - { - type: 'category', - label: 'Paying for Lit', - collapsed: true, - items: ['sdk/paying-for-lit/payment-delegation-db'], - }, { type: 'category', label: 'Authentication', From 0ae2a53ce5b3b7968f55f7db347dba112d70d5ba Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 16:28:20 -1000 Subject: [PATCH 398/627] Update generating wrapped key --- .../wrapped-keys/generating-wrapped-key.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index e3deb0a9..aadd94e7 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -13,8 +13,7 @@ Using the `generatePrivateKey` function, you can request a Lit node to generate Afterwards, you will be able to make use of the SDK's signing methods (`signTransactionWithEncryptedKey` and `signMessageWithEncryptedKey`) to sign messages and transaction with the generated private key, all within a Lit node's TEE. - -Below we will walk through an implementation of `generatePrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/generateWrappedKey.ts). +Below we will walk through an implementation of `generatePrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/generateWrappedKey.ts). ## Prerequisites @@ -25,7 +24,6 @@ Before continuing with this guide, you should have an understanding of: ## `generatePrivateKey`'s Interface - [Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/generate-private-key.ts) ```ts @@ -41,10 +39,12 @@ async function generatePrivateKey( pkpSessionSigs: SessionSigsMap; litNodeClient: ILitNodeClient; network: 'evm' | 'solana'; + memo: string; } ): Promise<{ pkpAddress: string; generatedPublicKey: string; + id: string; }> ``` @@ -80,16 +80,19 @@ This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel. #### `network` - -This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L12) which currently consists of: +This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L10) which currently consists of: - `evm` This will generate a private key using the ECDSA curve. - `solana` This will generate a private key using the Ed25519 curve. +#### `memo` + +This parameter is an arbitrary string that can be used as an additional identifier or descriptor of the encrypted private key. + ### Return Value -`generatePrivateKey` will return a [GeneratePrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L82-L90) object after it successfully generates and encrypts the private key and stores the encryption metadata. +`generatePrivateKey` will return a [GeneratePrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L147-L156) object after it successfully generates and encrypts the private key and stores the encryption metadata. ```ts /** @typedef GeneratePrivateKeyResult @@ -100,6 +103,7 @@ This parameter dictates what elliptic curve is used to generate the private key. interface GeneratePrivateKeyResult { pkpAddress: string; generatedPublicKey: string; + id: string; } ``` @@ -111,6 +115,12 @@ This address, derived from the `pkpSessionSigs`, is what was used for the Access This is the public key for the generated private key. The corresponding address, derived from the public key, can be obtained using the [getEncryptedKeyMetadata](./get-wrapped-key-metadata.md) function from the Wrapped Keys SDK. +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + ## Example Implementation Now that we know what the `generatePrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. @@ -129,10 +139,8 @@ values={[ ```bash npm install \ -@lit-protocol/auth-browser \ @lit-protocol/auth-helpers \ @lit-protocol/constants \ -@lit-protocol/contracts-sdk \ @lit-protocol/lit-auth-client \ @lit-protocol/lit-node-client \ @lit-protocol/wrapped-keys \ @@ -145,10 +153,8 @@ ethers@v5 ```bash yarn add \ -@lit-protocol/auth-browser \ @lit-protocol/auth-helpers \ @lit-protocol/constants \ -@lit-protocol/contracts-sdk \ @lit-protocol/lit-auth-client \ @lit-protocol/lit-node-client \ @lit-protocol/wrapped-keys \ @@ -168,9 +174,7 @@ import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, - new ethers.providers.JsonRpcProvider( - LIT_RPC.CHRONICLE_YELLOWSTONE - ) + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) ); ``` @@ -243,16 +247,14 @@ values={[ ```ts -import { - api, - NETWORK_EVM, -} from "@lit-protocol/wrapped-keys"; +import { api } from "@lit-protocol/wrapped-keys"; const { generatePrivateKey } = api; const { pkpAddress, generatedPublicKey } = await generatePrivateKey({ pkpSessionSigs, network: 'evm', + memo: "This is an arbitrary string you can replace with whatever you'd like", litNodeClient, }); ``` @@ -262,16 +264,14 @@ const { pkpAddress, generatedPublicKey } = await generatePrivateKey({ ```ts -import { - api, - NETWORK_SOLANA, -} from "@lit-protocol/wrapped-keys"; +import { api } from "@lit-protocol/wrapped-keys"; const { generatePrivateKey } = api; const { pkpAddress, generatedPublicKey } = await generatePrivateKey({ pkpSessionSigs, network: 'solana', + memo: "This is an arbitrary string you can replace with whatever you'd like", litNodeClient, }); ``` @@ -281,9 +281,9 @@ const { pkpAddress, generatedPublicKey } = await generatePrivateKey({ ### Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/generateWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/generateWrappedKey.ts). -After executing the example implementation above, the `generatePrivateKey` function will return you an object containing the corresponding public key for your generated Wrapped Key, and the PKP address that is associated with it (and used to encrypt the Wrapped Key). +After executing the example implementation above, the `generatePrivateKey` function will return you an object containing the corresponding public key and ID for your generated Wrapped Key, and the PKP address that is associated with it (and used to encrypt the Wrapped Key). With you new Wrapped Key, you can explore the additional guides in this section to sign messages and transactions: From a89202739e6b1df8bf4bc4d0749d2b6116a2b2f2 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 16:37:34 -1000 Subject: [PATCH 399/627] Remove TODO --- docs/sdk/wrapped-keys/generating-wrapped-key.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index aadd94e7..c152d9e7 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -91,7 +91,6 @@ This parameter is an arbitrary string that can be used as an additional identifi ### Return Value - `generatePrivateKey` will return a [GeneratePrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L147-L156) object after it successfully generates and encrypts the private key and stores the encryption metadata. ```ts From fbe54b34002ba23a27953bf0eb1b4c74d1e18f63 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 16:37:43 -1000 Subject: [PATCH 400/627] Update importing key --- docs/sdk/wrapped-keys/importing-key.md | 49 +++++++++++++++++++------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md index 773971e4..f1789021 100644 --- a/docs/sdk/wrapped-keys/importing-key.md +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -7,10 +7,9 @@ This guide covers the `importPrivateKey` function from the Wrapped Keys SDK. For Using the `importPrivateKey` function, you can import an existing private key into the Lit network to be turned into a Wrapped Key. The private key will first be encrypted using Lit network's BLS key, and the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) will be returned to you and stored by Lit on your behalf in a private DynamoDB instance. -Afterwards, you will be able to make use of the SDK's signing methods (`signTransactionWithEncryptedKey` and `signMessageWithEncryptedKey`) to sign messages and transaction with the resulting Wrapped Key, all within a Lit node's trusted execution environment. +Afterwards, you will be able to make use of the SDK's signing methods (`signTransactionWithEncryptedKey` and `signMessageWithEncryptedKey`) to sign messages and transactions with the resulting Wrapped Key, all within a Lit node's trusted execution environment. - -Below we will walk through an implementation of `importPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/importKey.ts). +Below we will walk through an implementation of `importPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/generateWrappedKey.ts). ## Prerequisites @@ -21,7 +20,6 @@ Before continuing with this guide, you should have an understanding of: ## `importPrivateKey`'s Interface - [Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/import-private-key.ts) ```ts @@ -37,6 +35,7 @@ async function importPrivateKey( privateKey: string; publicKey: string; keyType: string; + memo: string; } ): Promise ``` @@ -103,15 +102,40 @@ This is the public key for the private key you're importing. It's stored in Lit' This is the algorithm used to derive the private key you're importing. This might be `K256`, `ed25519`, or other key formats. +#### `memo` + +This parameter is an arbitrary string that can be used as an additional identifier or descriptor of the encrypted private key. + ### Return Value -`importPrivateKey` will return `Promise` after it successfully encrypts and imports the private key. The `string` returned is the corresponding Ethereum address for the PKP used to generate `pkpSessionSigs`. +`importPrivateKey` will return a [ImportPrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L173-L180) object after it successfully encrypts and imports the private key. + +```ts +/** @typedef ImportPrivateKeyResult + * @property { string } pkpAddress The LIT PKP Address that the key was linked to; this is derived from the provided pkpSessionSigs + * @property { string } id The unique identifier (UUID V4) of the encrypted private key + */ +interface ImportPrivateKeyResult { + pkpAddress: string; + id: string; +} +``` + +#### `pkpAddress` + +This address, derived from the `pkpSessionSigs`, is what was used for the Access Control Conditions when encrypting the private key. + +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). ## Example Implementation Now that we know what the `importPrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/importKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/importKey.ts). ### Installing the Required Dependencies @@ -160,9 +184,7 @@ import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, - new ethers.providers.JsonRpcProvider( - LIT_RPC.CHRONICLE_YELLOWSTONE - ) + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) ); ``` @@ -229,20 +251,21 @@ Now that we have all that we need, we can call `importPrivateKey` to import our ```ts import { importPrivateKey } from "@lit-protocol/wrapped-keys"; -const pkpAddress = await importPrivateKey({ +const { pkpAddress, id } = await importPrivateKey({ pkpSessionSigs, litNodeClient, privateKey: process.env.ETHEREUM_PRIVATE_KEY, publicKey: process.env.ETHEREUM_PUBLIC_KEY, - keyType: 'K256' + keyType: 'K256', + memo: "This is an arbitrary string you can replace with whatever you'd like", }); ``` ### Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/importKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/importKey.ts). -After executing the example implementation above, you will have imported your private key as a Wrapped Key into the Lit network. The `pkpAddress` returned from `importPrivateKey` is confirmation of what PKP has authorization to decrypt and use the Wrapped Key. +After executing the example implementation above, you will have imported your private key as a Wrapped Key into the Lit network. The `pkpAddress` returned from `importPrivateKey` is confirmation of what PKP has authorization to decrypt and use the Wrapped Key, and the `id` returned is the unique identifier for the resulting Wrapped Key. With you new Wrapped Key, you can explore the additional guides in this section to sign messages and transactions: From ac260998c802750411337d0fd7ba9d9f5e25e5d5 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 16:54:02 -1000 Subject: [PATCH 401/627] Update exporting wrapped key --- .../sdk/wrapped-keys/exporting-wrapped-key.md | 75 ++++++++++++++++--- 1 file changed, 66 insertions(+), 9 deletions(-) diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index 1e53b8c6..b2c1d6d6 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -18,23 +18,28 @@ Before continuing with this guide, you should have an understanding of: ## `exportPrivateKey`'s Interface - [Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/export-private-key.ts) ```ts -/** Exports a previously persisted private key from the wrapped keys service for direct use by the caller, along with the keys metadata +/** Exports a previously persisted private key from the wrapped keys service for direct use by the caller, along with the keys metadata. + * This method fetches the encrypted key from the wrapped keys service, then executes a Lit Action that decrypts the key inside the LIT action and + * removes the salt from the decrypted key. */ export async function exportPrivateKey( params: { pkpSessionSigs: SessionSigsMap; litNodeClient: ILitNodeClient; + network: 'evm' | 'solana' + id: string, } ): Promise<{ pkpAddress: string; decryptedPrivateKey: string; publicKey: string; litNetwork: LIT_NETWORKS_KEYS; - keyType: string; + keyType: 'K256' | 'ed25519'; + memo: string; + id: string; }> ``` @@ -68,8 +73,48 @@ A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](ht This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. +#### `network` + +This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L10) which currently consists of: + + - `evm` This will generate a private key using the ECDSA curve. + - `solana` This will generate a private key using the Ed25519 curve. + +#### `id` + +This is the unique identifier (UUID v4) generated by Lit for the Wrapped Key, when it either [imported](./importing-key.md) or [generated](./generating-wrapped-key.md). + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is required to correctly identify which Wrapped Key to export. + ### Return Value +`exportPrivateKey` will return a [ExportPrivateKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L116-L135) object after it successfully retrieves and decrypts the Wrapped Key. + +```ts +import { LIT_NETWORKS_KEYS } from '@lit-protocol/types'; + +/** Includes the decrypted private key and metadata that was stored alongside it in the wrapped keys service + * + * @typedef ExportPrivateKeyResult + * @property { LIT_NETWORKS_KEYS } litNetwork The LIT network that the LIT Node Client was configured for when the key was persisted to the wrapped keys service + * @property { string } decryptedPrivateKey The decrypted, plain text private key that was persisted to the wrapped keys service + * @property { string } pkpAddress The LIT PKP Address that the key was linked to; this is derived from the provided pkpSessionSigs + * @property { string } publicKey The public key of the key being imported into the wrapped keys service + * @property { string } keyType The algorithm type of the key; this might be K256, ed25519, or other key formats. The `keyType` will be included in the metadata returned from the wrapped keys service + * @property { string } memo A (typically) user-provided descriptor for the encrypted private key + * @property { string } id The unique identifier (UUID V4) of the encrypted private key + */ +export interface ExportPrivateKeyResult { + pkpAddress: string; + decryptedPrivateKey: string; + publicKey: string; + litNetwork: LIT_NETWORKS_KEYS; + keyType: 'K256' | 'ed25519'; + memo: string; + id: string; +} +``` + #### `pkpAddress` This is the Ethereum address for the PKP that is associated with the Wrapped Key i.e. the PKP that created the Session Signatures when the Wrapped Key was imported/generated, and used for encrypting the private key. The address is derived from the provided `pkpSessionSigs`. @@ -96,11 +141,23 @@ This is the Lit network that the `LitNodeClient` was connected to when the Wrapp This is the algorithm used to generate the underlying private key for the Wrapped Key. +#### `memo` + +This is the additional identifier/descriptor string set for the Wrapped key when it was [imported](./importing-key.md), [generated](./generating-wrapped-key.md), or [stored](./storing-wrapped-key-metadata.md). + +This parameter is an arbitrary string that can be used as an additional identifier or descriptor of the encrypted private key. + +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + ## Example Implementation Now that we know what the `exportPrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/exportWrappedKey.ts). ### Installing the Required Dependencies @@ -149,9 +206,7 @@ import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, - new ethers.providers.JsonRpcProvider( - LIT_RPC.CHRONICLE_YELLOWSTONE - ) + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) ); ``` @@ -229,11 +284,13 @@ const { exportPrivateKey } = api; const exportedPrivateKeyResult = await exportPrivateKey({ pkpSessionSigs, litNodeClient, + id: process.env.WRAPPED_KEY_ID + network: process.env.EVM_OR_SOLANA }); ``` ### Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/exportWrappedKey.ts). -After executing the example implementation above, you will have exported the underlying private key for the Wrapped Key associated with the PKP that produced the provided `pkpSessionSigs`. +After executing the example implementation above, you will have exported the underlying private key for the Wrapped Key that was associated with the PKP that produced the provided `pkpSessionSigs`, and had the given `id`. From 022600b930d10176283ea18fda5bc03cda3eeb9d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 17:02:37 -1000 Subject: [PATCH 402/627] Update get key metadata --- .../getting-wrapped-key-metadata.md | 55 +++++++++++++------ 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md index 1a766baa..6b3dd332 100644 --- a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -3,12 +3,11 @@ import TabItem from '@theme/TabItem'; # Getting Wrapped Key Metadata -This guide covers the `getEncryptedKeyMetadata` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). +This guide covers the `getEncryptedKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). -The `getEncryptedKeyMetadata` function allows you to request a Wrapped Key's metadata stored within Lit's private DynamoDB instance. Covered in detail [further in this guide](#return-value), the metadata includes properties such as the encrypted private key's `ciphertext` and `dataToEncryptHash` that could be used to decrypt the key outside of the Wrapped Key Lit Actions. +The `getEncryptedKey` function allows you to request a Wrapped Key's metadata stored within Lit's private DynamoDB instance. Covered in detail [further in this guide](#return-value), the metadata includes properties such as the encrypted private key's `ciphertext` and `dataToEncryptHash` that could be used to decrypt the key outside of the Wrapped Key Lit Actions. - -Below we will walk through an implementation of `getEncryptedKeyMetadata`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). +Below we will walk through an implementation of `getEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/getWrappedKey.ts). ## Prerequisites @@ -17,19 +16,21 @@ Before continuing with this guide, you should have an understanding of: - [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) -## `getEncryptedKeyMetadata`'s Interface +## `getEncryptedKey`'s Interface - -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/get-encrypted-key-metadata.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/get-encrypted-key.ts) ```ts +import { LIT_NETWORKS_KEYS } from '@lit-protocol/types'; + /** Get a previously encrypted and persisted private key and its metadata. * Note that this method does _not_ decrypt the private key; only the _encrypted_ key and its metadata will be returned to the caller. */ -export async function getEncryptedKeyMetadata( +export async function getEncryptedKey( params: { pkpSessionSigs: SessionSigsMap; litNodeClient: ILitNodeClient; + id: string, } ): Promise<{ ciphertext: string; @@ -38,6 +39,8 @@ export async function getEncryptedKeyMetadata( pkpAddress: string; keyType: string; litNetwork: LIT_NETWORKS_KEYS; + memo: string; + id: string; }> ``` @@ -71,6 +74,12 @@ A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](ht This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + ### Return Value #### `ciphertext` @@ -101,9 +110,21 @@ This is the algorithm used to generate the underlying private key for the Wrappe This is the Lit network that the `LitNodeClient` was connected to when the Wrapped Key was created. +#### `memo` + +This is the additional identifier/descriptor string set for the Wrapped key when it was [imported](./importing-key.md), [generated](./generating-wrapped-key.md), or [stored](./storing-wrapped-key-metadata.md). + +This parameter is an arbitrary string that can be used as an additional identifier or descriptor of the encrypted private key. + +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + ## Example Implementation -Now that we know what the `getEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. +Now that we know what the `getEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). @@ -155,9 +176,7 @@ import { LIT_RPC } from "@lit-protocol/constants"; const ethersSigner = new ethers.Wallet( process.env.ETHEREUM_PRIVATE_KEY, - new ethers.providers.JsonRpcProvider( - LIT_RPC.CHRONICLE_YELLOWSTONE - ) + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) ); ``` @@ -219,7 +238,7 @@ const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ ### Getting a Wrapped Key's Metadata -Now that we know what the `getEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. +Now that we know what the `getEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). @@ -227,17 +246,17 @@ The full code implementation can be found [here](https://github.com/LIT-Protocol ```ts import { api } from "@lit-protocol/wrapped-keys"; -const { getEncryptedKeyMetadata } = api; +const { getEncryptedKey } = api; -const wrappedKeyMetadata = await getEncryptedKeyMetadata({ +const wrappedKeyMetadata = await getEncryptedKey({ pkpSessionSigs, litNodeClient, + id: process.env.WRAPPED_KEY_ID }); ``` ### Summary - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/getWrappedKey.ts). -After executing the example implementation above, you will have exported the metadata for the Wrapped Key associated with the PKP that produced the provided `pkpSessionSigs`. +After executing the example implementation above, you will have exported the metadata for the Wrapped Key that was associated with the PKP that produced the provided `pkpSessionSigs`, and had the provided `id`. From 17e62df4d262dc101df5346dc3c2c15e0c7a95e6 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 17:26:10 -1000 Subject: [PATCH 403/627] Update import key --- docs/sdk/wrapped-keys/importing-key.md | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md index f1789021..6298cf06 100644 --- a/docs/sdk/wrapped-keys/importing-key.md +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -248,6 +248,14 @@ const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ Now that we have all that we need, we can call `importPrivateKey` to import our key as a Wrapped Key. + + + ```ts import { importPrivateKey } from "@lit-protocol/wrapped-keys"; @@ -261,6 +269,26 @@ const { pkpAddress, id } = await importPrivateKey({ }); ``` + + + + +```ts +import { importPrivateKey } from "@lit-protocol/wrapped-keys"; + +const { pkpAddress, id } = await importPrivateKey({ + pkpSessionSigs, + litNodeClient, + privateKey: process.env.SOLANA_PRIVATE_KEY, + publicKey: process.env.SOLANA_PUBLIC_KEY, + keyType: 'ed25519', + memo: "This is an arbitrary string you can replace with whatever you'd like", +}); +``` + + + + ### Summary The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/importKey.ts). From 17bbde6ece72e8173e182b45e059b01141e399d4 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 17:26:18 -1000 Subject: [PATCH 404/627] Update storing key --- .../storing-wrapped-key-metadata.md | 130 ++++++++++++++---- 1 file changed, 101 insertions(+), 29 deletions(-) diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md index 01c22901..6849abe9 100644 --- a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md @@ -3,14 +3,13 @@ import TabItem from '@theme/TabItem'; # Storing Wrapped Key Metadata -This guide covers the `storeEncryptedKeyMetadata` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). +This guide covers the `storeEncryptedKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). -The `storeEncryptedKeyMetadata` function allows you to manually initialize a Wrapped Key by providing the required Wrapped Key metadata. Lit will store the provided metadata in a private instance of DynamoDB, effectively registering the Wrapped Key for use. +The `storeEncryptedKey` function allows you to manually initialize a Wrapped Key by providing the required Wrapped Key metadata. Lit will store the provided metadata in a private instance of DynamoDB, effectively registering the Wrapped Key for use. This method is useful for when you would like to implement your own method of generating a private key and encrypting it with Lit network's public BLS key. This could be code completely ran on your own infrastructure, or this could be a custom Lit Action that you've implemented. The stored metadata can then later be used with the other Wrapped Keys SDK methods (e.g. [signMessageWithEncryptedKey](./sign-message.md) or [signTransactionWithEncryptedKey](./sign-transaction.md)), or custom Lit Actions you create to sign data with a Wrapped Key. - -Below we will walk through an implementation of `storeEncryptedKeyMetadata`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). +Below we will walk through an implementation of `storeEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/storeWrappedKey.ts). ## Prerequisites @@ -20,16 +19,14 @@ Before continuing with this guide, you should have an understanding of: - [Session Signatures](../../sdk/authentication/session-sigs/intro) - [Encrypting using the Lit SDK](../../sdk/access-control/quick-start#performing-encryption) -## `storeEncryptedKeyMetadata`'s Interface +## `storeEncryptedKey`'s Interface - -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/store-encrypted-key-metadata.ts) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/store-encrypted-key.ts) ```ts -/** Get a previously encrypted and persisted private key and its metadata. - * Note that this method does _not_ decrypt the private key; only the _encrypted_ key and its metadata will be returned to the caller. +/** Stores an encrypted private key and its metadata to the wrapped keys backend service */ -export async function storeEncryptedKeyMetadata( +export async function storeEncryptedKey( params: { pkpSessionSigs: SessionSigsMap; litNodeClient: ILitNodeClient; @@ -37,8 +34,12 @@ export async function storeEncryptedKeyMetadata( dataToEncryptHash: string; publicKey: string; keyType: string; + memo: string; } -): Promise +): Promise<{ + id: string; + pkpAddress: string; +}> ``` ### Parameters @@ -164,16 +165,43 @@ This is the corresponding public key for the private key you're encrypting and t This is the algorithm used to derive the private key you're importing. This might be `K256`, `ed25519`, or other key formats. +#### `memo` + +This parameter is an arbitrary string that can be used as an additional identifier or descriptor of the encrypted private key. + ### Return Value -`storeEncryptedKeyMetadata` will return `Promise` indicating the success of storing the Wrapped Key metadata within Lit's private instance of DynamoDB. +`storeEncryptedKey` will return a [StoreEncryptedKeyResult](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L92-L102) object after it successfully stores the private key as a Wrapped Key. + +```ts +/** Result of storing a private key in the wrapped keys backend service + * Includes the unique identifier which is necessary to get the encrypted ciphertext and dataToEncryptHash in the future + * + * @typedef StoreEncryptedKeyResult + * @property { string } pkpAddress The LIT PKP Address that the key was linked to; this is derived from the provided pkpSessionSigs + * @property { string } id The unique identifier (UUID V4) of the encrypted private key + */ +export interface StoreEncryptedKeyResult { + id: string; + pkpAddress: string; +} +``` + +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + +#### `pkpAddress` + +This address, derived from the `pkpSessionSigs`, is what was used for the Access Control Conditions when encrypting the private key. ## Example Implementation -Now that we know what the `storeEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. +Now that we know what the `storeEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/storeWrappedKey.ts). ### Installing the Required Dependencies @@ -212,6 +240,20 @@ ethers@v5 +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + ### Instantiating a `LitNodeClient` Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. @@ -268,12 +310,9 @@ const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ }); ``` -### Getting a Wrapped Key's Metadata +### Encrypting the Private Key -Now that we know what the `storeEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. - - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). +In order to initialize a Wrapped Key, we need to store the encrypted underlying private key. This is done using the Lit SDK's [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; @@ -281,7 +320,7 @@ import { LitNetwork } from "@lit-protocol/constants"; import { encryptString } from '@lit-protocol/lit-node-client'; import { api } from "@lit-protocol/wrapped-keys"; -const { storeEncryptedKeyMetadata } = api; +const { storeEncryptedKey } = api; const litNodeClient = new LitNodeClient({ litNetwork: LitNetwork.DatilDev, @@ -308,23 +347,56 @@ const { ciphertext, dataToEncryptHash } = await encryptString( }, litNodeClient, ) +``` -const successfullyStoredMetadata = await storeEncryptedKeyMetadata({ +### Storing the Encrypted Key + +Now that we have the private key encryption data, we can use the `storeEncryptedKey` method to initialize a Wrapped Key. + + + + +```ts +const successfullyStoredMetadata = await storeEncryptedKey({ pkpSessionSigs, litNodeClient, - ciphertext; - dataToEncryptHash; - publicKey: process.env.PUBLIC_KEY; - keyType: `K256`; + ciphertext, + dataToEncryptHash, + publicKey: process.env.ETHEREUM_PUBLIC_KEY, + keyType: 'K256', + memo: "This is an arbitrary string you can replace with whatever you'd like", }); ``` + + + + +```ts +const successfullyStoredMetadata = await storeEncryptedKey({ + pkpSessionSigs, + litNodeClient, + ciphertext, + dataToEncryptHash, + publicKey: process.env.SOLANA_PUBLIC_KEY, + keyType: 'ed25519', + memo: "This is an arbitrary string you can replace with whatever you'd like", +}); +``` + + + + ### Summary - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/storeWrappedKeyMetadata.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/storeWrappedKey.ts). -After executing the example implementation above, you will have stored the metadata for a Wrapped Key and associated with the PKP that produced the provided `pkpSessionSigs`. +After executing the example implementation above, you will have stored the metadata for a Wrapped Key and associated with the PKP that produced the provided `pkpSessionSigs`. The Wrapped Key backend will also have generated a unique ID for the Wrapped Key. With you new Wrapped Key, you can explore the additional guides in this section to sign messages and transactions: From 14b0930e9e60878f985f4e4145eab6196790a3e1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 18:41:03 -1000 Subject: [PATCH 405/627] Remove TODOs --- docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md index 6b3dd332..af92ba06 100644 --- a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -126,8 +126,7 @@ Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to Now that we know what the `getEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/getWrappedKey.ts). ### Installing the Required Dependencies @@ -238,10 +237,7 @@ const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ ### Getting a Wrapped Key's Metadata -Now that we know what the `getEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. - - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/getWrappedKeyMetadata.ts). +Now that we hall all that we need, we can call `getEncryptedKey` to get the metadata for the Wrapped key. ```ts import { api } from "@lit-protocol/wrapped-keys"; From ea767c0df6d5afdaab56b4d4a80442e55c5e1e1d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 18:41:08 -1000 Subject: [PATCH 406/627] Init listing keys --- docs/sdk/wrapped-keys/listing-wrapped-keys.md | 238 ++++++++++++++++++ sidebars.js | 1 + 2 files changed, 239 insertions(+) create mode 100644 docs/sdk/wrapped-keys/listing-wrapped-keys.md diff --git a/docs/sdk/wrapped-keys/listing-wrapped-keys.md b/docs/sdk/wrapped-keys/listing-wrapped-keys.md new file mode 100644 index 00000000..cb410b47 --- /dev/null +++ b/docs/sdk/wrapped-keys/listing-wrapped-keys.md @@ -0,0 +1,238 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Listing Wrapped Keys for a PKP + +This guide covers the `listEncryptedKeyMetadata` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). + +The `listEncryptedKeyMetadata` function allows you to request the Wrapped Key metadata for all the Wrapped Keys associated with a PKP. Covered in detail [further in this guide](#return-value), the returned metadata does **not** include the `ciphertext` and `dataToEncryptHash` for any of the Wrapped Keys - to get this metadata you must use the [getEncryptedKey](./getting-wrapped-key-metadata.md) method for each Wrapped Key. + +Below we will walk through an implementation of `listEncryptedKeyMetadata`. The full code implementation can be found [here](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts). + +## Prerequisites + +Before continuing with this guide, you should have an understanding of: + +- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Session Signatures](../../sdk/authentication/session-sigs/intro) + +## `listEncryptedKeyMetadata`'s Interface + +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts) + +```ts +import { LIT_NETWORKS_KEYS } from '@lit-protocol/types'; + +/** Get a previously encrypted and persisted private key and its metadata. + * Note that this method does _not_ decrypt the private key; only the _encrypted_ key and its metadata will be returned to the caller. + */ +export async function getEncryptedKey( + params: { + pkpSessionSigs: SessionSigsMap; + litNodeClient: ILitNodeClient; + } +): Promise<{ + publicKey: string; + pkpAddress: string; + keyType: string; + litNetwork: LIT_NETWORKS_KEYS; + memo: string; + id: string; +}[]> +``` + +### Parameters + +#### `pkpSessionSigs` + +When a Wrapped Key is generated, it's encrypted with the following [Access Control Conditions](../../sdk/access-control/evm/basic-examples): + +```ts +[ + { + contractAddress: '', + standardContractType: '', + chain: CHAIN_ETHEREUM, + method: '', + parameters: [':userAddress'], + returnValueTest: { + comparator: '=', + value: pkpAddress, + }, + }, +]; +``` + +where `pkpAddress` is the addressed derived from the `pkpSessionSigs`. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. + +A valid `pkpSessionSigs` object can be obtained using the [getPkpSessionSigs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs) helper method available on an instance of [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html). We dive deeper into obtaining a `pkpSessionSigs` using `getPkpSessionSigs` in the [Generating PKP Session Signatures](#generating-pkp-session-signatures) section of this guide. + +#### `litNodeClient` + +This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) that is connected to a Lit network. + +### Return Value + +An array of [StoredKeyMetadata](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L48-L67) object for each Wrapped Key associated with the PKP from `pkpSessionSigs`. + +#### `publicKey` + +This is the corresponding public key for the underlying private key for the Wrapped Key. + +#### `pkpAddress` + +This is the Ethereum address for the PKP that is associated with the Wrapped Key i.e. the PKP that created the Session Signatures when the Wrapped Key was imported/generated, and used for encrypting the private key. The address is derived from the provided `pkpSessionSigs`. + +#### `keyType` + +This is the algorithm used to generate the underlying private key for the Wrapped Key. + +#### `litNetwork` + +This is the Lit network that the `LitNodeClient` was connected to when the Wrapped Key was created. + +#### `memo` + +This is the additional identifier/descriptor string set for the Wrapped key when it was [imported](./importing-key.md), [generated](./generating-wrapped-key.md), or [stored](./storing-wrapped-key-metadata.md). + +This parameter is an arbitrary string that can be used as an additional identifier or descriptor of the encrypted private key. + +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + +## Example Implementation + +Now that we know what the `listEncryptedKeyMetadata` function does, it's parameters, and it's return values, let's now dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/listWrappedKeys.ts). + +### Installing the Required Dependencies + + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-auth-client \ +@lit-protocol/lit-node-client \ +@lit-protocol/wrapped-keys \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +### Instantiating a `LitNodeClient` + +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, +}); +await litNodeClient.connect(); +``` + +### Generating PKP Session Signatures + +The `LIT_PKP_PUBLIC_KEY` environment variable is required. This PKP should be owned by the corresponding Ethereum address for the `ETHEREUM_PRIVATE_KEY` environment variable. + +The PKP's Ethereum address will be used for the Access Control Conditions used to encrypt the generated private key, and by default, will be the only entity able to authorize decryption of the private key. + +:::note +The `expiration` used for the Auth Method **must** be 10 minutes or less to be valid. +::: + +:::note +The Auth Method used in this example implementation is signing a Sign in With Ethereum ([EIP-4361](https://eips.ethereum.org/EIPS/eip-4361)) message using an Externally Owned Account (EOA), but any Auth Method can be used to authenticate with Lit to get PKP Session Signatures. +::: + +```ts +import { EthWalletProvider } from "@lit-protocol/lit-auth-client"; +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: process.env.LIT_PKP_PUBLIC_KEY, + authMethods: [ + await EthWalletProvider.authenticate({ + signer: ethersSigner, + litNodeClient, + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }), + ], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +### Getting a list of Wrapped Key Metadata + +Now that we hall all that we need, we can call `listEncryptedKeyMetadata` to list all the stored metadata for all the Wrapped Keys associated with the PKP derived from the `pkpSessionSigs`. + +```ts +import { api } from "@lit-protocol/wrapped-keys"; + +const { } = api; + +const wrappedKeyMetadatas = await listEncryptedKeyMetadata({ + pkpSessionSigs, + litNodeClient, +}); +``` + +### Summary + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/listWrappedKeys.ts). + +After executing the example implementation above, you will have exported the stored metadata for all the Wrapped Keys associated with the PKP derived from the provided `pkpSessionSigs`. Note that this metadata will **not** include the `ciphertext` and `dataToEncryptHash` properties that are needed to decrypt the underlying private keys for the Wrapped Keys. To get the encryption metadata, you must use the [getEncryptedKey](./getting-wrapped-key-metadata.md) method. diff --git a/sidebars.js b/sidebars.js index 847cfdd3..cd75a096 100644 --- a/sidebars.js +++ b/sidebars.js @@ -340,6 +340,7 @@ const sidebars = { 'sdk/wrapped-keys/exporting-wrapped-key', 'sdk/wrapped-keys/getting-wrapped-key-metadata', 'sdk/wrapped-keys/storing-wrapped-key-metadata', + 'sdk/wrapped-keys/listing-wrapped-keys', 'sdk/wrapped-keys/sign-message', 'sdk/wrapped-keys/sign-transaction', 'sdk/wrapped-keys/custom-wrapped-keys', From 8b64e681c9df5cb82ea707348ac19256681e6c36 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 18:52:15 -1000 Subject: [PATCH 407/627] Update sign message --- docs/sdk/wrapped-keys/sign-message.md | 34 ++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/sdk/wrapped-keys/sign-message.md index aa9d3fb7..10c06da6 100644 --- a/docs/sdk/wrapped-keys/sign-message.md +++ b/docs/sdk/wrapped-keys/sign-message.md @@ -7,7 +7,7 @@ This guide covers the `signMessageWithEncryptedKey` function from the Wrapped Ke Using the `signMessageWithEncryptedKey` function, you can sign an arbitrary message using a Wrapped Key. The Wrapped Keys SDK will look up the corresponding encryption metadata (`ciphertext` and `dataToEncryptHash`) for your PKP in Lit's private DynamoDB instance. If found, it well then use your provided PKP Session Signatures to authorize decryption of the private key, and will sign your provided message, returning the signed message. -Below we will walk through an implementation of `signMessageWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). +Below we will walk through an implementation of `signMessageWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). ## Prerequisites @@ -18,7 +18,6 @@ Before continuing with this guide, you should have an understanding of: ## `signMessageWithEncryptedKey`'s Interface - [Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/sign-message-with-encrypted-key.ts) ```ts @@ -32,6 +31,7 @@ async function signMessageWithEncryptedKey( pkpSessionSigs: SessionSigsMap; litNodeClient: ILitNodeClient; network: 'evm' | 'solana'; + id: string; messageToSign: string | Uint8Array; } ): Promise @@ -80,6 +80,12 @@ This parameter dictates what message signing Lit Action is used to sign `message - Use this network if your Wrapped Key is a private key derived from the Ed25519 curve. - Uses the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) package to create a signer using the decrypted Wrapped Key, and the [tweetnacl](https://github.com/dchest/tweetnacl-js) package to sign `messageToSign`. +#### `id` + +This is a unique identifier (UUID v4) generated by Lit for the Wrapped Key. + +Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to identify which Wrapped Key to use when calling other Wrapped Key methods such as [signMessageWithEncryptedKey](./sign-message.md) and [signTransactionWithEncryptedKey](./sign-transaction.md). + #### `messageToSign` This parameter is the message, provided as either a `string` or a `Uint8Array`, that you would like the Wrapped Key to sign. @@ -92,7 +98,7 @@ This parameter is the message, provided as either a `string` or a `Uint8Array`, Now that we know what the `signMessageWithEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). ### Installing the Required Dependencies @@ -131,6 +137,20 @@ ethers@v5 +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + ### Instantiating a `LitNodeClient` Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. @@ -206,9 +226,10 @@ const { importPrivateKey } = api; const signature = await signMessageWithEncryptedKey({ pkpSessionSigs, + litNodeClient, network: 'evm', + id: process.env.WRAPPED_KEY_ID, messageToSign: "The answer to the Universe is 42.", - litNodeClient, }); ``` @@ -223,9 +244,10 @@ const { importPrivateKey } = api; const signature = await signMessageWithEncryptedKey({ pkpSessionSigs, + litNodeClient, network: 'solana', + id: process.env.WRAPPED_KEY_ID, messageToSign: "The answer to the Universe is 42.", - litNodeClient, }); ``` @@ -234,6 +256,6 @@ const signature = await signMessageWithEncryptedKey({ ### Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). After executing the example implementation above, you will have a signed message using the Wrapped Key that's associated with PKP derived from the provided `pkpSessionSigs`. From fabba3a939f486d41882ad7f35579663747abef7 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 18:52:21 -1000 Subject: [PATCH 408/627] Update sign tx --- docs/sdk/wrapped-keys/sign-transaction.md | 33 +++++++++++++++++++---- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/sdk/wrapped-keys/sign-transaction.md index b726d349..94bb0a07 100644 --- a/docs/sdk/wrapped-keys/sign-transaction.md +++ b/docs/sdk/wrapped-keys/sign-transaction.md @@ -7,7 +7,7 @@ This guide covers the `signTransactionWithEncryptedKey` function from the Wrappe Using the `signTransactionWithEncryptedKey` function, you can sign a transaction using a Wrapped Key. The Wrapped Keys SDK will look up the corresponding encryption metadata (`ciphertext` and `dataToEncryptHash`) for your PKP in Lit's private DynamoDB instance. If found, it well then use your provided PKP Session Signatures to authorize decryption of the private key, and will sign your provided message, returning the signed message. If the [broadcast](#broadcast) setting is enabled, then the signed transaction will also be broadcasted to the specified [chain](#chain). -Below we will walk through an implementation of `signTransactionWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). +Below we will walk through an implementation of `signTransactionWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). ## Prerequisites @@ -18,7 +18,6 @@ Before continuing with this guide, you should have an understanding of: ## `signTransactionWithEncryptedKey`'s Interface - [Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/sign-transaction-with-encrypted-key.ts) +### Instantiating an Ethers Signer + +The `ETHEREUM_PRIVATE_KEY` environment variable is required. The corresponding Ethereum address needs to have ownership of the PKP we will be using to generate the `pkpSessionSigs`. + +```ts +import * as ethers from 'ethers'; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + ### Instantiating a `LitNodeClient` Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. @@ -498,7 +519,7 @@ const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ Now that we know what the `signTransactionWithEncryptedKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). Date: Wed, 24 Jul 2024 19:01:36 -1000 Subject: [PATCH 409/627] Current explanation of network param for export key --- docs/sdk/wrapped-keys/exporting-wrapped-key.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index b2c1d6d6..647db7f8 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -75,10 +75,14 @@ This is an instance of the [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel. #### `network` -This parameter dictates what elliptic curve is used to generate the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L10) which currently consists of: +This parameter dictates what Lit Action is used to decrypt the private key. It must be one of the supported Wrapped Keys [Networks](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/types.ts#L10) which currently consists of: - - `evm` This will generate a private key using the ECDSA curve. - - `solana` This will generate a private key using the Ed25519 curve. +:::note +Currently no matter what network is specified, this [Lit Action code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/common/src/exportPrivateKey.js) will be used to decrypt the private key, regardless if the underlying private key is derived via `K256` or `ed25519`. +::: + +- `evm` +- `solana` #### `id` From a87fd8849f3b068c422169ffb834f1c56771f219 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 24 Jul 2024 19:06:09 -1000 Subject: [PATCH 410/627] Fixes --- docs/sdk/wrapped-keys/exporting-wrapped-key.md | 2 +- docs/sdk/wrapped-keys/listing-wrapped-keys.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index 647db7f8..053a4bd7 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -86,7 +86,7 @@ Currently no matter what network is specified, this [Lit Action code](https://gi #### `id` -This is the unique identifier (UUID v4) generated by Lit for the Wrapped Key, when it either [imported](./importing-key.md) or [generated](./generating-wrapped-key.md). +This is the unique identifier (UUID v4) generated by Lit for the Wrapped Key, when it's either [imported](./importing-key.md) or [generated](./generating-wrapped-key.md). Because a PKP can have multiple Wrapped Keys attached to it, this ID is required to correctly identify which Wrapped Key to export. diff --git a/docs/sdk/wrapped-keys/listing-wrapped-keys.md b/docs/sdk/wrapped-keys/listing-wrapped-keys.md index cb410b47..b426a6bd 100644 --- a/docs/sdk/wrapped-keys/listing-wrapped-keys.md +++ b/docs/sdk/wrapped-keys/listing-wrapped-keys.md @@ -223,7 +223,7 @@ Now that we hall all that we need, we can call `listEncryptedKeyMetadata` to lis ```ts import { api } from "@lit-protocol/wrapped-keys"; -const { } = api; +const { listEncryptedKeyMetadata } = api; const wrappedKeyMetadatas = await listEncryptedKeyMetadata({ pkpSessionSigs, From fa70f74f37bf8d26aad60a99687e9f11d017b35d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 25 Jul 2024 08:36:48 -1000 Subject: [PATCH 411/627] Update generating-wrapped-key.md --- docs/sdk/wrapped-keys/generating-wrapped-key.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index c152d9e7..79b55017 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -3,10 +3,6 @@ import TabItem from '@theme/TabItem'; # Generating a New Key -:::warning -Wrapped Key are under active development please do **not** use it for production i.e. do not use it on Habanero. It will be available for production very soon. -::: - This guide covers the `generatePrivateKey` function from the Wrapped Keys SDK. For an overview of what a Wrapped Key is and what can be done with it, please go [here](./overview.md). Using the `generatePrivateKey` function, you can request a Lit node to generate a new private key within it's trusted execution environment (TEE). Once generated, the private key will be encrypted using Lit network's BLS key, and the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) will be returned and stored by Lit on your behalf in a private DynamoDB instance. From f34f73d66a3b8902e4f1c1a74a64e884fa215f0e Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 25 Jul 2024 18:11:53 -1000 Subject: [PATCH 412/627] WIP refactor of Wrapped Keys overview --- docs/sdk/wrapped-keys/overview.md | 94 +++++++++++++++++++++++++------ 1 file changed, 76 insertions(+), 18 deletions(-) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index 6ae18492..2ad058b2 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -3,17 +3,71 @@ import TabItem from '@theme/TabItem'; # Overview -Wrapped Keys are private keys that are either imported into the Lit network, or generated within the trusted execution environment (TEE) of a Lit node via a Lit Action. +Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of the TEE. -The private keys are first encrypted using Lit network's BLS key, then the resulting encryption metadata (`ciphertext` and `dataToEncryptHash`) is stored by Lit, in a private instance of DynamoDB, for retrieval when you request a Lit node to sign with your Wrapped Key. +Regardless of how the Wrapped Keys is initialized, each Wrapped Key is associated with an existing [Programmable Keypair (PKP)](../../sdk/wallets/minting.md) and given a unique ID by Lit. -Using the Wrapped Keys SDK, you can request a Lit node to sign arbitrary messages and transactions, optionally sending signed transaction to a network. The Lit node will combine decryption shares of your Wrapped Key from other Lit nodes within it's TEE. This results in the complete unencrypted key used for signing only existing temporarily within the secure execution context of a Lit node's TEE. - -Lastly, the exporting of imported or generated private keys from Lit's network is also supported. +Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to perform signatures on arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. ## How it Works -Whether you import an existing private key, of generate a new one inside of the Wrapped Key Lit Action, the clear text private key are encrypted using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method. The Access Control Conditions are set to: +A high-level overview of how Wrapped Keys works is as follows: + +1. A Wrapped Key is initialized by encrypting a plaintext private key using a Lit network's BLS public key + - This step associates the Wrapped Key with a specific PKP +2. A request is made to the Lit Wrapped Keys backend service to do one of the following actions: + - Export a Wrapped Key + - List all Wrapped Keys associated with a PKP + - Sign an arbitrary message with a Wrapped Key + - Sign an Ethereum or Solana transaction with a Wrapped Key +3. Depending on the request, the Wrapped Keys backend service will do one of the following: + + +### Exporting a Wrapped Key + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key +2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the [exportPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/common/src/exportPrivateKey.js) Lit Action +3. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key +4. If authorized, the unencrypted plaintext private key will be returned. If not authorized, an error will be returned + +### Listing Wrapped Keys for a PKP + +1. The Wrapped Keys SDK will derive the PKP Ethereum address from the provided PKP Session Signatures +2. The SDK will submit the Ethereum address to the Wrapped Keys backend service to fetch and return all the associated Wrapped Keys + +### Signing an Arbitrary Message + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key +2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Sign Message Lit Action + - Depending on the provided `network`, one of the following Lit Actions will be executed: + - If `network` is `ethereum`, then the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action is executed + - If `network` is `solana`, then the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action is executed +3. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key +4. If authorized, the Wrapped Key will be decrypted within a Lit node's TEE. If not authorized, an error will be returned +5. The Lit Action will use the decrypted Wrapped Key and the provided [SignMessageWithEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.SignMessageWithEncryptedKeyParams.html) to sign the arbitrary message, returning the signed message + +### Signing a Transaction + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key +2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Sign Transaction Lit Action + - Depending on the provided `network`, one of the following Lit Actions will be executed: + - If `network` is `ethereum`, then the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action is executed + - If `network` is `solana`, then the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action is executed +3. The Lit Action will verify the required transaction parameters were provided in order to sign the transaction +4. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key +5. If authorized, the Wrapped Key will be decrypted within a Lit node's TEE. If not authorized, an error will be returned +6. The Lit Action will use the decrypted Wrapped Key and the provided [SignTransactionWithEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.SignTransactionWithEncryptedKeyParams.html) to sign the transaction +7. If the `broadcast` parameter was set to `true`, the Lit Action will then broadcast the signed transaction to the specified `network`, returning the transaction hash. Otherwise, the signed transaction will be returned + +## How En/Decrypting the Wrapped Key Works + +### Encrypting the Private Key + +Whether you're importing, storing, or generating a new private key, the clear text private key is encrypted using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method. + +When encrypting data using the Lit network, [Access Control Conditions](../../sdk/access-control/evm/basic-examples) are specified to restrict who is authorized to decrypt the data. For more information on how encryption and decryption works using the Lit network, please go [here](../../sdk/access-control/intro). + +The Access Control Conditions used to encrypt the private key are: ```ts [ @@ -31,11 +85,23 @@ Whether you import an existing private key, of generate a new one inside of the ]; ``` -where `pkpAddress` is the Ethereum address that's derived from your provided PKP's public key. This restricts the decryption of the Wrapped Key to only those whom can generate valid Authentication Signatures from the PKP which generated the Wrapped Key. +where `pkpAddress` is the Ethereum address that's derived from the PKP that was authenticated by the Lit network when the request to import, store, or generate a new Wrapped Key was made. With this condition, the only entity authorized to decrypt a Wrapped Key's underlying private key, is the PKP. + +### Decrypting the Private Key + +When you submit a request to the Wrapped Keys backend service via one of the SDK methods, you must provide PKP Session Signatures. From these Session Signatures, an Ethereum address corresponding to the PKP can be derived. It's this address that the Lit Action submits as part of it's request to the Lit network to decrypt the Wrapped Key. -## The SDK +If the derived Ethereum address from the PKP Session Signatures matches the address used to encrypt the Wrapped Key, then decryption is authorized and the Lit Action is able to collect and combine the decryption shares from the Lit nodes and obtain the plaintext private key. -The Wrapped Keys SDK streamlines the process of interacting with this new primitive and is available to install from NPM: +The plaintext private key only exists within the TEE of a single Lit node that is executing the Lit Action. This is enforced using the [decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) Lit Action method. This single Lit node executing the Lit Action is then able to use the plaintext private to perform signing operations. After the Lit Action is finished executing, the TEE memory is wiped and the plaintext private key seizes to exist. + +## Getting Started + +### Installing the SDK + +:::info +The minimum version of the Lit SDK that supports Wrapped Keys is `6.3.0`, which will be installed from NPM by default. +::: -With the SDK, you have the following functions available to you: - -- `generatePrivateKey` - Generates a random private key within a Lit Action and returns the public key. -- `importPrivateKey` - Import an existing private key into Lit's network. -- `exportPrivateKey` - Export a previously imported or generated private key from Lit's network. -- `signMessageWithEncryptedKey` - Use a Wrapped Key to sign an arbitrary message. -- `signTransactionWithEncryptedKey` - Use a Wrapped Key to sign a transaction, with the option to submit it to a chosen network. - -Within this section of the docs, we have several guides covering the usage of the above SDK methods. Please refer to them to learn how to use these methods, but feel free to reach out to us on our [Discord](https://litgateway.com/discord) or [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. +### Overview of the SDK Methods From 44bb10b388e507c8d195d6d39d0fffea0166fa85 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 25 Jul 2024 18:57:37 -1000 Subject: [PATCH 413/627] Update overview --- docs/sdk/wrapped-keys/overview.md | 142 +++++++++++++++++++++--------- 1 file changed, 99 insertions(+), 43 deletions(-) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index 2ad058b2..71782f98 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -9,19 +9,93 @@ Regardless of how the Wrapped Keys is initialized, each Wrapped Key is associate Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to perform signatures on arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. +## Getting Started + +### Installing the SDK + +:::info +The minimum version of the Lit SDK that supports Wrapped Keys is `6.3.0`, which will be installed from NPM by default. +::: + + + + +```bash +npm i @lit-protocol/wrapped-keys +``` + + + + + +```bash +yarn add @lit-protocol/wrapped-keys +``` + + + + ## How it Works -A high-level overview of how Wrapped Keys works is as follows: +Currently the available actions of the Wrapped Keys SDK are: -1. A Wrapped Key is initialized by encrypting a plaintext private key using a Lit network's BLS public key - - This step associates the Wrapped Key with a specific PKP -2. A request is made to the Lit Wrapped Keys backend service to do one of the following actions: - - Export a Wrapped Key - - List all Wrapped Keys associated with a PKP - - Sign an arbitrary message with a Wrapped Key - - Sign an Ethereum or Solana transaction with a Wrapped Key -3. Depending on the request, the Wrapped Keys backend service will do one of the following: +- [Generating a Wrapped Key](./generating-wrapped-key.md) +- [Importing a private key as a Wrapped Key](./importing-key.md) +- [Exporting a Wrapped Key](./exporting-wrapped-key.md) +- [Getting Wrapped Key Metadata](./getting-wrapped-key-metadata.md) +- [Storing Wrapped Key Metadata](./storing-wrapped-key-metadata.md) +- [Listing all Wrapped Keys associated with a PKP](./listing-wrapped-keys.md) +- [Signing an arbitrary message with a Wrapped Key](./sign-message.md) +- [Signing an Ethereum or Solana transaction with a Wrapped Key](./sign-transaction.md) +Below are high-level overviews of how each SDK method works. + +:::info +The Wrapped Keys SDK methods for: + +- Exporting a Wrapped Key +- Getting Wrapped Key Metadata +- Signing an arbitrary message with a Wrapped Key +- Signing an Ethereum or Solana transaction with a Wrapped Key + +expect a Wrapped Key ID as part of their parameters. This ID is generated for each Wrapped Key by the backend service, and is returned by the SDK methods for: + +- Generating a Wrapped Key +- Importing a private key as a Wrapped Ke +- Storing Wrapped Key Metadata + +You can also obtain the IDs for all the Wrapped Keys associated with a specific PKP by using the SDK's [listEncryptedKeyMetadata](./listing-wrapped-keys.md) SDK's method. +::: + +### Generating a Wrapped Key + +1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures +2. The SDK then generates the encryption Access Control Conditions using the derived Ethereum address + - See the [Encrypting the Private Key](#encrypting-the-private-key) section for more info on this process +3. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Generate Private Key Lit Action + - Depending on the provided `network`, one of the following Lit Actions will be executed: + - If `network` is `ethereum`, then the [generateEncryptedEthereumPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/generateEncryptedEthereumPrivateKey.js) Lit Action is executed + - If `network` is `solana`, then the [generateEncryptedSolanaPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/generateEncryptedSolanaPrivateKey.js) Lit Action is executed +4. The Lit Action uses a third-party library (either [ethers.js](https://docs.ethers.org/v5/) or [@solana/web3.js](https://solana-labs.github.io/solana-web3.js/)) to generate a private key withing a single Lit node's TEE +5. The generated private key is then encrypted using the previously generated Access Control Conditions +6. The encryption metadata is returned from the Lit Action +7. The Wrapped Keys SDK then stores the private key encryption metadata to the Wrapped Keys backend service, associating it with the PKP's Ethereum address +8. The SDK returns a [GeneratePrivateKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.GeneratePrivateKeyResult.html) object containing the generated Wrapped Key ID, the PKP Ethereum address the Wrapped Key is associated with, and the public key of the generated private key + +### Importing a Wrapped Key + +1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures +2. The SDK then generates the encryption Access Control Conditions using the derived Ethereum address + - See the [Encrypting the Private Key](#encrypting-the-private-key) section for more info on this process +3. Using the generated Access Control Conditions, the SDK will encrypt the provided private key using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) Lit SDK method + - This encrypts your provided plaintext private key using the Lit network's public BLS key +4. The SDK then stores the private key encryption metadata to the Wrapped Keys backend service, associating it with the PKP's Ethereum address +5. The SDK returns a [ImportPrivateKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.ImportPrivateKeyResult.html) object containing the generated Wrapped Key ID, and the PKP Ethereum address the Wrapped Key is associated with ### Exporting a Wrapped Key @@ -29,7 +103,22 @@ A high-level overview of how Wrapped Keys works is as follows: 2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the [exportPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/common/src/exportPrivateKey.js) Lit Action 3. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key 4. If authorized, the unencrypted plaintext private key will be returned. If not authorized, an error will be returned - + +### Getting Wrapped Key Metadata + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the stored metadata for a specific Wrapped Key from the Wrapped Keys backend service +2. The stored metadata is returned as a [StoredKeyData](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.StoredKeyData.html) object + +### Storing Wrapped Key Metadata + +:::note +The [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) required for this method include the encryption metadata of the private key that will be turned into a Wrapped Key. For more information on how to obtain the encryption metadata, please refer to this guide on [encrypting data using the Lit SDK](../../sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key), and this guide on [Custom Wrapped Keys](http://localhost:3000/sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key). +::: + +1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures +2. The SDK stores the provided [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) using the Wrapped Keys backend service, associating the resulting Wrapped Key with the PKP's Ethereum address +3. The SDK returns a [StoreEncryptedKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.StoreEncryptedKeyResult.html) object containing the generated Wrapped Key ID, and the PKP Ethereum address the Wrapped Key is associated with + ### Listing Wrapped Keys for a PKP 1. The Wrapped Keys SDK will derive the PKP Ethereum address from the provided PKP Session Signatures @@ -94,36 +183,3 @@ When you submit a request to the Wrapped Keys backend service via one of the SDK If the derived Ethereum address from the PKP Session Signatures matches the address used to encrypt the Wrapped Key, then decryption is authorized and the Lit Action is able to collect and combine the decryption shares from the Lit nodes and obtain the plaintext private key. The plaintext private key only exists within the TEE of a single Lit node that is executing the Lit Action. This is enforced using the [decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) Lit Action method. This single Lit node executing the Lit Action is then able to use the plaintext private to perform signing operations. After the Lit Action is finished executing, the TEE memory is wiped and the plaintext private key seizes to exist. - -## Getting Started - -### Installing the SDK - -:::info -The minimum version of the Lit SDK that supports Wrapped Keys is `6.3.0`, which will be installed from NPM by default. -::: - - - - -```bash -npm i @lit-protocol/wrapped-keys -``` - - - - - -```bash -yarn add @lit-protocol/wrapped-keys -``` - - - - -### Overview of the SDK Methods From 9fcc65e315098e139e76810495f6281f13c6cd2b Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 26 Jul 2024 10:15:50 -1000 Subject: [PATCH 414/627] Update docs/sdk/wrapped-keys/overview.md Co-authored-by: awisniew207 --- docs/sdk/wrapped-keys/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index 71782f98..f4de688e 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -66,7 +66,7 @@ The Wrapped Keys SDK methods for: expect a Wrapped Key ID as part of their parameters. This ID is generated for each Wrapped Key by the backend service, and is returned by the SDK methods for: - Generating a Wrapped Key -- Importing a private key as a Wrapped Ke +- Importing a private key as a Wrapped Key - Storing Wrapped Key Metadata You can also obtain the IDs for all the Wrapped Keys associated with a specific PKP by using the SDK's [listEncryptedKeyMetadata](./listing-wrapped-keys.md) SDK's method. From d6ea6fc5f82e85c7429c60c61f4e3fe04c7cb0b7 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 26 Jul 2024 18:27:36 -0700 Subject: [PATCH 415/627] More intro work --- docs/sdk/authentication/session-sigs/intro.md | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 62b7cb87..05d882fc 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -22,16 +22,39 @@ An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In w - The specific [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) you're requesting for the session keys (e.g., signing transactions with a particular PKP, executing a specified Lit Action). The `AuthSig` allows Lit Nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit Network. -When you make a request, each Lit Node checks your Auth Sig to confirm that your request aligns with the capabilities you previously defined. +When you make a request, each Lit Node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. This authentication system ensures that the Lit Network remains secure, verifying that you are genuinely making the request and that you have the necessary authorization. +## Paying for Usage of the Lit Network -## Capability Objects +The correct code implementation will depend on whether you're using the free-to-use `datil-dev` network, or one of the "paid" networks: `habanero` or `datil-test`. -Session signatures work by having scoped capabilities be granted to session keys by an inner `AuthSig`. The capability object is a [SIWE ReCap](https://eips.ethereum.org/EIPS/eip-5573) object. +Usage of the `habanero` and `datil-test` networks require the use of [Lit Capacity Credits](../../../sdk/capacity-credits.md). Currently, Capacity Credits are paid for using the `tstLPX` token and don't require any real-world money. However, in the future you will need to pay real-world money for usage of Lit networks, and `habanero` and `datil-test` are the Lit networks where this functionality is being tested and refined. -Read more [here](capability-objects) on the session capability objects that we use. +## Storing `SessionSigs` + +When running code to generate session signatures, storing them can be done by using the `LocalStorage` imported from the `node-localstorage` package. + +```javascript +import { LocalStorage } from "node-localstorage"; +``` + +When running code within a browser, this import is not needed, as the session keys will be stored within the browser's local storage. However, when running this code in an environment such as Node.js where browser local storage is not available, the `LocalStorage` module is used to provide file-based storage for our generated session keys and metadata. + +All functions for generating session signatures will try to create a session key for you and store it in the local storage. The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session key as the optional `sessionKey` parameter when generating session signatures. + +```javascript +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + // This storageProvider object can be omitted if executing in a browser + storageProvider: { + provider: new LocalStorage("./lit_storage.db"), + }, +}); +``` + +If you do not provide an instance of `LocalStorage` as the `provider`, then new session keys will be generated every time you run this code instead of one set of keys being reused. ## Format of `SessionSigs` From 5865e7a7c4c20d7ea15e58274ef81381b0ba6dee Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 16:22:34 -0700 Subject: [PATCH 416/627] Initial changes --- docs/api-reference/v3-sdk.md | 4 +- docs/concepts/capacity-credits-concept.md | 12 ++-- docs/concepts/pkps-as-wallet.md | 2 +- .../connecting-to-a-lit-network/connecting.md | 11 ++-- .../lit-blockchains/chronicle.md | 10 +-- docs/connecting-to-a-lit-network/mainnets.md | 48 ++++++++++++++ .../migrating-to-datil.md | 2 +- docs/connecting-to-a-lit-network/testnets.md | 5 +- docs/integrations/aa/alchemy-account-kit.md | 2 +- docs/network/feature-matrix.md | 32 --------- docs/network/migration-guide.md | 9 ++- docs/network/networks/mainnet.md | 4 +- docs/network/networks/testnet.md | 6 +- docs/resources/how-it-works.md | 2 +- docs/resources/supported-chains.md | 65 ++----------------- docs/sdk/access-control/encryption.md | 6 +- docs/sdk/access-control/quick-start.md | 10 +-- .../session-sigs/get-session-sigs.md | 2 +- docs/sdk/capacity-credits.md | 19 ++++-- docs/sdk/installation.md | 8 ++- docs/sdk/migrations/3.0.0/overview.md | 13 ++-- docs/sdk/migrations/3.2.0.md | 3 + docs/sdk/migrations/4.0.0.md | 7 +- docs/sdk/migrations/6.0.0.md | 2 +- .../paying-for-lit/payment-delegation-db.md | 28 ++++---- docs/sdk/serverless-signing/encryption.md | 4 +- docs/sdk/serverless-signing/overview.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 33 +++++++--- .../add-remove-auth-methods.md | 5 +- docs/sdk/wallets/claimable-keys/usage.md | 5 +- docs/sdk/wallets/intro.md | 2 +- .../minting-methods/mint-via-contracts.md | 2 +- .../mint-via-multiple-auth-methods.md | 3 +- docs/sdk/wallets/quick-start.md | 37 ++++++++--- docs/support/faq.md | 2 +- docusaurus.config.js | 2 +- sidebars.js | 2 +- src/pages/old-migration-notice.md | 3 + src/pages/state-of-the-network.md | 2 + .../pkp/authHelpers/addRemoveAuthMethods.md | 3 +- versioned_docs/version-2.0/pkp/usage.md | 3 +- 41 files changed, 231 insertions(+), 191 deletions(-) create mode 100644 docs/connecting-to-a-lit-network/mainnets.md delete mode 100644 docs/network/feature-matrix.md create mode 100644 src/pages/old-migration-notice.md diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md index 05682447..323dc2fb 100644 --- a/docs/api-reference/v3-sdk.md +++ b/docs/api-reference/v3-sdk.md @@ -1,7 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# SDK v5.x.x to v3.x.x +# SDK 3.x.x to v5.x.x -The SDK v5.x.x to v3.x.x API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). +The SDK v3.x.x to v5.x.x API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). Please note that the latest API docs are v6.x.x. diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index ff41be8c..2bebbf07 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -7,7 +7,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Paying For Usage :::info -Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. +Currently Rate Limiting is only enabled on `Datil-prod` and `Datil-test`. See [here](../network/networks/testnet) for a list of test networks. See [here](../network/networks/mainnet) for a list of mainnet networks. ::: @@ -29,7 +29,7 @@ Every time you authenticate with Lit, the request context (i.e. wallet address, A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/capacity-credits#minting-capacity-credits). @@ -44,12 +44,14 @@ Lit employs `SessionSig` as a secure method for session management, utilizing ed You can read more about Session Signatures [here](../sdk/authentication/session-sigs/intro.md). ->**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Habanero` and `Manzano` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): +>**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Datil-prod` and `Datil-test` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): ```javascript +import { LitNetwork } from "@lit-protocol/constants"; + const litNodeClient = new LitNodeClient({ - litNetwork: "manzano", + litNetwork: LitNetwork.DatilTest, checkNodeAttestation: true, }); @@ -121,7 +123,7 @@ You can read more about Session Signatures [here](../sdk/authentication/session- ### **Best Practices** - **Capacity Management**: Keep an eye on your usage limit and expiration date. -- **Understanding Limits**: Be aware that there are no free requests on `Habanero` mainnet. On `Manzano` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. +- **Understanding Limits**: Be aware that there are no free requests on `Datil-prod` mainnet. On `Datil-test` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. - **Delegation**: You can create restrictions on your delegations to ensure that your users don't take your `capacityDelegationAuthSig` and use it for other apps. diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index 8d5bce7e..cd9122a6 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -9,7 +9,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info **STATE OF THE NETWORK** -Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Habanero Mainnet](../network/networks/mainnet) and [Manzano Testnet](../network/networks/testnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! +Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Datil-prod Mainnet](../network/networks/mainnet) and [Datil-test Testnet](../network/networks/testnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! ::: ## Overview diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index be2159da..8a755957 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -4,10 +4,11 @@ After installing the Lit SDK, you can connect an instance of [LitNodeClient](htt ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; const litNodeClient = new LitNodeClient({ // Change this to the Lit SDK Network Identifier you want to connect to - litNetwork: 'datil-dev', + litNetwork: LitNetwork.DatilDev, }); await litNodeClient.connect(); ``` @@ -22,10 +23,10 @@ If you are currently using these networks, please review the [Migrating to Datil ### Mainnets -| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | -|------------|----------------------------|---------------|---------------------------| -| Datil-prod | `datil-prod` | n/a | ❌ | -| Habanero | `habanero` | n/a | ⚠️ Going to be deprecated | +| Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | +|------------|----------------------------|------------------------------|---------------------------| +| Datil-prod | `datil-prod` | [Link](./mainnets#datil-prod)| ✅ | +| Habanero | `habanero` | n/a | ⚠️ Going to be deprecated | ### Testnets diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index 4f98e8fb..e78f10c3 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -18,11 +18,11 @@ Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the perfor Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. -## `testLPX` Test Token +## `tstLPX` Test Token -The `testLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. +The `tstLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `testLPX` test token, please use the faucet at https://faucet.litprotocol.com/. The `testLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. +To obtain the `tstLPX` test token, please use the faucet at https://faucet.litprotocol.com/. The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. @@ -36,10 +36,10 @@ To connect to Chronicle, you can click or manually add the n | Name | Chronicle - Lit Protocol Testnet | | RPC URL | https://chain-rpc.litprotocol.com/replica-http | | Block Explorer URL | https://chain.litprotocol.com/ | -| Currency Symbol | testLPX | +| Currency Symbol | tstLPX | | Currency Decimals | 18 | -**Note** You must have the `testLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. +**Note** You must have the `tstLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. ## Block Explorer diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md new file mode 100644 index 00000000..29574351 --- /dev/null +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -0,0 +1,48 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Mainnets + +Main networks are designed for late-stage application deployment. If you are implementing storing assets with real world value, it should be done on the main networks and not the test networks. While main networks may be deprecated in the future, assets will be transferable onto new networks. + + +Here is an overview of the Lit mainnets: + +| Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | +|------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| +| Datil-prod | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.2.2` | `datil-prod` | ✅ | +| +## Datil-prod + +The Lit network, Datil-prod, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). + +If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-datil) to learn how to migrate to Chronicle Yellowstone. + +The minimum version of the Lit SDK that supports `datil-prod` is `6.2.2`, and the latest SDK version will be installed from NPM by default: + + + + +```bash +npm install @lit-protocol/lit-node-client +``` + + + + + +```bash +yarn add @lit-protocol/lit-node-client +``` + + + + +There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Habanero should work without issue on Datil-prod. If you do run into issues after migrating to Datil-prod, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. + +To connect to Datil-test, please follow the [Connecting to a Lit Network](./connecting) guide using `datil-prod` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index a29ced10..8a2cc456 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -11,7 +11,7 @@ Depending on the existing Lit network you are using, you should migrate to its c | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| -| ❌ | ✅ | n/a | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | +| ✅ | ✅ | n/a | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | | ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index e5956f79..1360c501 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -11,8 +11,7 @@ Here is an overview of the Lit testnets: |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| | Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.2.2` | `datil-test` | ✅ | | Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.2.2` | `datil-dev` | ❌ | -| Cayenne | [Chronicle](./lit-blockchains/chronicle) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^4.0.0` | `cayenne` | ❌ | -| Manzano | [Chronicle](./lit-blockchains/chronicle) | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | `^4.0.0` | `manzano` | ✅ | +| ## Datil-test @@ -45,7 +44,7 @@ yarn add @lit-protocol/lit-node-client -There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Habanero should work without issue on Datil-test. If you do run into issues after migrating to Datil-test, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. +There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Manzano should work without issue on Datil-test. If you do run into issues after migrating to Datil-test, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. To connect to Datil-test, please follow the [Connecting to a Lit Network](./connecting) guide using `datil-test` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index b8b5a5d8..d633ecc3 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -136,7 +136,7 @@ yarn add @alchemy/aa-signers ### 2. Get A Programmable Key Pair (PKP) -Get some testLPX test tokens from Lit's [Chronicle network](../../network/rollup.mdx). +Get some tstLPX test tokens from Lit's [Chronicle network](../../network/rollup.mdx). To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). diff --git a/docs/network/feature-matrix.md b/docs/network/feature-matrix.md deleted file mode 100644 index 10f6a417..00000000 --- a/docs/network/feature-matrix.md +++ /dev/null @@ -1,32 +0,0 @@ -import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# Feature Matrix - - - -Shown below is a matrix illustrating which features are available with each SDK version. - -V1 refers to the deprecated [lit-js-sdk](https://github.com/LIT-Protocol/lit-js-sdk) - -V2 refers to `2.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) - -V3 refers to `3.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) - -V4 refers to `4.x.x` versions of [js-sdk](https://github.com/LIT-Protocol/js-sdk) - -| Feature | V1 | V2 | V3 / V4 | -| :---: | :---: | :---: | :---: | -| `jalapeno` network | ✅ | ✅ | ❌ | -| `serrano` network | ✅ | ✅ | ❌ | -| `cayenne` network | ❌ | ❌ | ✅ | -| ACC-based Encryption | ✅ | ✅ | ✅ | -| ACC-based JWT signing | ✅ | ✅ | ✅ | -| Updateable ACC | ✅ | ✅ | ❌ | -| Programmable Key Pairs | ❌ | ✅ | ✅ | -| Lit Actions | ❌ | ✅ | ✅ | -| Wallet Signatures | ✅ | ✅ | ✅ | -| Session Signatures | ✅ | ✅ | ✅ | - -_ACC stands for Access Control Condition._ - diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index 243127b2..f2225877 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -1,4 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; +import OldMigrationNotice from "@site/src/pages/old-migration-notice.md"; + + # Migrating to Lit v0 @@ -248,7 +251,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both b yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: :::note You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. @@ -268,7 +271,7 @@ Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environmen yarn add @lit-protocol/lit-node-client-nodejs ``` -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: :::note You'll need to specify the network you want to connect to ('habanero' or 'manzano') when initializing your node client config. @@ -344,7 +347,7 @@ Currently Rate Limiting is enabled on `Habanero` and `Manzano`. In order to use A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). -You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 558f75ae..915dfe55 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -13,7 +13,9 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Development status | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | n/a | -| Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Good to use | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +| Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network. | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | +Datil-prod | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-prod](https://github.com/LIT-Protocol/networks/tree/main/datil-prod) | +|
    diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 01339de0..46753c8a 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -11,9 +11,11 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Development status | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------- | | Serrano | Centralized test network. Keys are persistent. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | [Live](https://serrano-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | [serrano](https://github.com/LIT-Protocol/networks/tree/main/serrano) | -| Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Not Live | V4+ | Deprecated. Do not build new apps that use this network.| [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | +| Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network.| [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | | Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) -| Datil-dev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) | +| Datil-dev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) +| Datil-test | Decentralized test network. No persistency guarantees. Mirrors Datil-prod code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-test](https://github.com/LIT-Protocol/networks/tree/main/datil-test) | +
    diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 463f1ba2..dcf3ec05 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -67,7 +67,7 @@ Currently, the Lit network is in [Mainnet Beta](../network/migration-guide.md) a ### Node Operators -The current node operators active on the Habanero Mainnet Beta include: +The current node operators active on the Datil-prod Mainnet Beta include: - Lit Protocol (our node) - [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com) diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 8f174a33..34ba6401 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -18,15 +18,14 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp ## Supported Chains (Access Control & PKP) - + - ethereum - polygon @@ -69,7 +68,7 @@ values={[ - + - ethereum - polygon @@ -180,58 +179,4 @@ values={[ - - -- ethereum -- polygon -- xdai -- bsc -- bscTestnet -- base -- baseGoerli -- fantom -- arbitrum -- avalanche -- harmony -- mumbai -- goerli -- ropsten -- kovan -- rinkeby -- cronos -- optimism -- celo -- fuji -- aurora -- eluvio -- alfajores -- xdc -- evmos -- evmosTestnet -- moonbeam -- moonriver -- moonbaseAlpha -- filecoin -- hyperspace -- scrollAlphaTestnet -- scroll -- lineaGoerli -- lukso -- luksoTestnet -- chiado -- zora -- zoraGoerli -- zkEvm -- zkSync -- zksyncTestnet -- mantleTestnet -- mantle -- klaytn -- publicGoodsNetwork -- waevEclipseTestnet -- waevEclipseDevnet -- verifyTestnet - - - \ No newline at end of file diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index d51462cf..7a802dd6 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -46,7 +46,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: @@ -282,11 +282,13 @@ npm i @lit-protocol/contracts-sdk The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: 'habanero', + network: LitNetwork.DatilProd, }); await contractClient.connect(); diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 3cd5b253..1524a1e8 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -8,7 +8,7 @@ You can use the Lit network to encrypt your data and store it privately on the o Lit can only be used to generate and store encryption keys, so you will need to store the ciphertext and metadata yourself using your storage provider of choice (such as IPFS, Arweave, or even a centralized storage solution). Once your data has been encrypted, the Lit network will enforce who is allowed to decrypt it. -This guide uses Lit's [Habanero Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Manzano Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). +This guide uses Lit's [Datil-prod Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). For developers looking to explore beyond the basics, check out Advanced Topics. @@ -18,7 +18,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: @@ -42,7 +42,7 @@ npm i @lit-protocol/lit-node-client If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs` ::: -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: ```jsx import * as LitJsSdk from "@lit-protocol/lit-node-client"; @@ -268,11 +268,13 @@ npm i @lit-protocol/contracts-sdk The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: 'habanero', + network: LitNetwork.DatilProd, }); await contractClient.connect(); diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index b5abc3f2..8d13e5d9 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -8,7 +8,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. -In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Habanero` and `Manzano` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. +In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Datil-prod` and `Datil-test` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way: diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 39cb84fc..c3a97b07 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -3,7 +3,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Capacity Credits :::info -Currently Rate Limiting is only enabled on `Habanero` and `Manzano`. +Currently Rate Limiting is only enabled on `Datil-prod` and `Datil-test`. See [here](../network/networks/testnet.md) for a list of test networks. See [here](../network/networks/mainnet.md) for a list of mainnet networks. ::: @@ -22,13 +22,15 @@ In order to increase your rate limit, you'll need to mint a `Capacity Credits NF A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -You’ll also need some `testLPX` tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some `tstLPX` tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-test and Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). ```javascript +import { LitNetwork } from "@lit-protocol/constants"; + const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: 'manzano', + network: LitNetwork.DatilTest, }); await contractClient.connect(); @@ -65,8 +67,10 @@ Usage of your Capacity Credits NFT may be delegated to other wallets. To create Here we use the `capacityTokenId` we received when minting our Capacity Credit. ```javascript +import { LitNetwork } from "@lit-protocol/constants"; + const litNodeClient = new LitNodeClient({ - litNetwork: "manzano", + litNetwork: LitNetwork.DatilTest, checkNodeAttestation: true, }); @@ -106,11 +110,12 @@ Here we are delegating usage of `Capacity Credit` from a wallet which possesses ```javascript + import { LitNetwork } from "@lit-protocol/constants"; const DELEGATEE_WALLET = new ethers.Wallet(your_private_key_string, provider); const litNodeClient = new LitNodeClient({ - litNetwork: "manzano", + litNetwork: LitNetwork.DatilTest, checkNodeAttestation: true, }); await litNodeClient.connect(); @@ -188,8 +193,10 @@ To Delegate to a pkp wallet from a wallet which possesses a `Capacity Credit` we For more information on session signatures and pkps see [here](./authentication/session-sigs/intro.md) ```javascript +import { LitNetwork } from "@lit-protocol/constants"; + const litNodeClient = new LitNodeClient({ - litNetwork: "manzano", + litNetwork: LitNetwork.DatilTest, checkNodeAttestation: true, }); diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 2b0f96d9..700098ce 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -77,9 +77,11 @@ In this example stub, the litNodeClient is stored in a global variable `app.loca `app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```js +import { LitNetwork } from "@lit-protocol/constants"; + app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: "habanero", + litNetwork: LitNetwork.DatilProd, }); await app.locals.litNodeClient.connect(); ``` @@ -98,8 +100,10 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```js +import { LitNetwork } from "@lit-protocol/constants"; + const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'habanero', + litNetwork: LitNetwork.DatilProd, }); await client.connect(); diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index f3b749d5..73a03481 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import OldMigrationNotice from "@site/src/pages/old-migration-notice.md"; import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; @@ -14,16 +15,18 @@ The **Lit JS SDK V3** replaces the existing access control condition based encry + + ## Data Migration :::caution -The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. Therefore, we will request users to migrate to `habanero` and `manzano` networks. +The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. Therefore, we will request users to migrate to `Datil-prod` and `Datil-test` networks. ::: -If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V3 SDK as it supports our new networks, `habanero` and `manzano`, which are not supported by V2 SDK. +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V3 SDK as it supports our new networks, `Datil-prod` and `Datil-test`, which are not supported by V2 SDK. Alternatively, here are some general instructions for migrating to use the new encryption scheme: @@ -190,7 +193,7 @@ V3 includes the following breaking changes from V2. ### Supported Lit Networks -Both `jalapeno` and `serrano` will no longer be supported. Now, `datil-dev`, `manzano` and `habanero` are the only supported networks and we will be moving forward with them. +Both `jalapeno` and `serrano` will no longer be supported. Now, `datil-dev`, `datil-test` and `datil-prod` are the only supported networks and we will be moving forward with them. ### Types @@ -239,13 +242,13 @@ All method interfaces in `@lit-protocol/encryption` have been updated. ## Minting Capacity Credits for Usage -Currently Rate Limiting is enabled on `Habanero` and `Manzano`. In order to use these networks, you must reserve capacity on them by minting a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. Capacity credits allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). For minting capacity credits, you can either use: +Currently Rate Limiting is enabled on `Datil-prod` and `Datil-test`. In order to use these networks, you must reserve capacity on them by minting a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. Capacity credits allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). For minting capacity credits, you can either use: 1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, 2. Our `contracts-sdk`. A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). -You’ll also need some 'testLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `testLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on `Datil-prod` and `Datil-test`. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) diff --git a/docs/sdk/migrations/3.2.0.md b/docs/sdk/migrations/3.2.0.md index f31374d8..c440f450 100644 --- a/docs/sdk/migrations/3.2.0.md +++ b/docs/sdk/migrations/3.2.0.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import OldMigrationNotice from "@site/src/pages/old-migration-notice.md"; import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; @@ -12,6 +13,8 @@ import TabItem from '@theme/TabItem'; + + # Removed `controllerSessionSigs` Instead of receiving the `sessionSigs` directly, now they will obtain it from the client and its auth context. This way we are unifying that management and using them from a common storage instead of making the user handle it directly. For more information, please check this [PR](https://github.com/LIT-Protocol/js-sdk/pull/358). diff --git a/docs/sdk/migrations/4.0.0.md b/docs/sdk/migrations/4.0.0.md index e3a2927f..f84c05cf 100644 --- a/docs/sdk/migrations/4.0.0.md +++ b/docs/sdk/migrations/4.0.0.md @@ -2,6 +2,7 @@ sidebar_position: 2 --- +import OldMigrationNotice from "@site/src/pages/old-migration-notice.md"; import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; import FeedbackComponent from "@site/src/pages/feedback.md"; @@ -12,6 +13,8 @@ import TabItem from '@theme/TabItem'; + + V4 release is packed with several improvements, new features, and critical changes aimed at enhancing the robustness, usability, and overall performance of the Lit SDK. Here's everything you need to know about key changes and additions:. ## Possible Breaking Changes @@ -55,7 +58,7 @@ A comprehensive list of changes can be viewed [here](https://github.com/LIT-Prot # Installation -The v4 SDK is now the default for developers building on Lit. +The V6 SDK is now the default for developers building on Lit. Please view newer guides for the latest information. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: @@ -63,7 +66,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both b yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK v4**: +Use the **Lit JS SDK**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 78fd9672..072b900e 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -474,7 +474,7 @@ const authSig = await generateAuthSig({ There has been some confusion on the parameters for `createCapacityDelegationAuthSig`, particularly `capacityTokenId`, `delegateeAddresses`, and `uses` when delegating [capacity credits](../serverless-signing/quick-start.md). :::note -Payment for usage of the Lit network is currently only required on the `habanero` and `manzano` networks. If you're using the `datil-dev` network, payment is **not** required. +Payment for usage of the Lit network is currently only required on the `Datil-prod` and `Datil-test` networks. If you're using the `datil-dev` network, payment is **not** required. ::: Below is a table detailing the expected behaviors of each: diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index 1640c486..92fe3ceb 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -17,7 +17,7 @@ To simplify this process of delegating Capacity Credits, we've implemented the P ## The Payment Delegation Database :::info -Currently the Payment Delegation Database is only supported on the `habanero` and `datil-test` Lit networks. Payment for usage is **not** required on the `datil-dev` network. +Currently the Payment Delegation Database is only supported on the `datil-prod` and `datil-test` Lit networks. Payment for usage is **not** required on the `datil-dev` network. ::: The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: @@ -43,7 +43,7 @@ Before continuing with this guide, you should have an understanding of: - Add users as `payees` for your `payer` wallet - You must have a valid Lit Relayer API key - This can be obtained by filling out [this form](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) -- You should know which paid Lit network you're going to use: `habanero` or `datil-test` +- You should know which paid Lit network you're going to use: `datil-prod` or `datil-test` This guide doesn't have any external dependencies, but relies on `fetch` being natively available in Node.js, which means the minimum supported version is `v18`. @@ -63,9 +63,9 @@ A full implementation of the code in this section can be found [here](https://gi To register a new `payer` wallet, you're going to need to decide which Lit network you'd like to use. Currently the Relayer server has two endpoints depending on the Lit network: -- For `habanero`, we'll be making requests to: +- For `datil-prod`, we'll be making requests to: ``` - https://habanero-relayer.getlit.dev/register-payer + https://datil-prod-relayer.getlit.dev/register-payer ``` - For `datil-test`, we'll be making requests to: ``` @@ -88,16 +88,16 @@ You'll want to replace `YOUR_LIT_RELAYER_API_KEY` with the API key that was gene Next we'll make the `fetch` request to the `register-payer` endpoint: - + ```ts const response = await fetch( - "https://habanero-relayer.getlit.dev/register-payer", + "https://datil-prod-relayer.getlit.dev/register-payer", { method: "POST", headers, @@ -167,9 +167,9 @@ Remember that `payerSecretKey` is essentially the private key to your new `payer A full implementation of this code for this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/addUsers.ts). To add users as `payees` for your `payer` wallet, you're going to need the Relayer API URL for the same Lit network you registered your `payer` on: - - For `habanero`, we'll be making requests to: + - For `datil-prod`, we'll be making requests to: ``` - https://habanero-relayer.getlit.dev/add-users + https://datil-prod-relayer.getlit.dev/add-users ``` - For `datil-test`, we'll be making requests to: ``` @@ -195,16 +195,16 @@ You'll want to replace `YOUR_LIT_RELAYER_API_KEY` with the API key that was gene Next we'll make the `fetch` request to the `add-users` endpoint: - + ```ts const response = await fetch( - "https://habanero-relayer.getlit.dev/add-users", + "https://datil-prod-relayer.getlit.dev/add-users", { method: "POST", headers, diff --git a/docs/sdk/serverless-signing/encryption.md b/docs/sdk/serverless-signing/encryption.md index 8414ce6c..eb7668d1 100644 --- a/docs/sdk/serverless-signing/encryption.md +++ b/docs/sdk/serverless-signing/encryption.md @@ -4,8 +4,8 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info Only available on the Lit networks: - - `habanero` - - `manzano` + - `datil-prod` + - `datil-test` - `datil-dev` ::: diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index f4656562..f76532fd 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -5,7 +5,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Habanero Mainnet](../../network/networks/mainnet) and [Manzano Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Habanero today. +Using Lit Actions in production IS now supported on the [Datil-prod Mainnet](../../network/networks/mainnet) and [Datil-test Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil-prod today. ::: diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 26c35d93..1185f729 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -13,7 +13,7 @@ Lit Actions are JavaScript functions that can be used read and write data across In the following guide, we will write a simple Lit Action that requests a signature from the Lit nodes and signs the message "Hello World". -This guide uses Lit's [Habanero Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Manzano Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). +This guide uses Lit's [Datil-prod Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). For developers looking to explore beyond the basics, check out Advanced Topics. @@ -25,7 +25,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: @@ -34,7 +34,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: ```jsx import * as LitJsSdk from "@lit-protocol/lit-node-client"; @@ -53,8 +53,10 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'habanero', + litNetwork: LitNetwork.DatilProd, }); await client.connect(); @@ -81,9 +83,11 @@ Keep in mind that in the server-side implementation, the client class is named  `app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: 'habanero', + litNetwork: LitNetwork.DatilProd, }); await app.locals.litNodeClient.connect(); ``` @@ -114,10 +118,11 @@ You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible ```jsx import { LitContracts } from '@lit-protocol/contracts-sdk'; +import { LitNetwork } from "@lit-protocol/constants"; const contractClient = new LitContracts({ signer: wallet, - network: 'habanero', + network: LitNetwork.DatilProd, }); await contractClient.connect(); @@ -137,12 +142,22 @@ In order to interact with the nodes in the Lit Network, you will need to generat Using the Lit SDK and the methods `createSiweMessageWithRecaps` and `generateAuthSig` from the `@lit-protocol/auth-helpers` package, we can create a `SessionSigs` by signing a SIWE message using a private key stored in a browser wallet like MetaMask: ```jsx +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { + LitAbility, + LitAccessControlConditionResource, + generateAuthSig, + createSiweMessageWithRecaps + } from "@lit-protocol/auth-helpers"; +import * as ethers from "ethers"; + const provider = new ethers.providers.Web3Provider(window.ethereum); await provider.send("eth_requestAccounts", []); const ethersSigner = provider.getSigner(); const litNodeClient = new LitNodeClient({ - litNetwork: "habanero", + litNetwork: LitNetwork.DatilProd, }); await litNodeClient.connect(); @@ -344,11 +359,13 @@ In order to execute a transaction with Lit, you’ll need to reserve capacity on The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: 'habanero', + network: LitNetwork.DatilProd, }); await contractClient.connect(); diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md index 1bbb7e6a..1f48f8f0 100644 --- a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md +++ b/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md @@ -18,10 +18,11 @@ You can only pass one of the three. If you pass more than one, `PKPEthersWallet` import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitAbility, LitActionResource } from '@lit-protocol/auth-helpers'; import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { LIT_RPC, LitNetwork } from "@lit-protocol/constants"; // If you haven't done before, create a LitNodeClient instance const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, }); await litNodeClient.connect(); @@ -57,7 +58,7 @@ const pkpWallet = new PKPEthersWallet({ // controllerAuthSig: authSig, // controllerSessionSigs: sesionSigs, // (deprecated) pkpPubKey: "", - rpc: "https://chain-rpc.litprotocol.com/http", + rpc: LIT_RPC.CHRONICLE_YELLOWSTONE, }); await pkpWallet.init(); ``` diff --git a/docs/sdk/wallets/claimable-keys/usage.md b/docs/sdk/wallets/claimable-keys/usage.md index 92a37f00..9ee3b147 100644 --- a/docs/sdk/wallets/claimable-keys/usage.md +++ b/docs/sdk/wallets/claimable-keys/usage.md @@ -41,15 +41,16 @@ An example of claiming with a customized `ClaimProcessor` using the `contracts-s ```jsx import { LitContracts } from '@lit-protocol/contracts-sdk'; import { ClaimRequest, ClaimResult, ClientClaimProcessor } from "@lit-protocol/types" +import { LIT_RPC, LitNetwork } from "@lit-protocol/constants"; const client = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: false }); await client.connect(); let claimReq: ClaimRequest = { authMethod, // provide an auth method to claim a key Identifier mapped to the given auth method - signer: new ethers.Wallet("", new ethers.providers.JsonRpcProvider("https://chain-rpc.litprotocol.com/http")), + signer: new ethers.Wallet("", new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE)), mintCallback: async (claimRes: ClaimResult) => { const litContracts = new LitContracts({ signer: claimRes.signer }); await litContracts.connect(); diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index 69fa47da..df74afdb 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -6,7 +6,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info -Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ +Need some `tstLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ ::: ## Introduction diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md index 05a9c810..300affaa 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-contracts.md +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -5,7 +5,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using 1. The [Lit explorer](https://explorer.litprotocol.com/mint-pkp), 2. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or -3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/habanero)). +3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil-prod)). The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. diff --git a/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md b/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md index df45b5d0..cebbc1fc 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md +++ b/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md @@ -182,10 +182,11 @@ First, configure your Ethereum provider and the controller wallet. Initialize th ```javascript import { LitContracts } from '@lit-protocol/contracts-sdk'; +import { LitNetwork } from "@lit-protocol/constants"; const contractClient = new LitContracts({ signer: controllerWallet, // Your ethers wallet - network: 'manzano', + network: LitNetwork.DatilTest, }); await contractClient.connect(); diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 6120bf0c..0c1caebe 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -10,7 +10,7 @@ PKPs are decentralized public / private key pairs generated by the [Lit Network] The following steps will walk you through the process of creating a PKP, assigning permissions to it, and signing a transaction. -This guide uses Lit's Habanero Network, the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Manzano Network is recommended. More on Lit networks [here](../../network/networks/mainnet.md). +This guide uses Lit's Datil-prod Network, the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/mainnet.md). For developers looking to explore beyond the basics, check out Advanced Topics. @@ -24,7 +24,7 @@ Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK V4 and above supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: @@ -33,7 +33,7 @@ Install the `@lit-protocol/lit-node-client` package, which can be used in both yarn add @lit-protocol/lit-node-client ``` -Use the **Lit JS SDK V4**: +Use the **Lit JS SDK**: ```jsx import * as LitJsSdk from "@lit-protocol/lit-node-client"; @@ -52,8 +52,10 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set `client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + const client = new LitJsSdk.LitNodeClient({ - litNetwork: 'habanero', + litNetwork: LitNetwork.DatilProd, }); await client.connect(); @@ -80,9 +82,11 @@ Keep in mind that in the server-side implementation, the client class is named  `app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: 'habanero', + litNetwork: LitNetwork.DatilProd, }); await app.locals.litNodeClient.connect(); ``` @@ -112,10 +116,11 @@ You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible ```jsx import { LitContracts } from '@lit-protocol/contracts-sdk'; +import { LitNetwork } from "@lit-protocol/constants"; const contractClient = new LitContracts({ signer: wallet, - network: 'habanero', + network: LitNetwork.DatilProd, }); await contractClient.connect(); @@ -134,12 +139,22 @@ In order to interact with the nodes in the Lit Network, you will need to generat Using the Lit SDK and the methods `createSiweMessageWithRecaps` and `generateAuthSig` from the `@lit-protocol/auth-helpers` package, we can create a `SessionSigs` by signing a SIWE message using a private key stored in a browser wallet like MetaMask: ```jsx +import { LitNetwork } from "@lit-protocol/constants"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { + LitAbility, + LitAccessControlConditionResource, + createSiweMessage, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; +import * as ethers from "ethers"; + const provider = new ethers.providers.Web3Provider(window.ethereum); await provider.send("eth_requestAccounts", []); const ethersSigner = provider.getSigner(); const litNodeClient = new LitNodeClient({ - litNetwork: "habanero", + litNetwork: LitNetwork.DatilProd, }); await litNodeClient.connect(); @@ -342,11 +357,13 @@ In order to execute a transaction with Lit, you’ll need to reserve capacity on The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: ```jsx +import { LitNetwork } from "@lit-protocol/constants"; + const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: 'habanero', + network: LitNetwork.DatilProd, }); await contractClient.connect(); @@ -504,8 +521,10 @@ If the `NFT` was not sent to the `PKP` then you may use the wallet which minted ```jsx import { LitContracts } from "@lit-protocol/contracts-sdk"; import { ethers } from 'ethers'; +import { LIT_RPC } + const provider = new ethers.providers.JsonRpcProvider( - "https://chain-rpc.litprotocol.com/http" + LIT_RPC.CHRONICLE_YELLOWSTONE ); const wallet = new ethers.Wallet('', provider); const litContracts = new LitContracts({ diff --git a/docs/support/faq.md b/docs/support/faq.md index 93f3d502..8f1512fc 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -184,7 +184,7 @@ So, you can see, the nodes don't talk to each other when decrypting the content. ### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? -Right now, Manzano and Habanero are federated networks being run by named 3rd party operators. The ultimate goal is to transition to a fully permissionless network. Root keys are updated every epoch, rendering old shares functionally useless. New shares are shared with new operators through proactive secret sharing. The network uses threshold encryption with a 2/3 threshold, providing redundancy and security. +Right now, Datil-test and Datil-prod are federated networks being run by named 3rd party operators. The ultimate goal is to transition to a fully permissionless network. Root keys are updated every epoch, rendering old shares functionally useless. New shares are shared with new operators through proactive secret sharing. The network uses threshold encryption with a 2/3 threshold, providing redundancy and security. ### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? diff --git a/docusaurus.config.js b/docusaurus.config.js index 8250ba05..86d14c54 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -154,7 +154,7 @@ const config = { }, { label: 'API', - href: 'https://v5.api-docs.getlit.dev/', + href: 'https://v6-api-doc-lit-js-sdk.vercel.app/', }, ], }, diff --git a/sidebars.js b/sidebars.js index cd75a096..d20580d1 100644 --- a/sidebars.js +++ b/sidebars.js @@ -83,7 +83,7 @@ const sidebars = { id: 'sdk/migrations/3.0.0/overview', }, collapsed: true, - items: ['network/feature-matrix', 'sdk/migrations/3.0.0/changes'], + items: ['sdk/migrations/3.0.0/changes'], }, ], }, diff --git a/src/pages/old-migration-notice.md b/src/pages/old-migration-notice.md new file mode 100644 index 00000000..d341212d --- /dev/null +++ b/src/pages/old-migration-notice.md @@ -0,0 +1,3 @@ +:::info +This migration guide is outdated and refers to a previous version of the Lit SDK. If you are looking for the most updated version, you can view it on [GitHub](https://github.com/LIT-Protocol/js-sdk). +::: \ No newline at end of file diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index 7e7af34e..eb6d7d3f 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,5 +1,7 @@ :::info The [Datil-test](connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. +The [Datil-prod](connecting-to-a-lit-network/mainnets#datil-prod) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. + Check out the [migration docs](connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: diff --git a/versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md b/versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md index 8a4b4023..1b55ee19 100644 --- a/versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md +++ b/versioned_docs/version-2.0/pkp/authHelpers/addRemoveAuthMethods.md @@ -10,12 +10,13 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { LIT_RPC } from "@lit-protocol/constants"; const pkpWallet = new PKPEthersWallet({ controllerAuthSig: "", // Or you can also pass in controllerSessionSigs pkpPubKey: "", - rpc: "https://chain-rpc.litprotocol.com/http", + rpc: LIT_RPC.CHRONICLE_YELLOWSTONE, }); await pkpWallet.init(); ``` diff --git a/versioned_docs/version-2.0/pkp/usage.md b/versioned_docs/version-2.0/pkp/usage.md index b49be8ee..a9bcc22e 100644 --- a/versioned_docs/version-2.0/pkp/usage.md +++ b/versioned_docs/version-2.0/pkp/usage.md @@ -10,12 +10,13 @@ The [`@lit-protocol/pkp-ethers` package](https://github.com/LIT-Protocol/js-sdk/ ```js import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { LIT_RPC } from "@lit-protocol/constants"; const pkpWallet = new PKPEthersWallet({ controllerAuthSig: "", // Or you can also pass in controllerSessionSigs pkpPubKey: "", - rpc: "https://chain-rpc.litprotocol.com/http", + rpc: LIT_RPC.CHROINCLE_YELLOWSTONE, }); await pkpWallet.init(); ``` From 1a44d53383ffc1c7d10987cd383511a3c8e7c361 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 17:05:56 -0700 Subject: [PATCH 417/627] Updated mainnet page --- docs/connecting-to-a-lit-network/mainnets.md | 4 ++-- sidebars.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index 29574351..d9c1356d 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -10,7 +10,7 @@ Here is an overview of the Lit mainnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-prod | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.2.2` | `datil-prod` | ✅ | +| Datil-prod | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil-prod` | ✅ | | ## Datil-prod @@ -18,7 +18,7 @@ The Lit network, Datil-prod, utilizes the Lit blockchain: Chronicle Yellowstone. If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-datil) to learn how to migrate to Chronicle Yellowstone. -The minimum version of the Lit SDK that supports `datil-prod` is `6.2.2`, and the latest SDK version will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil-prod` is `6.4.0`, and the latest SDK version will be installed from NPM by default: Date: Mon, 29 Jul 2024 17:13:08 -0700 Subject: [PATCH 418/627] Small changes --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 2 +- src/pages/old-migration-notice.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 8a2cc456..ea224ec3 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -11,7 +11,7 @@ Depending on the existing Lit network you are using, you should migrate to its c | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| -| ✅ | ✅ | n/a | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | +| ✅ | ✅ | n/a | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | | ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | diff --git a/src/pages/old-migration-notice.md b/src/pages/old-migration-notice.md index d341212d..16c19dc5 100644 --- a/src/pages/old-migration-notice.md +++ b/src/pages/old-migration-notice.md @@ -1,3 +1,3 @@ :::info -This migration guide is outdated and refers to a previous version of the Lit SDK. If you are looking for the most updated version, you can view it on [GitHub](https://github.com/LIT-Protocol/js-sdk). +This migration guide is outdated and refers to a previous version of the Lit SDK. If you are looking for the most updated version of the Lit SDK, you can view it on [GitHub](https://github.com/LIT-Protocol/js-sdk). ::: \ No newline at end of file From 5ac8c122325f1f6f2310c3d5fbc4e40f0f5f9136 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 17:19:27 -0700 Subject: [PATCH 419/627] Syntax fixes --- docs/sdk/migrations/3.2.0.md | 2 +- docs/sdk/migrations/4.0.0.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/migrations/3.2.0.md b/docs/sdk/migrations/3.2.0.md index c440f450..586f1f41 100644 --- a/docs/sdk/migrations/3.2.0.md +++ b/docs/sdk/migrations/3.2.0.md @@ -13,7 +13,7 @@ import TabItem from '@theme/TabItem'; - + # Removed `controllerSessionSigs` diff --git a/docs/sdk/migrations/4.0.0.md b/docs/sdk/migrations/4.0.0.md index f84c05cf..820d4cb5 100644 --- a/docs/sdk/migrations/4.0.0.md +++ b/docs/sdk/migrations/4.0.0.md @@ -13,7 +13,7 @@ import TabItem from '@theme/TabItem'; - + V4 release is packed with several improvements, new features, and critical changes aimed at enhancing the robustness, usability, and overall performance of the Lit SDK. Here's everything you need to know about key changes and additions:. From e57cb667ab12b0105a7ffb7a62c4fa059f7e0a75 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 18:04:04 -0700 Subject: [PATCH 420/627] Updated every faucet except those in the v2 docs --- docs/concepts/capacity-credits-concept.md | 2 +- docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md | 2 +- docs/network/migration-guide.md | 2 +- docs/sdk/capacity-credits.md | 2 +- docs/sdk/migrations/3.0.0/overview.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 2 +- docs/sdk/wallets/intro.md | 2 +- docs/sdk/wallets/quick-start.md | 2 +- docs/support/faq.md | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 2bebbf07..88c96b5f 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -29,7 +29,7 @@ Every time you authenticate with Lit, the request context (i.e. wallet address, A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/capacity-credits#minting-capacity-credits). diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index e78f10c3..4a52e17f 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -22,7 +22,7 @@ Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifi The `tstLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `tstLPX` test token, please use the faucet at https://faucet.litprotocol.com/. The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. +To obtain the `tstLPX` test token, please use the faucet at this [link](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index f2225877..dba88e6d 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -347,7 +347,7 @@ Currently Rate Limiting is enabled on `Habanero` and `Manzano`. In order to use A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). -You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Habanero. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index c3a97b07..0e34f4ec 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -22,7 +22,7 @@ In order to increase your rate limit, you'll need to mint a `Capacity Credits NF A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -You’ll also need some `tstLPX` tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-test and Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some `tstLPX` tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-test and Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). ```javascript import { LitNetwork } from "@lit-protocol/constants"; diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index 73a03481..c2f1134e 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -248,7 +248,7 @@ Currently Rate Limiting is enabled on `Datil-prod` and `Datil-test`. In order to A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). -You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on `Datil-prod` and `Datil-test`. `tstLPX` should only be claimed from the verified faucet, linked [here](https://faucet.litprotocol.com/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on `Datil-prod` and `Datil-test`. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 1185f729..d844e841 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -130,7 +130,7 @@ await contractClient.connect(); :::note -You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified faucet: https://faucet.litprotocol.com/ +You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified [faucet](https://chronicle-yellowstone-faucet.getlit.dev/). ::: diff --git a/docs/sdk/wallets/intro.md b/docs/sdk/wallets/intro.md index df74afdb..90999fe5 100644 --- a/docs/sdk/wallets/intro.md +++ b/docs/sdk/wallets/intro.md @@ -6,7 +6,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info -Need some `tstLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ +Need some `tstLPX` test tokens to mint a PKP on Chronicle Yellowstone? Use the [faucet](https://chronicle-yellowstone-faucet.getlit.dev/). ::: ## Introduction diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 0c1caebe..0b04a96b 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -127,7 +127,7 @@ await contractClient.connect(); ``` :::note -You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified faucet: https://faucet.litprotocol.com/ +You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified [faucet](https://chronicle-yellowstone-faucet.getlit.dev/). ::: ## Authenticate with the Lit Network diff --git a/docs/support/faq.md b/docs/support/faq.md index 8f1512fc..31b0c93d 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -70,7 +70,7 @@ const pkpBTCAddress = bitcoinjs.payments.p2pkh({ ### 4. "Internal JSON-RPC error" When attempting to mint a PKP -Make sure that you have some LPX test tokens in your wallet before minting a PKP in order to pay for gas. You can use the faucet to claim test tokens: https://faucet.litprotocol.com/. +Make sure that you have some LPX test tokens in your wallet before minting a PKP in order to pay for gas. You can claim test tokens at the [faucet](https://chronicle-yellowstone-faucet.getlit.dev/). ### 5. “Error: Invalid arrayify value” upon passing an IPFS CID to a function (e.g. isPermittedActions) while interacting with the PKPPermissions contract? From b52e0db371c7acb115252505d681d49e5df0e9fa Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 18:07:04 -0700 Subject: [PATCH 421/627] Changed Chronicle token back to tstLIT --- .../lit-blockchains/chronicle.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md index 4a52e17f..aafad67a 100644 --- a/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md +++ b/docs/connecting-to-a-lit-network/lit-blockchains/chronicle.md @@ -18,11 +18,11 @@ Chronicle is Lit Protocol's custom EVM rollup testnet, which enhances the perfor Chronicle is a custom EVM rollup testnet based on the OP Stack, designed specifically for Lit Protocol. Anchored in the Polygon network, this rollup is the primary platform for coordination, minting PKPs (programmable key pairs), and managing PKP Permissions. Note that PKPs minted on Chronicle can still sign transactions on any chain supported by Lit, including EVM, Cosmos, and Bitcoin. -## `tstLPX` Test Token +## `tstLIT` Test Token -The `tstLPX` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. +The `tstLIT` test token serves as the gas for transactions on Chronicle. Please note that this is a test token with no real-world value. Its purpose is exclusively for testing and development on the Lit Protocol platform. -To obtain the `tstLPX` test token, please use the faucet at this [link](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. +To obtain the `tstLIT` test token, please use the faucet at this [link](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLIT` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. Keep in mind that the official Lit Protocol token is scheduled to launch sometime in the future. This will be the actual token with real-world utility within the ecosystem. @@ -36,10 +36,10 @@ To connect to Chronicle, you can click or manually add the n | Name | Chronicle - Lit Protocol Testnet | | RPC URL | https://chain-rpc.litprotocol.com/replica-http | | Block Explorer URL | https://chain.litprotocol.com/ | -| Currency Symbol | tstLPX | +| Currency Symbol | tstLIT | | Currency Decimals | 18 | -**Note** You must have the `tstLPX` test token in your wallet when minting a pkp, as it is used to pay the gas cost. +**Note** You must have the `tstLIT` test token in your wallet when minting a pkp, as it is used to pay the gas cost. ## Block Explorer From 694a82b1d04620bc72d5fbfb4fcdf47f5522c0e1 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 18:13:07 -0700 Subject: [PATCH 422/627] Mainnet/Testnet fixes --- docs/connecting-to-a-lit-network/mainnets.md | 4 ++-- docs/connecting-to-a-lit-network/testnets.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index d9c1356d..b61a5024 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Mainnets -Main networks are designed for late-stage application deployment. If you are implementing storing assets with real world value, it should be done on the main networks and not the test networks. While main networks may be deprecated in the future, assets will be transferable onto new networks. +Lit mainnets are designed for late-stage development and production deployment. If you are implementing storing assets with real world value, it should be done on the main networks and not the test networks. While main networks may be deprecated in the future, assets will be transferable onto new networks. Here is an overview of the Lit mainnets: @@ -16,7 +16,7 @@ Here is an overview of the Lit mainnets: The Lit network, Datil-prod, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-datil) to learn how to migrate to Chronicle Yellowstone. +If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. The minimum version of the Lit SDK that supports `datil-prod` is `6.4.0`, and the latest SDK version will be installed from NPM by default: diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 1360c501..ea365297 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -17,7 +17,7 @@ Here is an overview of the Lit testnets: The Lit network, Datil-test, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized testnet designed for pre-production development, and is superseding the Manzano testnet. Like Manzano, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-datil) to learn how to migrate to Chronicle Yellowstone. +If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. The minimum version of the Lit SDK that supports `datil-test` is `6.2.2`, and the latest SDK version will be installed from NPM by default: @@ -52,7 +52,7 @@ To connect to Datil-test, please follow the [Connecting to a Lit Network](./conn The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized testnet designed for early-stage development, and is superseding the Cayenne testnet. Like Cayenne, usage of the network does **not** require payment using [Capacity Credits](../sdk/capacity-credits). -If you are currently on one of the Lit networks that utilize the Chronicle blockchain (i.e. Cayenne, Manzano, and/or Habanero), please refer to [this guide](./migrating-to-datil) to learn how to migrate to Chronicle Yellowstone. +If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. The minimum version of the Lit SDK that supports `datil-dev` is `6.2.2`, and a latest SDK version will be installed from NPM by default: From 1b2f4da0227de4af1dfad39497a0b00b51b1e788 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 29 Jul 2024 15:31:46 -1000 Subject: [PATCH 423/627] Update docs/sdk/wrapped-keys/overview.md Co-authored-by: awisniew207 --- docs/sdk/wrapped-keys/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index f4de688e..245c6f3a 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -101,7 +101,7 @@ You can also obtain the IDs for all the Wrapped Keys associated with a specific 1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key 2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the [exportPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/common/src/exportPrivateKey.js) Lit Action -3. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key +3. The Lit Action will check the Access Control Conditions used to encrypt the plaintext private key to verify whether the PKP is authorized to decrypt the private key 4. If authorized, the unencrypted plaintext private key will be returned. If not authorized, an error will be returned ### Getting Wrapped Key Metadata From 4751cc495ee991490bde06e7016c6578b2cac099 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 29 Jul 2024 15:32:07 -1000 Subject: [PATCH 424/627] Implement feedback --- docs/sdk/wrapped-keys/overview.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index 71782f98..50041f65 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -5,9 +5,9 @@ import TabItem from '@theme/TabItem'; Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of the TEE. -Regardless of how the Wrapped Keys is initialized, each Wrapped Key is associated with an existing [Programmable Keypair (PKP)](../../sdk/wallets/minting.md) and given a unique ID by Lit. +Regardless of how the Wrapped Key is initialized, each Wrapped Key is associated with an existing [Programmable Keypair (PKP)](../../sdk/wallets/minting.md) and given a unique ID by Lit. -Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to perform signatures on arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. +Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to generate signatures for arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. ## Getting Started @@ -42,7 +42,7 @@ yarn add @lit-protocol/wrapped-keys ## How it Works -Currently the available actions of the Wrapped Keys SDK are: +The current functionality offered by the Wrapped Keys SDK includes: - [Generating a Wrapped Key](./generating-wrapped-key.md) - [Importing a private key as a Wrapped Key](./importing-key.md) @@ -50,8 +50,13 @@ Currently the available actions of the Wrapped Keys SDK are: - [Getting Wrapped Key Metadata](./getting-wrapped-key-metadata.md) - [Storing Wrapped Key Metadata](./storing-wrapped-key-metadata.md) - [Listing all Wrapped Keys associated with a PKP](./listing-wrapped-keys.md) -- [Signing an arbitrary message with a Wrapped Key](./sign-message.md) -- [Signing an Ethereum or Solana transaction with a Wrapped Key](./sign-transaction.md) +- [Signing an arbitrary message/data with a Wrapped Key](./sign-message.md) + - Useful for non transactional data such as: + - Creating a digital signature of data to verify it hasn't been tampered with + - Proving ownership (authenticating) of a specific blockchain address + - Creating and verifying credentials or attestations in decentralized identity systems +- [Signing a blockchain transaction with a Wrapped Key](./sign-transaction.md) + - Currently Ethereum and Solana transactions are supported out-of-the-box using the Wrapped Keys SDK, however, you can implement your own custom Wrapped Keys Lit Action to support other transaction types and/or signature schemes. For more information on how to do this, please refer to [this guide](./custom-wrapped-keys.md). Below are high-level overviews of how each SDK method works. @@ -69,7 +74,7 @@ expect a Wrapped Key ID as part of their parameters. This ID is generated for ea - Importing a private key as a Wrapped Ke - Storing Wrapped Key Metadata -You can also obtain the IDs for all the Wrapped Keys associated with a specific PKP by using the SDK's [listEncryptedKeyMetadata](./listing-wrapped-keys.md) SDK's method. +You can also obtain the IDs for all the Wrapped Keys associated with a specific PKP by using the SDK's [listEncryptedKeyMetadata](./listing-wrapped-keys.md) method. ::: ### Generating a Wrapped Key @@ -178,8 +183,8 @@ where `pkpAddress` is the Ethereum address that's derived from the PKP that was ### Decrypting the Private Key -When you submit a request to the Wrapped Keys backend service via one of the SDK methods, you must provide PKP Session Signatures. From these Session Signatures, an Ethereum address corresponding to the PKP can be derived. It's this address that the Lit Action submits as part of it's request to the Lit network to decrypt the Wrapped Key. +When you submit a request to the Wrapped Keys backend service via one of the SDK methods, you must provide PKP Session Signatures. From these Session Signatures, an Ethereum address corresponding to the PKP can be derived. It's this address that the Lit Action submits as part of its request to the Lit network to decrypt the Wrapped Key. If the derived Ethereum address from the PKP Session Signatures matches the address used to encrypt the Wrapped Key, then decryption is authorized and the Lit Action is able to collect and combine the decryption shares from the Lit nodes and obtain the plaintext private key. -The plaintext private key only exists within the TEE of a single Lit node that is executing the Lit Action. This is enforced using the [decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) Lit Action method. This single Lit node executing the Lit Action is then able to use the plaintext private to perform signing operations. After the Lit Action is finished executing, the TEE memory is wiped and the plaintext private key seizes to exist. +The plaintext private key only exists within the TEE of a single Lit node that is executing the Lit Action. This is enforced using the [decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) Lit Action method. This single Lit node executing the Lit Action is then able to use the plaintext private to perform signing operations. After the Lit Action is finished executing, the TEE memory is wiped and the plaintext private key ceases to exist. From baf52be2454b73b753d02c15332710f690159f32 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 18:36:05 -0700 Subject: [PATCH 425/627] More issues resolved --- docs/concepts/pkps-as-wallet.md | 2 +- docs/connecting-to-a-lit-network/mainnets.md | 3 +-- docs/connecting-to-a-lit-network/migrating-to-datil.md | 2 +- docs/connecting-to-a-lit-network/testnets.md | 3 +-- docs/network/networks/mainnet.md | 2 +- docs/resources/how-it-works.md | 2 +- docs/sdk/serverless-signing/overview.md | 2 +- src/css/custom.css | 3 ++- 8 files changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/concepts/pkps-as-wallet.md b/docs/concepts/pkps-as-wallet.md index cd9122a6..4fadcb3c 100644 --- a/docs/concepts/pkps-as-wallet.md +++ b/docs/concepts/pkps-as-wallet.md @@ -9,7 +9,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info **STATE OF THE NETWORK** -Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Datil-prod Mainnet](../network/networks/mainnet) and [Datil-test Testnet](../network/networks/testnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! +Storing and transacting live assets with Programmable Key Pairs (PKPs) IS now supported on the [Datil Mainnet](../network/networks/mainnet) and [Datil Testnets](../network/networks/testnet). Take a look at the docs on [migration](../network/migration-guide) to start building today! ::: ## Overview diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index b61a5024..a1ece47b 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -10,8 +10,7 @@ Here is an overview of the Lit mainnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-prod | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil-prod` | ✅ | -| +| Datil-prod | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Decentralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil-prod` | ✅ | ## Datil-prod The Lit network, Datil-prod, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index ea224ec3..1d6d38d3 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -11,7 +11,7 @@ Depending on the existing Lit network you are using, you should migrate to its c | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| -| ✅ | ✅ | n/a | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | +| ✅ | ✅ | `6.4.0` | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | | ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index ea365297..23f25a98 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -10,8 +10,7 @@ Here is an overview of the Lit testnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| | Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.2.2` | `datil-test` | ✅ | -| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.2.2` | `datil-dev` | ❌ | -| +| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.2.2` | `datil-dev` | ❌ | ## Datil-test diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 915dfe55..84db1550 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -8,7 +8,7 @@ Main networks should be used by applications that are currently live in producti You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../sdk/installation.md), by passing the network name to the `litNetwork` parameter. -
    +
    | Name | Description | Supported Algorithms | Supported Features | Status | SDK Version | Development status | Contracts | | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index dcf3ec05..3218ba41 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -67,7 +67,7 @@ Currently, the Lit network is in [Mainnet Beta](../network/migration-guide.md) a ### Node Operators -The current node operators active on the Datil-prod Mainnet Beta include: +The current node operators active on the Datil Mainnet Beta include: - Lit Protocol (our node) - [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index f76532fd..85bdfcb9 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -5,7 +5,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Datil-prod Mainnet](../../network/networks/mainnet) and [Datil-test Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil-prod today. +Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet) and [Datil Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil-prod today. ::: diff --git a/src/css/custom.css b/src/css/custom.css index 6bf9b873..76b70fce 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -775,4 +775,5 @@ html[data-theme='dark'] .alert--danger { .mainnet-networks-table tbody { color: white; } .mainnet-networks-table tbody tr:nth-child(1) { background: #e22525; } -.mainnet-networks-table tbody tr:nth-child(n+2) { background: green; } +.mainnet-networks-table tbody tr:nth-child(2) { background: #e22525; } +.mainnet-networks-table tbody tr:nth-child(3) { background: green; } From a814e61b4e30cf1cd7dbb8735fae5c4ab8082657 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 18:40:45 -0700 Subject: [PATCH 426/627] Fixes --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 2 +- docs/network/networks/mainnet.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 1d6d38d3..1615d48b 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -11,7 +11,7 @@ Depending on the existing Lit network you are using, you should migrate to its c | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| -| ✅ | ✅ | `6.4.0` | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | +| ✅ | ✅ | `6.4.0` | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | | ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 84db1550..1d2881d9 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -15,7 +15,6 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | n/a | | Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network. | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | Datil-prod | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-prod](https://github.com/LIT-Protocol/networks/tree/main/datil-prod) | -|
    From 42737875866c349a61ce3950b6ca939188ca1db6 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 29 Jul 2024 18:49:43 -0700 Subject: [PATCH 427/627] Final fixes? --- docs/sdk/wallets/minting-methods/mint-via-contracts.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md index 300affaa..6356fb5f 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-contracts.md +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -2,10 +2,9 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Mint via Contracts -You can mint a PKP NFT from the PKP contract on Chronicle - Lit's custom EVM rollup testnet - using -1. The [Lit explorer](https://explorer.litprotocol.com/mint-pkp), -2. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or -3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil-prod)). +You can mint a PKP NFT from the PKP contract on Chronicle Yellowstone - Lit's custom EVM rollup testnet - using: +1. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or +2. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil-prod)). The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. From ac188c9bf7b3411e40dcfc7e4378b990c1000ee0 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 29 Jul 2024 16:30:04 -1000 Subject: [PATCH 428/627] Partially address Alex's feedback --- .../sdk/wrapped-keys/exporting-wrapped-key.md | 7 ++ .../wrapped-keys/generating-wrapped-key.md | 15 +++ .../getting-wrapped-key-metadata.md | 5 + docs/sdk/wrapped-keys/importing-key.md | 10 ++ docs/sdk/wrapped-keys/listing-wrapped-keys.md | 5 + docs/sdk/wrapped-keys/overview.md | 102 ++++-------------- docs/sdk/wrapped-keys/sign-message.md | 11 ++ docs/sdk/wrapped-keys/sign-transaction.md | 13 +++ .../storing-wrapped-key-metadata.md | 10 ++ 9 files changed, 96 insertions(+), 82 deletions(-) diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/sdk/wrapped-keys/exporting-wrapped-key.md index 053a4bd7..0ce431b4 100644 --- a/docs/sdk/wrapped-keys/exporting-wrapped-key.md +++ b/docs/sdk/wrapped-keys/exporting-wrapped-key.md @@ -9,6 +9,13 @@ Using the `exportPrivateKey` function, you can export existing Wrapped Keys to d Below we will walk through an implementation of `exportPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key +2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the [exportPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/common/src/exportPrivateKey.js) Lit Action +3. The Lit Action will check the Access Control Conditions used to encrypt the plaintext private key to verify whether the PKP is authorized to decrypt the private key +4. If authorized, the unencrypted plaintext private key will be returned. If not authorized, an error will be returned + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/sdk/wrapped-keys/generating-wrapped-key.md index 79b55017..a8915a29 100644 --- a/docs/sdk/wrapped-keys/generating-wrapped-key.md +++ b/docs/sdk/wrapped-keys/generating-wrapped-key.md @@ -11,6 +11,21 @@ Afterwards, you will be able to make use of the SDK's signing methods (`signTran Below we will walk through an implementation of `generatePrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/generateWrappedKey.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures +2. The SDK then generates the encryption Access Control Conditions using the derived Ethereum address + - See the [Encrypting the Private Key](#encrypting-the-private-key) section for more info on this process +3. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Generate Private Key Lit Action + - Depending on the provided `network`, one of the following Lit Actions will be executed: + - If `network` is `ethereum`, then the [generateEncryptedEthereumPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/generateEncryptedEthereumPrivateKey.js) Lit Action is executed + - If `network` is `solana`, then the [generateEncryptedSolanaPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/generateEncryptedSolanaPrivateKey.js) Lit Action is executed +4. The Lit Action uses a third-party library (either [ethers.js](https://docs.ethers.org/v5/) or [@solana/web3.js](https://solana-labs.github.io/solana-web3.js/)) to generate a private key withing a single Lit node's TEE +5. The generated private key is then encrypted using the previously generated Access Control Conditions +6. The encryption metadata is returned from the Lit Action +7. The Wrapped Keys SDK then stores the private key encryption metadata to the Wrapped Keys backend service, associating it with the PKP's Ethereum address +8. The SDK returns a [GeneratePrivateKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.GeneratePrivateKeyResult.html) object containing the generated Wrapped Key ID, the PKP Ethereum address the Wrapped Key is associated with, and the public key of the generated private key + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md index af92ba06..90f984b6 100644 --- a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md @@ -9,6 +9,11 @@ The `getEncryptedKey` function allows you to request a Wrapped Key's metadata st Below we will walk through an implementation of `getEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/getWrappedKey.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the stored metadata for a specific Wrapped Key from the Wrapped Keys backend service +2. The stored metadata is returned as a [StoredKeyData](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.StoredKeyData.html) object + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/sdk/wrapped-keys/importing-key.md index 6298cf06..0bd7f6e4 100644 --- a/docs/sdk/wrapped-keys/importing-key.md +++ b/docs/sdk/wrapped-keys/importing-key.md @@ -11,6 +11,16 @@ Afterwards, you will be able to make use of the SDK's signing methods (`signTran Below we will walk through an implementation of `importPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/generateWrappedKey.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures +2. The SDK then generates the encryption Access Control Conditions using the derived Ethereum address + - See the [Encrypting the Private Key](#encrypting-the-private-key) section for more info on this process +3. Using the generated Access Control Conditions, the SDK will encrypt the provided private key using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) Lit SDK method + - This encrypts your provided plaintext private key using the Lit network's public BLS key +4. The SDK then stores the private key encryption metadata to the Wrapped Keys backend service, associating it with the PKP's Ethereum address +5. The SDK returns a [ImportPrivateKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.ImportPrivateKeyResult.html) object containing the generated Wrapped Key ID, and the PKP Ethereum address the Wrapped Key is associated with + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/listing-wrapped-keys.md b/docs/sdk/wrapped-keys/listing-wrapped-keys.md index b426a6bd..663ff211 100644 --- a/docs/sdk/wrapped-keys/listing-wrapped-keys.md +++ b/docs/sdk/wrapped-keys/listing-wrapped-keys.md @@ -9,6 +9,11 @@ The `listEncryptedKeyMetadata` function allows you to request the Wrapped Key me Below we will walk through an implementation of `listEncryptedKeyMetadata`. The full code implementation can be found [here](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/api/list-encrypted-key-metadata.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will derive the PKP Ethereum address from the provided PKP Session Signatures +2. The SDK will submit the Ethereum address to the Wrapped Keys backend service to fetch and return all the associated Wrapped Keys + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index fb0a03bc..d583b683 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -42,7 +42,25 @@ yarn add @lit-protocol/wrapped-keys ## How it Works -The current functionality offered by the Wrapped Keys SDK includes: +When generating a new Wrapped Key, or initializing one by importing an existing private key, the Wrapped Keys SDK will derive a PKP's Ethereum address from the PKP Session Signatures you provide along with the request. + +The generated or imported private key is then [encrypted](#encrypting-the-private-key) using the Lit network's public BLS key, with [Access Control Conditions](../../sdk/access-control/evm/basic-examples) that only allow the derived PKP Ethereum address to decrypt it. The resulting encryption metadata is then stored in Lit's private Dynamo DB instance to be retrieved when performing other actions of the SDK such as signing messages/transactions. + +When you request the Wrapped Keys SDK to sign some data using a specific Wrapped Key, you provide the unique ID generated by Lit when the Wrapped Key was initialized as well as PKP Session Signatures. + +The SDK will first make a request to the Wrapped Keys backend service to retrieve the encryption metadata corresponding to the unique ID, and then will execute a specific Lit Action passing the encryption metadata and your PKP Session Signatures as parameters. + +The Lit Action will then derive the Ethereum address from the Session Signatures, and attempt to [decrypt](#decrypting-the-private-key) the encryption metadata using the Lit network. If the derived address is authorized to decrypt the data (according the Access Control Conditions set when the private key was encrypted), then the Wrapped Key's underlying private key is decrypted within a single Lit node's Trusted Execution Environment (TEE), available to be used for actions such as signing data/transactions. + +After the executing Lit Action is finished, the ephemeral memory of the TEE is wiped, the decrypted plaintext private key ceases to exist, and the signed data/transaction is returned to you. + +--- + +In addition to signing data/transactions, the Wrapped Keys SDK includes other functionality such as: + +:::info +To learn more about how each SDK function works as well as how to use them, click on the below links. +::: - [Generating a Wrapped Key](./generating-wrapped-key.md) - [Importing a private key as a Wrapped Key](./importing-key.md) @@ -58,8 +76,6 @@ The current functionality offered by the Wrapped Keys SDK includes: - [Signing a blockchain transaction with a Wrapped Key](./sign-transaction.md) - Currently Ethereum and Solana transactions are supported out-of-the-box using the Wrapped Keys SDK, however, you can implement your own custom Wrapped Keys Lit Action to support other transaction types and/or signature schemes. For more information on how to do this, please refer to [this guide](./custom-wrapped-keys.md). -Below are high-level overviews of how each SDK method works. - :::info The Wrapped Keys SDK methods for: @@ -77,89 +93,11 @@ expect a Wrapped Key ID as part of their parameters. This ID is generated for ea You can also obtain the IDs for all the Wrapped Keys associated with a specific PKP by using the SDK's [listEncryptedKeyMetadata](./listing-wrapped-keys.md) method. ::: -### Generating a Wrapped Key - -1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures -2. The SDK then generates the encryption Access Control Conditions using the derived Ethereum address - - See the [Encrypting the Private Key](#encrypting-the-private-key) section for more info on this process -3. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Generate Private Key Lit Action - - Depending on the provided `network`, one of the following Lit Actions will be executed: - - If `network` is `ethereum`, then the [generateEncryptedEthereumPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/generateEncryptedEthereumPrivateKey.js) Lit Action is executed - - If `network` is `solana`, then the [generateEncryptedSolanaPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/generateEncryptedSolanaPrivateKey.js) Lit Action is executed -4. The Lit Action uses a third-party library (either [ethers.js](https://docs.ethers.org/v5/) or [@solana/web3.js](https://solana-labs.github.io/solana-web3.js/)) to generate a private key withing a single Lit node's TEE -5. The generated private key is then encrypted using the previously generated Access Control Conditions -6. The encryption metadata is returned from the Lit Action -7. The Wrapped Keys SDK then stores the private key encryption metadata to the Wrapped Keys backend service, associating it with the PKP's Ethereum address -8. The SDK returns a [GeneratePrivateKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.GeneratePrivateKeyResult.html) object containing the generated Wrapped Key ID, the PKP Ethereum address the Wrapped Key is associated with, and the public key of the generated private key - -### Importing a Wrapped Key - -1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures -2. The SDK then generates the encryption Access Control Conditions using the derived Ethereum address - - See the [Encrypting the Private Key](#encrypting-the-private-key) section for more info on this process -3. Using the generated Access Control Conditions, the SDK will encrypt the provided private key using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) Lit SDK method - - This encrypts your provided plaintext private key using the Lit network's public BLS key -4. The SDK then stores the private key encryption metadata to the Wrapped Keys backend service, associating it with the PKP's Ethereum address -5. The SDK returns a [ImportPrivateKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.ImportPrivateKeyResult.html) object containing the generated Wrapped Key ID, and the PKP Ethereum address the Wrapped Key is associated with - -### Exporting a Wrapped Key - -1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key -2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the [exportPrivateKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/common/src/exportPrivateKey.js) Lit Action -3. The Lit Action will check the Access Control Conditions used to encrypt the plaintext private key to verify whether the PKP is authorized to decrypt the private key -4. If authorized, the unencrypted plaintext private key will be returned. If not authorized, an error will be returned - -### Getting Wrapped Key Metadata - -1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the stored metadata for a specific Wrapped Key from the Wrapped Keys backend service -2. The stored metadata is returned as a [StoredKeyData](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.StoredKeyData.html) object - -### Storing Wrapped Key Metadata - -:::note -The [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) required for this method include the encryption metadata of the private key that will be turned into a Wrapped Key. For more information on how to obtain the encryption metadata, please refer to this guide on [encrypting data using the Lit SDK](../../sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key), and this guide on [Custom Wrapped Keys](http://localhost:3000/sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key). -::: - -1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures -2. The SDK stores the provided [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) using the Wrapped Keys backend service, associating the resulting Wrapped Key with the PKP's Ethereum address -3. The SDK returns a [StoreEncryptedKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.StoreEncryptedKeyResult.html) object containing the generated Wrapped Key ID, and the PKP Ethereum address the Wrapped Key is associated with - -### Listing Wrapped Keys for a PKP - -1. The Wrapped Keys SDK will derive the PKP Ethereum address from the provided PKP Session Signatures -2. The SDK will submit the Ethereum address to the Wrapped Keys backend service to fetch and return all the associated Wrapped Keys - -### Signing an Arbitrary Message - -1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key -2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Sign Message Lit Action - - Depending on the provided `network`, one of the following Lit Actions will be executed: - - If `network` is `ethereum`, then the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action is executed - - If `network` is `solana`, then the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action is executed -3. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key -4. If authorized, the Wrapped Key will be decrypted within a Lit node's TEE. If not authorized, an error will be returned -5. The Lit Action will use the decrypted Wrapped Key and the provided [SignMessageWithEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.SignMessageWithEncryptedKeyParams.html) to sign the arbitrary message, returning the signed message - -### Signing a Transaction - -1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key -2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Sign Transaction Lit Action - - Depending on the provided `network`, one of the following Lit Actions will be executed: - - If `network` is `ethereum`, then the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action is executed - - If `network` is `solana`, then the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action is executed -3. The Lit Action will verify the required transaction parameters were provided in order to sign the transaction -4. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key -5. If authorized, the Wrapped Key will be decrypted within a Lit node's TEE. If not authorized, an error will be returned -6. The Lit Action will use the decrypted Wrapped Key and the provided [SignTransactionWithEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.SignTransactionWithEncryptedKeyParams.html) to sign the transaction -7. If the `broadcast` parameter was set to `true`, the Lit Action will then broadcast the signed transaction to the specified `network`, returning the transaction hash. Otherwise, the signed transaction will be returned - -## How En/Decrypting the Wrapped Key Works - ### Encrypting the Private Key Whether you're importing, storing, or generating a new private key, the clear text private key is encrypted using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method. -When encrypting data using the Lit network, [Access Control Conditions](../../sdk/access-control/evm/basic-examples) are specified to restrict who is authorized to decrypt the data. For more information on how encryption and decryption works using the Lit network, please go [here](../../sdk/access-control/intro). +When encrypting data using the Lit network, Access Control Conditions are specified to restrict who is authorized to decrypt the data. For more information on how encryption and decryption works using the Lit network, please go [here](../../sdk/access-control/intro). The Access Control Conditions used to encrypt the private key are: diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/sdk/wrapped-keys/sign-message.md index 10c06da6..90429cc2 100644 --- a/docs/sdk/wrapped-keys/sign-message.md +++ b/docs/sdk/wrapped-keys/sign-message.md @@ -9,6 +9,17 @@ Using the `signMessageWithEncryptedKey` function, you can sign an arbitrary mess Below we will walk through an implementation of `signMessageWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signMessageWithWrappedKey.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key +2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Sign Message Lit Action + - Depending on the provided `network`, one of the following Lit Actions will be executed: + - If `network` is `ethereum`, then the [signMessageWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signMessageWithEthereumEncryptedKey.js) Lit Action is executed + - If `network` is `solana`, then the [signMessageWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signMessageWithSolanaEncryptedKey.js) Lit Action is executed +3. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key +4. If authorized, the Wrapped Key will be decrypted within a Lit node's TEE. If not authorized, an error will be returned +5. The Lit Action will use the decrypted Wrapped Key and the provided [SignMessageWithEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.SignMessageWithEncryptedKeyParams.html) to sign the arbitrary message, returning the signed message + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/sdk/wrapped-keys/sign-transaction.md index 94bb0a07..7d9cefaf 100644 --- a/docs/sdk/wrapped-keys/sign-transaction.md +++ b/docs/sdk/wrapped-keys/sign-transaction.md @@ -9,6 +9,19 @@ Using the `signTransactionWithEncryptedKey` function, you can sign a transaction Below we will walk through an implementation of `signTransactionWithEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/signTransactionWithWrappedKey.ts). +## Overview of How it Works + +1. The Wrapped Keys SDK will use the provided Wrapped Key ID and PKP Session Signatures to fetch the encryption metadata for a specific Wrapped Key +2. Using the PKP Session Signatures, the SDK will make a request to the Lit network to execute the Sign Transaction Lit Action + - Depending on the provided `network`, one of the following Lit Actions will be executed: + - If `network` is `ethereum`, then the [signTransactionWithEthereumEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/ethereum/src/signTransactionWithEthereumEncryptedKey.js) Lit Action is executed + - If `network` is `solana`, then the [signTransactionWithSolanaEncryptedKey](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/wrapped-keys/src/lib/litActions/solana/src/signTransactionWithSolanaEncryptedKey.js) Lit Action is executed +3. The Lit Action will verify the required transaction parameters were provided in order to sign the transaction +4. The Lit Action will check the Access Control Conditions the plaintext private key was encrypted with to verify the PKP is authorized to decrypt the private key +5. If authorized, the Wrapped Key will be decrypted within a Lit node's TEE. If not authorized, an error will be returned +6. The Lit Action will use the decrypted Wrapped Key and the provided [SignTransactionWithEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.SignTransactionWithEncryptedKeyParams.html) to sign the transaction +7. If the `broadcast` parameter was set to `true`, the Lit Action will then broadcast the signed transaction to the specified `network`, returning the transaction hash. Otherwise, the signed transaction will be returned + ## Prerequisites Before continuing with this guide, you should have an understanding of: diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md index 6849abe9..40d13833 100644 --- a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md @@ -11,6 +11,16 @@ This method is useful for when you would like to implement your own method of ge Below we will walk through an implementation of `storeEncryptedKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/storeWrappedKey.ts). +## Overview of How it Works + +:::note +The [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) required for this method include the encryption metadata of the private key that will be turned into a Wrapped Key. For more information on how to obtain the encryption metadata, please refer to this guide on [encrypting data using the Lit SDK](../../sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key), and this guide on [Custom Wrapped Keys](http://localhost:3000/sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key). +::: + +1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures +2. The SDK stores the provided [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) using the Wrapped Keys backend service, associating the resulting Wrapped Key with the PKP's Ethereum address +3. The SDK returns a [StoreEncryptedKeyResult](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/wrapped_keys_src.StoreEncryptedKeyResult.html) object containing the generated Wrapped Key ID, and the PKP Ethereum address the Wrapped Key is associated with + ## Prerequisites Before continuing with this guide, you should have an understanding of: From a04991f46c8d512ba353c44a007e0056a8afde6a Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 29 Jul 2024 16:54:34 -1000 Subject: [PATCH 429/627] Address Alex's remaining feedback --- docs/sdk/wrapped-keys/overview.md | 43 ++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/sdk/wrapped-keys/overview.md index d583b683..efdf82e8 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/sdk/wrapped-keys/overview.md @@ -3,12 +3,53 @@ import TabItem from '@theme/TabItem'; # Overview -Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of the TEE. +Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a Lit node's TEE. Regardless of how the Wrapped Key is initialized, each Wrapped Key is associated with an existing [Programmable Keypair (PKP)](../../sdk/wallets/minting.md) and given a unique ID by Lit. Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to generate signatures for arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. +## PKPs v.s. Wrapped Keys + +Programmable Key Pairs (PKPs) and Wrapped Keys are both solutions offered by Lit for managing private keys, but they serve different purposes and have distinct characteristics. + +### PKPs + +- Generated and managed through Distributed Key Generation (DKG) across the Lit network +- Rely on threshold cryptography and Multi-Party Computation (MPC) for generation and usage +- Support specific cryptographic curves (e.g. `secp256k1` used by Ethereum) +- Keys never exist in full on any single node, reducing the risk of compromise +- Ideal for applications requiring high security on supported blockchains + +#### Why Use Them + +- Enhanced Security: PKPs leverage MPC and threshold cryptography, providing a higher level of security as the key is never fully reconstructed on a single node +- Distributed Trust: The key generation and management process is distributed across the network, reducing single points of failure +- Programmability: PKPs can be controlled by Lit Actions, enabling advanced use cases and key management + +### Wrapped Keys + +- Generated within a single Lit node's TEE, or imported from an existing private key +- Encrypted via the MPC Lit network, and stored within Lit's private Dynamo DB instance +- Support a wider range of cryptographic curves, enabling interaction with more blockchains +- Allow for private key import and export, providing flexibility for users with existing keys +- Fully decrypted within a single node's TEE when used + +#### Why Use Them + +- Blockchain Compatibility: Wrapped Keys support signing with curves not currently supported by PKPs, allowing interaction with a broader range of blockchains +- Key Import/Export: Users can import existing private keys or export keys for use in other systems, offering greater flexibility and interoperability +- Legacy System Integration: Wrapped Keys may be easier to integrate with existing systems that expect traditional private key management + +### Security Considerations + +While Wrapped Keys offer flexibility, they have different security characteristics compared to PKPs: + +- Wrapped Keys are fully decrypted within a single node's TEE during use, relying on the security of the sealed TEE +- PKPs, in contrast, leverage the more robust security of the MPC network, never existing in full on any single node + +In summary, PKPs offer a highly secure solution for supported blockchains, while Wrapped Keys provide greater flexibility and compatibility at the cost of a slightly different security model. The choice between them depends on the specific requirements of your application, the blockchains you need to interact with, and your security priorities. + ## Getting Started ### Installing the SDK From 7fdd04cb37459f98efd4d146e7ed09a02af29247 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 10:29:31 -0700 Subject: [PATCH 430/627] Datil-prod -> Datil --- docs/concepts/capacity-credits-concept.md | 8 +++--- .../connecting-to-a-lit-network/connecting.md | 2 +- docs/connecting-to-a-lit-network/mainnets.md | 12 ++++---- .../migrating-to-datil.md | 8 +++--- docs/network/networks/mainnet.md | 2 +- docs/network/networks/testnet.md | 2 +- docs/resources/supported-chains.md | 6 ++-- docs/sdk/access-control/encryption.md | 2 +- docs/sdk/access-control/quick-start.md | 4 +-- .../session-sigs/get-session-sigs.md | 2 +- docs/sdk/capacity-credits.md | 4 +-- docs/sdk/installation.md | 4 +-- docs/sdk/migrations/3.0.0/overview.md | 10 +++---- docs/sdk/migrations/6.0.0.md | 2 +- .../paying-for-lit/payment-delegation-db.md | 28 +++++++++---------- docs/sdk/serverless-signing/encryption.md | 2 +- docs/sdk/serverless-signing/overview.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 12 ++++---- .../minting-methods/mint-via-contracts.md | 2 +- docs/sdk/wallets/quick-start.md | 12 ++++---- docs/support/faq.md | 2 +- src/pages/state-of-the-network.md | 2 +- 22 files changed, 65 insertions(+), 65 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 88c96b5f..9fb83d13 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -7,7 +7,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Paying For Usage :::info -Currently Rate Limiting is only enabled on `Datil-prod` and `Datil-test`. +Currently Rate Limiting is only enabled on `Datil` and `Datil-test`. See [here](../network/networks/testnet) for a list of test networks. See [here](../network/networks/mainnet) for a list of mainnet networks. ::: @@ -29,7 +29,7 @@ Every time you authenticate with Lit, the request context (i.e. wallet address, A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). For minting a Capacity Credits NFT see example docs for using our contract-sdk [here](../sdk/capacity-credits#minting-capacity-credits). @@ -44,7 +44,7 @@ Lit employs `SessionSig` as a secure method for session management, utilizing ed You can read more about Session Signatures [here](../sdk/authentication/session-sigs/intro.md). ->**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Datil-prod` and `Datil-test` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): +>**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Datil` and `Datil-test` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): ```javascript @@ -123,7 +123,7 @@ import { LitNetwork } from "@lit-protocol/constants"; ### **Best Practices** - **Capacity Management**: Keep an eye on your usage limit and expiration date. -- **Understanding Limits**: Be aware that there are no free requests on `Datil-prod` mainnet. On `Datil-test` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. +- **Understanding Limits**: Be aware that there are no free requests on `Datil` mainnet. On `Datil-test` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. - **Delegation**: You can create restrictions on your delegations to ensure that your users don't take your `capacityDelegationAuthSig` and use it for other apps. diff --git a/docs/connecting-to-a-lit-network/connecting.md b/docs/connecting-to-a-lit-network/connecting.md index 8a755957..1169c477 100644 --- a/docs/connecting-to-a-lit-network/connecting.md +++ b/docs/connecting-to-a-lit-network/connecting.md @@ -25,7 +25,7 @@ If you are currently using these networks, please review the [Migrating to Datil | Name | Lit SDK Network Identifier | Doc Page Link | Network is Live | |------------|----------------------------|------------------------------|---------------------------| -| Datil-prod | `datil-prod` | [Link](./mainnets#datil-prod)| ✅ | +| Datil | `datil` | [Link](./mainnets#datil)| ✅ | | Habanero | `habanero` | n/a | ⚠️ Going to be deprecated | ### Testnets diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index a1ece47b..977d539a 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -10,14 +10,14 @@ Here is an overview of the Lit mainnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-prod | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Decentralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil-prod` | ✅ | -## Datil-prod +| Datil | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Decentralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil` | ✅ | +## Datil -The Lit network, Datil-prod, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). +The Lit network, Datil, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. -The minimum version of the Lit SDK that supports `datil-prod` is `6.4.0`, and the latest SDK version will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil` is `6.4.0`, and the latest SDK version will be installed from NPM by default: -There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Habanero should work without issue on Datil-prod. If you do run into issues after migrating to Datil-prod, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. +There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Habanero should work without issue on Datil. If you do run into issues after migrating to Datil, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. -To connect to Datil-test, please follow the [Connecting to a Lit Network](./connecting) guide using `datil-prod` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. +To connect to Datil-test, please follow the [Connecting to a Lit Network](./connecting) guide using `datil` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 1615d48b..477532fd 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -11,11 +11,11 @@ Depending on the existing Lit network you are using, you should migrate to its c | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| -| ✅ | ✅ | `6.4.0` | `habanero` | `datil-prod` | Decentralized mainnet designed for production use cases | +| ✅ | ✅ | `6.4.0` | `habanero` | `datil` | Decentralized mainnet designed for production use cases | | ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | -Like their counterparts, `datil-prod` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. +Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. ## Breaking Changes and Important Updates @@ -23,7 +23,7 @@ Like their counterparts, `datil-prod` and `datil-test` require developers to pay ### New Network, New PKPs -PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil-prod`, your PKPs will need to be re-minted on the Chronicle Yellowstone blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Yellowstone. +PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Yellowstone blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Yellowstone. :::info If you're migrating from `habanero`, `manzano`, or `cayenne` to any of the Datil networks, you will be migrating from Chronicle to Chronicle Yellowstone. @@ -60,7 +60,7 @@ The only code changes required to make use of the new Datil networks are as foll - `6.2.2` is the minimum version of the packages that support `datil-test` and `datil-dev` - Specify the Datil network when instantiating Lit node clients from the SDK - This is done by specifying the `litNetwork` property when [connecting a Lit client](./connecting) to one of the following Datil networks: - - `datil-prod` + - `datil` - `datil-test` - `datil-dev` diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 1d2881d9..24e43894 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -14,7 +14,7 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | n/a | | Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network. | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | -Datil-prod | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-prod](https://github.com/LIT-Protocol/networks/tree/main/datil-prod) | +Datil | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil](https://github.com/LIT-Protocol/networks/tree/main/datil) |
    diff --git a/docs/network/networks/testnet.md b/docs/network/networks/testnet.md index 46753c8a..b26655ba 100644 --- a/docs/network/networks/testnet.md +++ b/docs/network/networks/testnet.md @@ -14,7 +14,7 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | Cayenne | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network.| [cayenne](https://github.com/LIT-Protocol/networks/tree/main/cayenne) | | Manzano | Decentralized test network. No persistency guarantees. Mirrors Habanero code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network | [manzano](https://github.com/LIT-Protocol/networks/tree/main/manzano) | Datil-dev | Centralized test network. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-dev](https://github.com/LIT-Protocol/networks/tree/main/datil-dev) -| Datil-test | Decentralized test network. No persistency guarantees. Mirrors Datil-prod code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-test](https://github.com/LIT-Protocol/networks/tree/main/datil-test) | +| Datil-test | Decentralized test network. No persistency guarantees. Mirrors Datil code and configuration. Payment is enforced. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil-test](https://github.com/LIT-Protocol/networks/tree/main/datil-test) |
    diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 34ba6401..3b1eb784 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -18,14 +18,14 @@ You can learn more about compatible chains [here.](http://ethanfast.com/top-cryp ## Supported Chains (Access Control & PKP) - + - ethereum - polygon diff --git a/docs/sdk/access-control/encryption.md b/docs/sdk/access-control/encryption.md index 7a802dd6..efc3592d 100644 --- a/docs/sdk/access-control/encryption.md +++ b/docs/sdk/access-control/encryption.md @@ -288,7 +288,7 @@ const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: LitNetwork.DatilProd, + network: LitNetwork.Datil, }); await contractClient.connect(); diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 1524a1e8..16da7908 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -8,7 +8,7 @@ You can use the Lit network to encrypt your data and store it privately on the o Lit can only be used to generate and store encryption keys, so you will need to store the ciphertext and metadata yourself using your storage provider of choice (such as IPFS, Arweave, or even a centralized storage solution). Once your data has been encrypted, the Lit network will enforce who is allowed to decrypt it. -This guide uses Lit's [Datil-prod Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). +This guide uses Lit's [Datil Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). For developers looking to explore beyond the basics, check out Advanced Topics. @@ -274,7 +274,7 @@ const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: LitNetwork.DatilProd, + network: LitNetwork.Datil, }); await contractClient.connect(); diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 8d13e5d9..611e6f11 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -8,7 +8,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. -In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Datil-prod` and `Datil-test` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. +In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Datil` and `Datil-test` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way: diff --git a/docs/sdk/capacity-credits.md b/docs/sdk/capacity-credits.md index 0e34f4ec..ec909c12 100644 --- a/docs/sdk/capacity-credits.md +++ b/docs/sdk/capacity-credits.md @@ -3,7 +3,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Capacity Credits :::info -Currently Rate Limiting is only enabled on `Datil-prod` and `Datil-test`. +Currently Rate Limiting is only enabled on `Datil` and `Datil-test`. See [here](../network/networks/testnet.md) for a list of test networks. See [here](../network/networks/mainnet.md) for a list of mainnet networks. ::: @@ -22,7 +22,7 @@ In order to increase your rate limit, you'll need to mint a `Capacity Credits NF A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. So, here we will show how you can mint it using `contracts-sdk`. You can download the `contracts-sdk` from `npm` [here](https://www.npmjs.com/package/@lit-protocol/contracts-sdk). -You’ll also need some `tstLPX` tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-test and Datil-prod. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). +You’ll also need some `tstLPX` tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on Datil-test and Datil. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). ```javascript import { LitNetwork } from "@lit-protocol/constants"; diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index 700098ce..3b6773bd 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -81,7 +81,7 @@ import { LitNetwork } from "@lit-protocol/constants"; app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await app.locals.litNodeClient.connect(); ``` @@ -103,7 +103,7 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set import { LitNetwork } from "@lit-protocol/constants"; const client = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await client.connect(); diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index c2f1134e..070ac752 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -22,11 +22,11 @@ The **Lit JS SDK V3** replaces the existing access control condition based encry :::caution -The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. Therefore, we will request users to migrate to `Datil-prod` and `Datil-test` networks. +The Lit development team will not be migrating the access control conditions that have been "stored" in the `jalapeno` and `serrano` networks but we will continue to maintain support for them for a finite period of time. Therefore, we will request users to migrate to `Datil` and `Datil-test` networks. ::: -If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V3 SDK as it supports our new networks, `Datil-prod` and `Datil-test`, which are not supported by V2 SDK. +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V3 SDK as it supports our new networks, `Datil` and `Datil-test`, which are not supported by V2 SDK. Alternatively, here are some general instructions for migrating to use the new encryption scheme: @@ -193,7 +193,7 @@ V3 includes the following breaking changes from V2. ### Supported Lit Networks -Both `jalapeno` and `serrano` will no longer be supported. Now, `datil-dev`, `datil-test` and `datil-prod` are the only supported networks and we will be moving forward with them. +Both `jalapeno` and `serrano` will no longer be supported. Now, `datil-dev`, `datil-test` and `datil` are the only supported networks and we will be moving forward with them. ### Types @@ -242,13 +242,13 @@ All method interfaces in `@lit-protocol/encryption` have been updated. ## Minting Capacity Credits for Usage -Currently Rate Limiting is enabled on `Datil-prod` and `Datil-test`. In order to use these networks, you must reserve capacity on them by minting a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. Capacity credits allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). For minting capacity credits, you can either use: +Currently Rate Limiting is enabled on `Datil` and `Datil-test`. In order to use these networks, you must reserve capacity on them by minting a `Capacity Credits NFT` on Chronicle - Lit's custom EVM rollup testnet. Capacity credits allow holders to reserve a configurable number of requests (measured in requests per second) over a fixed length of time (i.e. one week). For minting capacity credits, you can either use: 1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, 2. Our `contracts-sdk`. A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). -You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on `Datil-prod` and `Datil-test`. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). +You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on `Datil` and `Datil-test`. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 072b900e..0169410a 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -474,7 +474,7 @@ const authSig = await generateAuthSig({ There has been some confusion on the parameters for `createCapacityDelegationAuthSig`, particularly `capacityTokenId`, `delegateeAddresses`, and `uses` when delegating [capacity credits](../serverless-signing/quick-start.md). :::note -Payment for usage of the Lit network is currently only required on the `Datil-prod` and `Datil-test` networks. If you're using the `datil-dev` network, payment is **not** required. +Payment for usage of the Lit network is currently only required on the `Datil` and `Datil-test` networks. If you're using the `datil-dev` network, payment is **not** required. ::: Below is a table detailing the expected behaviors of each: diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index 92fe3ceb..63739ebc 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -17,7 +17,7 @@ To simplify this process of delegating Capacity Credits, we've implemented the P ## The Payment Delegation Database :::info -Currently the Payment Delegation Database is only supported on the `datil-prod` and `datil-test` Lit networks. Payment for usage is **not** required on the `datil-dev` network. +Currently the Payment Delegation Database is only supported on the `datil` and `datil-test` Lit networks. Payment for usage is **not** required on the `datil-dev` network. ::: The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: @@ -43,7 +43,7 @@ Before continuing with this guide, you should have an understanding of: - Add users as `payees` for your `payer` wallet - You must have a valid Lit Relayer API key - This can be obtained by filling out [this form](https://docs.google.com/forms/d/e/1FAIpQLSeVraHsp1evK_9j-8LpUBiEJWFn4G5VKjOWBmHFjxFRJZJdrg/viewform) -- You should know which paid Lit network you're going to use: `datil-prod` or `datil-test` +- You should know which paid Lit network you're going to use: `datil` or `datil-test` This guide doesn't have any external dependencies, but relies on `fetch` being natively available in Node.js, which means the minimum supported version is `v18`. @@ -63,9 +63,9 @@ A full implementation of the code in this section can be found [here](https://gi To register a new `payer` wallet, you're going to need to decide which Lit network you'd like to use. Currently the Relayer server has two endpoints depending on the Lit network: -- For `datil-prod`, we'll be making requests to: +- For `datil`, we'll be making requests to: ``` - https://datil-prod-relayer.getlit.dev/register-payer + https://datil-relayer.getlit.dev/register-payer ``` - For `datil-test`, we'll be making requests to: ``` @@ -88,16 +88,16 @@ You'll want to replace `YOUR_LIT_RELAYER_API_KEY` with the API key that was gene Next we'll make the `fetch` request to the `register-payer` endpoint: - + ```ts const response = await fetch( - "https://datil-prod-relayer.getlit.dev/register-payer", + "https://datil-relayer.getlit.dev/register-payer", { method: "POST", headers, @@ -167,9 +167,9 @@ Remember that `payerSecretKey` is essentially the private key to your new `payer A full implementation of this code for this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/addUsers.ts). To add users as `payees` for your `payer` wallet, you're going to need the Relayer API URL for the same Lit network you registered your `payer` on: - - For `datil-prod`, we'll be making requests to: + - For `datil`, we'll be making requests to: ``` - https://datil-prod-relayer.getlit.dev/add-users + https://datil-relayer.getlit.dev/add-users ``` - For `datil-test`, we'll be making requests to: ``` @@ -195,16 +195,16 @@ You'll want to replace `YOUR_LIT_RELAYER_API_KEY` with the API key that was gene Next we'll make the `fetch` request to the `add-users` endpoint: - + ```ts const response = await fetch( - "https://datil-prod-relayer.getlit.dev/add-users", + "https://datil-relayer.getlit.dev/add-users", { method: "POST", headers, diff --git a/docs/sdk/serverless-signing/encryption.md b/docs/sdk/serverless-signing/encryption.md index eb7668d1..800bbf25 100644 --- a/docs/sdk/serverless-signing/encryption.md +++ b/docs/sdk/serverless-signing/encryption.md @@ -4,7 +4,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info Only available on the Lit networks: - - `datil-prod` + - `datil` - `datil-test` - `datil-dev` ::: diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 85bdfcb9..086bb945 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -5,7 +5,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet) and [Datil Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil-prod today. +Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet) and [Datil Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil today. ::: diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index d844e841..643a4e04 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -13,7 +13,7 @@ Lit Actions are JavaScript functions that can be used read and write data across In the following guide, we will write a simple Lit Action that requests a signature from the Lit nodes and signs the message "Hello World". -This guide uses Lit's [Datil-prod Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). +This guide uses Lit's [Datil Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). For developers looking to explore beyond the basics, check out Advanced Topics. @@ -56,7 +56,7 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set import { LitNetwork } from "@lit-protocol/constants"; const client = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await client.connect(); @@ -87,7 +87,7 @@ import { LitNetwork } from "@lit-protocol/constants"; app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await app.locals.litNodeClient.connect(); ``` @@ -122,7 +122,7 @@ import { LitNetwork } from "@lit-protocol/constants"; const contractClient = new LitContracts({ signer: wallet, - network: LitNetwork.DatilProd, + network: LitNetwork.Datil, }); await contractClient.connect(); @@ -157,7 +157,7 @@ await provider.send("eth_requestAccounts", []); const ethersSigner = provider.getSigner(); const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await litNodeClient.connect(); @@ -365,7 +365,7 @@ const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: LitNetwork.DatilProd, + network: LitNetwork.Datil, }); await contractClient.connect(); diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md index 6356fb5f..37a35c96 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-contracts.md +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -4,7 +4,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; You can mint a PKP NFT from the PKP contract on Chronicle Yellowstone - Lit's custom EVM rollup testnet - using: 1. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or -2. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil-prod)). +2. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil)). The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. diff --git a/docs/sdk/wallets/quick-start.md b/docs/sdk/wallets/quick-start.md index 0b04a96b..b803d975 100644 --- a/docs/sdk/wallets/quick-start.md +++ b/docs/sdk/wallets/quick-start.md @@ -10,7 +10,7 @@ PKPs are decentralized public / private key pairs generated by the [Lit Network] The following steps will walk you through the process of creating a PKP, assigning permissions to it, and signing a transaction. -This guide uses Lit's Datil-prod Network, the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/mainnet.md). +This guide uses Lit's Datil Network, the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/mainnet.md). For developers looking to explore beyond the basics, check out Advanced Topics. @@ -55,7 +55,7 @@ Within a file (in the Lit example repos it will likely be called `lit.js`), set import { LitNetwork } from "@lit-protocol/constants"; const client = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await client.connect(); @@ -86,7 +86,7 @@ import { LitNetwork } from "@lit-protocol/constants"; app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await app.locals.litNodeClient.connect(); ``` @@ -120,7 +120,7 @@ import { LitNetwork } from "@lit-protocol/constants"; const contractClient = new LitContracts({ signer: wallet, - network: LitNetwork.DatilProd, + network: LitNetwork.Datil, }); await contractClient.connect(); @@ -154,7 +154,7 @@ await provider.send("eth_requestAccounts", []); const ethersSigner = provider.getSigner(); const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilProd, + litNetwork: LitNetwork.Datil, }); await litNodeClient.connect(); @@ -363,7 +363,7 @@ const walletWithCapacityCredit = new Wallet(""); let contractClient = new LitContracts({ signer: dAppOwnerWallet, - network: LitNetwork.DatilProd, + network: LitNetwork.Datil, }); await contractClient.connect(); diff --git a/docs/support/faq.md b/docs/support/faq.md index 31b0c93d..2b18b3d1 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -184,7 +184,7 @@ So, you can see, the nodes don't talk to each other when decrypting the content. ### 4. How do new nodes that come online discover the key shares they need to help decrypt previously-encrypted data? -Right now, Datil-test and Datil-prod are federated networks being run by named 3rd party operators. The ultimate goal is to transition to a fully permissionless network. Root keys are updated every epoch, rendering old shares functionally useless. New shares are shared with new operators through proactive secret sharing. The network uses threshold encryption with a 2/3 threshold, providing redundancy and security. +Right now, Datil-test and Datil are federated networks being run by named 3rd party operators. The ultimate goal is to transition to a fully permissionless network. Root keys are updated every epoch, rendering old shares functionally useless. New shares are shared with new operators through proactive secret sharing. The network uses threshold encryption with a 2/3 threshold, providing redundancy and security. ### 5. What's to prevent one person from running many Lit Protocol nodes so as to acquire sufficient key fragments across their nodes to be able to reconstitute the decryption key for some pieces of content? diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index eb6d7d3f..ce256ffa 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,7 +1,7 @@ :::info The [Datil-test](connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. -The [Datil-prod](connecting-to-a-lit-network/mainnets#datil-prod) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. +The [Datil](connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. Check out the [migration docs](connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: From e222a784262a5674a6624e57fa7bf17dd54968cb Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 10:35:39 -0700 Subject: [PATCH 431/627] Update alchemy-account-kit.md --- docs/integrations/aa/alchemy-account-kit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index d633ecc3..89a16b3e 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -136,7 +136,7 @@ yarn add @alchemy/aa-signers ### 2. Get A Programmable Key Pair (PKP) -Get some tstLPX test tokens from Lit's [Chronicle network](../../network/rollup.mdx). +Get some tstLPX test tokens from Lit's [Chronicle Yellowstone network](https://chronicle-yellowstone-faucet.getlit.dev/). To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). From a67db01848a3bb3b41418e7c948f2744291c5f09 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 10:44:40 -0700 Subject: [PATCH 432/627] Done --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 477532fd..875e2450 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -11,7 +11,7 @@ Depending on the existing Lit network you are using, you should migrate to its c | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| -| ✅ | ✅ | `6.4.0` | `habanero` | `datil` | Decentralized mainnet designed for production use cases | +| ✅ | ✅ | `6.4.0` | `habanero` | `datil` | Decentralized mainnet designed for production use cases | | ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | @@ -58,6 +58,7 @@ The only code changes required to make use of the new Datil networks are as foll - Upgrade the Lit packages to the latest version that supports Datil - `6.2.2` is the minimum version of the packages that support `datil-test` and `datil-dev` + - `6.4.0` is the minimum version of the packages that supports `datil` - Specify the Datil network when instantiating Lit node clients from the SDK - This is done by specifying the `litNetwork` property when [connecting a Lit client](./connecting) to one of the following Datil networks: - `datil` From 5e465a3b2f24f173375133f3d05190036e40ef84 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 13:49:10 -0700 Subject: [PATCH 433/627] Warning --- docs/api-reference/v3-sdk.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md index 323dc2fb..b8d6d99d 100644 --- a/docs/api-reference/v3-sdk.md +++ b/docs/api-reference/v3-sdk.md @@ -2,6 +2,9 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # SDK 3.x.x to v5.x.x -The SDK v3.x.x to v5.x.x API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). Please note that the latest API docs are v6.x.x. +The SDK v3.x.x to v5.x.x API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). +:::warning +Please note that the latest API docs are v6.x.x. +::: From 95704d1405122d997877f8513257c0a1549cd858 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 14:59:58 -0700 Subject: [PATCH 434/627] GSS Page --- .../session-sigs/get-session-sigs.md | 459 ++++++++---------- docs/sdk/authentication/session-sigs/intro.md | 9 +- 2 files changed, 206 insertions(+), 262 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index c0709ffc..14374245 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -4,290 +4,235 @@ sidebar_position: 2 import FeedbackComponent from "@site/src/pages/feedback.md"; -# Generating SessionSigs +# Generating SessionSigs: `getSessionSigs` -The Lit SDK has three functions that explicitly generate session signatures: `getSessionSigs()`, `getPkpSessionSigs()`, and `getLitActionSessionSigs()`. These functions differ in their parameters and uses, but will all return session signatures. +This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). -We recommend using `getSessionSigs()` to specify the abilities of your current session on the Lit Network, using only an `ethers.Wallet` and the `LitNodeClient`. This method is arguably the simplest, enabling your `ethers.Wallet` to perform the specified abilities on the Lit Network. `getPkpSessionSigs()` can be used if your implementation of the Lit SDK involves a PKP and you wish to designate resources to it. Similarly, `getLitActionSessionSigs()` can designate specific abilities and resources to Lit Actions, allowing them to execute code on the Lit Network. +The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific capabilities. +Using the `getSessionSigs` function, you can specify the abilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable your `ethers.Wallet` to perform abilities to the resources you specify in the `AuthSig`. -These functions use the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific capabilities. +## Prerequisites -In order to generate `SessionSigs` on both the `Habanero` and `Manzano` networks, you will need to include `capabilityAuthSigs`. This is because transactions on these networks require capacity credits. This will also be the case for the upcoming `datil-test` and `datil-prod` networks. `capabilityAuthSigs` are **not** required on the `datil-dev` network. +Before continuing this guide, you should have an understanding of: +- [Session Signatures](./intro) +- [Lit Resources and Abilities](./resources-and-abilities.md) -You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. +## `getSessionSigs`' Interface +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/types/src/lib/interfaces.ts#L1057-L1106) -## Storing SessionSigs - If running the SDK in a Server environment, session signatures may *not* be cached unless you provide an instance of `Storage` to the runtime. - [Here](https://www.npmjs.com/package/node-localstorage) is an implementation of `LocalStorage` which creates local files to persist storage data. - If storage is not available, session keys *MUST* be persisted in an external data store. - ```javascript - const LocalStorage = require('node-localstorage').LocalStorage; - const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilDev, - debug: true, - storageProvider: { - provider: new LocalStorage('./storage.test.db'), - } - }); - ``` +```ts +interface CommonGetSessionSigsProps { + pkpPublicKey?: string; + expiration?: any; + chain?: Chain; + resourceAbilityRequests: LitResourceAbilityRequest[]; + sessionCapabilityObject?: ISessionCapabilityObject; + switchChain?: boolean; + sessionKey?: SessionKeyPair; + capabilityAuthSigs?: AuthSig[]; +} -All functions for generating session signatures will try to create a session key for you and store it in local storage. You can also generate the session key yourself using `generateSessionKeyPair()` function and store it however you like. You can then pass the generated session key as the `sessionKey` param. +interface GetSessionSigsProps + extends CommonGetSessionSigsProps, + LitActionSdkParams { + authNeededCallback: AuthCallback; +} -In the example of `getSessionSigs()` below we construct a SIWE message manually, but you can use the `checkAndSignAuthMessage` when in a browser context. +getSessionSigs = async ( + params: GetSessionSigsProps + ): Promise -## getSessionSigs() -Below is an implementation of `getSessionSigs()`. This function can generate session sigs using authentication derived from a PKP or wallet. A key feature of this function that separates it from `getPkpSessionSigs()` and `getLitActionSessionSigs()` is the use of `authNeededCallback`. This property is used to define the `AuthSig` present in the session signatures. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.GetSessionSigsProps.html) -```javascript -import dotenv from "dotenv"; -dotenv.config({ path: "./process.env" }); +interface AuthSig { + sig: any; + derivedVia: string; + signedMessage: string; + address: string; +} -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { - LitNetwork, - LIT_RPC } from "@lit-protocol/constants"; -import { - LitAbility, - LitActionResource, - createSiweMessageWithRecaps, -} from "@lit-protocol/auth-helpers"; -import { ethers } from "ethers"; - -// Create a new ethers.js Wallet instance - let userEthersSigner = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); - userEthersSigner = userEthersSigner.connect( - new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_VESUVIUS) - ); - -const sessionSigsFunction = async () => { - // Instantiate a LitNodeClient - const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilDev, - debug: false, - }); - await litNodeClient.connect(); - - const authNeededCallback = async ({ - uri, - expiration, - resourceAbilityRequests, - }) => { - // Prepare the SIWE message for signing - const toSign = await createSiweMessageWithRecaps({ - uri: uri, - expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), - resources: resourceAbilityRequests, - walletAddress: wallet.address, - nonce: await litNodeClient.getLatestBlockhash(), - litNodeClient: litNodeClient, - }); - // Use the Ethereum wallet to sign the message, return the digital signature - const signature = await wallet.signMessage(toSign); - - // Create an AuthSig using the derived signature, the message, and wallet address - const authSig = { - sig: signature, - derivedVia: "web3.eth.personal.sign", - signedMessage: toSign, - address: wallet.address, - }; - - return authSig; - }; - - // Create a session key and sign it using the authNeededCallback defined above - const sessionSigs = await litNodeClient.getSessionSigs({ - chain: "ethereum", - resourceAbilityRequests: [ - { - resource: new LitActionResource("*"), - ability: LitAbility.LitActionExecution, - }, - ], - authNeededCallback, - }); +type SessionSigsMap = Record; +``` - return sessionSigs; -}; +## Parameters + +### `pkpPublicKey` +If you want to delegate abilities and resources to a PKP using this function, you would define the public key here. + +### `expiration` + When this session signature will expire. After this time is up, you will need to reauthenticate using the same authentication method, generating a new session signature. The default time until expiration is 24 hours. + +### `chain` + The chain to use for the session signature and sign the session key. If you're using EVM, this parameter isn't very important. + +### `resourceAbilityRequests` +An array of resource abilities that you want to request for this session. These will be signed with the session key. + +If you want to request the ability to decrypt an access control condition, then you would pass: + ```ts + [{ resource: new LitAccessControlConditionResource('someResource'), ability: LitAbility.AccessControlConditionDecryption }] + ``` + +### `sessionCapabilityObjects` + The session capability object that you want to request for this session. If you pass nothing, then this will default to + wildcard for each type of resource you're accessing. + For example, if you passed nothing, and you're requesting to perform a decryption operation for an access control condition, then the session capability object will be a wildcard for the access control condition, which grants this session signature the ability to decrypt this access control condition. + +### `switchChain` +If you want to ask Metamask to try and switch the user's chain, you may pass true here. This will only work if the user is using Metamask. If the user is not using Metamask, then this will be ignored. + +### `sessionKey` +The serialized session key pair to sign. If not provided, a session key pair will be fetched from localStorage or generated. + +### `capabilityAuthSigs` +Not limited to capacityDelegationAuthSig, we want to be able to pass in any other authSigs for other purposes. + +## Return Value + +### `sig` +The signature produced by the ed25519 key pair signing the `signedMessage` payload. + +### `derivedVia` +Should be `litSessionSignViaNacl`, specifies that the session signature object was created via the `NaCl` library. + +### `signedMessage` +The payload signed by the session key pair. This is the signed `AuthSig`, which includes the fields: + +- #### `sessionKey` + The session key pair public key. +- #### `resourceAbilityRequests` + An array of resource abilities that you have requested for the session. +- #### `capabilities` <- Needs a fact check + An array of one or more `AuthSig`. The `capabilities` authorize the `AuthSig` address(es) to utilize the resources specified. in the `resourceAbilityRequests` +- #### `issuedAt` + The time the session signature was issued. +- #### `expiration` + The time the session signature becomes invalid. +- #### `nodeAddress` + The specific URL the session signature is meant for. + +### `address` +The session key pair public key. + +### `algo` +The signing algorithm used to generate the session signature. + +## Example Implementation + +Now that we know what the `getSessionSigs` function does, it's parameters, and it's return values, let's dig into a complete implementation. + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). + +### Installing the Required Dependencies + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +node-localstorage \ +ethers@v5 ``` -**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. + -## getPkpSessionSigs() -This is an implementation of `getPkpSessionSigs()`. Noticably different from `getSessionSigs()`, it lacks the `authNeededCallback` parameter, instead creating the callback and signing the session key under the hood with the `signSessionKey()` function. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs) -```javascript -import dotenv from "dotenv"; -dotenv.config({ path: "./process.env" }); + -import ethers from "ethers"; -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { - AuthMethodScope, - LitNetwork, - ProviderType, - LIT_RPC, -} from "@lit-protocol/constants"; -import { - EthWalletProvider, - LitAuthClient, -} from "@lit-protocol/lit-auth-client"; -import { LitAbility, LitActionResource } from "@lit-protocol/auth-helpers"; - -const pkpSessionSigsFunction = async () => { - // Create/Import an ethers.Wallet, connect it to Chronicle Vesuvius - let userEthersSigner = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); - userEthersSigner = userEthersSigner.connect( - new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_VESUVIUS) - ); - - // Instantiate a LitNodeClient - const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilDev, - debug: false, - }); - await litNodeClient.connect(); - - // Instantiate a LitAuthClient - const litAuthClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: process.env.LIT_RELAYER_API_KEY, - }, - rpcUrl: LIT_RPC.CHRONICLE_VESUVIUS, - litNodeClient, - }); - - // Initialize a provider through the litAuthClient, specifying EthWallet - const userAuthProvider = litAuthClient.initProvider(ProviderType.EthWallet); - - // Generate a wallet signature to use as an AuthMethod - const authMethod = await EthWalletProvider.authenticate({ - signer: userEthersSigner, - litNodeClient, - }); - - // Mint a new PKP for the given AuthMethod through the relay server - const mintedPkpTransactionHash = await userAuthProvider.mintPKPThroughRelayer( - authMethod, - { - permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], - } - ); - - // Using the relay server, we can fetch the PKPs that have been minted to the AuthMethod - const pkps = await userAuthProvider.fetchPKPsThroughRelayer(authMethod); - - // Using the first PKP minted to our AuthMethod, adding that our AuthMethod is authorized - // to perform the actions defined by the resourceAbilityRequests for the next 10 minutes - const pkpSessionSigs = await litNodeClient.getPkpSessionSigs({ - pkpPublicKey: pkps[pkps.length - 1].publicKey, - authMethods: [authMethod], - resourceAbilityRequests: [ - { - resource: new LitActionResource("*"), - ability: LitAbility.LitActionExecution, - }, - ], - expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), - }); +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +node-localstorage \ +ethers@v5 +``` + + + - return pkpSessionSigs; -}; +### Instantiating an Ethers Signer +The `ETHEREUM_PRIVATE_KEY` environment variable is required. +```ts +import { LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; + +const ethersSigner = new ethers.Wallet( + ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); ``` -## getLitActionSessionSigs() -Lastly is a simple example of `getLitActionSessionSigs()`. The parameters are similar to `getPkpSessionSigs()`, however this function retrieves sessions signatures specifically for Lit Actions. Unlike `getPkpSessionSigs()` this function requires either `litActionCode` or `litActionIpfsId` and the necessary `jsParams` for executing the provided Lit Action. [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs) -```javascript -import dotenv from "dotenv"; -dotenv.config({ path: "./process.env" }); -import ethers from "ethers"; +### Instantiating a `LitNodeClient` +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. To simulate a Node.js environment, we use `LocalStorage` from the `node-localstorage` module to store our session keys and metadata. + +```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { - AuthMethodScope, - LitNetwork, - ProviderType, - LIT_RPC, -} from "@lit-protocol/constants"; -import { - EthWalletProvider, - LitAuthClient, -} from "@lit-protocol/lit-auth-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { LocalStorage } from "node-localstorage"; + +let litNodeClient: LitNodeClient; + +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, + storageProvider: { + provider: new LocalStorage("./lit_storage.db"), + }, + }); +await litNodeClient.connect(); +``` + +### Generating Session Signatures +The session signatures generated in this example provide unrestricted access to all resources. However, in real-world applications, it's more common and secure to limit access. Typically, you would use the specific hash of the encrypted access control condition resource key, granting access only to particular resources rather than everything. To this resource, we then give it the ability to decrypt an encryption access control condition. + +```ts import { LitAbility, - LitActionResource, - LitPKPResource, + LitAccessControlConditionResource, + createSiweMessage, + generateAuthSig, } from "@lit-protocol/auth-helpers"; -const sessionSigsFunction = async () => { - // Create/Import an ethers.Wallet, connect it to Chronicle Vesuvius - let userEthersSigner = new ethers.Wallet(process.env.YOUR_PRIVATE_KEY); - userEthersSigner = userEthersSigner.connect( - new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_VESUVIUS) - ); - - // Instantiate a LitNodeClient - const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilDev, - debug: false, - }); - await litNodeClient.connect(); - - // Instantiate a LitAuthClient - const litAuthClient = new LitAuthClient({ - litRelayConfig: { - relayApiKey: process.env.LIT_RELAYER_API_KEY, - }, - rpcUrl: LIT_RPC.CHRONICLE_VESUVIUS, - litNodeClient, - }); - - // Initialize a provider through the litAuthClient, specifying EthWallet - const userAuthProvider = litAuthClient.initProvider(ProviderType.EthWallet); - - // Generate a wallet signature to use as an AuthMethod - const authMethod = await EthWalletProvider.authenticate({ - signer: userEthersSigner, - litNodeClient, - }); - - // Mint a new PKP for the given AuthMethod through the relay server - const mintedPkpTransactionHash = await userAuthProvider.mintPKPThroughRelayer( - authMethod, +const sessionSignatures = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 10 ).toISOString(), // 10 minutes + resourceAbilityRequests: [ { - permittedAuthMethodScopes: [[AuthMethodScope.SignAnything]], - } - ); - - // Using the relay server, we can fetch the PKPs that have been minted to the AuthMethod - const pkps = await userAuthProvider.fetchPKPsThroughRelayer(authMethod); - const pkp = pkps[pkps.length - 1]; - const litActionCode = `const go = async () => { - Lit.Actions.setResponse({ response: "true" }); -}; - -go(); -`; - - const litActionSessionSigs = await litNodeClient.getLitActionSessionSigs({ - pkpPublicKey: pkp.publicKey, - authMethods: [authMethod], - chain: "ethereum", - resourceAbilityRequests: [ - { - resource: new LitPKPResource("*"), - ability: LitAbility.PKPSigning, - }, - { - resource: new LitActionResource("*"), - ability: LitAbility.LitActionExecution, - }, - ], - litActionCode: Buffer.from(litActionCode).toString("base64"), - jsParams: {}, - }); + resource: new LitAccessControlConditionResource("*"), + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback: async ({ + uri, + expiration, + resourceAbilityRequests, + }) => { + const toSign = await createSiweMessage({ + uri, + expiration, + resources: resourceAbilityRequests, + walletAddress: await ethersSigner.getAddress(), + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient, + }); - return litActionSessionSigs; -}; + return await generateAuthSig({ + signer: ethersSigner, + toSign, + }); + }, +}); ``` + + +**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. + ## Resources You Can Request You can pass an array of `resourceAbilityRequests` to the above functions, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 05d882fc..29d95545 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -28,9 +28,9 @@ This authentication system ensures that the Lit Network remains secure, verifyin ## Paying for Usage of the Lit Network -The correct code implementation will depend on whether you're using the free-to-use `datil-dev` network, or one of the "paid" networks: `habanero` or `datil-test`. +The correct code implementation will depend on whether you're using the free-to-use `datil-dev` network, or one of the "paid" networks: `datil` or `datil-test`. -Usage of the `habanero` and `datil-test` networks require the use of [Lit Capacity Credits](../../../sdk/capacity-credits.md). Currently, Capacity Credits are paid for using the `tstLPX` token and don't require any real-world money. However, in the future you will need to pay real-world money for usage of Lit networks, and `habanero` and `datil-test` are the Lit networks where this functionality is being tested and refined. +Usage of the `datil` and `datil-test` networks require the use of [Lit Capacity Credits](../../../sdk/capacity-credits.md). Currently, Capacity Credits are paid for using the `tstLPX` token and don't require any real-world money. However, in the future you will need to pay real-world money for usage of Lit networks, and `datil` and `datil-test` are the Lit networks where this functionality is being tested and refined. ## Storing `SessionSigs` @@ -42,17 +42,16 @@ import { LocalStorage } from "node-localstorage"; When running code within a browser, this import is not needed, as the session keys will be stored within the browser's local storage. However, when running this code in an environment such as Node.js where browser local storage is not available, the `LocalStorage` module is used to provide file-based storage for our generated session keys and metadata. -All functions for generating session signatures will try to create a session key for you and store it in the local storage. The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session key as the optional `sessionKey` parameter when generating session signatures. - ```javascript litNodeClient = new LitNodeClient({ litNetwork: LitNetwork.DatilDev, // This storageProvider object can be omitted if executing in a browser storageProvider: { - provider: new LocalStorage("./lit_storage.db"), + provider: new LocalStorage("./lit_storage.db"), }, }); ``` +All functions for generating session signatures will try to create a session key for you and store it in the local storage. The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session key as the optional `sessionKey` parameter when generating session signatures. If you do not provide an instance of `LocalStorage` as the `provider`, then new session keys will be generated every time you run this code instead of one set of keys being reused. From e00ec47ae41d0c6850bb6f023789b4c656153d66 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 15:07:01 -0700 Subject: [PATCH 435/627] Tab formatting --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 14374245..0ae01e62 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -3,6 +3,8 @@ sidebar_position: 2 --- import FeedbackComponent from "@site/src/pages/feedback.md"; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Generating SessionSigs: `getSessionSigs` @@ -156,6 +158,8 @@ ethers@v5 + + ### Instantiating an Ethers Signer The `ETHEREUM_PRIVATE_KEY` environment variable is required. ```ts From 22d6b0f3455007417d0c9b8ef8947b20c1da7eb0 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 15:18:18 -0700 Subject: [PATCH 436/627] authneededcallback added --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 0ae01e62..6d2c1f1c 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -21,7 +21,7 @@ Before continuing this guide, you should have an understanding of: - [Lit Resources and Abilities](./resources-and-abilities.md) ## `getSessionSigs`' Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/types/src/lib/interfaces.ts#L1057-L1106) +[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/types/src/lib/interfaces.ts#L1057-L1131) ```ts interface CommonGetSessionSigsProps { @@ -58,7 +58,7 @@ type SessionSigsMap = Record; ## Parameters ### `pkpPublicKey` -If you want to delegate abilities and resources to a PKP using this function, you would define the public key here. +If you want to pass the `authNeededCallback`, having a PKP public key is necessary. Can be used if you do not have a wallet and wish to authenticate with your PKP. ### `expiration` When this session signature will expire. After this time is up, you will need to reauthenticate using the same authentication method, generating a new session signature. The default time until expiration is 24 hours. @@ -80,7 +80,7 @@ If you want to request the ability to decrypt an access control condition, then For example, if you passed nothing, and you're requesting to perform a decryption operation for an access control condition, then the session capability object will be a wildcard for the access control condition, which grants this session signature the ability to decrypt this access control condition. ### `switchChain` -If you want to ask Metamask to try and switch the user's chain, you may pass true here. This will only work if the user is using Metamask. If the user is not using Metamask, then this will be ignored. +If you want to ask MetaMask to try and switch the user's chain, you may pass true here. This will only work if the user is using MetaMask. If the user is not using MetaMask, then this will be ignored. ### `sessionKey` The serialized session key pair to sign. If not provided, a session key pair will be fetched from localStorage or generated. @@ -88,6 +88,9 @@ The serialized session key pair to sign. If not provided, a session key pair wil ### `capabilityAuthSigs` Not limited to capacityDelegationAuthSig, we want to be able to pass in any other authSigs for other purposes. +### `authNededCallback` +This is a callback that will be called if you need to authenticate using a PKP. If you don't pass this callback, then the user will be prompted to authenticate with their wallet, like MetaMask. + ## Return Value ### `sig` From 98d49b364ab3518d8530527b36b1d5f17b67ad35 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 15:28:20 -0700 Subject: [PATCH 437/627] Summary --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 6d2c1f1c..6bfd81d1 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -250,4 +250,9 @@ When session capability objects are omitted from functions generating session si If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). +## Summary +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). + +After executing the example implementation above, you will have generated and stored your session public and secret keys, and the `AuthSig` signed for the session signatures. + From 776fe1020fae791807f411c27ec64015b4696172 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 17:03:34 -0700 Subject: [PATCH 438/627] Update docs/sdk/authentication/session-sigs/get-session-sigs.md Co-authored-by: Wyatt Barnes --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 6bfd81d1..e6a644e7 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem'; This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). -The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific capabilities. +The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific Lit capabilities. Using the `getSessionSigs` function, you can specify the abilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable your `ethers.Wallet` to perform abilities to the resources you specify in the `AuthSig`. From 0b609af71c2d1fdbcc4e4a58b5dd5d4a06fbd2f0 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 17:04:07 -0700 Subject: [PATCH 439/627] Update docs/sdk/authentication/session-sigs/get-session-sigs.md Co-authored-by: Wyatt Barnes --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index e6a644e7..e0241fa0 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -12,7 +12,7 @@ This guide covers the `getSessionSigs` function from the Lit SDK. For an overvie The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific Lit capabilities. -Using the `getSessionSigs` function, you can specify the abilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable your `ethers.Wallet` to perform abilities to the resources you specify in the `AuthSig`. +Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable specific capabilities for your `ethers.Wallet` using the resources you specify in the `AuthSig`. ## Prerequisites From 781612367e97e9bda287fb4b4026a496cdd162ff Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 17:10:59 -0700 Subject: [PATCH 440/627] Update docs/sdk/authentication/session-sigs/get-session-sigs.md Co-authored-by: Wyatt Barnes --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index e0241fa0..a695ab9f 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -176,7 +176,7 @@ const ethersSigner = new ethers.Wallet( ``` ### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. To simulate a Node.js environment, we use `LocalStorage` from the `node-localstorage` module to store our session keys and metadata. +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. Because we're executing within a Node.js environment, we use `LocalStorage` from the `node-localstorage` module to store our session keys and metadata. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; From cd249e6de4337f8aaac1eaddf7ea6eddf50d7d5f Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 17:13:26 -0700 Subject: [PATCH 441/627] Update docs/sdk/authentication/session-sigs/get-session-sigs.md Co-authored-by: Wyatt Barnes --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index a695ab9f..b51884c8 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -196,7 +196,9 @@ await litNodeClient.connect(); ``` ### Generating Session Signatures -The session signatures generated in this example provide unrestricted access to all resources. However, in real-world applications, it's more common and secure to limit access. Typically, you would use the specific hash of the encrypted access control condition resource key, granting access only to particular resources rather than everything. To this resource, we then give it the ability to decrypt an encryption access control condition. +In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. + +To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. ```ts import { From c1995beadb6356a5bf6e2b3445e7674586493548 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 17:18:26 -0700 Subject: [PATCH 442/627] Update docs/sdk/authentication/session-sigs/get-session-sigs.md Co-authored-by: Wyatt Barnes --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index b51884c8..a1e3ea02 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -240,7 +240,9 @@ const sessionSignatures = await litNodeClient.getSessionSigs({ ``` -**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. +:::note +The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. +::: ## Resources You Can Request From c505f7792c57fb11df5fe3c3f337b077144dae7f Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 18:05:05 -0700 Subject: [PATCH 443/627] Minor errors --- docs/api-reference/v3-sdk.md | 2 +- docs/connecting-to-a-lit-network/mainnets.md | 4 ++-- docs/connecting-to-a-lit-network/migrating-to-datil.md | 4 ++-- docs/sdk/migrations/3.0.0/overview.md | 2 +- src/css/custom.css | 3 +++ 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/api-reference/v3-sdk.md b/docs/api-reference/v3-sdk.md index b8d6d99d..03922bdd 100644 --- a/docs/api-reference/v3-sdk.md +++ b/docs/api-reference/v3-sdk.md @@ -5,6 +5,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; The SDK v3.x.x to v5.x.x API docs can be viewed [here](https://lit-js-sdk-v3-api-docs.vercel.app/). :::warning -Please note that the latest API docs are v6.x.x. +Please note that the latest API docs are [here](https://developer.litprotocol.com/api-reference/latest/). ::: diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index 977d539a..0a500ff7 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -13,7 +13,7 @@ Here is an overview of the Lit mainnets: | Datil | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Decentralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil` | ✅ | ## Datil -The Lit network, Datil, utilizes the Lit blockchain: Chronicle Yellowstone. It's a centralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). +The Lit network, Datil, utilizes the Lit blockchain: Chronicle Yellowstone. It's a decentralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. @@ -44,4 +44,4 @@ yarn add @lit-protocol/lit-node-client There were no breaking changes to the API for `v6` of the Lit SDK, so the code you were using for Habanero should work without issue on Datil. If you do run into issues after migrating to Datil, please reach out to us on our [Telegram](https://t.me/+aa73FAF9Vp82ZjJh) for support. -To connect to Datil-test, please follow the [Connecting to a Lit Network](./connecting) guide using `datil` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. +To connect to Datil, please follow the [Connecting to a Lit Network](./connecting) guide using `datil` for the `litNetwork` property when instantiating an instance of the `LitNodeClient`. diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 875e2450..8e26f60b 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -7,7 +7,7 @@ Lit is launching three new networks, Datil-dev, Datil-test, and Datil, to improv The Datil-dev and Datil-test networks use a new rollup blockchain called [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone.md). These new blockchains replace the [Chronicle](./lit-blockchains/chronicle) blockchain that powered Lit's earlier networks. You will learn how to migrate data between these chains below. -Depending on the existing Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements: +Depending on the Lit network you are using, you should migrate to its corresponding Datil network to take advantage of these improvements: | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| @@ -23,7 +23,7 @@ Like their counterparts, `datil` and `datil-test` require developers to pay for ### New Network, New PKPs -PKPs minted on the existing Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Yellowstone blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Yellowstone. +PKPs minted on earlier Lit networks: `cayenne`, `manzano`, and `habanero` exist on the Chronicle blockchain. Because of this, when migrating to the new Datil networks: `datil-dev`, `datil-test`, and `datil`, your PKPs will need to be re-minted on the Chronicle Yellowstone blockchain. This also means transferring ownership of assets owned by PKPs minted on Chronicle, to the newly minted ones on Chronicle Yellowstone. :::info If you're migrating from `habanero`, `manzano`, or `cayenne` to any of the Datil networks, you will be migrating from Chronicle to Chronicle Yellowstone. diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index 070ac752..867db46d 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -26,7 +26,7 @@ The Lit development team will not be migrating the access control conditions tha ::: -If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V3 SDK as it supports our new networks, `Datil` and `Datil-test`, which are not supported by V2 SDK. +If you wish to continue using these access control conditions for encryption or signing JWTs, please continue using the V2 SDK. But we strongly recommend users to migrate to V6.4 SDK as it supports our new networks, `Datil` and `Datil-test`, which are not supported by V2 SDK. Alternatively, here are some general instructions for migrating to use the new encryption scheme: diff --git a/src/css/custom.css b/src/css/custom.css index 76b70fce..72c94102 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -771,6 +771,9 @@ html[data-theme='dark'] .alert--danger { .testnet-networks-table tbody tr:nth-child(4) { background: green; } +.testnet-networks-table tbody tr:nth-child(5) { + background: green; +} .mainnet-networks-table tbody { color: white; } From 6d1c53524f9235881539f1682b6fef53e30769ec Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 30 Jul 2024 18:15:47 -0700 Subject: [PATCH 444/627] Notes + Warnings --- docs/api-reference/v1-sdk.md | 3 +++ docs/api-reference/v2-sdk.md | 3 +++ docs/resources/supported-chains.md | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/docs/api-reference/v1-sdk.md b/docs/api-reference/v1-sdk.md index c3ed8af1..45a79772 100644 --- a/docs/api-reference/v1-sdk.md +++ b/docs/api-reference/v1-sdk.md @@ -4,4 +4,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; The SDK v1.x.x API docs can be viewed [here](https://lit-protocol.github.io/lit-js-sdk/api_docs_html/index.html). +:::warning +Please note that the latest API docs are [here](https://developer.litprotocol.com/api-reference/latest/). +::: diff --git a/docs/api-reference/v2-sdk.md b/docs/api-reference/v2-sdk.md index 902d8390..10d7a6e3 100644 --- a/docs/api-reference/v2-sdk.md +++ b/docs/api-reference/v2-sdk.md @@ -4,4 +4,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; The SDK v2.x.x API docs can be viewed [here](https://docs.lit-js-sdk-v2.litprotocol.com/). +:::warning +Please note that the latest API docs are [here](https://developer.litprotocol.com/api-reference/latest/). +::: diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 3b1eb784..2cb53d24 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -15,6 +15,10 @@ PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) +:::note +To sign on any chain not currently supported by Programmable Key Pairs, see [Wrapped Keys](../sdk/wrapped-keys/overview) +::: + ## Supported Chains (Access Control & PKP) Date: Wed, 31 Jul 2024 10:49:39 -0700 Subject: [PATCH 445/627] 6.2.2 -> 6.3.0 --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 6 +++--- docs/connecting-to-a-lit-network/testnets.md | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 8e26f60b..256418f5 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -12,8 +12,8 @@ Depending on the Lit network you are using, you should migrate to its correspond | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| | ✅ | ✅ | `6.4.0` | `habanero` | `datil` | Decentralized mainnet designed for production use cases | -| ✅ | ✅ | `6.2.2` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | -| ✅ | ❌ | `6.2.2` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | +| ✅ | ✅ | `6.3.0` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ❌ | `6.3.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. @@ -57,7 +57,7 @@ For latest on which Datil networks are available to connect to, please refer to The only code changes required to make use of the new Datil networks are as follows: - Upgrade the Lit packages to the latest version that supports Datil - - `6.2.2` is the minimum version of the packages that support `datil-test` and `datil-dev` + - `6.3.0` is the minimum version of the packages that support `datil-test` and `datil-dev` - `6.4.0` is the minimum version of the packages that supports `datil` - Specify the Datil network when instantiating Lit node clients from the SDK - This is done by specifying the `litNetwork` property when [connecting a Lit client](./connecting) to one of the following Datil networks: diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 23f25a98..10e6fd01 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -9,8 +9,8 @@ Here is an overview of the Lit testnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.2.2` | `datil-test` | ✅ | -| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.2.2` | `datil-dev` | ❌ | +| Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.3.0` | `datil-test` | ✅ | +| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.3.0` | `datil-dev` | ❌ | ## Datil-test @@ -18,7 +18,7 @@ The Lit network, Datil-test, utilizes the Lit blockchain: Chronicle Yellowstone. If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. -The minimum version of the Lit SDK that supports `datil-test` is `6.2.2`, and the latest SDK version will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil-test` is `6.3.0`, and the latest SDK version will be installed from NPM by default: Date: Wed, 31 Jul 2024 10:51:24 -0700 Subject: [PATCH 446/627] Grammar --- docs/connecting-to-a-lit-network/testnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index 10e6fd01..af829897 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -53,7 +53,7 @@ The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Yellowstone. If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. -The minimum version of the Lit SDK that supports `datil-dev` is `6.3.0`, and a latest SDK version will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil-dev` is `6.3.0`, and the latest SDK version will be installed from NPM by default: Date: Wed, 31 Jul 2024 12:25:11 -0700 Subject: [PATCH 447/627] Some changes --- .../session-sigs/get-session-sigs.md | 119 +----------------- docs/sdk/authentication/session-sigs/intro.md | 6 + 2 files changed, 12 insertions(+), 113 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 6bfd81d1..30ea6500 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -20,111 +20,12 @@ Before continuing this guide, you should have an understanding of: - [Session Signatures](./intro) - [Lit Resources and Abilities](./resources-and-abilities.md) -## `getSessionSigs`' Interface -[Source code](https://github.com/LIT-Protocol/js-sdk/blob/master/packages/types/src/lib/interfaces.ts#L1057-L1131) +## Parameters and Returns -```ts -interface CommonGetSessionSigsProps { - pkpPublicKey?: string; - expiration?: any; - chain?: Chain; - resourceAbilityRequests: LitResourceAbilityRequest[]; - sessionCapabilityObject?: ISessionCapabilityObject; - switchChain?: boolean; - sessionKey?: SessionKeyPair; - capabilityAuthSigs?: AuthSig[]; -} - -interface GetSessionSigsProps - extends CommonGetSessionSigsProps, - LitActionSdkParams { - authNeededCallback: AuthCallback; -} - -getSessionSigs = async ( - params: GetSessionSigsProps - ): Promise - -interface AuthSig { - sig: any; - derivedVia: string; - signedMessage: string; - address: string; -} - -type SessionSigsMap = Record; -``` - -## Parameters - -### `pkpPublicKey` -If you want to pass the `authNeededCallback`, having a PKP public key is necessary. Can be used if you do not have a wallet and wish to authenticate with your PKP. - -### `expiration` - When this session signature will expire. After this time is up, you will need to reauthenticate using the same authentication method, generating a new session signature. The default time until expiration is 24 hours. - -### `chain` - The chain to use for the session signature and sign the session key. If you're using EVM, this parameter isn't very important. - -### `resourceAbilityRequests` -An array of resource abilities that you want to request for this session. These will be signed with the session key. - -If you want to request the ability to decrypt an access control condition, then you would pass: - ```ts - [{ resource: new LitAccessControlConditionResource('someResource'), ability: LitAbility.AccessControlConditionDecryption }] - ``` - -### `sessionCapabilityObjects` - The session capability object that you want to request for this session. If you pass nothing, then this will default to - wildcard for each type of resource you're accessing. - For example, if you passed nothing, and you're requesting to perform a decryption operation for an access control condition, then the session capability object will be a wildcard for the access control condition, which grants this session signature the ability to decrypt this access control condition. - -### `switchChain` -If you want to ask MetaMask to try and switch the user's chain, you may pass true here. This will only work if the user is using MetaMask. If the user is not using MetaMask, then this will be ignored. - -### `sessionKey` -The serialized session key pair to sign. If not provided, a session key pair will be fetched from localStorage or generated. - -### `capabilityAuthSigs` -Not limited to capacityDelegationAuthSig, we want to be able to pass in any other authSigs for other purposes. - -### `authNededCallback` -This is a callback that will be called if you need to authenticate using a PKP. If you don't pass this callback, then the user will be prompted to authenticate with their wallet, like MetaMask. - -## Return Value - -### `sig` -The signature produced by the ed25519 key pair signing the `signedMessage` payload. - -### `derivedVia` -Should be `litSessionSignViaNacl`, specifies that the session signature object was created via the `NaCl` library. - -### `signedMessage` -The payload signed by the session key pair. This is the signed `AuthSig`, which includes the fields: - -- #### `sessionKey` - The session key pair public key. -- #### `resourceAbilityRequests` - An array of resource abilities that you have requested for the session. -- #### `capabilities` <- Needs a fact check - An array of one or more `AuthSig`. The `capabilities` authorize the `AuthSig` address(es) to utilize the resources specified. in the `resourceAbilityRequests` -- #### `issuedAt` - The time the session signature was issued. -- #### `expiration` - The time the session signature becomes invalid. -- #### `nodeAddress` - The specific URL the session signature is meant for. - -### `address` -The session key pair public key. - -### `algo` -The signing algorithm used to generate the session signature. +To see the parameters and return of `getSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getSessionSigs). ## Example Implementation -Now that we know what the `getSessionSigs` function does, it's parameters, and it's return values, let's dig into a complete implementation. - The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). ### Installing the Required Dependencies @@ -141,7 +42,6 @@ npm install \ @lit-protocol/auth-helpers \ @lit-protocol/constants \ @lit-protocol/lit-node-client \ -node-localstorage \ ethers@v5 ``` @@ -154,14 +54,13 @@ yarn add \ @lit-protocol/auth-helpers \ @lit-protocol/constants \ @lit-protocol/lit-node-client \ -node-localstorage \ ethers@v5 ``` - +The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. ### Instantiating an Ethers Signer The `ETHEREUM_PRIVATE_KEY` environment variable is required. @@ -170,7 +69,7 @@ import { LIT_RPC } from "@lit-protocol/constants"; import * as ethers from "ethers"; const ethersSigner = new ethers.Wallet( - ETHEREUM_PRIVATE_KEY, + process.env.ETHEREUM_PRIVATE_KEY, new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) ); ``` @@ -224,7 +123,7 @@ const sessionSignatures = await litNodeClient.getSessionSigs({ uri, expiration, resources: resourceAbilityRequests, - walletAddress: await ethersSigner.getAddress(), + walletAddress: ethersSigner.address, nonce: await litNodeClient.getLatestBlockhash(), litNodeClient, }); @@ -240,12 +139,6 @@ const sessionSignatures = await litNodeClient.getSessionSigs({ **Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. -## Resources You Can Request - -You can pass an array of `resourceAbilityRequests` to the above functions, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. - -When session capability objects are omitted from functions generating session signatures, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. Read more [here](capability-objects) about how to create custom session capability objects. - ## Clearing Local Storage If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). @@ -253,6 +146,6 @@ If you want to clear the session key stored in the browser local storage, you ca ## Summary The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). -After executing the example implementation above, you will have generated and stored your session public and secret keys, and the `AuthSig` signed for the session signatures. +After executing the example implementation above, you will have generated and stored session signatures that allow you to request decrypting data that you satisfied the Access Control Conditions for. diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 29d95545..dfe3b05a 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -142,6 +142,12 @@ Here is what each field in `signedMessage` means: - `expiration` is the time the SessionSig becomes invalid. - `nodeAddress` is the specific URL the SessionSig is meant for. +### Resources you can Request + +You can pass an array of `resourceAbilityRequests` to the above functions, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. + +When session capability objects are omitted from functions generating session signatures, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. This should only be done when debugging, as allowing unspecified access control conditions is a security vulnerability. Read more [here](capability-objects) about how to create custom session capability objects. + #### Node Address The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. From eea0d8cd71abddbceb470016761eee1d3459ab09 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 31 Jul 2024 17:10:17 -0700 Subject: [PATCH 448/627] Lit Explorer can mint PKPs again --- docs/sdk/wallets/minting-methods/mint-via-contracts.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/sdk/wallets/minting-methods/mint-via-contracts.md index 37a35c96..bb1f506b 100644 --- a/docs/sdk/wallets/minting-methods/mint-via-contracts.md +++ b/docs/sdk/wallets/minting-methods/mint-via-contracts.md @@ -3,8 +3,9 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Mint via Contracts You can mint a PKP NFT from the PKP contract on Chronicle Yellowstone - Lit's custom EVM rollup testnet - using: -1. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) or -2. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil)). +1. The [Lit explorer](https://explorer.litprotocol.com) +2. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) +3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil)). The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. From 64bbd3f1c4bda17d8380b4e35c8a5f7da7c7ae4c Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 31 Jul 2024 18:19:39 -1000 Subject: [PATCH 449/627] Rename pages and init Overview page --- docs/paying-for-lit/capacity-credit-intro.md | 5 ++ .../creating-session-signatures.md | 1 + .../creating-session-with-credit.md | 1 - docs/paying-for-lit/intro.md | 0 docs/paying-for-lit/overview.md | 60 +++++++++++++++++++ docs/paying-for-lit/payer-wallet.md | 1 - docs/paying-for-lit/paying-for-usage.md | 1 - docs/paying-for-lit/usage-examples.md | 1 + sidebars.js | 15 +++-- 9 files changed, 76 insertions(+), 9 deletions(-) create mode 100644 docs/paying-for-lit/capacity-credit-intro.md create mode 100644 docs/paying-for-lit/creating-session-signatures.md delete mode 100644 docs/paying-for-lit/creating-session-with-credit.md delete mode 100644 docs/paying-for-lit/intro.md create mode 100644 docs/paying-for-lit/overview.md delete mode 100644 docs/paying-for-lit/payer-wallet.md delete mode 100644 docs/paying-for-lit/paying-for-usage.md create mode 100644 docs/paying-for-lit/usage-examples.md diff --git a/docs/paying-for-lit/capacity-credit-intro.md b/docs/paying-for-lit/capacity-credit-intro.md new file mode 100644 index 00000000..df771d9d --- /dev/null +++ b/docs/paying-for-lit/capacity-credit-intro.md @@ -0,0 +1,5 @@ +# Capacity Credits + + + +Capacity Credits are an extension of ERC-721 NFTs that reserve a specific amount of requests for you to use over a period of time. The [contract](https://github.com/LIT-Protocol/lit-assets/blob/develop/blockchain/contracts/contracts/lit-node/RateLimitNFT/RateLimitNFTFacet.sol) is deployed on the Chronicle Yellowstone rollup, and can be interacted with via the Lit Relayer, or the Chronicle Yellowstone RPC endpoint: `https://yellowstone-rpc.litprotocol.com/`. diff --git a/docs/paying-for-lit/creating-session-signatures.md b/docs/paying-for-lit/creating-session-signatures.md new file mode 100644 index 00000000..738ad41d --- /dev/null +++ b/docs/paying-for-lit/creating-session-signatures.md @@ -0,0 +1 @@ +# Creating Session Signatures \ No newline at end of file diff --git a/docs/paying-for-lit/creating-session-with-credit.md b/docs/paying-for-lit/creating-session-with-credit.md deleted file mode 100644 index b16d302a..00000000 --- a/docs/paying-for-lit/creating-session-with-credit.md +++ /dev/null @@ -1 +0,0 @@ -# Creating a Session \ No newline at end of file diff --git a/docs/paying-for-lit/intro.md b/docs/paying-for-lit/intro.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md new file mode 100644 index 00000000..186b2d6f --- /dev/null +++ b/docs/paying-for-lit/overview.md @@ -0,0 +1,60 @@ +# Paying for the Usage of the Lit Network + +Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. + +In order to use the paid pre-production ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) and production ([Datil](../connecting-to-a-lit-network/mainnets#datil)) Lit networks, you must reserve capacity on the network. This is done using by minting Capacity Credits, and by making use of the Lit Relayer and/or the Payment Delegation Database. + +## Overview of Payment Methods + +### Capacity Credits + +Capacity Credits are NFT tokens that represent reserved computational capacity on the Lit network. When minting a credit, you specify and pay to reserve a specific amount of requests per second over a period of time. You'll then use these credits when making requests to the Lit network to perform actions such as decryption, executing Lit Actions, and using PKPs. + +For a deep dive into Capacity Credits, including minting and usage details, checkout the in-depth [documentation](./capacity-credit-intro.md). + +### Lit Relayer + +The Lit Relayer is an [open-source service](https://github.com/LIT-Protocol/relay-server) currently hosted by Lit to facilitate onboarding into the Lit ecosystem. It helps reduce initial costs by covering or subsidizing certain interactions with the Lit network, such as minting PKPs and paying for network requests to perform actions like decryption, executing Lit Actions, and using PKPs. + +While the Relayer eases the onboarding process, it's important to note that its availability is not guaranteed. Users may experience rate limiting and/or congestion due to its shared nature. + +As you progress with your Lit integration, we recommend implementing Capacity Credits and/or the Payment Delegation Database in your application. These solutions offer more reliable and scalable options for managing your long-term usage of the Lit network. + +For a deep dive into the Relayer, including its usage and offered services, checkout the in-depth [documentation](./lit-relayer.md). + +### Payment Delegation Database + +The Payment Delegation Database is a service provided by the Lit Relayer that streamlines payment management for your users. This service offers an alternative to relying on the Lit Relayer's payment subsidies or minting individual Capacity Credits for each of your users. With the Payment Delegation Database, you can establish a Payer Wallet and designate your users as Payees. + +The Payer Wallet acts as a central account that manages payment for Lit network usage on behalf of your users (Payees). Payees inherit the reserved capacity of the Payer Wallet, which automatically receives a minted capacity credit when registered with the service. + +For a deep dive into the Payment Delegation Database, including how to register a Payer Wallet and add users as Payees, checkout the in-depth [documentation](./payment-delegation-db.md). + +### Choosing the Right Payment Method + +The Lit network offers multiple payment methods to suit various use cases and application scales. Consider the following guidelines when selecting the most appropriate option for your needs: + +- Capacity Credits: Ideal for individual users or small-scale applications requiring direct control over their network resource allocation. This option is ideal when you don't have to manage payments for a large user base. +- Lit Relayer: Best for initial testing and prototyping. It reduces onboarding friction by subsidizing some network interactions, but is subject to availability and potential rate limiting. +- Payment Delegation Database: Suitable for larger applications or those with a large user base. It allows centralized management of payments, simplifying resource allocation for numerous users. + +For optimal results: + +- New developers may start with the Lit Relayer for easy onboarding. +- As your application grows, transition to Capacity Credits for more reliable resource allocation. +- Large-scale applications should consider the Payment Delegation Database for efficient management of multiple users. + +## Getting Started + +To begin using the paid Lit networks: + +1. Assess your needs: Consider your expected usage, scale of operations, and whether you'll be managing payments for multiple users. +2. Choose a payment method: + - For testing and prototyping, start with the Lit Relayer. + - For individual or small-scale use, consider Capacity Credits. + - For applications with many users, look into the Payment Delegation Database. +3. Set up your chosen method: + - For the Lit Relayer, go [here](./lit-relayer.md) to begin integrating it into your application. + - For Capacity Credits, go [here](./capacity-credit-intro.md) to learn how to mint and use them. + - For the Payment Delegation Database, go [here](./payment-delegation-db.md) to learn how to register a Payer Wallet and add your users as Payees. +4. Monitor your usage and adjust as needed. diff --git a/docs/paying-for-lit/payer-wallet.md b/docs/paying-for-lit/payer-wallet.md deleted file mode 100644 index 48496371..00000000 --- a/docs/paying-for-lit/payer-wallet.md +++ /dev/null @@ -1 +0,0 @@ -# Setting Up a Payer Wallet \ No newline at end of file diff --git a/docs/paying-for-lit/paying-for-usage.md b/docs/paying-for-lit/paying-for-usage.md deleted file mode 100644 index 70cebbd4..00000000 --- a/docs/paying-for-lit/paying-for-usage.md +++ /dev/null @@ -1 +0,0 @@ -# Credit Usage Examples \ No newline at end of file diff --git a/docs/paying-for-lit/usage-examples.md b/docs/paying-for-lit/usage-examples.md new file mode 100644 index 00000000..14c97ab2 --- /dev/null +++ b/docs/paying-for-lit/usage-examples.md @@ -0,0 +1 @@ +# Usage Examples \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index d7a874c0..e421106c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -117,15 +117,17 @@ const sidebars = { collapsed: true, link: { type: 'doc', - id: 'paying-for-lit/intro', + id: 'paying-for-lit/overview', }, items: [ - 'paying-for-lit/lit-relayer', - 'paying-for-lit/payment-delegation-db', { type: 'category', label: 'Capacity Credits', collapsed: true, + link: { + type: 'doc', + id: 'paying-for-lit/capacity-credit-intro', + }, items: [ { type: 'category', @@ -136,12 +138,13 @@ const sidebars = { 'paying-for-lit/minting-capacity-credit/lit-contracts', ], }, - 'paying-for-lit/payer-wallet', - 'paying-for-lit/creating-session-with-credit', + 'paying-for-lit/creating-session-signatures', 'paying-for-lit/delegating-credit', - 'paying-for-lit/paying-for-usage', + 'paying-for-lit/usage-examples', ], }, + 'paying-for-lit/lit-relayer', + 'paying-for-lit/payment-delegation-db', ], }, { From 0f8757fa0c4c2ba3bdc1de1d7898df767939d05c Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 1 Aug 2024 17:40:48 -0700 Subject: [PATCH 450/627] Updated nodes --- docs/resources/how-it-works.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index 3218ba41..b44ba7ae 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -67,18 +67,18 @@ Currently, the Lit network is in [Mainnet Beta](../network/migration-guide.md) a ### Node Operators -The current node operators active on the Datil Mainnet Beta include: +The full list of Datil node operators includes: - Lit Protocol (our node) -- [Collab.Land](https://www.collab.land/?ref=spark.litprotocol.com) +- [Hypha](https://hypha.coop/?ref=spark.litprotocol.com) +- [Thunderhead](https://thunderhead.xyz/?ref=spark.litprotocol.com) +- [Zeiron](https://zerion.io/?ref=spark.litprotocol.com) +- [HireNodes](https://hirenodes.io/?ref=spark.litprotocol.com) +- [ETHGlobal](https://ethglobal.com/?ref=spark.litprotocol.com) - [Terminal3](https://www.terminal3.io/?ref=spark.litprotocol.com) -- [Bware Labs](https://bwarelabs.com/?ref=spark.litprotocol.com) -- [Streamr](https://streamr.network/?ref=spark.litprotocol.com) -- [1kx](https://1kx.network/?ref=spark.litprotocol.com) -- [Molecule](https://www.molecule.xyz/?ref=spark.litprotocol.com) - [Imperator](https://www.imperator.co/?ref=spark.litprotocol.com) - [01node](https://01node.com/?ref=spark.litprotocol.com) -- [CMT Digital](https://cmt.digital/?ref=spark.litprotocol.com) +- [Cheqd](https://cheqd.io/?ref=spark.litprotocol.com) ### The Lit Protocol Token (LITKEY) From 869f2b5c0790140b2d0630eb97ef4f5b44ccd3c5 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 5 Aug 2024 13:48:27 -0700 Subject: [PATCH 451/627] Testing --- docs/sdk/authentication/session-sigs/intro.md | 103 ++---------------- static/img/SessionSigs.png | Bin 0 -> 38507 bytes 2 files changed, 9 insertions(+), 94 deletions(-) create mode 100644 static/img/SessionSigs.png diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index dfe3b05a..2eed0bb3 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -11,20 +11,22 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; `SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. ::: +Session signatures are how the Lit network authenticates your connection, verifies your identity, and confirms your capabilities. -To communicate with a Lit network, you must first authenticate yourself using session signatures. +Session signatures are necessary to generate whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g., signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). -Session signatures are created with session keys, which are generated when you initiate a session through a request to a Lit network using the Lit SDK. These session keys are unique `ed25519` keypairs generated locally by the Lit SDK and are used to sign all requests to the Lit Network during the current session. Think of them as a temporary ID badge for signing all your requests to Lit during the session. +Session signatures are created with session keys, which are generated when you initiate a session through a request to a Lit network using the Lit SDK. Session keys are unique [`ed25519`](https://ed25519.cr.yp.to/) keypairs generated locally by the Lit SDK and are used to sign all requests to the Lit Network during the current session. -While session signatures facilitate ongoing communication, more secure access requires an `AuthSig` (Authentication Signature) to verify your identity and authorization to the Lit Nodes. -An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message that specifies: -- The Lit resources you're requesting access to (e.g., PKPs, Lit Actions). -- The specific [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) you're requesting for the session keys (e.g., signing transactions with a particular PKP, executing a specified Lit Action). +While session signatures facilitate ongoing communication during a session, an `AuthSig` (Authentication Signature) is used to verify your identity and authorization to the Lit Nodes. + +An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message that specifies the Lit Resources and Lit Abilities of the session. The `AuthSig` allows Lit Nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit Network. When you make a request, each Lit Node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. -This authentication system ensures that the Lit Network remains secure, verifying that you are genuinely making the request and that you have the necessary authorization. +This authentication system enhances the security of the Lit network. For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. + +![Session Signatures Diagram](../../../../static/img//SessionSigs.png) ## Paying for Usage of the Lit Network @@ -55,93 +57,6 @@ All functions for generating session signatures will try to create a session key If you do not provide an instance of `LocalStorage` as the `provider`, then new session keys will be generated every time you run this code instead of one set of keys being reused. -## Format of `SessionSigs` - -Given the following example `AuthSig`: - -```json -{ - "sig": "0xef8f88fb285f006594637257034226923e3bbf7c6c69f8863be213e50a1c1d7f18124eefdc595b4f50a0e242e8e132c5078dc3c52bda55376ba314e08da862e21a", - "derivedVia": "web3.eth.personal.sign", - "signedMessage": "localhost:3000 wants you to sign in with your Ethereum account: - 0x5259E44670053491E7b4FE4A120C70be1eAD646b - - - URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a - Version: 1 - Chain ID: 1 - Nonce: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553 - Issued At: 2022-10-30T08:25:33.371Z - Expiration Time: 2022-11-06T08:25:33.348Z - Resources: - - urn:recap:eyJkZWYiOlsibGl0U2lnbmluZ0NvbmRpdGlvbiJdLCJ0YXIiOnsicmVzb3VyY2VJZCI6WyJsaXRFbmNyeXB0aW9uQ29uZGl0aW9uIl19fQ==", - "address":"0x5259E44670053491E7b4FE4A120C70be1eAD646b" -} -``` - -
    - -Here is an example `SessionSig` that uses a session keypair to sign the `AuthSig` above: - -```json -{ - "sig": "0196a7e5b8271e287fc376af3ae35955cac1009149b9b9eab4c5f8c845ca20658f937a42b7c03a8884573b801de1c36f9fa8a6d2f3ba432dc4326443c114c40c", - "derivedVia": "litSessionSignViaNacl", - "signedMessage": '{ - "sessionKey": "6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a", - "resourceAbilityRequest": [ - { - "resource": "lit-accesscontrolcondition://524a697a410a417fb95a9f52d57cba5fa7c87b3acd3b408cf14560fa52691251", - "ability": "access-control-condition-decryption" - } - ], - "capabilities": [{ - "sig": "0xef8f88fb285c0065946f7257034226923e3bbf7c6c69f8863be213e50a1c1d7f18124eefdc595b4f50a0e242e8e132c5078dc3c52bda55376ba314e08da862e21a", - "derivedVia": "web3.eth.personal.sign", - "signedMessage": "localhost:3000 wants you to sign in with your Ethereum account: - 0x5259E44670053491E7b4FE4A120C70be1eAD646b - - - URI: lit:session:6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a - Version: 1 - Chain ID: 1 - Nonce: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553 - Issued At: 2022-10-30T08:25:33.371Z - Expiration Time: 2022-11-06T08:25:33.348Z - Resources: - - urn:recap:eyJhdHQiOnsibGl0LWFjY2Vzc2NvbnRyb2xjb25kaXRpb246Ly81MjRhNjk3YTQxMGE0MTdmYjk1YTlmNTJkNTdjYmE1ZmE3Yzg3YjNhY2QzYjQwOGNmMTQ1NjBmYTUyNjkxMjUxIjp7IiovKiI6W3t9XX19LCJwcmYiOltdfQo=", - "address":"0x5259E44670053491E7b4FE4A120C70be1eAD646b" - }], - "issuedAt": "2022-10-30T08:27:01.667Z", - "expiration": "2022-10-30T08:32:01.667Z", - "nodeAddress": "https://node2.litgateway.com:7370" - }', - "address": "6a1f1e8a00b61867b85eaf329d6fdf855220ac3e32f44ec13e4db0dd303dea6a", - "algo": "ed25519" -} -``` - -
    - -Here is what each field means: - -- `sig` is the signature produced by the ed25519 keypair signing the `signedMessage` payload -- `derivedVia` should be `litSessionSignViaNacl` and specifies that the SessionSig object was created via the `NaCl` library. -- `signedMessage` is the payload that was signed by the session keypair. -- `address` is the session keypair public key. -- `algo` is the signing algorithm used to generate the session signature. - -### Signed Message - -Here is what each field in `signedMessage` means: - -- `sessionKey` is the session keypair public key. -- `resourceAbilityRequests` is a lit of abilities that the session key is requesting to perform against the specified Lit resources during authentication. Read more [here](resources-and-abilities) about Lit Resources and Abilities. -- `capabilities` is an array of one or more AuthSigs. -- `issuedAt` is the time the SessionSig was issued. -- `expiration` is the time the SessionSig becomes invalid. -- `nodeAddress` is the specific URL the SessionSig is meant for. - ### Resources you can Request You can pass an array of `resourceAbilityRequests` to the above functions, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png new file mode 100644 index 0000000000000000000000000000000000000000..92ab37f12c6f9579302ba626104776c02a23ddf4 GIT binary patch literal 38507 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�tNT8Lxpq9$U(Yw*`RK8~y;|UMP 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
    sO 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 literal 0 HcmV?d00001 From c02256f69801b667b592b398e18719ba397febf6 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 5 Aug 2024 14:44:46 -0700 Subject: [PATCH 452/627] Diagram redo --- static/img/SessionSigs.png | Bin 38507 -> 69064 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index 92ab37f12c6f9579302ba626104776c02a23ddf4..eb3fdb0afb7eeb8a47882dd963a2ba70827e2b2c 100644 GIT binary patch literal 69064 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 u?k5oTio)Lw9_?I{&{pq(`X$ literal 38507 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�tNT8Lxpq9$U(Yw*`RK8~y;|UMP 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 From 11d6bc4db432edf38117153bb9118f6eccec542d Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 5 Aug 2024 17:59:42 -0700 Subject: [PATCH 453/627] More intro updates --- docs/sdk/authentication/session-sigs/intro.md | 6 +++++- static/img/SessionSigs.png | Bin 69064 -> 278148 bytes 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 2eed0bb3..90ddaea5 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -13,7 +13,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; ::: Session signatures are how the Lit network authenticates your connection, verifies your identity, and confirms your capabilities. -Session signatures are necessary to generate whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g., signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). +Generating session signatures is necessary whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g., signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). Session signatures are created with session keys, which are generated when you initiate a session through a request to a Lit network using the Lit SDK. Session keys are unique [`ed25519`](https://ed25519.cr.yp.to/) keypairs generated locally by the Lit SDK and are used to sign all requests to the Lit Network during the current session. @@ -30,10 +30,14 @@ This authentication system enhances the security of the Lit network. For detaile ## Paying for Usage of the Lit Network +You can facilitate payment for the Lit network within session signatures. + The correct code implementation will depend on whether you're using the free-to-use `datil-dev` network, or one of the "paid" networks: `datil` or `datil-test`. Usage of the `datil` and `datil-test` networks require the use of [Lit Capacity Credits](../../../sdk/capacity-credits.md). Currently, Capacity Credits are paid for using the `tstLPX` token and don't require any real-world money. However, in the future you will need to pay real-world money for usage of Lit networks, and `datil` and `datil-test` are the Lit networks where this functionality is being tested and refined. +To implement payments correctly, include a [`capacityDelegationAuthSig`](https://developer.litprotocol.com/sdk/capacity-credits#createcapacitydelegationauthsig) within the `capabilityAuthSigs` array when generating session signatures. + ## Storing `SessionSigs` When running code to generate session signatures, storing them can be done by using the `LocalStorage` imported from the `node-localstorage` package. diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index eb3fdb0afb7eeb8a47882dd963a2ba70827e2b2c..d4a2ce72c168023410068439d888a6402ccb42df 100644 GIT binary patch literal 278148 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%0DOY%LBxNZ0i6I} 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Ν=z2PpAPK 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≠%j-^KHkdY2GkKDZml=W| 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

    NUm`?-N>zlEwb@3famU@Y(V$hw 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%0DYKUb{K4DS9}sKGuU3MH7u}euj2{!3 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 LJxJOA$A$k7Xk@Bb literal 69064 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 u?k5oTio)Lw9_?I{&{pq(`X$ From b7367d20b116deb4feb20308ad2edef7a0160cff Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 5 Aug 2024 18:06:41 -0700 Subject: [PATCH 454/627] Diagram enlarged --- static/img/SessionSigs.png | Bin 278148 -> 332998 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index d4a2ce72c168023410068439d888a6402ccb42df..6ed6de9b0ab44984388b355b3bffba2989131d39 100644 GIT binary patch delta 242175 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

    +VnB#0DeNm%T}Cykya^DFGd7;m#rbv!B6XEHG; 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

    5EMd-&H%hon~k-+2KPVG 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

    EY&NNZK-Xct}5o3W0Tw8=%w8SkW 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 z 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 hJ*sRp*JTbA*E^X1YmcHzQ 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 D7^O!0 From f5546ed6bfd6aff69071d54339567f51155c5141 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 5 Aug 2024 18:31:04 -0700 Subject: [PATCH 455/627] More intro clarity --- docs/sdk/authentication/session-sigs/intro.md | 17 ++++++++--------- static/img/SessionSigs.png | Bin 332998 -> 332918 bytes 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 90ddaea5..6eb97459 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -26,6 +26,7 @@ When you make a request, each Lit Node checks your `AuthSig` to confirm that you This authentication system enhances the security of the Lit network. For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. +## SessionSigs Generation Diagram ![Session Signatures Diagram](../../../../static/img//SessionSigs.png) ## Paying for Usage of the Lit Network @@ -40,13 +41,13 @@ To implement payments correctly, include a [`capacityDelegationAuthSig`](https:/ ## Storing `SessionSigs` -When running code to generate session signatures, storing them can be done by using the `LocalStorage` imported from the `node-localstorage` package. +When running code to generate session signatures, you can store the session signatures and session keys using `LocalStorage` from the `node-localstorage` package. ```javascript import { LocalStorage } from "node-localstorage"; ``` -When running code within a browser, this import is not needed, as the session keys will be stored within the browser's local storage. However, when running this code in an environment such as Node.js where browser local storage is not available, the `LocalStorage` module is used to provide file-based storage for our generated session keys and metadata. +When running code within a browser, this import is not needed, as the session signatures and keys will be stored within the browser's local storage. However, when running this code in an environment such as Node.js where browser local storage is not available, the `LocalStorage` module can be used to provide file-based storage. ```javascript litNodeClient = new LitNodeClient({ @@ -57,18 +58,16 @@ litNodeClient = new LitNodeClient({ }, }); ``` -All functions for generating session signatures will try to create a session key for you and store it in the local storage. The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session key as the optional `sessionKey` parameter when generating session signatures. +When a `storageProvider` is added to the `LitNodeClient` instance, all functions for generating session signatures will try to create a session keypair for you and store it in the local storage. -If you do not provide an instance of `LocalStorage` as the `provider`, then new session keys will be generated every time you run this code instead of one set of keys being reused. +The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session keypair as the optional `sessionKey` parameter when generating session signatures. + +If an instance of `LocalStorage` is not provided as the `storageProvider`, a new session keypair will be generated each time the code runs, instead of reusing a single set of keys. ### Resources you can Request -You can pass an array of `resourceAbilityRequests` to the above functions, which will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of `resourceAbilityRequests` to any of the functions that generate session signatures. These will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. When session capability objects are omitted from functions generating session signatures, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. This should only be done when debugging, as allowing unspecified access control conditions is a security vulnerability. Read more [here](capability-objects) about how to create custom session capability objects. -#### Node Address - -The `nodeAddress` will be different for each node, which means that, for a 30-node network, the SDK will generate 30 different `sig` and `signedMessage` parameters. - diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index 6ed6de9b0ab44984388b355b3bffba2989131d39..5fe7bc7a0c271a4eb958fc2f0e44130f6a777ac7 100644 GIT binary patch delta 249958 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

    *P&He8oP?)`MC4d2YEQFc9{lu7@#KJ43+QU-!h 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�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šoV2Yl=YDe{wWwyG5!<7|Bc0~j=yZuD* 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 delta 249804 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

    Ime02D-h(D+HL?x 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

    haQ(|}#poW9f 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%0Dk&L`~{_5x#&ti-RPBl#_)Fg4igtsj3 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¬ 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 F{T~x{bz}el literal 0 HcmV?d00001 diff --git a/docs/paying-for-lit/minting-capacity-credit/lit-contracts.md b/docs/paying-for-lit/minting-capacity-credit/lit-contracts.md deleted file mode 100644 index 9d73f7a1..00000000 --- a/docs/paying-for-lit/minting-capacity-credit/lit-contracts.md +++ /dev/null @@ -1 +0,0 @@ -# Using the Lit Contracts Package \ No newline at end of file diff --git a/docs/paying-for-lit/minting-capacity-credit/lit-explorer.md b/docs/paying-for-lit/minting-capacity-credit/lit-explorer.md deleted file mode 100644 index 6da78dba..00000000 --- a/docs/paying-for-lit/minting-capacity-credit/lit-explorer.md +++ /dev/null @@ -1 +0,0 @@ -# Using the Lit Explorer \ No newline at end of file diff --git a/docs/paying-for-lit/minting-capacity-credit/lit-explorer.png b/docs/paying-for-lit/minting-capacity-credit/lit-explorer.png new file mode 100644 index 0000000000000000000000000000000000000000..f08a3d31c967fcc01c3f3efc9136136d057af19d GIT binary patch literal 279373 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

    {i<(61gqS9rC2Ot>gv<4 z8OE3D?L|3SQhi*Px6bU+E=aJGVcTmw{E0 zzV+l)Bipk&iW|U~SWXkKQ%|3FyQD!U@#c>sA_c>aaiz@I0FQ2fmX@KF`2Gf>WY&oo$~5|N2ziL(tiin%MS%40Lv ziyn!Qo;EiRpnEQ*71Ibnm;6^)X-nkFp}BXuU&90hDC;K%tnsl zULxC!vs7_<24Qqv7QFllnVS03Yb{MHZ0(+*KmIe6{mV69?Su7}>*?c%iy;SQezx5D zQ=EfXrW2P3H9sf@4y`sVR)=i-EJVuTo9zmt1(Q-;lba0mS4x*bVT-lNp*+cf&2Aai zo^Ra_nB7weUwmy%>q~3(D>8Hq>Zl`r92m>N_)7VDF9|(Q-h=CSIPJSyUVRwtmw-PU z7nAH){IylY*ztXd4ayE~^_x1aIf@Un$Z`6ac~w0vR$Z(opcWzDLwAFDei5)no!VL; z=WGtmt=rCOFa^7O5lFtZZgOThvp9~9f}cdLDQROyEo_c~jo2@py0Y{`>$_L;Md{tb z`k3D!>JI4ndYs>-FzV{W`L9U+Liq2g$8Kgl(qq_{*3Y*_->FOsm|$+S;#?=)oRTJ1 zAHY-*6IX-9+-}xKdq*M}*1>P#P$NQ1C$nwtVNVCfv8C76G4s-mL$cze6UCQ87TZcZ!!|!*W;+K-d3pkkZU$78#xHJt9ex0XDpL%z445`! zf08agbU&V7?tfr~C$fPg7qd-~(~A7IEt>b^K`J)y?4G}*;-0&q%V3J+W(1E#tz%tTM?;FO2`ScVm{_LQr|Qp9ZMWoc|ub?#J(E0WqojihuH5VCM<$n)JzJ)n>vPEBx@4}L^ zHsCeMAPj(AL$xil`PyPStRlqg0tF5|cl504Ix>s#aoda6nf>6=(uMN+OdpEKT;=vg zq9Ex3j5d!2b<<}ttfP1LG9pAtMDcosE&NzqgbEG00-dI%5@EgposRn6M$ZE#$(e%Y zWf!#^Xp&qF7=f2FbT1veQ48Luzupu2_$FQvy@leKZX`ijt&b)!G3)CsH;MvQob~m# z^1z(8Rm9@D8pecKL=R9Uy%|&(75)t92bdn9uTVEWE_2ySt}^p^cedu>Y`+@L^TbG7 zEK?3E8u}%e8;F1>S<{;I*Z4_p&_L&n5i4$?M^g;mOoxax)V{nm3ubmLXX&pXo8Fc$ zq`p21GH*2GZqUIj!g4)#3dg*|kFOqIdAXdxT{pO*)f1d8dJaRThHyKtMhxKF+kHtU zw6IfO#l<0H%AZWdC;2w2_i(bC0CJPYD&Nazp9CX;i##y&VSdpiUZ z(ovu;a{Zl*O-fG)n!``n)$y2yuygthQy6tg^l}?4%zTABE}fApx;n&g9&1#Kr8{bk zm2c<86TJ`6BlkxGx|(NVvQE6JhSs&g%hWK#8r78CJK{av>;Os(f;j3}t0Kk-sBOlx z#HRQjtAq>qi{4w%fwJG($K=gnV$=uK4Nh>%sMel9x{KGdqZzJVj})AHscm^7Qt)ZM zd6sqj(`Yo!3k87qQ+lp+=JGGV`TY)ormc!3XjO!fKHK>20p1rDc6%+ z7_F2$sUK=Kk-AJrhFNHAwMp`x7|eOQ?i4AAU5m!X%Pg<;uouw%&EaOY2U+X(B7V)- z+kYIj)Z6&T7vayD4sI&s!ntock|9-d>`=10u41-k4)%>liy&$haYBad|7F6AAgmWS zOIqH8<>E;CY#bQ-zomb&)f|cy!?)AjSXOXhR+149z*kxA| z9m(qNs=I0SFYxz&Io!QJcLA<5K>2ONP2ykBY?S^fB(>(1Z$Goj-hpL%BG(tW_{&3r zhkMcomH~DoAOvfN+{0Tr9Lb4oc<*y@YKKvqa)fI*Mt|<40Hd?#J>v1<&DMsHT)nK7;?CpC>4W+se zwN2{vf?Q2=^W%rkL`#=S?B<8koid-g&A>lctxt@D$`2wj%lBE0(Fl~f&I2DX=fI3? zt8kT1*I7IIE4ju@1L}TlOTRb7{#j)%y(`&PO5}P&MN+buYi;*RTc7ALISr1ZTF zeM}+6UBIErLp(uDe$gtmijwt2hyBg>q{Zt%&obuU9brKGa8#Bh*b7 z--#k)`9)?T=IWjMAF4a}Craz-VoI5Q<8`OdloFzC*e4r0+mEhQ2^DpHc#<(rF62x0 z76un9s!-+~YY|gWAq-#pt^DWUV8hwfC?xSx-4YJ(lQNmX<~+~H#yvNf%P&NVCarp0 z3JdHZ{LWG6TiR@!c%hnep^`04d-%E3G*?f2tn&^yF9YD8#=-EX>T2to?nIAb@w9QL z)tcM1!MO`$w>(j~{jNbj$A@t5j+aV={=S;5hHn-xNJprfXVGExWsG|tMyha2qDCYn za`7M-3oN;8_Egja&O`Q@J)eDhn;^>Z_m=LId+~8I-s)nvD-Gdo^qMOzZG0Jr7+BVA zjm_|WQYUHSX20)f!DI#n|I8}nfh3yxsh&(Y%dg@5bEM#`@yvIcCwH%5QOfV{qZ(}f z()U)3gXQk;Q4t?d=S`$&Ele=y>&AVTpPW08NhM?yenS9DN`uuQIfd4}_p_Q7it)%FU(6OE#tQ6M~L~eIhds9^7f0;blaogC`bh(V8FNh#++>TKtoWpe=PFjy`T>8c6 zw3PKi=x}#Q1zO;mwqs|P$e0E{S-13vX_$_*#rTN?Sq>h!@%PLSLHzuXqk4h8j=6bD zFhKgSEW^E26lG#1=WO-X8IK8`qjKG8-B14u!To2BTLZG$nv&ho6pL-Z_G;0(v~8>Z z9MQ$VW^+tFAm*TXAmn3kQQJR-7n~LmhQ8l4fUrr@u8F6RW488uc6}Ne_*ttfm&!;Toh%?F9o89tNh)G&Ug@JKCTa|>Y(p{aPtm+u1-Tws8X_Cj+QY)URDhgA3>TQ@> zl^8cG@mI5TmTLN+ZTYmTK2+7~hJ|EYKdBlg++lI_!i`?H{l?2biEynFb)W3}2T*X|0!Vu?6o*rGbqg#+g#1-jpP9!-VGr)gbV9t;b zfjue{lsfoJXM{%TQoqY*4!TvO6*Ur^c^A%aH@WILzQT4@P`Cn9jS9!r^xUrIBsda@ zGr^fhkBsh07I<_H$MxA~XOAP3^R$zLaZybM(1S)sT}IdYt>el~B&{O!jvrdmI*u4MJkGBYEAW7NMSJ2mf}ZlIpk4qo zYMDt!HHn98UELUnWZ}|e`D;!AizeJWd;j~E_yq86z5Tno?eC!ghO(AhDk`UDLr(qB zaZBWlw+%Z@sKrz2>5C!%lI$lFV#sK#;7^S+@U zC{@3ip|LjXA)G6G&d#YHDT^lr&^`z|quyZ|n@d7#{*rG3-)ykz;UVbZIzRrNz?hJ8 z>IQTEUK8c>lybIrrU5j4i6uuV@lH43@>3f8> zxcuI@IAcBC+EeItov+oFt*h@s5wt#jmnpAKW7s2SYv;SduhjYA57AoJxH>5Sc(S8+ z1z6;&`lO6NBf}6i7_p3)|OFa~sn%mhr&azPXNY>M%&R6<3&bV7^)jvk7FK{^0ZC z!y0T(LIS;j5CHi!JyAOOsZ^mH<`*#&(3a-*M)x+I7kC7K3ZiUzdDsQyd$;Tppl75o9jd8tE)$+u?4wmFK7M2{X$9t zA)obz2FLp6(+qyi``EZxw-N#&`KiZWVrhId7xQ_`OD5xmo-z?*-cd+EG38?}5{?Z3 zj%O09s5YNiIKH+K#DCtXGYz;ASj58%{abe}8jGl2di)t`Md-{b$nTGw?E;FO??D_n zW9jCelflIAM*oiv;wZ^=luIY=>CG%7>f&T9KKXbwDn@aLu_so3x?mKOwp^j{*9?Me zn*^MJ6nnX9FCMDl_(*eTSR!Pjzp^=MVR}#adBKfp{Z%q48qV(gc#KG25kG`owGC6s zxA;FB^MBX926@1T%YDWrmHw5Iop4cQ=C!uuF;mpIp?*j2g(pdBaf&c;MSKo{uv(ft z5k#wSuK~ON+E$OJ_$;Z5AgRd|UoqrgXx$|RucXdfNhzNjkHOpLM4HAyi!h?q3VW$q z3kBd~nx?mCySC%GnV>EBIzHgYM>7DO%z!R1K=I;#63T_Z8vUhWnG=L{J~4xbT&g1x4{Xtlq^~ zRIyvWMK|UCli@c&AGvm-7%Qy609GrGa3aa;fYeY0&?;~=Ei(MGI1gfa)l(Sbzxm~T>XGMRL)xiKPeLa9Z z6_DfP2lIVSw*z0X$_zvI{T4SGm-p71LuM3=l}Zva{a)eK2|nTpGk=aNn5jFoFj7RO zXlY)>kGcu768a-+=K8_}W2Qf9v{fcf*fn@I`p9<6CS$f&B=32@^lt;tEyxtHldZbP zp^HwdKp$s-Fs$5PfcJAkxu@1MgvB#89p+1eJ%V5aHnUBE*1~kaT%4cj!(tCl(8Fid zm9qnrI=lwo7%e8TfdfT-|MA8;J~k34QV+NOQOqDh1jeeL;G*Pb_I#(W0WLbjL*;&A zt(f;~btNz+jwB@|Jyx#Z{Uk0(QRvcY^?M?`t19QBoq8}X7{5ATDNYEn8p7k7mI|%L zWb=?6AAhN?nC3;DHF}RybiIp49dYpKM?TNlfOE_zE|{LnqvZ|eu{QG$PS)Bh*^56( zH4et;4P9sh#N!97AQ`m|zSfmDyJED+F1*+tH}pi&{8JiCd6GgOcQ`beq2&HSdzZ+f34)d}mMJJmy>h|>@pkhm@(5#Ke56HAZ=27m#MrwoC??z16 zK##L`yt_JXBl!6LXmH)hwKZ#E5XKQ9^d5pv>Y-GzUp>`{t8ZR@mafTGgluD9?Ia&v zfA&xv9q9P}Zf%$Vy*F84r#e0A6TRK={qW1ok@+RTrsgQ-Zx)X=-gH6@nfA|orJ%r;cenIa)tuvLBQ{rf4yZC#3N{2w%;q6#r=vB*DjB(yys&y*<2nXiII>t?6T!M)B|nbZ!rkMv05+`HffTBB3I zX+EYVmqFR?S@L)}zoOx?iWIJiD}9 zk|s8kq`2^2KBk+}yFL{=Zt3?RAz?XxAFM^@sovk0QY^c$wu{5v-2CG;`2zQAWS zHZc&raaEC)6?z)w#}?~(y`gk04;HO(2gbIk>Q9-snamIc!%8+Mv;El3$-zs(1~rSZ z;^zbCjH^#FGxPOVr-e8G<<3eugAW~@WEqk9{ENPtyz6R>!n#>#$OS7}`q@JdCw~`& z{Wj&-01~bt13iQZenu4=Gwzg zxT4;O{8zKENX*#Jr|8yXipitH{>4;j6}`AVBNgnZPNp2WC6+plqv-dVc&uOEI02;< zm<^6r%)=xwPANXX@r$-ZxZ8=mK+y!U>Qm!&+n^LtFy3>u*fq#?UeOn3lEMy1+c#a~ z9RidN`|&$P27ajoK)Ef`* zkZm@R9VJI7a!@4UusQtb3LS4JzJ8wS+9B-MD^GK`l1}zT;TNoV!QM^Sw!#1wI}hdS zOAQFIMF6$IR%Bdf_`>5ClthZ7n?4PKwy#&Wt`QYJgBM(On2oxNzb>Zjdd{r;N}FQX!B52E6@Brm z80^2)^q5}kd@JSK9K@;`#+oRuF`-~KxNhHLkIh;7yvS8r%J(&p&(`bLpT3Pq^(r8g z!DUM&Lh>k&WPg?u&HAR6{F)>~=thIPtAQ5v$Mb3FvERqAx8Zkqw2TLl&4`GDtw_4P z=;#P;BE^aB2RgcL1cG>E*q_`Kd%3%Zh57D=*V(ot;+sY74h`f~oi0KmUr-qOziszy zT)n?M|Ao{phj;=Q34`wE2ISrZLSTzP+7noy=CFMzLEO8GDN%SE?DbibH+zV zhz_4HTKL6@(8bdkl#0IEuvf{H`T{z8BlS>^E=KFJZgOlLZF10tED}sCEnEUPp(fk{ zkku>YR)X!}7FhCXq2k%N>g#AgR2PHdFKybbNe|hXW)O3tkZ+p^474)rE14^e?Ou6! zeN_QjeL;5GtKL_i4+mURVB8x!WEW=%j5YR9gEsrtFq&Rl4jJr0{|2=Ev45Ut_!rkWanIV-Bkdu>Ri2l=ge!PZ?L|n# zxc1j%8sVG++Z%ffLw~3U-RHM7d|a%Qd&F(CQL()ykQ6dzW7jW&>_-Upph$U>S`!M# zKd2p-|05PW=65={E*{g`75EvUH$J{3IMz`+s!pck-kyYN#9!jMNc}iM@2UXUz`@ht zPC)}IKv-8#AX{y<&rgrgR24s%JbT$Q11CGCf3a;`)GHwzBh!G(5JpXliLZf~4N45!1?G5&AI`du_8i@$`&Tx_U9k;ywmCA7ax6oVP{<#kr&1?GtGhD&LQ1PnG<{^CC{{kUzoOO1mGY zH`7aUUUeC z>2ncuckl-WgA~Ull0MP!5jhw9GB092og`2e=2v3QGvob=tZ!gN=8fm+oXQmIBcPR- z4acm@IdvBR8kN@4UM4D6^_B27>Awv({dI5J+^fj#PChul z^sT}>-vu3OOvJ}FuEb=OIO5+$@`Ues)9}{fbl414`>q~iP6f+&PWpYqiZj*ojLONh zIxrc!VZz6U@^k1^G&ruW_{81dhObnqL@_mFa$@#*o_unKQ(s11XSG|VE#pSzC7s#O z;OWs1ukISTRCKY5R{?n^1mmy#(y^Rb+bTyb_EUb9MY-n}vg(6} ziL_Wr%FQao-UUxm=L>OfnCq)xeYoaCls7? zWw=sC+GgRE;KMG`m*cy6cqI?xn=>^<8w>bFNX@jvk1vB#xfL1bCRT?0pXKS1N1iSt z>Y1Y+WMB0|^9rVa%Hx-SvxRn}3;ZPAY>&hl*wYu51M%#P4OP1n2S()SF}`yjZ139# zjic>G)%AmUKf0>BH8$R>U=CP6R0+aXrCDLCV(~hkO^~+t^q)+`8xQovR=*mM-@C2Q z&+J}O{rN#rztdgzDCaDh&i1PB_GC9kR2t=UkPpb2hM7kUD`SfDXr&d@Bl zk-#>KwfYt7LyL(MHdtyIkzQUqS+|>QpY4LN57|@0p6uXv0~-p1eZR`c4{Wp^6_dtr z?a}mky9w~NLOM4D9kxrR4K=;c=aiE^mEvbcZ*_h+J9nTU1tOdG7Y*m=9Q7|UgctZV z&jeMR06r?-%OZS`=#osNz}hQCW%H~n7fHRd1lW&%*JacF^-EojUPjH^YEPsmqSLPZZ~I~^IHaz_?9Ku{ok{gcj7N4svke7=@v@bT|H2m)CL#LhXr6G-H$WC9&tE zLPeb1(==Fk*}8hMfT?{p)9XYP)E(E~e9J%#tDFyaMQeG@6Sd4+)XM3SOb$%%SUInGtu1U;UT4J|$+^_k^ zy$}0~5Qn3U>0Pt;bov0Qa+v0Y#>8snWB1Zb7OT}0-6u+aixY-FBH9W&;}Jy17!>}# zx8_U9Av*lAE%ZKYHBQ*p6phs=b!t^zLd9WE!?r#lBUomHTe;#1=WaZ3K3_ zel2HjIqRI?Vj?+PSG_=w-yD@UZJvrsfJcRqxSX0AZB98{IdrrM1aurK zX;&acepV?bCW08-T=tlbbtS)_>hdegFPHCl0m%I>ybZ2S*UCF*gOXMi5me0 zc5rt^2s1=L+{-f) zKPY1wa`q&5K)b0om?NLwxlhnVY`W%!9_U|Z0i@K~g3yVfQmW_YTaw_wCb~KQD_VV9 z7Oz2C*H~6~NbTm!DSJ6{deEiz=>SpN;ZliOjsJb~*#9FO{srY4Cijg8GBQYC>kans zn`v92na*KaI-A$y#0TUK2Po}FPZv}7Dsqy-l!gl=H0^@vm84dR`#9uvO{{wHl3N_& z56g{M8LJD0q284B+I5LL{yo+9bwC_9fcPJkpC0Xesc=cca{9nqM3+*5gvon03V7N8~$O8L7D`p_RFm#OX9=AF9xID@dnGGIlR%zzk{_ z&Gq~iTgm#IsO1$ZY~*VFejYxd@PC(0<7dJ2%)+L5dLchu82jGlqxPp4XCt;$6sEe) z|H??yfA1ipQe!2zy$7$Pg{MCKrPs*VB^k@9GtntEpH(Rc^M|tZ`Ko}r0u~@PR<#>u z<$^N;aZwkNNwIjt!B*8n zLagu3pO3Qpbk-!bVPyBV%GkqhRE&Ugs`a%?jX*)nKB+s|y*DhcqI}fvsQNArwgwf5 zp1FCUXIk5>qiX7R;D>DGlrn{Sr3@>ytzRVtT^Dpwvlv~Qukyp>Fq(jlwT#7ur!n)f zf`x^9Ziv~gj%k>v&Q?}p0~}?)apf8T#r9+04fgNJ?OsB&x;@q=vMgR$1KSKSE6`Av z4c8vnwSY-}F<~*<@{8vb1j@3k<@Wi+Xo){wpIySR9&LPa6WtKXa{KoO`Lc%6;J64gG4=!ChPC}12^?f;mqJp5`Bulgx?S*o?~RpB?B&<<&&qxuI-+p##gQ!55wiF4@c~1)1DFc41!kZE6Lh zuCVHHv|?g9J93q6=VXhnoFZ>3bwO z^}82QM`@R7hMr*GAt4-9Tg()$$!^$tLtxj;;o(|GXKRd?CiP~i>nuVuvqr#V#t31k zay;91ZHVm~)R$St!QHHMKwA|kXnb$yR3LL*Nvp5jWa^qLz+3dn{- zdX{uI;d00tue57mjAy^Mlv9|9Gm(%>N(E9CuZ)s$a*7(eP00RG>r}mq?vp$A+q-$- zq0S1b{L$K$#zsXiV@8RsrGZ;i%=A-RRdx2!f8(9+`tW)G8-d8Ja=R-3_LhP6Qne`H z57rFuSiF{o+_4(7x1WDININ8sQkAjDCcbx3%eoH%>Bqm<>65a2WBe+yULB7~|9++A z+wu*YhriZ|59>}eP`1iCpHbSq52y+II^)kAN%JYLE9@v3AeKt>IHp*a9`VorYNnWE z;VEgN=S~vj1+?g|ztl>9cN=TlRzS`r@DR(Y{G(s=>jJ;8@Vw#FpAx<`y06dm8MpGw z1p&jFFR{)R5D>e?HbJ&eb1*TRH&QUN_tN+0S|FUinDY+!VjhlH4LI1%Zyt*SJViHL z8rXpw0x8R73_PsW@mjcPn09*rye(aEodN$UGHT=Z?JKx`J@>3iqP3^ZM9QTfTS?=+ z1Je!s>Z1{j{QhcT58fB-2fVX_N44c$@mb-t+v>$mL{ZB8YhgaXeDXP+Q8R$PJZCkP zZ&Z|D-B&Ap_YGiBm1v+YvJTquf0wiTd*wZBc0Vw-vkZO8f9msIpUC}V8B>M;479Zz zILkkRHK)67q*n+AYg9|D7F(Q@CJGydn>-aE28_N2Bz zxomsq>fD01<$#iuOAS-xs)U+H3xA$}~J|7m|-NslB^ zISBLW^_rJI=S06Y?!_iqmnu<5ukPS+;mYA%{BlD>=0c#6Pw$iM;uX`xW#=FdH@{dX zZ)f@+{@39xhlh1aA@qyJY1UA`qGK(OywpJQdEV!6!L-?S;PSEfk3W_;|H`uR?;5rv z(h+2w@o7$A(;!L#3h8}jvvj@4x}n;=eFtxPQE2-;&r4f26J$r5qn!Gq(2gLC!gV0j z{fd@tB>tVszW;-e#g|Vs+orReJh7}>wE${a1UzR+?YIzO2G|69F7*ef?!SMuB!y>{ zY8_9OYZH*V9Vr;S+1~a2z~^uChVO3!j# ztSChD2UGlCuPAim9&lNU*V!9RAYiJbjbAq8{q?GsBLX7#>t&(MlntT>yR11XB8V() z^h5RXuP;~dr~rfwBk<5M$_cnU{!zzt5C{T_p4;XcKWcMp`EVczJzqriniRUa34uo6 zzF)WtD0`2N$~}JG((VAHjv+a9+aG@Jsf+LS8=DlpR5xIy0cqoQyqBywq~%)O#4Aa4x?bz^`anz;fv~;yc)9c(pBczUp83>BqBEL*xF= zMC)D%-&#lRz5kHw9}@f0rApt!4dWZzS+}P$&aL=%)|NQ7NYuM~103mx{hi69vW>GUBI!WV#0Kj3 zzPB?f`pT-=QMJ9kU2X4Qn0L}?kGOSg5o{kVE6BbYHINTZ0n=z@+k%uIf9%FQ@i(CIh-i#Y>hIAVMAgei7>LB@N#b)c}hWbgK~YOpdyH77w6E zu^l1E_xsYp5YWWO%aE4$^-orJVz=ji*{xo7C|LV;_MSy+!FnLEa3ET23} zoVFDLU)uGfRR#b|4NuL#!M_fNpRfL<}4KPM<6+yDN0rC~BaCdA)({JtX- zfVWNHs_X`lq+0hzj3_3%0u&;4M--xTS9hj${NxBVHfc=C_ zzbpW?l^C@IDE-+{x3==OvyG44kso-*ztVZMl#*mAL^bdBlulI2)m|x!fu8{K4eYl) zStPiVsQf8B;%G{|b*WIlG!qD^nj61?B5y)kF4wyx>?A;?cg3E>s=k^Gn^!)ONC9?& zq*@<==G2w>f^>5L`f*!zCrRwy>D_9?ztAXf(i8msJ_OhlFLEC+NW_8h>>ZT&pZ~^t zKybw5zo{d;M)G zUyJYH&;Aq+;s?aio5ynAM9v&jjc|Z~5^l$zD8@aA8ZEnC_J?)v?=?G!on1o4_hw>& zAwiuZ-m*akK>vEtEMC8J&_q zs*zZ-J`$%^Dq-JTeC~!Ou^kVj=h@>1B0E~EDt^F;0aEeOMqo}~GfTou*GlzLHf4ML zJF0lwpY15>R`+%S+{#5TFgmK{4hT4Oq4Vj7gWnwtf4fo1vA+sus@jpfepz+GaSV7*6B$K!QcFFJmkaAAR z83GEb8q0aVcH0jLAoJT+i8~1V2A;j?S0JFM+%pz$Y9{GHd*$#a?f#);694_L^0z^i zWId*a|5Q5ROV7$x+TH|Ho&QzFJo}m~aMZgx-;-t|px+*V*n!W5w;Zi$0Jd~a#tK%; zTQ)oGgu5Spv}*=9N6^+{&97juiRPli>C#5$9cA;|;gYyR5w{Xl;vqn)1WImYib-j_ z_u0BHOkj|(3|4|#{Qi#G-(GgA?-Vjf&ZY_#TRX?I~_S$q%MVKle9S%g6If7ml)}Eackm`=H zt_HGv<8HUc9XZaKZyY53%C_FIPl#^VCP4qg`j*s>cF(r6LpVs_81Q!Wa;aV0{VQPR zMz-O#Rc|&hrU5xZtlbeuifK?Pm1u5`dTn!rUk>Qu%SOJxUj0(r>J4zFX007kp2(B1 zlN46+2TwV_9K?_$j7ZU~mP^%sa?`RQ$NCEITBkQcTWwT-XAwhe?+VLll zctFDM9jVz7k2bpZ7y>$QTH3NGkuBSvB?f zd@(78w^ro)k_2my0i%Y)I`cd6(Zhhk+2vnkZ98_XMLvrD`g-rRJAOrHLE4rT@;iFZ z-2&SZx$k**qjHGVhJMusCFXQ}jzzHZ(m1pdWESkGE+CwT@KK#)?x0l6SkEe+7TF4sHk zh*CTKQ^NaHE9i@h0?hagU&%W#c2Y|g<(0q?K-sNY)xMy z|44i9xTdzP3)GIFfPjc}3q=V{I)r9HK&qnj5b3=`=pZU0T|ns&Iw-vhfduK1UIT<8 zMSAEx1m4DTzjrw2yZ3wNdH?YTx_{ff_L^&qF~^*1?SQMFWjLY}K@NBIhKo|e9e*pj zlwTeK_`NNo_+@UL<4FWirJ#t~gaGP#2uDu`^}HNHLoT=Fs`m-C^=Gc| z|G~eP?))*__^1ExaF+s1{C`<|_mGA%?*pib7E6BH3Iddr#aPrWn4?tQ4j^A;~kGqZRwt*_5t&B@L zgyUJ`okO*JR&^(_-;%VAzdX4(H4XR;|ckU13~ zC7$WB#-={HQ)G}bR*L@rYIyQJg4f_r6@K|jC*mD->xP2PRehT0f!RgCVfsyU3I?{_ z*A)s~o*H5X5k=919yD7e1}l)F+t*a%Qr{Qi+hZ&FU6#F!$8`pZ(LRb}*8GmMhk6qd zBC}*?F5Y-`>hFJ?KSPD|fLgTqAp82hZp9%9o(6uR>G+X8YVQPOs-@C=-uoV146MpW569G>>$H~YPt9zV;CcuoD8d^xs)i~Q;W zanr=$5Sa-5?!j~_&6xDShWvaOZ{WWh>OcEC>G-QHz;{R!0$57wfK#+eK3|P{puf&F z(ikfdf-dh+PoZ{qxm}d1B)M^!?l)h|>2v9d1~N7B@pfpcg{w2!a+zNWu_iU44J3Mx z|Jg(SuW7t^qwDecK;XIe?pn+&%u<3jtDHZRSYN&2_{ zcNF}i|8-T0M^&JxF1v42i4r8>mx?x0?~6G);G~W-PQka4ndI)meTYy0=FMM8W2s|! zjZ6E!4&7Oj>0_av52j}Gt;>Az2z_T{-Fa{2wcpFTJIQF@*hw9p<*eKY))qFTy^#+(uL_I(=XG8Xmh3%?)7 z!%5Qf4J1;AekLk&AFn;-lhG8$#}uXFB<6#!|MucY_}4w7*8`|wpTX^Kug!$hg2b;V z{PwJwS)TdCsy-cYcS%Mlwt=JsP74|yR_k!3_#Kuy9#`$9kIK1on3p|lbk^%{`(hS^ zD(hI)zBaL_yFQBgUt#`F5w1(jTz1m0#YCEj50Zf3;rU~C}{nLm1`*qS+%p{8*L~=Yp zw`<-vkolnh-$YaG+q-EQkJ;1Yo+uSR?X7_F8Op@uJ+Sfa93 zW0V#6wVVbYk<{cK1XBw>!&s~8ROvMZ{u>Ja`&|5oOV0g5#4VwqI%T5?lM>#LHg4-U zae-K4h_FfS#kkymqw@Y)3?BznqGor&w{#_eKsJ>}YU(l8qbX{dF@`fm$2eXueg8LP z;4k3t6}qF!Rs`^texOHT7_605`|E8bwr{EVun#t>zfEGNe1+Im#fnnLSkz-U13y4g zBA>^Qf(>OthRhsF0GKsw3KZJO{V({T@K_y>D}qzxsq*{GI^NzD^ui0q2#`dIPY4O7 z)#b7VT&v=dFTPP!cV_J$&fdS79c$I(*R&uf7)i9AJ{9QT3!7GqGbL#FM@h$r--k33 zBPvka2sL_|TF`3|UB8Bx2V48JI7h^Q2Bvj4)2@FOdjBTWU!DV~xi7wfgdZZKCI<17&s+_- zmYJc1xbiuN@f^#4_3Xct@|{0ex$1!78f=&(+UQ#_bvSv>Z$EEW=DFkBf_MX{NzuX7 z=)S9LSO84U1MguW)}-*a@2h&_mzL;G2uS}!7K?%X@?J8<(Xqzn)~VZCSO6K-e@`UG zt42OS?%7?%XMTFo@fme`DWaK(1q=DyLMHKl6SMzpIMVS{cYtKgG`oed8$F5!elyR^O#JTZQ>ZWHR}J4^776?9 z+r5&er!oUhYL^1|-=zDwA$Q3=`P}OxP28~)zfG*C&L}4XdFh+>FLI{2tLUp$0wwAK zmA8*Y<*LDh-$wrOyMM&*b0B^PL+C!w>pK{=at z%Y+aUG%%T96y9j{);gOR6Vnx)F0JlxySMOta z&K-FRUBIhF4QM1vkSo{CKVN0n@R_r87h1l6@@^_{7Qbx+cS_Iqr$v`qV)DyW9{T*} zw{@U$NkB;Gdjp#4XQYZ$l*X8=Ow#qO>|k2(jPSkKJc!DCxBdIJu@sb(#khi4Uz<(S z#1w4gL!4rD=;)^lt42)=scxl8*)PLr$`$ro`$1;2VU{jWD-PB3@@c%BW?Pe9xWr2! z6Saoz(?jaC(T9^8!`{WFcZNE47={t{b9TDKAa8%jwaw_@@$yTvJ2cY;+VL~^UL2iE zjro=;PhMiau{-*!puFLfKy0^wOs25c?OwX(?`@eYWnzEPui8(OfrNoj`2$rOZ@V|6 zfWW8x#Kgp6Zx*r2w z%VE`YvcM?JELG=jCRiW7mi7$6e(pX+xPqEe(iIO2Td?;fa3{%H&Uw>x!Uyc|qg?7G z9%a5mkwPl&UDxsju+Z!eIMLB3n9^oDNbI>YjE}uN_h9H()&5N7Q$jetDVMDgw*>$3 zDUU8=wuuJcq54K_;1EI*33Ux%ZPrgv{F(OoYEcc^ z)r1(KB*-uGt2xa-y`6{%a9Yy6jRVIZM_snGz{Gj~2cqAg=KaRQZ~Fc~JWoE;i+z2{ zh~{n@zgB|VH*<&1H!fMuKE7poC0v|akbygMTCyoeoXMy6Vk6G2FV?+iVNxl()W7;a zX8~072wJb4!8`Kb8KnB^ZjN(mFYA@%LVH7EV1C3`%AaLNZ%5>thlnh&~M~J!!|hQ5u}2egalRPA7hzd{skUPCtqtki+QhC&vHfWu3V6SaP5~)%FD_@%;qR z@Hpt)ET zPLzt&sR~utj!vlHUHewik%S4WpW%u*y-@so^8SQ~r==r{P4wnezOWCHa;os``_7fl znPLBBN1GJ&9!dUCBhABLWIp$${Y&7Ujm9m)C*^zm8j6N9ft;i|C!X{9FLuLwvvJ6mgZut49ehUlAb) ziRqxQldWr1llQ?*(TP$+ z9b-*`DKnb{m`sWCjA!)TDff!;#`#?_lh||X8u2YZsLtx%^4&H(w50+L`{*snvUDGC z0%`TiL`eVGpeWVT)~$IBllN1+^>DZ)m)g>l$js93aPrXwEC&O6OP%xHt%S_gs)&K} zV@w>d3g?np(zWMLJGHqsv-%y!=KCw-_U9Dz!Hz8UJI*6~jLoG@oyOmTX-fQuP6{XA z!1KBWGGMiFug*}D+^&YeRl(8ccFw+!i?*eSa6`t5}k@11+Nwq7c{>@PSvnR#Mpm)12$WUjBCuBuRrYkyqIyzb;}f zCK>qd-qag^(M#s}UL`>Kpj2wSVWm66+UD$T`#TAJ8_(_*e%#~&64Dbk%4s&MV~XFI z!q^)HVN=44@j(USFjXXEu0Rp-Y|0J~Ioe)d+FIDS+TK7xmo;?};lwIh0AayRP5E^q zq~bQC^?e<9e}VOeJjF%x;-xu*o98u ziFDNuOP83-w48lLKKafMH_~0Vadoj1w!}|oRsRfEoL81OH07_xVqY6l7lyT+@7YRk zpV}@*WowsAUBr!wSoxIKEJ`hK48>#N!BUK}bG#UZ{6t2Se4*TMmP$cR^nfy^w7!tK zqQrX-w!N9+XDjSHgI%w0+acWli`%E_cPfDT#mlEBm%+eQ5!_dP=AeqJ#v32KQENBv6YPv1_jrKmG6pJZM1zY z!6~qX##ji-3={f9^w>JDe*%N!Pfna_05I@Rcb*cRSpQJzA5l3gAI56j72r2<>0Zsy zALpF@ugsu?lXt^3+@4wBdj%Eh6BlgIDQaIQ8K2*i0@0uZ4IHYANN% znF@w~t5E4o%Afz*lV_wv0~^_UbUH7u@mPzJ#r4MChK-=fP~)Yo%gP>I9Qq1a*$m#b zT1G3$({(OAx<1RU#>7{KKwbPs`4}eUeg5X+GKJuWF8Dwbb9`^;L-e+A$-L~|_AF8T zQ}vTb!y*sHbPQEJu?ecEDG{B%d zE1uHP(;Me0smEt<(=3aQG@vo*0cX17V7k}euPAH8NPi&BcF`$+Lvm(q>mbDse7`u6 z?Mlql&|M0vnh0Eko|Ui+)y4H$M^ch~1xlWt17ho0{!6;A{jlG+qMw7JU4L}W`G0Bc z@^BdY*ti7;EA-Trl@J-^*Qo4)0aHe(g+KB8sO|6$EW0fPW9<9U7&l#&R(U!M4w#n=RPv0b;O6jqfMl36DT( zo&+Ij!Q-l`8Q^+_R2Iz6=y>kZCFKG~5t0f!pU4K}&I8}c<v<=PJEy z-29cMa9tFt`V8EzEbeQ#O0b;E+e1&;rwAj#C3!x!x;jQVk1lKB&?VYlLiua!m8?76 z14F}&`$5>s3)_4AIp%k*nuDo7lUbgagXgzDDCP2g{;{7i`tcUOdQ8nsv;3}D{$i#B z1arUqH2H~3Z>S~$h}Q4+l>TIxp9F$azT;1l1*t&aFZ4ABoP8=2G8iC4`X=Z{cXQjJ zF1}9Mll{8PDb{p(ACn1oJ3B@MK|X`Ux7K!^&)jriNd!1UKgL)r!AffQnZh@bhznIM zQ6p{<8zzf$dx|xj@AFdgMwhLc^?hPtLylj!&3Vw;J>g0s_e?py=C|DKg*w%ANZ_;< zsU=sCWjUsaw`?Uy`PE%-pCqH_?8k#e-Hd1p6exOt^2Dd|YwqHVgf5xnu8MG;n85Jj{$)c`F%5-9uvbBM+eL3U`wbu65ud(f*L&p6Y7Sn>@!j`bc z7rk={bQ{q7wWyHcfHP~ja&xmRUO*TL=ll3P!$3#4MJd^@3_|u`-kN&^v?5&<7V=8! zMSipauFd%;rCdgYc<`R)5|7pV|AI)e!R|3nq#GEZhUCv1=XuEuUc%;G+R5>s#$!!B(>Zb-LJE7>I*%ZRu z)%ivTRd%dSX2QLBsyEg0cDKI3dFJDmi3yE1N2seMe8*N&?8##6 z(T5Qm*MOX1Ti+9jV0nO^;c{gMFH=snR%~F=ZeDfraYW%b_Piu4T%b#4DKk~OXS5Qw zoh^wnLG6S#!2u~8xSi!6RIZ?WC8Qpw-$cSwPx&WC`dXZS(y7_q)%DyEnIJq2y&zv< zB0&&a8Ca|$`?8(TCwr1EZc7`S=Q;bIZIj`5$9x$>3o34unM_~XFli^6!~z?D8H%Qc zvv7O_R^J12aTFlW?{;?(&G|3rv(m|YOr{W1-0ziu#(-4WfO*?H2God8oLCqq0E_YXHE>8Rmo;$brkYbY%M~NjjzZZ;lKePqWT^s~DR2Q5!U@1nbifjE+973yQH54I*W|Jj zN=f`8IMRK{Pc+UNItXV{sjWfaN;DBmv}M|JJo8QL(r=Zp(K)p0LFN2l++N8nm(bx_ z?@BPjfbq{Uo<7HM^-iQ__e&(!zhFn+1s08;2xkBq=N_1U`O{{-@qr3JAfmdH`uHS3 z0nm$5^BqvkZFx6tdiLifDrScFk5{i+YFtTXW@oxe+Mt4OeTJ|foGDKfwNQznhjLSV zBii=2Zve?lmB+t^u{MPVLurO4VQ-fewrHRzT(T#k3mOZ{XqwnY9OCSjwq{HwFNXBm zzlBs$LJAa~%kL|29P^}e51jj8V>;Q77F11fvQy;?)g8E|K61;{J3EGFYTs|v`=)KF zWt-;HMB%a%G*zY!oVLE?! z1MY3Textg5x48V<8e5|%AVCU}>$uADpGka9PZk)iEjZk-X>XPCRw!6vv^=_HAq@(nyLE(-_<$n$~x@SigX zf>i~JO3U;$-fjgsz_BN{%sKx52I>FMq!E(Xmxo>zDt@odglrdvgtu^#)~jGP3ok7R z2b>1>T=Yo-^@>Uua>EG4y|lLxaAwHe93TuFk0i?0AS#2B-1AdcPwUqQ{3rGIN9VE za2dVpJn>|%%O+DN^Ypu$>7;nC*xteGiCoR+|@{yaw3V{M*9d za~|a;l$t%4E_ULNY0~pAwD%X9Y@-4CmybIIH-4hfOLmpiGx4r5-|G5`P%kagHE`17 zQGaQ8czzQQ2-KR-W&XM_PxO%e5WZ>#>}+JJe|W0;LJxM8-UBjp<*=@S$Yt$+OlLVj z(3Nvro$~2{It29}Cs~4ZB7voj61%b*_ZMYHu}oGW>0UtkY02C%g($g8-odV0fcx68 zyN)}6U9ZrRuO8hkCZzW};)*b_4hUx6IgM$pM!zsU>D_z#3U&UROCJqGV%b< z4h0&r6;3t|CTsil06owE={>k5v(7c@IfOxjtWy2qRHZ})RrPafM80yH|MzR zqI|S3YK)edJ(9^k3aOC#=rVTHFkE4&aoc01s*%SbY1}YtTsej_Ey<^z%o;7@|Kw<2 z@&)OJdG9uTuPkN=+^U_!4SAu%QIYgYlDyYDj=RPk7Rh>zcG#Wqs7YdPu}44m>(Z^B z%3dq|M=PO+&yl+e@r8-dZp8Ds+1YBx9l?T5?!EdWLF|gxYV6!m*_?;!cu@bxFe$SIFidhIA}EARR4nt}X{ zuKhFnv!l^XI<3s_IzV2t3yjKqZr`7~&6l~f?&R}jxxp9V5X;=+^v#9t zJR?*)BVC@0J^nr=^T4@F1F>6bnj>FjY}UD z#am!eMz`MjJ>HqNNT1yxx^Q{nCSnQoag)9a;=Z+fD^aW>8lKty5lxka9#mm(r8Y(0 zfqU|Pest!351c*|Z0~e>eyCSaq97E+U-B@shG~Zt;)rv=M*_t%_J3hdC!6H;Rgu$m z3|(tDuz~aE_>vq&f_GJd!>(M3u$RFD9(yoWNo11fW%ROpkZ!cPit-Ab5thd1&|+zK z$t+^~>AO%sSu`GBR1F!bpM5_>x;x(D`>*=BQ@b8Ux`S0v>8~c+(NPWvZAu-Y+cq5+kf>+6X=9 zOgi#dXRX}pI4YUNE*8YM)?FeiUKB4y)`}h>huEkrI(2M{Gjl7yKbv6LPwLrG&yYdI zTM1aPYPoC~%V4I~JJonfh=bOUPX_#BSH$9TQBSgm%_N0ayv#m|ueLb$3=Ur3rqSt6 zPr#KkuqA@CE}gqq{!+_1R${NDbJ*2c zPVWKfPVO!vOzVm!bH&Cz@tcKNazDK1l<>l*_vAfD_sz$P5*a+de<>bWIJ-2?`tFO2 zx+JZ{)5lBqp0Rmt7)D(Dad>!-5oJ4_f4e5mNy+l-M!YYL0Ovr5UNTN(lQLv{+cYiO z>QmdBs*F5{lFrTfJDbs#%pOv!>r6c!qN! zou#|lvHNt;2H^X$OMh|ApWp2QDwHbeU3x$$?nt?iY&?`f#Q}{Ne>3HLq2QtiZ_cZT zEn4gy1lh-?ER6O$&%9kx?2$np*e6mOrERHqtQ;1M90KkBnTNbeWa8fs>J^^%9hMsI zgl-?W6hvsQElQw>n4FUo2@|sPo}P!FiAom&yw02np#G_~=njh}Y>zyd$zFVlG@uuI zVjx5BUhK{OkSkhR)!M)hm2Q9z%L5MAT^tSjULS^2!Q_IQ4%S&4Jt?gu()9L-YENeC;pOI*BND+VW0;Nyk0dg)@RiGj?}t9=ps8(%az zo=O|Kq*`$6e_P>g1#Bn(Gy-Acb(!(nPrPxdNrzQLEI++*`OvWG_F~hc$md0^`@*fk zv}>fqPUnQuTS9JMZUOWqey!5I++p)aYS<*BIl`{;Tz?|pu_wmau5IJLdWWk3PU=%ek&{w;^$ZGT&{%UD9_8^kv^WcMs+vnk z@1eSm{hA%dw1$798SZsA8sb=C7U9cNe^j2qDdMDu+JhnvfGL!`SDuyNn76gqpBB&H zF=*41@^C^*k$^c9f9ZD7B*p_KpPM~4%pPpk>cFplOi;ybl$T7DdG#l+?k#N;{7h46 z{vK0gz8>d2z*N<_4X}brrnk=MZU!Z2?8q*7#Q7*P%9xZt&9~#+szQ{AT_P>WTi!g} zf%u%gflS5lka4uNFz5APWQD-Z&3@s>rpWlE)oA_VI=-N{`}PKn-&?sXOzkfcwdP(H z2%zwu`9v;xsH-e>w6E$>_9?0modGdjvDz`Ws~4tXLpxUle{_-cp(c9$4t} zqOQB(Mk+m5+6B^; zDnio{F8w?PIK$yInx`B%qIba@q?Eh6k!gvh1Mz6BpHq?8sXCaQA*x>kXg~6ezb#EU zcKtigC(Sj>_y*ra7WISTeZc>l1P;&eT9}@DbENISD@721D5HMtfB2e?e&WAUVVKR# zu3ow+TC+S5zCO)gFeIs=rGIb8WW)L4(cULZ8+Yj>??Y0Aj%k+YM9b*Li|;nkjsZ}( z*xAN0gw4}p9;IRN#mV?bUZqY;UH1>SI%^)84kiE1PAEnGtI{C+Re*P_dFrhQqng@T z0x16UeY`wBQAFPBa~Co27WwD`_DkH$HW$}Ba;B!c5}Dt}WBKvENwBR8d`{t_OEaa+ zrY%vRs`!iZWaIFe(_ifoi$$MsYjuL7RQU?@`{L)po;724zSZ^xD^z{Tov*7XY5iI* zr4oDSFuRl0yVe*$y~z26|5^Ma;ti;Yr@e>T!!Q~U(2d~!M?U9AsGQ0ep6>>{hC4#% zwofEzucZ0UP-O;3(Glw4zqVQw03|34VH#hx>{9Z4j%+6ciRN6WBHOgq`b({f`V7j% zpizLzu40_R6x(gyH7d%!q5(^{SA_!d)uG`K9F-^K_I+o4Yd4@L$5i;37mJ;z-q2kX zImF7Z=gIHRy=;16I=r(y`p{%?@LoRf&C3Go;7YaXu`Tnt50#e|gyM#_k-HYvo_kvr zuy^l|CAPQY78$?u?gaoNN(t<6ubWazM_MzCT`E;h^V9Lq%Yvyuo1r_{BR5U-_CDAu zLEefMpHaC{qh-t6c^@w79>;7uBdh6`AsRhXwdcJM2D=>Dw!~TnF|FvdUeS{X)-g8h znpLNA12~4_jChWGZWqQcYIn=24;?-H7XC!9{*&%esd+EXGVNhA8DH&njmezO_6D?? zQG#1dPWXkhfYi<+!?kuw_VmEoB~&s(H6k_dIhv#e3$BD0G%J1JP6Q7PQM)^-tVl;o z`Kw6BSa#?+wB1C^kZV-uu|dP&H`I{v99v$qyagrP)D>IQSw{yYo?2{De!Q3d?$yO%G^fwEYFsxeLar6bt+A-XcoJ(;uF3XZpaoR}T)dsl-~ChRqG73AL@O z=IT`!=$^R`Y%Lp}rMLCDL!;{*kCQx_m9_+!R?2YmoGf!`5W%W~9kiZ2em9hW`8m;2 znY9G%pH&f!-rX7k#zQ78^^hFAe5*UQx%5~xEGg2%-VmKo#(+!Wt4{qZwPY)La1{6A z=ye+>kQi$g#a9{U{5-og1=t4ZM38jACAaa3NDePWO`!AA6*P8S)?}CVldJVja_v~h zm5sWM_rDV#DcjbTHj-ezmoob(H$@9v3SyfdLIiOZJ3;r%hZWr>(4B271ErmHvFaNGG5$i z7O_s)S$=nJOa~n26E0Z{B&-=~(PZo09^);GJfWX}#DjX1hFyIwm|6(-y%cISe}T5j zj@iw=FKc~m&NdCUOzWsI&BTwPmw<9aOmFS>Y?U$-1o6w{cO5*Dcqfzi z7W1o{C6(dXE7N5+9?C}Ewd!`>fI@J|MnsoRzRB#zKQM~9F}(JH4EA-6Fjw4gS>%SY z=#5DIMCOVM!ElFd!EI)+z^nCSAFKF+TT-1dH!}BgxH!+_y17+05-aJ@%KfE{r3c2?LF|?-;JHPVo#v*h6;_)td_*4uD1* z#(93oxDY<(+FU=e+-omIC!SAOWc=)fW>-HjukW9ZLNI+ImtvxSOXVca;* zomWR*Oi?PU8~l6|CKZicanqID-wb+9w?C3!J~=7$vgD!vWWYJGZCSXdJey)1<*?4?rRaS2D+ROn|S3#O>9 z1hT5n;g_owY$<9?xc2qH+g*^1fofaNZcG#PQ6&c1G`aKETaOdj;#oZOIEUuk9n?!n zQ>R?*?Ga;sykzx3l}CM>7;@#p1|7cHMn|r);R;k31z-x^RIsRSJDlard=)Ztd)yEN zN&M-6IjaJQ=^8V<=;W)!X}{?4C_J;9&_--Z!R*$6Zb!9-28Z1B;iDGE>1K1Op|@Ej z%DhMKq3H*+QQ_--CCeRzIL$0#nD%4?$>`B;Z^1BPySX!MpqEyne9)B?UzveLeteSa zy0^76{e5w{q+e+Cm2RRj-7{3AvfNHi9(V1Ln4IRk1=e^ z4>$UQlxti%`;t-l zC(53pW&ON}_{!3#w%OMtOkgbIXgljpQe=#-kMlR$l#p8UYb z%lA&a@)XE9J2vl)H@a>eLF+A}X@up%zQwpv7FPz(^|<1;Cxnd5mUb`TNbX{Oc%g<N8R04_=~0x9fUI;-nY5=?7p^7)RMfSvAH5pZn!WhjU9+Li)WbG#N`sOZ*u1O|sS z|FDZh95tS^UO@GHO)V%|v~g2Sa$j~v<-GiyPuG>l3fElQqnVm6-6)_*oKMy4p4EtS zD{bg3v(a!Thy^vG3aZouS}JviI@;KZBVu2$aPy$HlXM;0A#3@sof$FT>MKa^&uOP* z;7G&@>|_}}CfXMJ%gbqQlE1+%t2BGE(p_DGhj~I!d1zUz6*7OkR000#gGz49J;zK^ zCT8o1fYR*d6ugbC>Aga5TfL>N*Gu@DXDeKJSq1iq?KhIXO~%rUeaNx(tc8^f)@`6I zZLb}k&6O}?64;ZM0y}9btzj~(wSly7h-N$@M=|xoHG(+jr-qlH=WAEkh0W^TAYGnN z6M}nw9JoHF_DS3qg#oGmRcrU3TRUh+o*LsYMj%6+DB+fLIq>ElKqr{Ml5Z>8Rp}vk z);t80if(y(13r+k*!?XDr@vP;>xe_?o1W`#$nUDa89-N|a~l z9NYuX;H|!E#r26dWu-Mz=~>z}ucHL#Nn~uNmPc}+zm^*uKSaN|XUU5O**{ar_;x7P z2jrdofHJ;*=)CNcD}C7MJ0O=UGF3<4;N#tHZBjer)0xNbGoXHd+^XM!du_4gnWd7V z_`z;aotq$SCTmIMTe6dZee9dx;rOH1Ba4_yGI=bi`}}u&Bs&Gzo1fGAhxZT+X%TSf zRAKHj9O%(Gd>xZ@^pr21jNw$=?$z# zLC?b`S7}q^sENzyhi46c^9DWCTT-SRdbCi8?bJ*GJG~3-fb^iE$v;JW0^7PmIwTLf z4{WHkjm5VLdZ=8Y?^A$gYrM9Me9*AN=lOcWmw+xA+P`$kfPk$`b8SlN76OYSAAw>6 zu%*>Aha6gsds1yZ(2lGc_U%uKJn6XKczMpdy@BMs6s~%4x?ZK}f(NOXp7*?;(Zu-+ z=wx5g*jlXW=a#?=k1SV{*m%sk&%Kw*FL~W2Xqp&IaHuwWmCL5L8$rH|0J1;*Ys8Fi zE(~JgliO|C6{EVDL&DjU+_=tR$aO5;z;9lyfXKdY;RQs#`VbPz!x$^}(?-2gVyP#b zscQ3N-tY*Dcv4WQ=6}lz6JIm<8joa>I$TA`uT(J!$pc<$Px2#)Oy7F3cSy%AA(xD# z8!n?q&o3_bzcMDBw$7hR92j?Onu=S6z7REOLkFV-kaOlj*-kQ@1ZRIRQV9W^QmfgzcEUT8hwwJn z((`~7e7a|{wBoZG8|;1<()D}=$=tcLT6-h`av9q(5snXdUyyBP zRnCn$+~{=p@qXiVo}}rq(N0=;w4P&YJZ;$N|H=q=n^{$7erqw9NNmIRnxLLbh%s*T z2Yc+fo20uKmg`X1n914hX-2O7xTEG2(|7mGlFRh43^UFfpWGlL<|edzVwIMa7pfK$ z4@@%>tw-vJltgw9{mt3X#zxl**aFS8jK1B6JtnP5dKgy2J3pwa3!Aq^ynLq-h&M`W{-JJW>r#Pwl+TvUDoniLu4*Y1dzPJM`*0q`zH zUc6gNb8~O25jva8roMZ)SyR|Id1>(6E8($2Re_WS8n3WKIo&#}1(UUzr zo#CzdHQ?$3bwNzw*34qV=tK(fuE&s3lo)Grkx&sj2isW>HV69j%<^V;Da4hleAW zT%RCHWX5l|a#tpET1XyUyUrKpG~a_}j{9kRoR4Xl1NqpUBzwaZNJSxkP}{on{NKub zH*Oyz7_gVe>fSfu%(=7>RM^?IwA)V`LPr-LZa@}|qPZis&4u^qZ1A;e>YqMgV%Y`y z_L*z&dBN^;YWyV){;;S3J5_|>k;~rcd@uK0`3|H$6|I0z;%Ek8Zi%KK?(I7y0nyq6 z+KJw;MEC=rNnHP;>v*UjbW7e8HfS&_V?66MGA?L_4R@(#?-XAT=-ZxSY0Vd_;4E1` zHE&>2+QnyH7gpR)x7>79EVbQ5jtW#q-1eP(TqPPEnTZbf7y-e3#N@Xn4XB6acrN*K zFeC9H;(J~G>v^&AhIvvQ>_I#jDF(!0PxSP93A}77hzeBtI#k89+;u*-(q=FQ92RQz@KODM;~wcp^$2Q3%vM99APC&qEEVXTGQMkpkZQxyZ< zTKw~?_dKO?eEOEY#LYV$Yq&VRcckVMwh}|GgTcbA9TTi$)+RcTaG=t(=+88em}wda|7#g&fq?V z?f#D#HSQAsP34VdrYg((WgfDUTsy%G#yid5hW8VgT{qn(-1?<0NV7wO*dS)>emsEP z3mE=4D#i#g66wCZMDecbRq>n7eOUqj9u|e5JD$z zpV_TedE4$_q!I6>qx59Rr$KaL-`V7h5~rCtczh+7lU#g39B@N8T_wHA7aai%xbmIo z^0>*F0cJj8E^UFB{pqxwi!0}uV^)9}VGHNy`FdaSa7jT2T0kiDa=Eh_ayG#E@dxV) zhHI4Ur73J0jh!3+O7Jk-u`0P;FAozdMsEbmgGLEI)Eveib`I{_zYZFG`t1#hJ8zgS zfSTV_XgK!u!RIic0#T)&xc&&0Tusw0W8)H1jaDa*S;7oq`@IKh-ttGE;r3;C*`Zia zjgTk%r#8(LXP0|$R4ZpuvaLyUoOCAf8SPC5_K;nK(p)!gx8zF%0IX6A_-8@L{7uKt z9u-d4(#(4^TTja-(nq`x6*a=V#w1!Nc)UN0@iOpZ^V7B4vrd@-oLO_KqdKyZ9&PyT z{Uoue-3faPY!qedoEAqbLL$ZoHret5q}HHoj6#>ZP0O>Tk1{)rD|pwaJ9!L1)7I9K zjj2WexEtkmFxhH5-R>e4A*@)ZD&E@~JO&`s6a3_Cb<|*%!lJ$t0 zz7G`$myJ~2@_1B~YS_0zwLwn%GUD2W7ZM=l5z}8lrDV`plm)p7_1+4RP&zQR^3)qR z*=z%#mWfhwKNUzIVyt2OBT4p7n$j)jgG|dG*w~E4+WbK=y4I;DRZ%uT+)P&|iaCGq z8Q)+BjGz+R4_eB2`**>6W)aof2O8@?tXEn!OoWJZN_9NEsRnJM6!Q9@p`x9mj~*Z- zjb=T5;xtgOH5vIgh8+-%C@texqx&}ND(lhx`J^=7Xo${}dU1)RqSg*qWt+I{r64{xToXBRu&dmI^a6W? zW-${qLutKzOg!23zJ|;HusaG(4!91sHfu6{lAxI~J7$?f|Ffo|X~=NqOnUr0KC0P8 zkl)}d{g(sFhI)r1oGokf=q+)dWrsRv|8`ZKo%D>tMA4|PS!GUng`+@ItVzz_n_|BL z8-H;>kfvEc!vsqJ^&!53Kx%?4Uo6kJH1N|JaAwr(4#jpC+)s(f5dxKn|k!}w!<_r zO>0|IET7Zrh|nEj50j#A^KqUjtjrBSX12hHQxRWZ5wa6rzMYhpIyl-?whWpHJvc&s zC)B^bFtJkEY62V_VL$m`C7Jz~(fhAhL#hAaycp00B31Lt{n!1|cRkC^UA1$9jG1pT!6k8Dz#b{=CKC8_v@h@nUl@*E4ilYEj^>J>dBr ze%zLDS|3`r2?7$s^`{>147s#o`*+-cSV!~6J?f31jQ<3D=QMNWxI={4)jl3jRbx;a z38}QGfqt!2o9d~fB~#_fa(6|l>H%SXSo6PX^z833@~=*d;mK7gt^*X|lZteYDF6>}DzvEFm9; zvvDyvcf|3H*Et%IUmK#^STm|zSc;ymY#tqdv(FJdR#Ms4-_>q2=2#DQ=tg(4&ALpj z)>m$12vklaCoUJEX@=*j;}3xoXiPfHKIUPn)iYJ%^|6*d5*u5nH!FHI@cjAeRPrhW^aLdLRGjBdnKgZI^R%7DG0MOqZ4-S4T6 zxW;3^iINVz={vuYt^2sMnRfZla@p zHp;6x(c>E2MYotXTOXQ*{y&Vp zcT|&G(>|=&4+?q^5NVd9pfm;PB{oD+KrDb#LXjrD*Ce7MNR zfDl3tA%p-Sg!J#`JnthuXRY5_-+#B}UYfl#`8xKvt?)sRVYHcj zctn!#K+K z?$&hh!7PIp5^okrClowXue3jEJ$Pqk ze7^rm-D}6>5vPWPxwx~N7PncChJfFP^?0b#QB1Yo+CdP@We-Zu#XqTh4=BZ6pG~=B zI*q&s(bi_#1`B@|>~%fARl@6+XEF8pO_=JLZqxWD)PxW35iDmptlRBSS9V3BD)Q0l zZcQ*^T(Q!Hz|;cb+61&a5c>qSMS7zJBvELVgJ_|=_*h-tWrm%XZFnQsvHOe_J$Ut= zIxKUT4o5_dhj`eRvsSbjI{ieDgCaS! zVW~uuOUbba{dTMAwLT}nV8V>Kgo7tLi+f6zHd+1y(%&2w>ACjG_& zK)y53EVQEXKdMs0Prh5@3~ZkN>1z_XQix@Z9Kh7N^9>F06)Z;&-uOL$lvy!9YciYh z{D462$dkQk%2#%Yi}qscApO>~nYa<`-iwVCj?_jh7EtT#7(NjH&iT8++%DS0jlIYe zPIJV>s`DTPj`1N_&Pyd(FJ?G?th+m>U(@nOL-!`2{_3i@aNkQZH24^-q|R9Q(oO%C zTc@)fEPsB>&44xBx8zEMM{?uBOI%B~C{~hO0r=z`*y?h|zyMp0=L5 zCtqp1hd=rH>O#Cix06rIOuNzhPMpD^bT5ip$@G`9qRKbI!4{4_Kd&d)o=N}yUCJby z;~AamHFcu>GNRwBwpCW^1R^2pl!cGM$uD#6o#8B1uav)Vtxzkm#VUUg zJak;%g%~*(BhE1^yQWj;Qi;p zqF#~-f0>B+P4*4IJytbE8Xewkunrzxt(l=c^#O)G75hvlnU31D-cngrGq07{SA=K& zbUE(T)VHzxY_()~Q>+s??wyFEUl4d>|N@SGcA!mMx%%mZ%^ugYpDOo zdcvVa@XC9uXm4~;S~d)!Gk|C`>b(9M`0^%PF>A=+$HqOK~pOjsHgOcAGP7q zkH4JP)A9pKa&&14Tk4Hoh+%tLhG*NuHM+2Tzk%bi{-hhyzm*BLynCU{KbcpGD)rW` zc}rIPXsoT@C5_xtk;CPZsJj9pcWzbo47g#^{9(}fsM(wEc6^RfpHH?ldE{Xg?{pD< z(5l#QEWq=Pz~lRIl8u;MYxB3kqr0QcGcY=Y%TLDQ!eK}%oZe>kLe^qH+LQtak_VwX1(C6g^Ell}v_ z8BAt}W>LsBc{O^c=N(hU15)ZVU^lYn=BnuIur9qTGk`Fp3qr&D3?fXgJ0@4cj)WPLv6 z<`k?X$pgpPXBtCyfPXgev)pImd+K*V|Fg>`leG81HCwJ@shSTLjp+f^8K%EnnZW>^C@fKeMi^3D4 zm5%-VpxC=JR$r`|JLTwhqQOYE!}R`rn5<#J2vCc>`ZwX69{C)$&aYRs0^{ZV#;D*J zb)4u;>g6AsxvkLnjOAAs6InTwcKk`<_u;vJ(gQ$J_e!k#Ty@(%|Fn$4~f`Ztn(hN2*9}esqm#GWIYJtWLM2a z63G=2iRMpFjyk)j-hRp7qcCiE$nf}TK>s7~wDX9ivQ-!HY)F{RMo$Q&UAYl; zcHa59l}mz}XMY3saKoNR6KBC?&^?K$T@#JzvnQY|=Jm5QF zl9f;H{6}r&eIOH0zKmNS`nB%$8Cv~8g=^4Qb0_yZndiI~s%)h%|-}q( z#sLn?;h3I9|D|F!UEe>6948{9sO9=w_y7!X=>!C7TYVMx$6ql2bcgA@d`J;&%mJq3 z_L#R4zW&c7Q>!gG#?KR@aXR!L=?uv_H{*WG1jyk!l`-#lW&7TTAKp2FLvI(=erGqo z+`9oUWleLuyW~x+pvI!l%w;b;+{L|gxFIen%;s{l#XWR>%978>qe=u&$A&6~g)`5F zh0i^I6?JH%O21&!nSm@NPb~-6^-btbYktJH=LKXAYuad_|uZRz%5RY}9fhka;bL z*$_9Eav*-DdAV=ytn}j-FJ}M=m6zmDL85-aPcN5uFFwrw`A8yoX-^F)z1`LFkT3dK zfSk?+Fq&F3j64dlTx1&EE_oRvQ&eY~4x_t;j3e-*8%g`v`!F^x@*XZNVYC#t>e>Y& z+>EY$#>679m6RD!h0a75g!L5~PtWc(*byZVG|d4++1fR;PZK{D586_?i!dIp{7gK2 z+;J8tTs{Hg$C~zWiNT@EY})wadC>=2o|-yUoYBv)S5D`sj|4#oosv`O)J%)g6jF6p zgqo*i%3_ZsgV6wF99@l``ixK2jXqJu`ME%1op>;o{MB`*7)jRdHALf}**C(ZJXS^( zr(W(+WgC+PlPj6-&$apx(d(H0A?8)#U)>4~o@MJ*IA(Qp=z5Sjd|>x}oU@CRi56#F z#=F^#AG1uQhVuyUiwYcZ8+|~qHW0g;hCsx15DDNJN_*}O`0@4G> z!@;tLVaU^oi4W0|P9e3lHrni>kCh4$=%=^&5%w-gY$>uZU_HpC`<{&Q2ottU&?X@?=vq~p0e^FKjuSs?b@I(Kqz-o3@@O#LKJGw~58nNAL>uK|9 z^uYDqLHHr~T&uC&Y%LdK=s;d{pU+e>d0n#_#;Kz7MRmFFE3n2iTEA1ivE&E7GW}f~ z$$D7pOL8KLm9#gk{rGCsT;qFY6KD>;5kJoTkE9)y+o2IvEBe=-+%Jj1K*K7apC>k` zMN3lIKlE0@lee3%(mIpkDT_a}-xj6AbI^}cl?V#%i4Vkp&^0~o_t5p>0bqRP)+`3b zwU$tVKd!Dfi!B5Pj~bM;16l+9l&;@M#Pu!lqi$%`W=urkDI%QoJRxi9XaVOxq8Iom zn^;tm%5r}3a1M15+}Y^}wxji8Ve;y(IPpKm5->+->YqNxiCOdbPy#A5)CijDK%LlC z6*wbKrws~Lc1}2^6&qdQKGuuFF@K_J&r|1@Cy!sIn*+L^W78KiV2fdA)xfZD!4GOB zy6yEdCPa*W_VWbZ5a|Y~#wf<3jNG~8%}?Awp+tb|UMs30?5vXk@cKnDZNiT?Y68FBXUs`cq~tAP(2pa}dxiocyA! zpE`cG&vrHo8Gbzs*j!f~8WwZ`ID%X8W6<66z7B;Ejs4qd?*s_eR(s>c@qN=H*@s$7 zP8av9*~s4VH5}QHNtOn>qJKyrY!kQo6eaevldv#QsQM#V_vcDZ)eQ7+%i+4#R-U=w z*BG}F%Bj+sm2B6Tb3oxrCBIJOHW_Mzy5vmuJa1+ zVy?w`Kr-tDcm8kkrRDpN>C&hX>gGv41~mZ9l>mAMC3j)wBj1!qeC@f>|EOe*pDr)L)Yy2eK(PfYH5aQLoqi>!CV>60l>u62}j z_Tjz$a9bX1Q zXJ2C;=6wO1p~L0%95ZTUTFGxlUh$GmdCz|3#W{jc+y8w{YY-SCWd!Sr%On zZqz0X9C||6S{M5Y5`ngoo9Vo8;WRY%X>qeYBL5ZA<50mzNTH4l*Imv2JNeZVQC=v% zo&4#VTXR!nM)2S+RIj^tFk!9J2&TiHC$o&v+RxFil6YU`xUjVc4khz8bA@zdxdDqq zZcSsOj?0Edo1KzkD%zQA1=zQ&RDKv3v8isPo*8sKcZg^IbbuSnwN>a56iR^Ue0v`^ zJ0*gkGYL_6vVvss}LM$e@^v5%~E`^+vjBs^5NcQbr+R}%L9 z!59~aPHkKtR)xx``x>F&uI$zsUv_u=0%njxJ}_kDK_45r zDu_hAj4w9UtyuR}O*)GOk?S(M=ohweqKz1$XCD$#(k*4;P3Dmu^Gb&H59+~0YMHheF=oNN;g?g~y zqveIbTnxlK_$P#H@mzc{^c9mfJNXLq^o3|9hhW6%KRUYGR#bj}OgOuw3FgnFAfQH! z?kcuro({f1`<&3HHlb1ZQ$$@?8hZkh8!|!Hyj`QSgjl$2HON@>?F{SIA6nvBN)VbG z=9Iu_%(W^*?k!3o%3L)gRrn@%;lXg^en#N50*mbaJ<#%5klS99gNR2ujY({0qtGWB zQ=9X!>q8+?dx#~^)GE!svdxh!NoO`=rh9d&`u!^ztro6Y@c8|7R2sWRO6wF!huVhq zI?7>>8_n%0hFK`yXj#2bZ0mn<&GQJfJce|Q%aSBy!-IW%{+5i0LfKt(slQR5jr%*{NROyKk0qsYUjRCMZ~d9_ymVW==E?@ywkJSZfM8L(WXdV8u%Ub@9sqygNCpk_}^PL1&u zYutLZ8d(@Om zuXt-Cl5W}-Y??GVvWI1A_beJ$-LuwB4OxoQK7pM!?|W@q1(|H-rdx6JV8*eIN(Ke% zWg4MS7i-;vE7PXyJI~`dg}77+_6pM%{pN=wQWL~p^x+ogo1eRFjQ%8dP`C)q-8-lP z+pI_hi-n1o~^Oy2E(z-6W4h}wLZV97gZ!X7GBey@yQ@;4gBN_{bHn7QIS=wQ^i@S__QFTwb*KBu5-(hGgLa7?cX(LS;M9?VWJ zVq-YI;9!mdBA2DTte`_KBB%t62pXWW6D^V?po!?5e7FSvjifJ{5L^PsPyyiKR9ak_7%Z+56=!`MHCbBZX72LEvlqn8-ujrfglyI;i^!a9=GUlEfn6Z*$YrLAdSC+| z6DGs9Z|M!II1sA6OUBmWi1d*tb)ryIwnqptB~f=i*Hv5HGITYYKmpfYXi%u4&pI~V zO-b-L9_Jwj#|SrW&aL<0>oX;CFc5rIPF*N6;EQN_sk-ILT+{#L$6xNa(+ryheYZ=6AqG8X(N`6CQO88ZZMB=(HWePcMoUA4i-qC z>&sZp^c^)-P^dZ*^;UBA1x<{ZbxvqvUVq6n~?h z2EL$SE{NF_0ZQgM55$GcHD%OY3Imng)DimLCPdq4=C3!er53v1 zdk&UwoRtYW!j?k0a5qU^?Z?s&o-)_EQ4HEIA}R0mc9z zU~G>$k)qo}E=^67f+AX6oU3)MM`t7{lgkR`i#1t6P{&;|)6^qjPgS+?>wjJrxUy5Z zSgt4_BV?jT3qc)g#!Fiv`TKZ(%-~O!9%vx%k|dP=F|?7t$K*P96LK^P5r_P4ElIE9 z-hr*cn0T1Vi|pC0zp?z~ z2wwEoHwaip&g0sT{1n7^erEKuBt#6IKC<(M+bNslj@H&MTCJ=b(kb6(0Bk?)ztK;l>CFptG!{bx#5u#>C5WGkY2!62G z)XMLIW#H7AbEVw}tKz*?vNzL0)^1TAy?#Y{|3CM=PIl~xwYSzS=p`h!)3QHW?$)`) zyF&T?Y0A3Q@KU!qN1#KWOD^N=^j(0r!lesiasgf|-K+633?O zA=q)fp&HI8hHt$2#04y4LlZ^7yOK2YtXrDN42Ex~uIc+)swh0eidhu#g(!&*t?6!M z!fz@thG^OR4dnWAH~cLEl)uiomI&!vWN=C5ptsPOJhE&%4YFW>vP&O;?L^_~=Vl00 z1-57BvsG=HmNu3chW`>HWeA(+)MNzSW-LS?J{HxlEha?^X1FPt9AtGpJWB}o2)wI7 zNuBS`vgN=bqx(?Y5T?|?8&x$OZN?j1LSM~jOf6lTDm9U+v)PE8pSi`z=bz)kJjbc} zvMm77dR}QjmJp0mG?|?Kl9G0w#iF+IvMQ!G>*-ui8#;)2)g>LK^_+yRrb+ zAt&7D9pqQWn@w_O#U5O&yXjGVA)w;ovJVo2-_yY69<7;eGWGu1O!nW&6UDgU5DlMg z?QGuDb>!KRonkU_U1{P{rIK2(6@!5?JaH8XntFR?@>DFmw<)rkgMci>pL;IwbmjV> z+}Np+sa5q|9iBV!Q?;_k;lr(0`-M3iNpy2Kv*YZl5x3T3aU9NK+1-=96t^cG8QdrN zrJM2tl~B2VM2*ZV{2m1a4_}W#1z4G!l4r~>qOQ_AmCC~QMuc$79;pghN-g$jxj6<; z&p-p8USxS5aU}`+Btsg1EJ#6Tp%u3dbR2U~cr6ftB0C8^Xjh&{ees^NNP-Esx{Epp zA9F|`9G8{8?w=A^^a}GdOmJ$I7s+W@qa1~tDkday@L648l@{(X7D>24Mc3i)Yi>t+ z1d-RU0LOuonj$rFuaOW$6;&htke}MM2q%$BP%=J1rPx+&*_B?P`a7^C#DWTKJ*lL1e!^D8CsWaLnw89fG1Qsej~s z)tC@(R|ee&q(cqys`v*Z5D0EN>^8t$IG95)#eJ@!E_~y!NdR$qzjG`?xPB>Sjs`8P z!@}xxgPoua2dlDz(puE?C_Yfjg9ZD`Dp;Yq%uRB?5qI_lO2lo4^PqU23d^JGsfY|8 zFk4lC3yC>VEt*k;U`Y_n-G}xG9!yq{y>a)4Px=OT0LK}U%Hi3!O#S3DFazaO z-iHa7J3Zq?a-RmbXj`S&rjDG-Um;Ggi+x|j8<`E(54H*m=pJq#_81$fp!Z10>&MmL zL`^!(`lGRVvp+U0rE(MNSHC+qx6RaE6cXf2AL1sb(`3kthQQ3x@rquvBgE`iMw1G& z(SiYwfpO=~s^p2Df}rTz)a<;hYD38JZfGUAJl3rexFW5s_4fn9Tkxk@iHqX-u%j=k zCh0GF|I)L1U%kj`)S5{4(Dova!N2YMb)0tc5QyStM`l-PD`W^4@kORL7En@B;}bFN@(Y^JKftlDxiXa@7`Uhw>V$+T0Ov!0dJ zWL)r+%WYI0c2$M2lh)X5QKev63~HFn_K?Mef&vsxuRHv`56TtC3q9pm3KQ$H@2{>{ z#*&$yDx8!W>oBv+>|ONQBjan|RO^)+$ZW|x%P!mb4wFC4pNt1ib#nsG&)jl5HfnsT zW1fK67`R8h#$W9cdFPL2x9Zn{W|HW*9T|w8Fdj)xqR;IQ(fBzJe>mpxGWR*Jf}uj! z&cC9pgi9`O#H#;2sY9!^tmROPOd}MSGDX$jWXsbJ$%?2%;-wf8FbggSA6t$CaZv38 zWCR1*y;2tTSF=megV?152u{7JA8uZf^eRlyi>070(AjN8pAY9FNQU+E3)Gp0?NzE+mle1E4Mt5XZmibk9406|yI_LL=uj78G_H-y>;1cbW@*v8s zIober*^^jPAXH(w6gN*7muEo-n;SuFDvot6kzf}Xvk75*Vveg9fLU-*!`Q{zvXaqr=U`cj^?%VpWYIob|=46h_DLRc)`XF~LwGjiz z#T9y5Z}AZblD+9T5M{NR6V7d@>8*m?rZ=dG?l6PbIDrlhzs6BlHGw#qibtG>XgDst zacgD>40y1+X6nLs>M=r|1jfKPRdKnAvmxIw7wT>oY9^y^iO<}G^_|W)U~AK-@mkq@ zRr8SDOS+R*uAo3}-4{(Lt;)~tdd@dIcUiP+RUctg+ZG|MC9{ursHq_#9d+$se_AZg zW))Yf3nz_9Lrtb3x1N-nb-Tbfz`gb=bw(tm@pkfpfx1#_ED84>?@3HO`4qWQuK3$w z+r2+DW;c+9X`SbgRZ{Zi5deG8QX%4f^5nlNP~$@b)kF@D9hp{`(no0A@v%668xn1b z=E?TWC2MN4TkdmwLPP>>g6mD!+!rJYp09mgIe%lpA-ML-INwQinL9dQq(HAr{s z7(JKHjG*1lP4nxTbiJW{|`y zD2VG4U=&b8Q%wxxEctQYrE?1c`eGyn{Uq3B{W?ZL!rxCU!GaDl+NUkjlHNdH$58f{A8Rk3!-i5mfUR3?)LpjUwlEp#yib5g}XLu=eeRx@c3IZ`TKdIrF%HwBSJ8T|cTa`U^5G0Q%@AtiLre zM=r>CH7}@y3gq*O5+7H`Es1d73U{T`!YL>!#dfxgQuVF9N)CNAxc{8cE7-Yxx)$VM z;=L!%uXUsKN_BU%=ju?xQwftY&Xk<^ff$c+<)O>ZPK%ITuu_c;i%~)Slw1(4b%`=p z?$_OUPAG-kqoen<_=9=`y3r`KvR>Y>6RpFH#@h2WU)1rLNE`?gd+j~lMs@apy1zo2 zmq)c$OCs&Adv;G?HM>sHokG+wf^^Xp5S@TbEZDo6tVLY6bk>6!^jgh$wmr@>2>rqy zpbO_1K{j}SFtNTkw3&7Y;p|g8YG4Sy`1jXXKO3lJo9(38N9fAr(3~$`y}gi z!O^p1EvqjY=aoyw8sFi!4_Z9~?nEF!V5`#@cVGR!NuL>(W{}3$g}Zhwr`C}W z4r`6{ydMMw_wGF_{xrH-TM~{B>}^3>J?VObzRgOnR;kRQYyU}!!BLQ#U0!I(o9m)!UdtxH+ieW5mTt3t6SD3wQp}Z zySvzpyWgyOF2LQ$5xbr;Fj1zGcp{=(0k|1zrRFwD3fUmtKvV#|<+B>veSHvm(U4%J zkVw1OXW+9p+Jn2CMp*Zlc&um;IxircTUF1=BIF0vkK`1ApC(6Oa5LrWg;f*ArKX{i z+8G992teTHz;2A|QKIgME44!b%XdUoEI^P+Z8}$>e5V9TCWWyxg&D(iui9udnkd)7 z&ToVaJi>W5`*yaPe&KEclfOT`MP}#2?~?|WQjX};7Of0@Pgm)AX~`)1APNI~ zKYBDc)h7X|4HRind}F55>`0>u&#xWQJ5_w4_!R%8v2-A$YraGAuaALdL{q$&CqJc% zcA9zpwa7Sp;`0BU=?)&WgLSynvmId`p<(;2=@t0K(kG6uWe-(yAM@xjSn_`qY{Jj@ zV5?JXHsT^co9VntTH!5k8x4y@BbVR(&h`MDh5TQ(yT7R3*~2>cGwZ?R_fIyK-%&U} z%YLP@RK%eZUu9_BfskB_rynNaYF0YfCwCYAP-;jaZY1=2nTm!hk{cUqVv2Ne%8B#y z{e2++-r+-Le9Ww(?+?maY39xRnFL>id;Mqgfb7v>2-p3+4I(tli>>T<>>PV-WLK49 zIP0)Z47f0l>9DsoZ^K12UBOOQw^ZuC%RNziHjKS*BLR7>;y!z=iykewn&&JQCb+7j z1DXdN$(OU!%`W@xZIzv2f-aPSij`XQM618K$!->0PYmu-tVoA5A)CpvlB8aA*_;k7@=`N z=L{bm1G`r}k_MAQ|&$dnUsYbO?IKrB28@?)-&(6RUV?50r9-P|SYc}SE& zU)K<2cHNZeaX1NVhz^=P!pNs(9}9G^F9N78wszyA1o?SBN7is;J1KwIEUW38h|Dy~ zJbs}_Tv;-}1LbqF3&_Vy7pebpvSB8dt-}*}cJjy^sOMgjG=K;8nh(TjuTKz$t7<#- zdj}Qrn)rgZ-yH03gE6*Ur z_w`@qby)5E*0#M>GP&b{)lc(4OX$|cNyk{tY@ufd#6n&kPH0sQ5Iq+ z20$0F(#=r&kIQ$`E{`fmC}c#=ljc(RP;8=p;k<>Gig@kn80W?Qw7=|h;n}~rIyoMh zy(X@jex^`<9m+<%W*@mL1q5tUW})2nHibQFiro3?)J~rJJf>hDgWCCIFQ85^ld~w! zLLXL3#+zEVdN=Mp#q8Na`}^^@V$RET7bDnGBnYoZ(MYQOd)M|U|L3?*e%vocX^Ql} z0$oZjlo^aH&3IIU+Oy+5)IJTiZeBczxUt_i3s7~ny&kJ4;$+bt$%e=*(9_$!7lLjX z^F?>CnRGO-GHISsk()wPSgigEPFt{sdVO!yz}dsHHC~M9u|GY^JBP>2L*R`Mm(VYN55?Z|D{j!&~h|H^ZUB57CHy?QN zHIIzGSSU0@!ehw3KrPf&ZaW=uaL;a&gUbITfF?b6PcUK;Mq70?eH2js+B=PYY{Z`ef@nd;)HlTWAW%tLBLVHl>qXW`cfIb(-m4uiQ7l_KPR5gbkc0E$sGkm zhLto(a`R`8XZGc=1#RVt3oF)BS6R?{LWsw_acv^hZ!(FVFm$y!-3?(wQT%Ly1C9=! zp={?Hw$HD_pHq@D;ZRgI5ZKIA*i`^9BNbF{wnHY#o(Yxd&C2r_OCY>wrggUT`&rr4 ze`l+NohJoiWgT{1UwlRiEOBxFl!AyB9O_8_g_liZyJMw`PsOa&t$F!;mXlhx#0XZL z{e@DOKkeUNuyXYmO8@Jj`{Z_D9WbGgMZRsoUiW&K{71cX0*aJ;IXrKFSk90|(-oy@ z3+ra<8~vG@l8GV*F+-}&?>`u)rW-t%O&(JqceApldMc*_n~5L1a^S_b2n{G2k)(Gg zceM6up)|8*b#EBI<&J9s*P5AW;tH`8Q#2nL(QtK%F${731|9M6#GwkA5|D;y!Oym* ze|>k)zj*TZnam!^)%iKAO6nC|WgUa9iP8#1X%d}&)RWuqr3oK4^Gbsq*zvE`{h!f< zojIcB5GI%c3!aayOHd=#vO_I|22^`(v-_ll7OG_Y8GR7MSgCLH9(qtzyTix%>IWYf zf{G`~dFhyC(*6pxO*Golb0gRk(5{jFourVer(~;X6@nd52w1{{&Bbl& zlZdACZ4EVKje7^)cO1%@S6u=-XhJd!aK{{Tz#*RpAWtVyY}3#QpR%*fy0CC*T{3SG z1NGS1=r>+`e76Zdz>6n@8!h7ksJ$8G4*?N}r;GltS3Uu&?KhV`^8Z+@$CH0t!nu7W z?-S@jQ@!7K7cmY>G6DLtmr17WB283cDC1tLyU+&m$=ze?WOG_}4p_XtFwU}uipO;QB&HZ>%Z`?xJQ6f{ZJ72Uxhn^E*g;1%dN>)WFeHU-|PN^ozBL%;miW z;iVpoL-Ie<)4I%z4OP)m?Sx^O9=nlZ3s|kCD#Be$MCNg@<~HEC2$`KJwhe$HLFt^p z;XRLMRSCV4fOkBL-ma2dK7FG2hs^e$f7$y#53&(W7kLXhL}W}X?}83$9lK=V^&K`Z zddcPV4sZLq6A0O*j8pE01zWUW_hH}gq=|l5wQ{?q+tIF<42A>LGRg)|zx-;0V~2Ld zKAS5BEgrw4Y#xeGW}Qejq!HUhYXeM^-LN$B4Uvs*)yImCPo4=vx<~v{2R;WTFvY8f z94;Epn7S-BCVhW^sGOoJnmqU`l|8HQzs)PHpsp498E?wc$gybi(E2FWg%VlFXrzDLefu<^SjpOT#} zj3>{m5EOOazcH*L&ZGU@m_sva1?;uP=*0Yarn30_B8G1+DEav!9QD8mnO_$Q`wo?u zV^~H#mS(!w`q`M6_JcjXUBeV1YNG{FIamQ;edU}}L9Gd8_Zn&%Y!o5DJ>CF(2-rnY_8ESLeh2CMoE*t!Pqbkb6JlY_i zEM=z~k^Kv8E?XP$$m}y2j266T!QNpERC7)tL_9cu0m)mNZR{%c-{O0!s2BfhxWDL| zg(y$ER8icN9E> zJRV58psafMUcS=MeD=jvo#Q}CB;xIq%}DK|yC9UT zYKL-#%>?|zmCsgXqg6Ayv;hV52d`wtSf%+2SZ3_mGp8YCc({M6x0-<3-8y89>Orx* zn6Ab&a6_N|%po%O0)tBF+wzkSnZyb~nL$<3BIO~E;o4;%+E8DW8;S@?J(b25rLs$}$h-7JAF}O4)qlnSu0h13x)>qubL{fnZ^^4fL4I{Bv~?pGgwS|w zfoOmy?Rb86rr8r3aSYzzP7uDGl9N(}eq_JpBa46rtE)cLW)6L0nw9BR1jZEkW+c;m zx%Aa!iVQWXOxS{&8G-2#J9Z%|6|3IkN-msytgWZ&cd_pMF3|}kIou! z_5aK%28-v4pY&%-L-O*#VjXu+AK79oQ-NL@!-waBE>WUPnhOcIxPipXhn;36pJwy{ zjyLQ6UZNoNn@q~ny4nm;xL^KdY+ywuNeyI$D)m*MVZmF`*m?@0B#$YVi&^yshQ+a? z8LM4QkY;Z-!JjG;H|79%%pb@bzdZir&D|!zzn}loFq&c)Bp^|@I!OxTv>f*6+G8Si zpiXCdX-^7Pj{maae?4@c+TwcNZIS+G3`2-0-Z{MRv}&)3#Y%>e5pdv6bVzjt-tXxB zlO@>Ro!gxV@6-G9y|KxXDZKxnq_8^%O;>KOc!Wj9p!*P{^c25cMLJd(*H!i~)$n4= zx>jvJhPaWN;tvoxjwQPoOl+7xcsd&_QK$75+u>EBm3D1+@pZ}=eCfUhxGmBazwO$a z9`7+ZP%x5)OKHbYIER?hl5yR2tFMclCSp9)y~vN@dE0JsC(olvaX=?o?vAZ3XQ%r0 zf`jjG6Txka{%7kNS9h-sBq@Ztrnb#^)pkS3o)0K>qdDBS+>FasJ}CLuaenkIte^61 zFmyY@+%M+DBl(o%ibz<*_?Ni+|MQ~DRd;;1NKTQCJt;Og!-2$J1wl|zi6SrmlWc(h^K>FIw%oa z_pXJjzl`W#523w#iqt=r?FbD`m9Jm;vA!#=8fR=tPK}pLD?%){d_Tt4Pc7BTwd}yb z>*FX{p(Eu)%?&oA*5WCX)-2|*6&t%u2zIS_U8pehj-;PptfZ(C3{zI42%c3yoXC5chXF zn?~G^>8vOtwQmGc!*@37P!U2?p%$2#x5hm#z4L&5OX(>`_obR}YBLo3JpJBB5qtl7 zwLac8499-wT{LKT#}JS`G=L3$ur;06PEoh3M!L6Q5J!OWF1x64$36OT zt)wytfV@$2ZM_ICx$Y8WX+XQ4z$|iPCfzVliX+HuP_wUy)p#DJ)rI_;t`!61a+%tUkJ$5-2k zv45S1AF^_KAWM=nXIq3#*D6n5nV;XloINJ$ZPJES-qNgl}%hz4DKExA| zP?8y|dfaHBI&>^g^3UBS4@7_G?SdnIi$&{QiS;?Yb^S@i0cxx{asSvhE%+Cpf^Ubp z@a6b&+S}*;jN9yt_<~HQjb_!3A0SqKDKmry#t0mHxv!je9n)`jg`Me^-4r%fNkG3; z9IPDy*g;<(*pX3-rGJ(9C!B5()OW58c!1vur{n(mX*YrZf=;C(jgZ!)pcb3>#|o|g zodr+>Rf^NGwyOjyEsO`gXo_%8b-zk2$|5fX_J-rJDgFS!TvG0eHg6ykh9Pl}5!^`( zN;w|ha$p-QcJjC!HB&FP#V?ELUNnsVlMfr4j4L-cNX5ky;_nYC1y=saK6U6vfxBlh$RXXhG#k)b^^f(Ov?yS(% zX8D2Pm=OLM#pK_JZt=|%r6#QJQC4Zgh31Kd6Ds;r?r*r3*4wQAUk<3qEv#EU`O7YF zH2I8pu4K@7bF7BBZbQbqis>&AbI+dD-$j_~;RN-|)FQcd7pjUIEvxP`682Kq$;6&v z1->U=1r~nAFhDGb=dyL|T?YExvKD%62gVVSRx;hB7cA25!8^@OMZ7$fw z|1b_MJT_ec+YLeIub;kdfbwAQ>9bdA=X?RdQ?9wfarnV;Rata~yQ%#&gUR1`tupd* z)ix-qT@4f5B~zJJn_n+LmYn{B?iN_s!Mqh)1Y}xXuGMb8=(J}U5=S;NVvxCIVh4&= zO8<38er-6q@$#W>uaj8Ayig@}E0{~am^S!f#^Zw_HZW1k;n8bUjJ9Cl1+yT;^mFdG z&rezY#P)na8Tl3uMFn4Bxo`&w$c`(~_xFB$S~;dwYtuyqsFS@?+I-;C;?N7KR+?M~ z$i4DdXzzZMp3+Q3ZzTBAQe}=Mu2w-ezS7*GJDa0ON}3Nw zdjv_jAJ#tS^g5g@p58y`x6MQ@oL>344|GbKF$J=Es_J??JKkMQAFb)0^Y+?yp5WKk z{PQsBa^AD|d;LxJ^DT6Bm|}EWQ3uxbJOby?v&pI!FrsgkfIB7@YXP@%0&@G6k>O0g zlhC{r5<2eg?GkcZ)V%#pn2*ZhzKCplpBxZapO^Vx)CK=iC6rTRQ8JjRjv< z3J~jfY}|gP8~U{?TrB8qrR%u)Sm1BAGP$t(luxUG1Z{SU+bQ1NZB_s}mpwC#KM_U5 zf8#)y{gyX9{$G3d=|~6Brl>|E`-SP90l~x^`A@c~i0Jhih2Xx6$Ojj@C!Q2l1EUho zaYe1Y=3hPp1m=7r^0Q<#1u5U^5$ovUB7Jq;rLyQQ-^|wnvceG_xA^6r3oD;IL~@zN zjC=QS<6goY|3_yAfX#%Sxqm&~8pL%H$DC}Fx$D+GzZYW_#be0Wi!BIV;3{?(t8nmC>G#fL+2;`2sW-OAc;-`Y$hCU^z)5L(PNdT)=O2 zLM9y16ZHMTVhH!!wZ?r`C4_2^bfTr{qOa6gIIG0v^u?#2FA)-_fJC4N%I3UhR>8W* ze~24#i@52ZxNJ275o4>A_K$<6(WHOK4{ey(rSR)h!2`Ch2?xfuOwdhH+ zKdwJ(rG?Vc1`6Gw`Q-sfXXox5Im@$Ac0uBH+gSCRxdACAV(H~4In@jAq6Ttx*q!TB zaiMB#QV5Rj$NTl8AL!&hv((UW5$72%O%%h=97RRD^+fq3Cuo(}<`#65H42L_!;S%X z^%`gr=EeSCFJITRn(*5xF!$U5;#O&k82{vA#k(aLPv>U3x!3!1{y);bIxMQSYhMus z^Z*J1N-9c7D&43sB2rRAhae%{NX#G>GL&=-p>z!0IVde94Bg$`%rNlVocB9N{Js;u z{H|;M*q4KQ_OqT9_qx|w&tC3Kd=Tyg-4oUCUM*7hZQtDK5oABkTm_h z`Eo@%>Kic5J<@<}2s(Ih`|ygot#2$r&4~#1w+i#W|3=T*Q}rC{Bf(UmiS+WhHNNlh zxTfLuSJZQ77sXys-2UbJoN#f}mptEjk_pBZD5@*5HA;gc$(68PVP>hP| z!*iHU=7$UemR+}Jmk*{ z&m(be=v@ZD(z>RqGjtYHiLd>TJ?_m}Ujeu>etuLK>9mBFRvD8$oj~#2v(9C{e^x*H6)68)}uJKgum@%Rre>G z`g4hYbs@u)^8{!SL73v)DJx&_mnnm3i%M(pt<1}_{_?Y(yliVO1>GM$$o0>ri1YFK5nbFZ=N zzun=7Q~$A`#@}mLY-DmbK<3>v;i)ipdHr{4S57YEum0O#h&89;m=lmm;G+W#)umGV zcA5^h0jnoW{IJPTZNQjAZ&qwElwaX&J@dy?H&C1AI!>-E z@_d5-9nk-$p9ll0&(*MH%X*k?RdG-qeG1~keOTWUbr6TY{fi7=vbx$I^xUt@A;%pj z;{tfg^J=S~AArPgH6=|!2i{&lxg6)~2^8{AhWFEtv3&+!rv;pF!)tqWUEtf%%o?nT zS=`?UflqxhPx_~Ip4_*b5S$EL@KP%QYdym!gAl_zc6l%rZa|)v)XnO-A?>Bof15`B z!%t)$J0hi8xh}vD`4%k?1xqlQodFT0H!?9!x@$jV|CSbAU=UPf)u)X4`!w|*?vESx zL_gG*OisVSB@-(nR5)%Vr_#NPT}o^e$O73hv1Wp^;eV> zi-Nl8@sy|fU=?z9(V#Z{z;^2^>WY#gKg{GW^!;yswwWpCsJe=Wsv%vLNc*I+-^f%^oY_@V6oq9c@^s=y>fHH`0Lyrh<-;1QJ; zN0K7PBe6@KWQ2)Qr}5AGxKY(GN0$k?7Rm5j1GhHyD`&4-vVpAbemmmPVEJZQ?;X8h z(ENV*|HsQ1BaVCTtnW3Qy{dRkj$R7%R;|`B>)RJHExwD0#;YgVy8cNaPU`f1eS-5~ zLIm?X%Ok;$@rjv@pRZbm!K8_Du1%ZzL?h|(z)Kom2l-Cmkzc;^t7;Yi^R5E=afewVH(BrB2+C8J5O`tA6Xb&Ug0v9+r z{knAjTw-+)0X3H)2p1gE2&IH0y72)T7%#AP1{ad=}FE#f+UNlTz|Hu>ag6Hv*duGHlKsRUY%V>!^8(CAy*> z_=ef+DQHLwnD)cW+{Iya;>Dvqg`%Ftkzurn046ZhuBcw|B$vDAKN-hP7-1Tc;m-hv)C3` zH3Wi5j^b(ffH3*7cmUf{@}fA(747d1RI!>M8nvh-0;#4+uc%)kTelXAm92jP=z@$h z>QoZFjDL*d3IHW`QpCAqw`j}ZPoF~{Za*wQ0YpE1sZ)ihw>Ur@c0)z7q_&L1uxs3@8eF*FW43UoJsKZH10*+;JBL{^g*)NuM7~eo6K)@iG*p)SI7ks@tJHi zjKQ`8^gtU@%D?W>&z|OY!)FV>->R-?A_|;Qkig6+xL^=+6gjm-26RkVUhii+u9vcW zI7xN?s-ops-~gFJnaFYwjNT;Mv{TKuXmv!ZQ<@Z_ z^@pCSIIKG}TUQhKa^j5v`eBmM9yGLg8&A`sKgXWHdhqA*_7m>!AEkK*1niZfU)b^*+&o& zLO|36@!`8SwYDN{)GHW?sp6s$f?16AFO>7&aJ}dBRlsQnCec4+rH94?xwK*Xi{K{S z{OhcC2+&YUHSB55X>?15<0*iG_@2B3!7J!Z5CWN!iXr!5uEBzz3|MmL=`1yn`LTtk zAwTfhLaTwH8O9M{!2nDM^RB6~gE)a?tH0n~NHF6&UtO`*| zqc{6N3lPe}RtfkGPob`#D6Rpx*Rn|+p!m?hc^L%}1vDFCvuTaQa-fi61VFcUpAKir z>H}k7RbJHUwyvZS9gkE)_F#OJSh>?(_E2`M>G;{6}^BoeAkIqvlbxR|)|d zzqI3Wq=@hfdi%<0kv$loOpEKX)r9nOB&R}Xx!uj-d<&31^MSU@{{AOr>M*r zdXmZPTEOrA67kK!|Fo&(m<@Ko{|h*TwTFfsa5JTBNb>YC4x zQ4n9YxTD#9yuZH1pZEI93s0jf>h}!mc7{_zr>@?K=b>msAc>_lW}1a!p@U7@=_Z zv~Fwgue+Tec;GI>F;5F{6oWT}L4s_G#%TnqpR>a{;$z2ddQ!c|-D4ae{q-Hn>2e9;T~ssz+z> zd{z&OcuA@rxI4HD;GV!JdU=2(B`9c|w&j>T<0~+d2bDrq|2S>nUv}=KYu0c25BmLZ z8OD)gAO&cLC#ezZ9d^6B$2IXs%VP3V7vTKSno*~s-tpPs)gZh!KU0|100h`mZh+wR zF8rWPCKwwpGV@-rj9#txlTRxb*x}{hHRb-(egOFv(5~&+1Ed!KVg5YTG@gUe@;>N= z`fE13JFEQJfV-RMKaJ~X{vT7h*Oqpt%z_+H@+OtQe6=Z$CwxBmh(4e!QyOcRe;NWc z9gxS4V=id|i9`pklCRTJ6A-PL-)tSZWj8mrO$DG=w3be>-%2;REV0u1x@V?}(ZdbdZ)-`K347US&|O zW8T?+#wGuv8BHVO)SN8yPs{(iHJRc9Cyqzu835)V+(wV51Uz}v86N?1_3;zadB1*R zwv78g?{zT;-jk3|-qDrx@yvGqFd9HZw8HaMYI{V&-j}L(YD{5`ud~AZPnD1E;{xLs z%UwXRZ&@&hUM`B+hX?i;7L`k1>}%KMCk2E=%*Jrx_0#AzZeI1FOuJmdfxSICCL@>Ql#rCbf*DF~%h z1!%zTtAEzJ)1dnM`jNQFIIJ7Bv)o|GyC71fdoyrBD)MBE;S2 z{5^=6oYDw4y&woV?LdA-xkIFuL*Bo0hO}tcGUODP79gf>=Nxs~+dD`SMVS^; zKEF4RJKG{XLhl6YNpJNcRsTOj^N4xDjFghi8Vsz@4SD`(>~03lkj!a zD*_&*)ssw42{t1urh~&0udz?s5L{q{^-n5)L3)}Z3I5yrgoqDzxawV*KtbP25JoRQ z#q86R=!a}POLpbml|eu{{O1FH`GHSZmL~%#fKF?>%x#V{iCZK}Q&CDWbb!BV(hsDw zdj*m<3EVvf4)`}umBPFKhjo|diDZeo3@fTIT#W=+Rtjxk92jt2?!l#5Q;0@4pc=m_ zeL8G?MLi;yz5(EW^+AM*%$D}dAY2Vel{$g1EE6|?RO3NC?Ca#IGDD%`4vKvapq51P zI51!X$`h4n3q*GSta|4G*!t8Y?(f{NPTNyO3Fb!$?jMUg{6$TA`n(^@Di%q%sRRNd z|8|x<*a_(Z3~2iKpQ-}Zj|&Dk2rgv@XPzbvKn~&|;;qn40vuK$`tzsAU-Z*(0V~mI zQ&N1$xY2^~C39;BN`PjLw=+Lf!(LMNCXxXq@lArku+y`jfOAdI4z6JaYEdRdwq(nZ zBsgk7N5H2lj^q#SLma~J55&m3Lt@h1A2@C)9A%R*1UoKg_RWQFbJ+v z2>Ytp%tfHq>U}Cr+y5OXyt#vRk1wXQ)KjMNq{qHE-=@?}LOl_(amugovOi_$F+$)3+@JTmL<&*xP6}M_-^+9Q{ zM6!L0Hbun=)(r_|W?>)=-9x~CK8fhpz}{0_4j~&WNo5C0fJCDM2Bu6DHhM0o*6!n{ zeh|ls1%WMsa^q{1|L-dQ{a?alJ{coY^H;dQ(Pg`cCILM8t_UB>ryV>N0RF88__@%w zQ&|V!G5gil24swR^wtasAdUvb=eZyBeFT6h%(>Gv9(fv(mCRLFaj=5C<4l!Re1Vc> zNd{w4Jg!>EeILG01|*7P`|Zh-#q5ifaQ^=yBl;s?+0alhUuW%^zIs*XKr%6*F_#>m zuN?#946Y_oKfXshyI~s5Dh1%aCFKG4*VQoknNzxcpeCTKDk%V}RYaI~f+h9q`URuu z)p$MZ-q@*F*>JUmcHCO!CqOVWo{nWBJ)T*Xf7sFPrUJ}J0zGa?LMAC6Zos7BNcx>C zURR!xU(vs52nt9!F=z72R`VYQn&hb@EsPR~0zkzTM5+di&OWgKCFV400WpjWXaXcU zRTCh|al+xaNdGjx1qw7nrVo%_(N}~muRrJFpy8uIW-f{Tnyvg{;QyogVRE0E)jQ}0p^*p|3 zBDY%h0$VvI(gzVvkaDt_QAfRTck%lL7WK>Z*`zF(8F$Ok0AWPhG<38WXv`+#)@|J% zpNEDp7h+RbWh}W{BR6Y2VZ9fthF{7ZJu6;Oxzpl18tY4J9w?aOZVKN>uS}7O7K8C^ z@+ueBFu8x(Yh7g2^Ee;ZzdoDIr_Akq&B}|`qpo+g1xsk1;__wok`rf%S&6%ubUC z&v&WLo?mp{L35)7r?Bl?ar0sx9yJ%XXR8j~iL5JF`DvnDcr=I8l&%r=?KyMyia-x6 zv<0gKbX?a^^IuuTgE-3374s`6X3YO)H$4-8sr&g-BM6A*xloS5p2xbqj{uv@Lo@w4 z0X%RtKws7UIF4tpo=o7GgS?QH!@^gBtdj4ATC=bK>8s_8ar zV`KwH1IqW@)!I&=;n(p&j2`raCX-Wje%uV<(Y&oW|DA!&5^oS82@hR@sI z3=nqIgY2fU5@x_{)d(C+@wE512j%nyEK0Ly_$cDC{bsYoEp#tj1GAy`qs8v~o#xin+@UEKwC`q&la9P?#a%HfJ03f+^rDOO540>9tcy1?X@oBJZd>dM!LQ%*UX*3S7 z7sQxzSAKUi`@H)4U0(k1EcrkiUxbDx)ui*H>yfydNsoEI;_&+LFm1I%@x3v=J~yzNxfvb>sczhxl(Fe!SLt*^rS+ z_U<(*k%AY4`sb=*c)Oy~cf@9ga)z5`?KoBE?C-?Isf3+fxlRWa zHz*aNNKDKYw++9N2Y*XOzMwx880ZV`VmLdpn!QG!5jvqhS*n_C#;>*YNY0}4P6gkf zUev=(z2>blj9!%7C~2#uT~ZeTO%zsZ=8>P3M-#dPeyB{OxF}ItnSf;-lC`X?YOSSz zQaXwW2dl^S1*WjRN|kufRM4lLo$IxH6V+dHqiotyh#00aOAUA-~59z^&Wno5PLL_yhHDPsJa<~M*Qsn_EY?PMo+58A^)!YZuHS( z@v8$j&fxs|NBG85BJk6SDIpt|b2NxCZCqq(k|o+q0a5+sV#Aw@_^;0V@u?oaZ8II1 zzm*6>BzDdilY|C^I!?_MS)K9%Dp!@MP#gYR){mOTl*k z!joN(a!j)^mv5Zy(nIm*@y3Q>d1r+`V$Ct%o}D^Qi`<=W$gxm&OoQ}iXg&<*F`{{{usAQJIb$4qud1mu*6}uEM_$gXdp|Ng)Vv}5 z{JWN9^mwtWd*u~ZarX(Mv%F#shUdX>)@{tHD^{_$i;wE)a|)6VJ4YZ=`Ze`4?%B&{ ze(~cOLo)V;OzMuFCkk&bFZ!COdPmU3tv68U!}BR(7Sb*cVof}mz|4H^=TF>Fz!%qF zjwxl9#wBBBx6^I#u}Bs{#^g|U)siavP*8DOY3GQHi6wuwv_KC5rl4lpTtK zdRo+soiao^mHdc0^P=sf(_OKniAS5^dIO!10L6ua-<2M|J40oK1_y2CKuOm+LlaYq z)L*&!BIh-mW+H_rI;9n7KOf9288_89a(<`m(Hzv()BS|FmC5OM*-BByIGbqFWcNDO z0vwpzP?we$W_=D!g!|lc<v9=@+`TF1lG)jWZfD5D>a&l)SW9 z+@3$D%m?!#U*y7|SbGV_12`;28rI(7pCS%Zi}JmeoQ$=Vkm#A++o( z0Z9W6P*heZ$iNLzJJJ#t93wRC}`3)^3=u1T+Q#ymA7 zhR5@p(FU=ycW9AxTSkFldVaw4(>1sBgBDU6=S?aqBxyhR^7+oLF%o)knch(d5rtQ@8vS4Z&H;(8u$05th;XCzC^$Y#WM4UvxQQ|)pTbL zSPC~lZn&NAOeOXBBGuL_7`O|~|=NVmrb2dj=wyOy)P70Q!IJyltfZ02xN&s=KcJx7I)Ow!&?C5q%rmN}MlXu5V21k!tX*9TE zp)CVFFAo>&>KlX*a$+m9^otD&#nJ|AhJM2DbSjkB6Ym{oG9!w)8M+uvb*TRULGU1>Z9*+;juW{*ntqj~tNh5-qJy z?DX88GF*wGYnAH!;>CCr8%ZQocU4R79Qm%bxL9d#?f%fc57r(K4S9iS|L-XyJ9d7W z>Ip@Sy~mbUUfVaxn9jBUS1vy)Yj5=Um_bumM{gJ)?GuW-e{^SQ@Nl_dH96l2tK&`~ zmc=Rj9m|>BUSX4MUJYFy6{bDJt2D_YqPt4=lP>;CNcJQoh<1yPRSy(*PSM6YEYKqY zH>PZa-1wxB@_mZODz_Od{2UOw#bZjVlXAyg?K^* zcH>+gmzm`EnwB(HMxZ|nTkq=Hb=BHsJzc%lr`@0Pwc@UaUtXhpb$zgve1sZghc+AV z_M1%AAe@>rXJ|yEB_F7K3B%(cXiYHQVjIzOe!=HYu(t{BeT|FW_dhoXU&>? z^%LxDUXV5q43f}8FOyqRC67d8C^NVAJRK&(qd9i|+XPql=lnEn)hWfxF%Sa%egui3 z04y;byDbyFyn+lcy7acpibcJzKb2Ec?-X<9lg!eWfgXcCciHMiXiR*g>^E_GvFB zd>=YJj_l=agfz#dzWIlU`+vT&csSOv3HTZk{4NZ0_q@wh_nZj?bE!w-!gQe;mc_3Y@qFMDOaYjlH04naxq2D<0IAOHJtM!(I!J+y+YG{7eC&f~lNU03k*S#CS$N9guGIZTyAu$PBRL9+J|2mHyMUyG<4NyB1Q?j-Tt-Zqxe{^v}Il#0;#%^>zI( zX7-FaKo(L;+=VYPb&h^H%mWck&d#s=3*fIGb;t~v(^=6Q+;!3K40zU`v!H~@Q!9MS z@#33MV{8v9prEBy#Lzw1UUcy>dMPHVD}9q&m9^KO^U}pgx$PS3?LDWbuf5j2!_Rl^ zEhU?$I%$Q6qOoeLyDR|aCqvLr&u0I#9u;Q0%I{+;Oc2XWhCkPV##Jc|#4F3#m2 zQ2{4pD9a9j==$hBhorJEjJK~$*Pds}&;fEQiMJ#tP}A7uD}Z88lCm;;gpGC<@mDsJ z_Pp(mDvGMic&8N<0B7wCG~CK8aO&M#sADfIj~0B1rz$)8jl9tN(BPqc3a3l!ZGj1c zhV_j#UV`qbD*U%^rp9uAez z_$u(f_P`4UfVi8l(rkOCt7>_F1^=iGsyHaxYa9M5JnOb-VI5AF;elN56TbGLE8+4m zA>wI%6Mh-mEH_UeuO8SzZ{QfwynwuTYvZHI<>q)zyu5wRBp>E0${`q?@@({|S#(p1M4<)qAvpLodokb|<=*WfhjD@Wiiu zCY>*v?r_tID*HCqV2RNgKjKP*#QF;8?U|rqhfFq-K@{E0&2xn>TIPgDxs0tW1faAL z^>-GV?Q|f5f&J8jdn$da;-TRKt%Faxc5hZT0mtfSx}KKEo7@I)a?egJ{&kbK%KF|gmfCva={27yb$jk%I_Zdj zHI?SG_8DnAdD{KR`A@P+e(Cj#kf+!j+suVta(G$;zk^@bT)mpZBTUiOJBk;LWxnXU z309X2^$M_qd&`(Z-m2?T1A2CGA7uGhQ**sA3H)Y50RSF3{}UehH;DrPzim{GZnC)M zDw~Akp~GS0JXO2yM?7VoGs=fIHXDkRATl)p}2><*^$&cRzB){ZM78tHW zs@Slf4!PICpHyIH(WDhC9kRU5`@j`KUxiMqs#xB6p=`vc7}e@pn&22>XX{R!fgV|A z`4iR?M%+%n#L1<32g+Mj)c0&DFlPrun%H{;a-W62NfOI$uXJ_X`CQs8xebNLiSJx@ zY#H)^$E=TUx9T~5{VX$r$@Q=#5nBS@E>yH)8knR#gq#VbkX&q%bMy{md)s`?am1=B zpJ1=%karbf4l&<)!T4tA`@NKMP4P#5QIa;Otu(ep?k1(4J?bp0ZY%vsv5&*`tYzfG znI3CtXfbG3L{+G?;l87_eEO(r%qY4GmK zgP&dVKg(bERy7{$)ZOzC$@V)!hqW-OIsJE2^f?a-cm@5m+;a?k+=_wpOKr@XOjsg- z`2>ve#NPU}s-r+%9`pXAb78)O#zU5HJKJX~N;CdZ3c?pmi9P&Mk26YXBsK1bV@=cO z)lL^BWLwn7%8{;H_9r8Zy0h6g8qtjU4Dfk6v5(8gi9GIFpFbUAUUU@LEE{q*g z$$VC4gs-EfX_IRwG3iJPGw0k1C*($ODySucXy$J`;>)P-BhBx@sO=d$caFlb<{8&z zhLK&PeyoRyFS4Onf5!o!>@wwz1Yj~d)!!ympilbc;iT?fEhu`cT_MQc(giKB_Gk=LO`>vlAR)5xEn={d(A#e2YH`t{hh5K^p+MjNbIROXD7~KTK{GN#6 zXAS=zt8NQ`c_kSU0L;6*DK{uHvwjv<6?I@pNd)_IdXFu}HGUR0F+NJ9iD=k#nWC}+NVJRJA^ARUxUhR-Ihn5cZv=cW#i;h? z_29Er<6NH0eyi>;4mp^j?WE=!xDv>FQrS1QbJACbIqvP0c(eGRXS!a^dtTq5n=+HK z%x&y5>@;BbatYUBr`l7XXK#SyJUWOkv35$a{KMzc{zIiY#NdU6-tg@gn%^=r+aEqj zJBumwSg(cQP!aw&(&qD&n)fDyM!ZfCba{Ow+NyvUtHqPnzH!dPckK)8mR3}Abz7J7 z#)h(X&H10v%m)C?#M2-?zU`ZyXJ;&PonTX&f^5iYW^2?Yxv#G!t;1{V=<}QA_exb! zJ{iNBGt;<0L`pv~{1Ecl+j7FBNE#Kb~aU*cLQ(Cvpx}nc3cVrqI(PWX_ap z;1~NW!#<5 zJIkm|&2t7pVt2V}8MUC;0fVy(9Ta0<4{7MNHCWAhG2bIg`sZhj{bxg4bl_PEScej{ zP;{Kf)+5V=^?bJhy*zo6M&oWOw+(@B>{iS`S~UNO=qG9Yvx6CA0vrsR!dvme-S#a7 z6e(-b9JlN8b05YOX=xMIsa&!U$>SWB>Zh3D<#XT7pzfZK`ZJf5gOM;Udn{*iySzH7 zhG>V=TAFtjLx)=Z&2k1x;@pD~SGdPLQR3o<;zRL#+z06O&DU?$#*{0!(GbZEhIzH^UU``iD}UY6*Lo$x!f07u^={|85p8oXL4 z7BXnACw`pvjJQJJO+$NpN032e!NbFv3l;LE8xH3$J2Er#_qr674BRpM!hc;Do0m03 z-klDRG${k3S%P`cSma=3{Cev!bBU_+6COMyB2GY~c4LuV1W}*V#<<-wj}qt*l}ywh zL~@tSkUjh=9VMryGqde?E>`{74aL|0CpG%PxBsuNs@w3R&GA@oFTWD|7_N;MBxHwf zF&AL)<+#_;i%z^Kzc-dhOO3evcn{~qUfQJM&wYWBHdv)-%wzgX=Lx+B!agrBsCGUe zSar(H^^)tL;w5O3izIjaSXD{jtdTwS3SmyvZB+?2i{Em^PQRT5UzBvBX(|f08y=di%iZNNz8$ChJ8@*H zU&bs!F!s|<_A)E0(L*8eSz*~cfVww0EF-c)c}RPpFy@$qOV+PrIOZF~CO@c#4}@2y zGdM^q_dM7sh=nE^S_9K{FbPF>N(_waqwY z?oKFPmGaEyC)mS`UANG~)WwV7K)bDs$w_ar^Awc-tk^$&n`3#5VhrbTNiqa=LdL5B zR}=mE@%z4@Xs#xK8|R3?_|)!aPlN}75Zo>Oy7h5yvMsT&k!B9M=Q(wzU(MvSc&Wm> zzp^(qw35v?-lI$!=B;wIm09L6AsTr=hAPejS;iwHz7NfZOIpI;ge(c@(vGZ0?oMIu zhw&V(WuOzZ3bmrM%!l<3QqCHUxr;x1_Uz$APFmG%73Eri=CYuHiJSGb*GnKBlFLp{ zjRUo=_4rv2h?yNT=}9eC9z@@+G0&94kn0*lNF8@w`CXjCq;R_uWZgGEA!MG%JJSAb zDp_ye)KoIBo@;>5;YR<5K`>z-y&$`LJu__jo9ec?4^2ZXwOF|a>TqGwYn);W(&b(Q zWCM}I901`{MJzkPLzHd3a)@`1u&?_tre7}^z>L=jLVl9xKi8ykxN!oCn80gH2X=*1 z-T+{4dzj-BjMAJr1JLr_>`;TcJNEZ~MnOP=N{bNq0$`nu;`01W)LTQY!s2qnwDo@N zcQe~H9wSzhA(As8_|%4`?sM-z=9}oiSs5o(Vcug41&;`?-y~nZ`C^=cHfrqbvpGO0 zEHW>$x)$a}H(Ed~-2o!GUqJdVnfRw))hBCe%*=MN=EL9%H?DK?cPA~3I&Au+0PmC2 zVsl0Jc|gt4ht72I`#Ga6-GGy~22fEC;BA@P)aoPcv)2m?5p+<+VB7y-_IA=uSE2|l zxx(=2pej4zPfXwTq7x?E!&j^$*ILjU?@4qM*%!?Q%Y6a@Gn3tWmN_Axxj8#6(dpmU zdHcauWykbq5%kJ|=o9Wx{^t$@!6cDETv~~7D)lKGEk@8h@AoJdxt!yZ-=>Fa$ zDm(V&>ngpqOUn~F;d(C94p>&*do@%Kkjhd^?M?WZ)WASD} z=!DuNU|IFF1m=2A;>+eW?}$-mQ_nEBF4|}7#z0J0+VyG!Adk)^V+`|QN=yYPEJopI zXMA3+_|eyIG0q1LXgG2&wV87zZt4ra!`Nc<%xt@H=SQQlO~(KZNEj6`?OA0z~1*$EdE85W4SaLRMLzb8>9UJ!EKn%jychBSI% zRs*0R(9v=JPPk4sa=T|VfQQixcLDZ0E;?3RNA4?CK=Ru}5f~ncuMT`70AOCZm{o z{^XQ6SF@N!&jB?^ocMR|CHTf_*GB)ty)+J{*9xfFmYr!z(p4( zUTcMpP4OJw@Q{h>3L;TJlqBw4BER$_xVMwwxaLgM<_^B7;=W#FNf!3;TavbRM0rSQ z!VJp)>_Cm)EfzC_R=Lhz$(e1BTwSvKEWgn6&DD8CJpr;dK21sWoJ8#*xNYvnu=a_z1e?7MoFp z*hQwZ7JQmJi{(ps38;qEy^Q%rMe>ftNRuMqmE9vqd95whPuej+d1f?ORC(@@L4rT4 z0P?U~+sJ@@D9(r{+7%5kw_G267LWXpUtIwO8XGhsLaVG1hRo*f{Ya-HuZX$tSgPgR zWb{Gzv~Pf;I^2Dz{oTSrMY$^Q>T^$>Ij@$eb%F?_hy@M!8@0Ln+`yCcVb{zdz&&%m z<+}%{V`BoKj(sa%E*h@ADPM_N!5r>py68{$^CSC@;(3X`NvDg1(;bcB38>rZJD)x0 zc?MquPOyeah3oE?%{%L27oJ^5LeVewX~N?!bm=)m$1kC7iDNWIA#;NsYo5fi;d-|3 z4l2fK2=N@3XTQKIHAz?Bi64yNHIGw@xo?yPcxb;|=FJH2Kqc#Lh82HUsvJGs*-9v% zKiB0nuKzCZII7v)At_nfXr8`NA`0Q;9!tU3dF1u2pGi;4;r_Bu9J=eXkaq3@#yuAE z46)kX-cwV;*FtcDJp7%HB%(SirvBx~x)X($+7?cY7;7ux5tLJ6nLGC&SJC?o*#msu z6PcE0%|oEJK`ZVGmrrGg-Eh;9OY8nbJH}Lo>)Tw4iF3ZT=!Z58*vB@-Azz>ukr1_* z3x$XKtA{2)9G%x|?STXn+5I-6iY&6YU4Er&g_^HhZwMKq-;d;CBb);&86u!f&iX-h zy)doMbj`j40z#AO*G6kLUY)DDV#?nbU$xJxU)KJ3w80TCy%tN=!gFL%%*?uLf3$!o zTlbp5(Sz&rA8|xil*JAu5`=7*8fTdTbtXNLT>AV+*wRNg=n!LX`{|s$82rEM4OK0i z=Zx@2uDwG!ZiVM>>hT?QrihDTH@umMt~RY!VTMuNoX}j~{g`ZsrR!Q1#{ED!ML{8@ zJvwk_cRuI*QJs0!TJ6OzuYPx6H*hz0AuD4wS4TfHDIL6yef&(pVQg2oxAI^bl`*n* zK`^8m8dNPkx*L~_+irq#%q3xPcFTDk$LP4cjjok|Dyba0l&hJ$Hp%D-4R826|5m)| zA%3(!-w}7@J~wLFkp5On{u#+n8F+RmUAJWI&-Ys$ej(WE(A zSJ&^sv+bA%{7?frI+%N1EC1qA`R!FEIuCdBHxsc*F%FwRmW--)y~I0~B1^hhi{Y2| z1^#!|Qq3S+4Wu)7&Pp-3ytc!Uk8@#9inejZ(J|$26p9+g7IqGK zw^fJ^b<-ZUPSB{_(*+0lJj%81(tLi0ytj8g+|lvk(Ym)dT-UWmdVZQom0H+IWnp*N z%?jO2?2-7=Ediil_2OQ6*)X^!fT=YldP9kXo;xEs&$7W)4VIcF=O8|NJh>&S1z%o5 zHq`*c=RfCa7yMq;YH^!l)jE5WalQs%U78D&jEkG!T%ek3sJ9Aceb=V4Dsj&=0oC3* zb04JnlPp2+=3VdC^UG!7LR(Z3xJLQuzM`Mo^0S=)1w}nL zR#2wC!?&?$n|6L=X^Eu#j?1Fk2)C^gvED&=@;;|L-IU`ZW`v&xi8i~waVhR#s@CI+ zndG(Zrm!d=vuWyZ+KOK*+tF3oH;srtVGoM$C>I&m3S38YL2tWRpngv`KBW6 zT=r6a?Wy;|eEOv4>KU)&O9b5{V3$2i`zZb1J;>wz-P@#$O|tqC;!VH3fByL4SMkq% z_2;Q_cx6PloK zF-7+d+19sS&&k$wo? z#_|-)#Us^)R*6!o(u*bQf7YJ;DPnPe&F+hVKGLFFfhl^sY4W>A{OqcgTZ_Gi$2_O& zO>Eole!KQO6eAu(ySWPJ@6bZ1Io5@Bm5pvTA=%-Y$FAsX`K^G#n%2>0RL;!-w9dq% zNH(6P**GGJFV4?vOA{1^nwRazaCVoJGlpAxMP_t$^G9~$y7m_Xd|Gqrdtn&@6`c9r z-3$Et`>eMwR_!}r3leX@W5MB{HR89WlfiK;6Z=UGdc?|Z%&Z$LpCKA_yy@@94?;Wr zjlmsVyh(Y62{GbG7Ob!G!ti!!tfu;tNjo0)k0hwp36-I_z-I4}SL?w~9Yt=l_)C>n zg)KN(K@Sx&40}hiB7VD$Z()Q>Brt(rY;%OgBIrEE&K7UA31hOxs&552xGfjQS#N&j zZZ8qeD$mM?C~$~u&a^w{7Z3MT?hV;n)x0P4E3%(ywYN|5gZgLc=6b|lFRpA+AgMr1G;T~&AHW`jr<-D9#ujuYpvx_6v)w#8fqTF`BVv)jW0OIUC<;{d+UbQS&GNI)yy-a-D*bM$|d~82ExT(?hda6GRRO` zzQ6O`-r|r*xa7KBt8Tt)p?LdNnP}jr*`N^*W-nFFsyTFw1ZhVSJMN7$p5B+gx5o#M zt`qUQ!7bg3XXBs)!!FqEa||1+&pE}8D$19m%!M$rTNp6>BNXiaZ8i&8)NJCe7SS?W z(WbCU0B$x}A5hc1lgMO0+tNf3F%HcGFIRcMlR4@roQ$~-r)b?V9z^30=wo=d^!@`2rmKz#|4m8Sn zRquELmi&iNSCcbbUeS>lL5nuj{SeDg?X+{kR-Q`P~Prf-7(z@`W zdf{t3ADyp3-BC(9y!Wpqj#{n>>$}GkL#5YpeKq;Q5tJmve6_?hRKu*p$xzBHzEA8T z^`FJu>%8A-#4qR(%rq1Dp%;nEfhu5lv%iNCp-uyna-;BbR92AR`sNJj_oEnbC|r2a zglIjTcx3lAraKP%9n`3{~fI2Gh`d6r+`cqAqq?zOd`F zx`($*p(onQK49Gt-~XP_a3w>pqzSt?Izl_DJ1`crD%^#wr;A<~gl?KUmr;aQE1=@k_I4bkeJVxAds6+*S*~{C4B8~u=8x5TXB(=@?q#7qjF@wcYn0K{St#t zheD0n5%gx4b1{o~P?l-^BAC^(Ij?N#_(n6t^@~+`X&qC{6l!Lwx6I_LHh$zRpME;4o|Zig_PqOw@2!K+~fDbDF673Z1`M^5@%N%|VH`KtO;nnmwN z2)s)jfqKy{WUN+Q|XyBzo-r7(3+vGn59j*AoIJ4YjL0D zeIyR@l>8A%X;gmlzty7r+RkS$l7Rwl4>aPh4v)s?rzcE zugMP(UxC_fwyw0A#L;9Ay0UwqJEXKQnx84Z)85`h(2-U`)AMH}c1IRz*t#O6Vq6Da z3#l#$COxWSs=_WGR^1Qq(`{IM;MjFf!cTK?e7=EpbN1=*=Ud{dj`9mFpY8jf&Bk2v zb~NuTiyLwv?Zv#lcpd+~zA|Z_Wp?EdRe&%DQ9^GgN6k^+V-mAIkFSyFqm4F?HeKxS zD!QOjb_Nr+BRUmfI7CIxzQLvD{U)YO0a=`8`0hN`*W)lP<-jC4nfJF%!R%fbs$H<5 z*yE8{{Ol@6w@D!*~3*@d>xw5bsBHF-F2*6+I!Wnu1(2 z($xl zbgPWZ<0vW9@s*OIy%F3kjXby&Afb)fkUB%qC~tA~_vh?A7w6ecqLG z)|m1cG-zzF*Q3^wpJ_{{(kuqf9|djXf%sUL?%3|)9qB?JZ!?A2uVTI%>~<);O|d6l zz$~Ee?b6kjPE-lUrOhac%Q%GCLF)F+8<3NYZ%0TSaKCwRW0wx{98-+%7&*F#EbSXv zHzsT5CuWVV9$ai-h}L6ozMQ6nY?*)D8f4%O(d%j-oe<%`m}mWFRM}nEdGHFJRo7Ya zr5D$LI@Db{5*4p09UE%<71PNSZxD%3^Ht=vrdDP5RI@il#Ll@%qrTkuMCp}6(6MX4 ze0Y{YS!(*UMv7Oy`=c;`nmrdC!3ml(Si zq1RU0C(H41%!)m+_cMPX)l~bp@5`+!I_5=qrtC9T)j!uqE}Y5J?>#KPFzPmFdF|WF zs0tveYq5ILIQKKGJpOdymD$}F7XpKIf+@dd*rrhCFOtIT&(#m*8nn%&9sztvO~-=< zHA2Wl(F*NTVlP@Z#9*aeUuy64KAnt*zRvL( z=XnkEz3h<3Uq=3wQq^Cs#P}4+P-KzkzJ66$RL`^Ehc{adg_z$k_@l(pAzmx}2O`<< zmbc{XZsco}+m0KY%h}`8(FSQFm1pC$jKc6(;ppT-=eXoTFSctql@@T7aL$oZ_6ww% zG$sXhq7~^Cu{<5YNqeIt`_y<&K6A*EV&0UbL^7embXaQwwHg?G4*M03=*InE9x`i) zdo|r|S5n@-HQHsddZ*$M*D%%0k5ZRPHqSvOH~aUH$mg>S5G+(#$bmu+m*7ozoV4@! zN_jMzkRwksZfKDP2op5n()?H+Hch%=*~z(RqIctT$5M)^GjPX}+&??$zt`P!M>~x~ zDv-;HXI)NT;YVA&^G-S0VhIL_Y> z9kVvR4LT36zr(co(H%wRj!V84dgTosMQ-jdy+`_lk3uStifH>P&c#qK556SS51$39tx7e7T?2O;m;1QD8bcf;(T|UxPMtv znU&y~-mX&fRKqE(%`*EPfmUftJz2O@MnXw1Qyq%ji+9_%(F(SUon5#4fRx^<&$t5n zS)Mz`73C(N$zN#G7W)1DkYhySeNMp*)lA~gXWByD$rs%S?~ zds^PkJ}uegqvMqg=B>Mz6Bx)&6OsGXI6@1d=h@KSA9|B){pbvoSgs^yfV`WhjI1nT zug!m}2}d0C@d`cWnK`IgvH()mldF|tajYLkW? zgUsb676=>1ym52Me9t>Pt^7tk?;;Bdd$`z#_*EEhNG^D)78^N4y5MDpRJ8)-pbL`r zK&)DFi6%CcT7H)F)X2VNNOriAryLQdxajW@%r)Wa;u9u{jpH$M3n5%Qop&GQ7sIM} zP2PNA)m*erX@PSq3U^y5Cm>hOY3UZz2jX|To=XmQ_X=e05?%Xdo_N33A*h`u>ZHjV zfcy9o9Ck?u1gY#9O+#hY)>yp@PuDu9t*{Y!0Aa_)sG+|a-wu9=<8|mG_>;jF zG|5Bwv7d6+`=ZJIg!_Kov~|&LUM6-j+QwU??q<#=^I6c6;SbNp#q_(tKx0HjAz6PT zJxr9F2(wrTWLm?kKtVOmi>11cv}jEEZQ3N^z3oS!HByO!*uQ%0zqQ*Er-UFi-^WdJ zRNu0zjvV0W+8CTfSx{R0*F^U~$bDN#Ozcrk!HdA=?%z=Rcfs{Ne{w6o(&}B+LCh(- zW9BaXV`8|MMicf69OMrTQ4F(QE#IcWRFdXbbe%I(|Lt-o3DuchP6xnRGmu%G9K z*7nV)atWwkEpO z;{Wk+s=|l@$Jjeh7U*^69Qz4#mt{(Q`1W$6@e)T2E!tVXI%2oIAzc^lKRGIU_jrBW>ewvk*#HQ{q3S@lIJBuP=^f^ zIv{#q*XLMoH@m|F?@KZ;O_1xIZZBG@Jb45VgU+K_Pt77&h!VdVao%j5`ZE`yM{DFR z<@CR2j{sMb2h?$bmIYtZ$l$a&2fK9bFO|1lc9(I9lT<^bL3(QHT4scBWO90ni!!pry7%YGaPua=g&0@EnR}OdS8dX8QhR&RYMH)p10mrEX zb4~_;1=)0~>?zFGw(Fd$EjrwbSmDY1 zVV>-i$%_aUsfTDu<3yM%Ok~K1piPG9kWUTuNuG7Ml<%|zYxD~57@x)Vuvyzi%3BAY zW2_0hZzk{k`iFNx-%MT`wzZBhY>FFAJrjC$9^6ABkqkOa>?HVUS*J>G2Vn0LXh{lZ}H2x4! zFThyBk#1M=|k zuKW?tf`#^j)1-q@DrAw;=69;0VN?G4-Vz&p_w-GPZylL#1?TeL@7x&$%vr*jfBe`K zakm=6mF$|Ok=D{wneh2?hQm_e!{LcGA7y*(@uhQW8M+SoA8IepNVuux|x>oq~Wb*2hWGKyk;0I z*O5@KiXFmeUy)dP+3xGr<@XOzH4_(mL=*1^x+KE9_SPLRpC$dW>VCCGw6onSbR|cl zH=Mk&PTDO7w8gl|WrVyXk(9NSZUSL;H^Z0?c$-GRcA#lzALgi zt@Owr99xyx`>9O}^xKb*W0yDF8{0)Ma@ViC8-Y+LwC$SWq-BK6CL?N3>GBLSj{@3( zd7kUxsd6h@)IYkBRMvP7^S4MtXig{wKuhUhh=kC!`Q!-zZ;ySk?jiNIq>BbnP-5b(CBd^5~bJjx9pRi z_o~T$ctOM16~nZiXy1lndYrLZvZzFk1<8QTd|{Aw#@U_zJO?G$mJRw-Lch9{I-9el1+sQ9&l&XG2(6_)+niU7r4N( z8hKVIGSQazK&VK*55pxm#yO{ND}bf#`I#o($s&@p41JyYOJ))BN#v-UG(7DMxjqxi z%;^2p+pPKWeJ-i45Pk2mXK^YKq5syt0@0Lwh&#uaAD=$RuV?qM^96|KC#OXrQ|cR~ zX#;8;dG0OMQWpi^?%Wyl3Po{={t-XtMy8Lyv1+ORc&ABYgWJg2I^Pr=(yZySC6S*v z-B;MMSG@#jr*C$J+X~-M5;9o!WrP=xLp3P*X-S*B2$vDvLvpuQO3Xy%w&tTOgM!}P zg8d8B;F;96bZ#}8MX#uyMH|C4w&iQ1o2mN?zoLa9tDdGQ<-RhJhDGxNxHhpyt~-4oC+@nroH0&G{d!5MsM zxYSawN0T6K#wEB$svr+!AXt1p%gYhH;U(g@TvhKEWsxghY1)QZlBH=MuIPDB%JN3Y ztS=-r4f)Lprr_50-oIYt+EYvqp|D5R2)cM6zB$%ZnvLW}Hcrm{H8dO{ ze)v!7@xF|@v_z`VXl{L3@R_((xaSukr=B-xt(fz5rXM2$+9|p}R)jz7H~TBY^r1<< zus%vrM zN`4}1SpKfr$5PUci8@w$8Gw&S^vRpeGZN8Rl?eHX?N+|U&;;bGI#`01 zA2dNdM|(Lx0et1uG3!!^Qw`-#Y6gm7IqpzNnx)y7Ulr;~3tr<^Lym=}b>DDs?b|oo zTkx-j$YOrG;o8;s-Gvik#q>YNM-eQ@?G~3hKiHmz6i(*IR_4J0)EOVx6!GT3e=-7R zgnpU6I|?yhQd$dPuAiJaTl|v8uU9&%GNY-s6{kcm^b$hFZc%F~B&q5x&I8O+_4Q}= z64Cat;PBQwWaI9ePn0rUQI{)Fcx7-IJbsY7B1%D!$}xTpKYuB>{cN>G*+{Q*D1uI9 zfiG36PJ!tTV;iq%@qi>vfy3l`Or?hwK|34f>EGm&)uv+oAtGY^jl_Kc&0PINU1e$a z*&m6CuYb%lnh4Sr<+qgRB3W_I zQ=>Q>l=d5sIWH!A58F(bPOftw>=ZnVH8PJhTXzt~Tw4D;sI{Kyncf>d2Tlu;b&-{p zl}S+6bP`ai>#iJcCB={j(&{_`I~mYEIUT3U7HWD4*I2d05Rfaa4t1(RBc4Xt@;2aw zEn~-^%(2bk{9-Rb^T&0|_M=*L%ky41M^Wio+NSfktoyXqJ(IX#3ob#a`H8hvVMQRO z5OQ-Dt7b%|0-T9; zKQGuij89|%)ycbH!ENKSG#uqOI6gTa44;a(-D6^sii0870fme`lCKtINWbXYz*I z4m+chFPMB!Z^`R#<^0N`Gs%V2Z#+`-%qzJqvbb}{wcs{4@NfQ8LK%E_7l`_71k2=W zgZUe)ty0z^XP`70w@1mBJBIBg&Nz`69fC#*gHXcM_C2Xg_5t17FZcYFQ;eF}Ht0xL zzl-ZR8_fXz<*o4Y_irvs?XnMi9RA-w6-v7aEQV(j9XE0O7MmO`oju49JK zraclG%0SJW|8R(K=Cwph0>vi{Fai zOQ)Bt_Nx?B{Zu5iWcRbtFJt9bg?G2li|oudkc*X|2BlUl;YJ|h{$MdgfYNegeVH;h zJr0^5oUxiAFQwbqhFA7^?fW_p%M{|()@1xIJM-YH#)k;SoIJE)u6f>T^MjPZs5dWs zP0WIxhYa(@n?Un^)wb-GT`Y35IjHxu(;0pgl9vXDSg%J=#LiQtJqwj{@pgoWh;k?W zxBIx2FlT7~s%s*ufR80^U688w{O7i6jvV&|1FCYq89ufX!QweR3sFA~)Bus-_ZGv6 z@`mM#r_7LN@>&Jhhe|eU)hV?@+|R?VHS@2$3N9`HnfY4D8g|7?_a?ubk6&h9&>O3) zRO-%sbJ+Yiot#A+uRRt(zJL402q97>X%qYFN7Rk}Q=&jqC@*0*-e4^qax6kYH=3ED zMl2giwOnP}yp_#hf9X{;>$n1a3x~CIcD}U{-)X+iK@7%N zxmnoAe9^-@#6krWI6iUYD!%k8PcfdXD;KOcxubQc6z+MzJXTwrlP^`z*P6*Y*wb?g zDoB|F#7?)y&)3aoy-%N&X^fyQ(6;L6$+eCPmpNUhL$p9x$-UWDjt2J`eYDFQg2hSx z$s(Aex%3M%ecZZuw~kzsjfV8e=DBCd*=t?*z=?hik~8A;A9|uSQ>_6JN_3e)b6*{p%f^^FLB z_nM_`?Tx)M3-%f9y9eGNzaYQe8v4YczEuLqJ*I8}LS|Y%0Y+K1)U?5k&!`NQHr-3; zgCBraT!TfJw5xZq=(=X;4%%#GGHw~{+F21%2in7g6{bfl@8Rs@YRD_12R@KZfb0jB zOQCct@>hj@9dCx?yX-5566b1@t5|m@^%UUC^_|(gRC{pY0^2>PcYfK;#n9&p=<8-u zVaHn6#bbwigdspmr_h zC|#lUyi2wbh?eDC2m5L!3-T(s?fkv?!O_Id(yQ=$i&Rh2ge05UP{5gIcX3W8Mn9qE`9vLdyDPbWJu6N{|(T**~2O`YP4&C4&P(> zO02nC2uQScV_9|C#D#DK!D3c^3jiBg#{zI{!fwIb?jMjHouUo1Md+onw5&||odtvv zYf+?G`omc{=$I^F`%60vKQ@41(W@a75c@RF#Sg}c+_PYd#2 zx&69u&`#ml8;5+z-&ytFSvi39=seiMU=ydtDagcP>scxgc@Sn8NMCWXk3M?y`X;nMVS``EwrMWH|vw*&YJ7GuBA1gv_mQ;Z zL-?SmzXV=AbghUs%#a4KbO@E|8GQW@+A3S`+6hsGs#fT)F8B-kOw7*vsOSQi6NOM5 zCrlbV$%~PJ6B$i5X6|c%m_Ey8KhYDwWa(S&)%%3O%(?UvZm60qZWK#Dn^MTHo;zBx zuUYY2b+Uo7Mo$7&(dewkN?98>`PWRu*0KlT_%ixAh4>J3Cuk^? zs!*UsC_qwJf%87N7@D1K)uK9`Q3lvCU>&|r7{?bzVE?st*SIJ`ivIxahPDd!WrhMT zG#lr=wJ7gW{Y~*;NKeTO-p^N(&pa~{#7Iu_Bd=nB@aW?!TX`Dpou~lad*H+1WBP;Z z<~ptjICbd{E(7(*?Bp!=YVsf#){Kx$Pv5=ri&^Vs-FsJb(8PIY9=@s)0E7BPyTrG) z@)tJUb>rpXD7|1-MqkE3oUjCt<+nQ!Y&3M^V9IIt$0_UO=C$p{cqtB@*2pS4<-2< z(w3RN{R9&$;xA9Lx-KAr6&%adT&Q0|INKS7&Gt~*r!B_L#TdphO0-4M5F3f#kA7~7 z!ZEmUEaZ9m)ep=&!@=P@w+|5Hn3pUzq+7#m6$v2#+Hf=t7kyH0+S7W9zI7~1X5l%4 zGdE8yMo?`%#-SK_7C4FK{4oye`Z+7JiDz%k7;nBE-1I`ykhXrjW-EU9J(eopxv{4s z*-lXOhGSbDWc$^t(0mtohtY(3KGx?O5HKzW&B^3qkhhb}S%DK~3*2Fq-jJG~$6V{Z zdDhW$q`6n6R`2j3)7!<>uKZQcW)52LDKkv+a+g}4`m`S-yCbOrX34Tg-8hkHn#HeV@0m&w^8g>!Mdegsu54|>rvw9BI1S! z>x9%joh43m7ScA*#Oh(omF6O#d94}}b(hosdL4Q9Fy_2qK8QjGpWuunH9a-Q(bB78 zS1DuHN@TeN-Ll^U)`Mt2pqVuZ;J%>^!97XY&z;(@BfCZ5;P4l5jzh`3oAMhvRa@Wa zcPkzK$_q+mU(1eDs`beA`^g7dovR73-M9!>E@z9mVqQ!;SWlhC%zmzyD{g>g(dkY=6qZPP&YXY;3m@(MC zoVWh78?o$rS_PbN$V zA<%uHP%V?6rEWHa;j^@URr9k_7o$y4_pwxC-Hxr}+D?yxS!q9{SC$5ssV40A3Q-?p zR_7v!Rl#K{zrn9SV$U6ZJK25vfvzVh zUCh^~WV%4m9jPsh=)});fZ5`Z`mlo&;)dHjP;jc~XFJ$wAiq`#TwQe6F81P4An`!) zTeP)9heguQL8@D`K}4ZgMZ7jvR>{hC<5$c+DfS&9M& z`%PTERccmxCDwG@@Yr7Kj!j{+Kqyg}stYOCX3oFgyvN?+`eSn^d*IWWnHz7fIvx~Y z`bp@*Z{%S(ygO&;t87FJJHa|VP+z%UX5y9!;{<5~=9Ku>66zBX5-EEBZC;iI^@5}8 zNimBP4-{VRCG7tqxNJ{Yw1pm(j>ldK=w1YWvIc4u3i{@*r^1`{_Dv zrPgSUe~#77Dh;qEEp4?*Q?tYJHi;~Pd(nNKT?(`7{n^ft8$me~DIdRq!<3wL=STx# zI9t|5+Pesu1uMe2(kRY5?!A&(iU2aGcdcK3nTmuuWK#jb+RgTTmYcMhny}h?iu5>KouSEdnLBu&i)rpw(L_;rGLpvNx?f64V zq&I=6Tbl0VhX49z_cj3#oXV_2{C<(^tk4rjEa%qd z$gzUO8=gCZ6BN#Rz^}&9n&(@TcPvtF-mY)`elHtijWf)7r(@{`(tSLkEbIDjc}M>! zRW_69&HjP=17ofMkKh!kwnv_geZ7JW`}Tb+`qUabyf(lAI9kaW4uJ^kq)^yatt#hZ zqD3B-<{y_XML$DB8c-3BurE@Rn^ME;ZbBR?HZrY#bOZGJMxZgm0bDACRK2Fu4 z`vb!Ok3T7DsV@s6557vNzjkP2Xwfx3^Pc$~yZBpCl$9=f*U^WzZx8(a8;)Az{wSk^ z9}kORmPS!6(kcFVb$a)iDT?z*!mf$A*T(cd%99LtqJ{5OV31^WfN3Dy-7C$EqAq@)rDOQS~haj479(QWS8GXoXlsvIuP$N)GUYytGa6 zi`=c^G3O*uo4$(HKom&G>4?&Y0^PbSYv+dTZiIU+-d77Qb=@Dkl@-+%J*eFrOLMo; zY+KJVKfi8sFuhkX!!s_$JhkT(n;n%}T>J#sXAv-$sriEKM8{6cv_L-?B69l#?fRW( z{zq8x+?7mWG|tX_Rji@zuxW0~%eBbM_8#*-)4`>YTl4dRSGzM5pO@owqCRZnjA$yZCI&Q*V3-S#pmJ8EGe$Ey^x+R z=7|14chnR)e4$_o9(}H zk)V5;R#fPV&)Cvt-{5|b%t)y#SQ|D=U?ro`<2DhB{tf2q8`b{<$8mQG%-h}6O!vLX zqL{{Hz;VolYYLtnm(&|P@T}|VZ)$I$Rh{u)HMudC_Z+9-e7Jt=`IsqtafPBYy7GK% z#C+$;XVouEHY1kT-WoTW2pui0eNd|Tca=#4JAGh;uLRh%4WrO-Q1`jIvvo>l zL0yoxL#2s;u^1|wd>%DsK*>!t02NDxpIS7{e)^->wwiB+fYZoZ*`7RC@AkcP#<_F_ zED#HLGu(N$fAo{Dp`lSOh4LEpq|fN{fhoVtL@&KDqW|uZzfFM8fwwx*u=PzZzP^PYwk6@W8BmCVdxjM^rGCn>$;9a}^76%o{2 zXxKWoScSN&Ar7?PhT%0DS|EyAZczC}4?s9ly_yIYLRfZ3fic>6c7w(@%|^@6#qm#6 z8!ZkAb&WBs^V@alhL6#1?2?)OPS^4Y-NzBd??=Y3d>B5b!I)tIY`%Wtte1>l0)Ol| zrCY3cG;y%>-lFiiW15mtj0dV?-Fo2yl#sd2<4+vpIqEe$+ZaGRJ{>je2&RPIFiV|0 zZNzT{% zjehiWSwSz$SSjRr+SP&_3X2aOhd&$=}s4lG~Sw<1qVpBpfhIqvq=t-|BpE+_;!~5t?&%MC; zT5^ohL~_}>PU7ICKFVbdo6;_0xUrkW(^_h2^>mA*CEz4PG0DQF?A1L-J32zM!=y9? z^X2Qnvj1f*x(>Jrg;zH@((c2ijP#D2YIp~DX}pf{&e@za(em1+Ri% z^{@VL|9>_--b5oVobe-Cd&Z56wP~ps)$tUOqpT{^28)nmRoG6(3h6EkkIk0`5Bql0 zaQ#i~TB(m^O0jCLeVDhOq~uwt$rx06ZWeevSSQo%2!}Si$65tB1~#c^xO2Y_#T{FX zDg&-i_VS;J_IS`*oX(Ec>2|HeX3qnP{vDzC*F)fUEdx@yS^5JSxjg{q9Ed6+)vv=R zg$ukQt7qoIpZO=y2qK(GK7NWa&B7Mp)L%IE^i~G5$W5s}&^svt1 zO1?54nWXy^q?N z#wo=Zd+UG!Gn^BKe0(&dNl6~Q?L;FFaZ8fX-SKG+5u>lOLDeLCYoe}S=<^q#CFuA!5X-LQ*Wl}{uSGwNV=eR4P( zz~ewvW;Dd)-a}qAKYMyE#pH-(t9SLo zlD{W<>2>B7x6dUHCk!b^E@hX|DB5Y>-feZOuvT!QZ&ML!X>Tuh!2!20;!>s4$h*BdT|%ZS-NOfnCyRHLbE$ zkL1~%#1*jX@JIMHs}FU7Oyiga+C<>Q!sdAG4R1wKQT@h|s-+sqx!2<603A;;Qkvf1 zmPQjQ6YmT*%$d z(6(%ohoLX1g*Qy%ttDdK=}+N@TXw}AW21f}I=$gGn1Ko=0@+q7uKjl3V11)9T=QOo z4ac$@w71hFsCpM_v7A6PoSBiL5%(CHV`yQhsLOzj4{s|-OT`qqZ~~Sftt5rxSz32N zRYN~*_0QN40D~;!6T?FAlwl`&uRTqV$Ntp`$!EIFW|FJ}+2;9A=1%u23}Wr&EP>W5wFN|ksyjs-m=<*OkhAI3tZ&3J!r{n*q3 z;-bS#IjdnIm-1@eB&D^TMQ6IaLb`~2bN|xYpNAX~a{ajhndVj->kZ_3>6jYEq`jMV zx4ROgzLhYl+Q2gS+hF6Bc$=a&g@s+I+n%f4uDkd!Dlv1n^HPRV!dHeK5t)>k4pDFRe`VvzYR zB}HY0(fp$$+8jwW6QwgVrI;%dDjH;*yJBa)Z1MVX4Z=m4Tt%(cul@(){>zuIj|k?~ z0VGp+`q;?hlMn3`+ZXTjN*L0grfEOYjOdwYsrqw{v zvF3?wN~7GE3r;v(GBt9H{j}@=__?*!88%S016Y*J5BW17lzmPS+Jz_eZv4l z(90Ds%r9R6%yRwQWRPVta|Kq<*!S@zGe`=9IDZq9k+YC`_%CDY_Z4ecqVTJ zuENG`Rs6hNca;D8)@`44{sq4HPaSRH_D5n@z^jNBBKYH>4}iHX^hH}JN0I*!lqxOS zEx)_;`A>--c%;}rK%XPlnZ`(}8cEEo#(9hiF^zP0CuFQ@ zimX)~R>F!fJ9Hd z+8T5rCfv`(zc3p9YW2?b+JC(5|00?G0Zla!jcYOL4YC0gCMh$^sS+$KI4?xof0EG4^-q1HO{PN0c5MxM|4d zJ=)#BETT|RJodM79_GVYo}xvzps^N-3X416$<0Ngo;e{g|Ij=-IAzxmUazGBuLVly z#Hvc##%tdK@eD8w1XPq=q*qz)IL{|fHa@MI6{*CE+bnnc zjFQitL1a#n!#Dt%oh{BG4JFh$H%4-*Z;Bk{=&R(P^IfKd>t2?Ui~3yD@?hpR2X5Dq0!iw;A3f!|0AUUvJ*3)o!$m)i(jJ}Teq0CZ>*kcz z5NRC~J+HZ5G40@NHV&mP(%#^ZH_Vs|)sa0Am;R1m z8GxYu=mIH0Pt#M2AUt@(*s;t*!ozD~?(MG`Q^M6A`SNhXVK$k))sYYK9T(S`;se^M zKELdwIuPO{w_3#S%ZP?Ce~}7nv<*u}W8T(*;GHu@^B(*_L^oQ zBe{@IWiwRh5A)RVd}@YZ;cgNn3*)tat4K-zAG-j`m%;r%If7&EOC9`^Ih}KE1>LkVCU|o#L4*{cOI_#(7Erk)mKzd6_Pb`g>s^}wiX3%qIR%%#!y}N6fBOi zni>_$C&4~-QmGk`_iSpUNY`?ix1USiTy^Hee=!u7qE(t$yr~AOJ*DSkju#U-9hK^$C88 zP549^ZG>@s3;1@{n#;lU(2QV8jFbJ?Aq;2y&|)GC-!Q#DYs%4p`eH$ern#m+5^HK) zbzJZLs%%#Rld}j-%hy==do!<-opu2j5qR55U7OEB8g~#d%K65+2ou2a@THi5H4@o= zJ?>NGnjZfr`k(Lw2Wai}|U+>qen&@k@IQEH<9J zKjpKcp0>tiG4pe^YJj+_u0K)FwPa`}W?KN<7k|c01=Nq0W~Vl^NWz=}8h(;OWe1iA zv4G9TzI#0>N5ib3HH{ZHqPt$N&fWd=`-+D$_<&P!m2McYpun-MIN_4K;Uyo-epiFg#Gnlr z5CujcuNx+QbJE0=F$T`-KUt)seeYxk7hIEUE}03Ar!!v;>du4>RETv_>m`2X5P=Ph z?QLmF0CRHAh}PNUjH-!TAnn*RW3J~dU2oe8`Wfgw``+KC+>LwZ{$Q7-J*=@Xy=6cl zNm}par}mT7{+UJ#k!GTI3R;rpFMH(enM>N$O^3iXZ5{Y|&p+?SS?cZMYA8-9X9s@$ogDc%aI9BPH z(;&rcUd89y7;vTc;M>?MhDX86+$ptBEsRmupVkNds*Z$Jd4@ut4ZiIne;esAc z?4YmHclh`V1xWozPR6yJFqjQJ_n8V$cCNJb?bc0B=hdlobV(Cr#}dQ#22- zEw&ViyU4{D)Te!Sob}Rkc7%#Lu=Kh&XxKGVIJtQhb5OT1RJ;w$JtT1*Y`1EtWIP8% zWIcg}=QD(EO_2ZHT`eC^9sAhpl=&UNTPDl(TbTJbE6Kmk_n)y65W)-=L9pxxd_?8% zITwR)>L&r)AkU6Uz!>xKV1|&2iC{qCvy2naJpRWY2w1##1>lDD0Ew?rU_I)U6^A%m z5DLawlh^}jdlKwHl@vNj6?;rCLG-j8M!Q=#k5~A_v9?}{VzGpOA4dUXsV2Qi`T@my4H536$>x0a~ErBcF4UQS_FgqEE~d;yw6$zz07ZOVA;+i6<5={ zAKaDgg-2i2`U?3dFI{9l){CU>aQGR9_&0i7Dl?zkW5;FMKvZ@TU@43yft0F+9a9KI z3HQq1`i4o$m&nCirCvw8G5x+n8(~|S75vj>@JU4pL6Q|VFOAsN`xP9|ckdvtM);27 zIbvaIzX-Osr+5e^Lti{JscSHiB|4Ka?FOruEK4~u!^hj({vR;x|M1#@clpfnc$C$< zJ$6wJooz0`?<2~9!-tuJqvB!TmC^&#RudVyKrX?f*ZvHGtg`_>!D4bV8u3w+gIOdLK(r&eRWM49h%J3>nu7*rJa1Z_%~Adt?isF5xiVqp^vMlQ6iW3|qNH6Ncf=yBQ6yV%wqyDsWJ za0~SF=Ce{mKU^x$jj;Q<;Q8{jSpAQSYDqzbM3wwltPUQRSD;#Zb*?Sim!ry{AuLf+ z3)nj`^!1Gf~WF_%*HO+ z9L%V@<5}m%F#vB7%K#Wk47g8Ux1h4BM}rmbq6brD8ID6~&gU2dog9?@MyOxHZ||&d zkM2cV<{~``9~dLmmcuj+klq_JkCiJ^>*eeKR@!tXC=EKPFnAVH@**blp4`iw)iSA? z)R@c>QpX-`XS`k5AjjnL7{v;x5Sp!)=N$^r7q^6|fRTz;4_BE)8Zp1jh zH1=upYjH9t-0)DmlBCHzBPRJ~>gQ?Z(&7JQj#A`Aqx|z{n0xNn7rQ+G_7x;ay@;K~ znfBtB_VTt|&fwE{9&t_Y0Xw<+^_kW`s41Dwm**Hp+1hYTK^K{oi&oj?JYf678|!l! zB(*9fc|(cUdjH#3__K(7J{M39+(8nN#%2cXBAXO?viZ_NP54rpF&;UZpg*I2 zae12YZG=igMWxJw*0V=}K``@Yd9n|=us5TKdIG>&bIsTF8YztIGzxuD@r9+|bK2Q= z>|!%2?49Noezw^=ngh-S9I!)0ZO3)JfXiE!cS+q%sVWkH7=>8{qOpS1fbnOvM&5-u z_ro_{{(}407r$8&pP{}%JYc%PY%EIv_O!2+{pnJVbFe<;LH_$$rY(o=QVVQVdoRQk zqGZ;q&M-~ibB>^Wg1;TON)~YEpLl=r-`k=8D9rx~h})`1alkf)Fkp~nbz|1(Kui)5 zIdXu}*glU0)&!`gIREjL5+eajSi&V3W#(o7ek|#3&Wgl_uu!_ASEn#Q5}(sf_J z7y9y_!DwPF@i#Zla=tN{M5{ym-sy0lKPLY~&|fvtC`O^wK%;T$%3l624EdS3vbuL1 znZuIC0CD2)?h!(9h1%h4ZQ@3uYv>?g{>_!jG-3P|b_~FTwOLONmDlj~GTw7k=}^r^ zBuI>z*?#ELT1-u3K{^<+l+4$02qN+dss?4b=yOG1&5cpX`ASU{Y4Wt59h28kKTKYH(lTo%;<^> zt9Z@+%Z^zyPx5Uq5y2wA>jv1W|M+CkL)N4JvTetwjn)dZvP1Rdq6A}ip5R1l5@g<^ zqC2Xr+z@H|0R8fKA0j-`+m55KKr~Bl@vP%}mrjvv9RM}h$D8gay#9?E>QrV;Lw8ws zRxcZZMtP)tFJ3#t`CGn!OGhHCi_&ey_kp^u{RFIp1byI_EWlm?D~aJaKn3VJf328F zt~<(Y$OM|gLJN1_pBEGu-0#dy)~1X|V@^@hFA|~YmA|$0{?^sy;5*-uIWYFhB;+EP zvzJ5A?)zajq5w;tNx1(V5S#$}`;Ev6Z93lCawUFj+eN*J$azaE9xz+;6GU2Q%zoP}1|QHiHbp-%9Vv{;9iWu^rZ4msuxq z;RbljW3p}ZR4MDm=`b6-J-~T+T zCl2SzeyW{|Gzxyw>6@tPV1&tjV@RtXlen4TlI+HdPMJEhw(fir zWY;nd*YWnDp`(@Z9_+Obn@9UV&pCAeX4f2D_2Lj8ziV@lF>cPIo@r5X4SOi(8ERI1 z(e|WA|7Y7TuAp_Ne{@KNuo}*ozaIk|h@pdVEmIBL(+16X=JKgSsJxI9QMb*3f}N3| zt9mC>4r??hIvi8Wc5SXjxhf)E`NjxzzxC8?8O-c|Z2M(6tA;>{U^(&{U72XR4?YrD z0(iLW2Ml`F(NS`k;Cp6FHDtO)dai+fR%(RNJc8Vvl$;{3f z)B=V|m9W+i3?Ex}^oAU6hOd;)x`n?Pl9g0HoX0xcGnU1plnTwRm&=h*kMi}|N0nK` z*SYV+y)5`~}ZJt-RDRY&3eiyihvl47B;}9ERLx zB@_Y_f!a2r2|T~*)z9snH`a$&8|nV9D<;d6Md(s}CSmxb>i4 z`>%$w^)|6jFL(Int7r1hk=6dW$zLudHjTfu94kYd`@F3h_69o@) zkv!y|BfJ!0f)P>CRmGn~n(=RZF=cPaZ?KUs9xVq~l-A=YKtJe($o{07$=63%_w0Bm zit^{UevNqtmX}b8%Ee?e6r0wICW`CoZuZs%&)Yyh<*>7^bpD0}Sw$866prP+of}RZ zENSqq-7lti2mgsINHS!q0wuM$YbMi%~L9?>MyODxLkm0_7to z%bCF_w-8eJ57AZ2lc|+|U8Bx4yq)~gQF^aiE=f-R@h>TcL+F$ARS7FgvtN|(jC$b(j_h3UGL2~M`q6R z_?&az-}fJ{`x~cy+8WBPzEJ2N)sKSkoKl7I-;U2F3%9&hP1;0O7)* zLfZ2x(V6&5{i>2c^Dp#|=3mp?4K6Cx?w++Vrdji<);m{8Ztf{t0;B21??$~f&-v7@ z;qKNXvd6BA^&eMKjzd_YYtNMwDTT6^H*yG2g_h^D?Al#YZM<@GjMZ>r{{IEx#Buqo^f0_SIre43d}Mx0THbssC;k(W@PDL+{--b05nss$+>bK= zaTLmQ<4~~Yao$Y4WmcfEMQNXuWXUJN&Yb3;m_+> zffGrvetTH$th5Vv?|ercOqTB7*3U5Ih`?ZPWiD;dvexX|o0IyR#VaaHnFXlmEpKEF z^#j9j-FtqQEQ`L)vlKJ60Ieb_UO=o+$DAv4f*;6A;Ym?)XP;S9d*9#Df#AE@Q9}V- zF7Afap^K)HG~1)gN7l8EGA4)CH`c>4>)tgi9_!$aWdr#kpz&W6CHA6%-6|>zJbOO1 z?UN$VH1X(XJwoC`#c}19!v4st`6s|pyWDy;TIplPP42^ormfA#dMtOR4kdZ>#2GZ+ z87vhx<9C`OF&!?1T@Ux^1{@e_X*C9GU|TbCYnj~gF#H$;FQ zTwX#l`5Es!a^@N#A1>Ui>w7J1Gq1QYG&P$=^(-|)nv1t$(OqkO-fcmA$;qsCA9pwe ztg$oEM1S$B(*_7b*Z=Kf|E!jeso*%AkXa@lWyQ?9JAPN&zyUd5*T9=omyGQEM#xos)Xfn50|7a9%mLEyH=<3RQ zBc)h$hil4p^XRCUifKiLO3h&8zT4s*z_9R=Jo}{o2A0wl=Bu{;1gFJ)ZgnA8%+Iyt z^#1c7;RODLu5g;tIpxKnSH~X0GR+6}bH-VOMw47Q6fPOgrpLg&`p+;~y*~y6y~(*x z#3K>C(KiEr*Te6gahZlQ*OPYnk$Z*$)^vONUt)^tz1zSPPMm;OM0?W_tc- zP+_8WoAT$xp05Ncwhm^!sF?V0<ns_N?Bb?I)9m*syi&}UOM*u^P$yiaZ_IJ5abkdZtGcg^q3_M&1Ryz zu@L>ueETm>&V`X>INH9&v4`Xg6cko|%I*X)q}ZVfB@ZqeGcK6M{&B7Mv`kUSLuxsy zGRKoU1~HfV`TWpihZRXB3$;%ZC<)PG80XTh>8Kij71INtN?SkMj6Xg^YQOf56eEV z_H1qaF^*-e0IOL%`j2retF1Vx3BM0xshk+9>D9{C5FQYi8^mgMg5){q#8<4x-!ohC zCLL+o3M?e;9UX^dxvP4EtUGkfUy#TD#~r2r=EP4W2PDINfDx4=hvp|C%glo(sI@gi zdg@-B{ety!pKSJ<6iWB9iC$oix%6liOR&jocnu?0KD{If$fIU4vCjz~F}<%G^vPqa zf9Zguh=5W^-V;j8yFi}znT)S6lr`DetsZ2Vj3=#xya};M^R2GZZUNM%Bb~%~e6%YL zT)r2>DzZidc!}4hCi`>#z6TRVtj1c;SVm5;j?KTzw|(CdN$AfOa*N}lCs=`xbA4Q` z7*M6^d@I^HtMqHKNi${ra3f)=SCIkkr7_1j9QRPh*5=eO-Xxm$RooYiZvUr?@t16=l)yGM<2FBs*Bk4^8_ z%6sR-pOz_AtWw}e`!nt4>A;zv*8XoF6P}(Pbvqp|^V(Hbp6{r&`<5|5$u^&ELUOJ1 zxdj+2=Be z+X1N2e;l6ObJOU~zgFnK-h^Q6X;((N8l#Y;74o5s9TG2ER>U7D>AnS~Lj{CA`j=$+ z^&x=CoCJVj2V%mwMUlkE6O7YNe(OLp>rIH$q*-o(+>aK>|MC66?Mggg{1@BKcU_vx zBtUPXiRyM*P>2zuvEfZ5e74vKHzC?bxxSlxn^DQ`kZOlVU?46H z``20h|FMhyVjx`x+Cp};-qqy=0T*m2Ah~y!pC=9}Hsph=(uCM1i>+(l1Aop&2jNMF zX$Uch{%;>qTSPz@Cps-bG&8#3FCxVG5e^LRsT!cYw%hj|K2E{pGEx}br&I6yG5{mx z@&AT5PGFF#Pz;0a1JFn;?IN7!)WUDLft58WNs5ILPh+_h);4!T-Ol1&WJ zN@m4xwNINKaQ?mHN>4jY{|BpoZE^nNQ;&?df>iasbYEku&BclGGp@_UgHC9(CJe`2 zA^q9f5Z+M<(*NTMZ+~w*9D9;A7*f3g?+hIt#ih8r7ipd`MW4AzPp+2@Y&gK%(U9l(a~iITu1&3Cp6lpvcLbmO4X(03)f>uGtylbT5qE{xd84jObU zqevfpf{C^F{Mh`*3sjaXCq+AT_@)n>Q-|!LBh9vvH_T?<-k31dvaia<|BJheaTd%+ zO<(M~y1J2ca?V2A1+GHH-tzh0OlJ;8x5T4x+{G(8znhZ>{X$`$_c%REzp0_jCVt#%tTCX@PY zHzS{Z(PhLu7baoQSafhDbO2^p7dW*l?{qaU9D2SRF8OxUC$P7&sJ^!U@DO?Rj1MLp z*b#4Z5ZrRRv5be-&U$0MzzB;B9f?v#rwK=`0C32=gaDEaCjunVUwYy4?|RUYP|fgf z7`RW(v{TuB(KYa;cv=un!KiQ6$$kIfzfdRNb#eU^NBq*&Ef@6Y{lX!NMFRWZ42EM1 zPO#ZAkNBSC)H(Qkd<|%SeklLy2{1I{#t1Tro^`Z<*01)H5Etrw-_UdCtC-#s3X1U{Jl@R~n5%=xBBlq~o)$#Eb|!IgW|orx8r;LHE(qf!l2{r% zD;vuR!k29xDzFd8V06p=bpvO3^O$>583TzpW#0TVH)9@2|Dv=1JBL>)h3`=B8%$&w z)e+0^H8E*0hxQ>1Xu6FQh7K0d+PnukfwH>gUhAD15sx|H?~@hBL_5dv&RNkM#@<7= zRi$$e?(6^aPJpEJRR_BPqXM_13p@T#tZ{vV-a?ojrU?s{WxcOaWp%btK{nnp z@%lV*jsfCM8R=7z_L^*MYYIpm#*HmQ8q|v0K_RRA(#Zx#3Df%p{r0GVF5iFSdu#F# z!3&NRc7}7_9ftAmSDn=JZGNxme&N)DAxGbBpK9)XzCFQD14P=C*UHpIc7S;zcx&<3 zcU0g$1c z)m8U$oad%(my-xsY~A+^;#ub#F!&{?X?^vs9Wv+=V@qRFLHpxp0fBFX5n+1?QY2d4 zzJxo;b`l`Kj9F8%)Sb@t`V$ik_$`qS>Ro5M%nO5qi3*0KKA6o&Y+b#B`Ql&h2l#@@ zc@ISm3hVY#RFl8If6-3NmRo^-YgC5TU<-yO{>~u+)N$VWv_Dx*{ITUp5ADyUEmnBT zP48as45YbdW0{f(07_NKdEP$D(t2dPu8cG&>p426I?5c<-sd#ce;P`qorFdr)DYI=~vidR5~B%{q0g1z+1 zV7|2s!W9CBYg7c5xg9roVRu1)WRM?aW)(cIz+a;l_8FD{TiZ8F6~+>FY`{LcSU z0sexTBm0UY*3Ifx;>&9DZd-H}c|_NOF%^I1*VB3Ixq~URoBlxm#!Z*0-S-dWUMUZJ z5DFR10OEp{Y;B3I4Pdt4Lt7^do|s(28Y|w7A35Cnuzabc#h#9?QN`hd58b~}2PRfn zMjy7nSwlve!qbP_OE<>M*4M881&F6XT^I#KR}MsVi_TRws-HOE#Tut)nz52Chb`f7< z_!=+2x+Sw6$J~L1h$wre#O&Ojv!l+ex5C%V6ejRNFG3+fk6sTO?-tD)9o`yIlev>e zD|2mKb5ao$wQn+3f_IlkcgjMS>4vx$chYdrVG|1e_N#w9lJF#A)tMW0W%CDhOOj#& zL#bc>hK2XXKOL$bNKFLgB7%us^S)Jzf}C<%H8YFDxG&7Gg_h!@h*Fk5r1*I@ZN^v7 z*}D_+aMYb9m3D%#A<8Oo^}@eg75!}oED|J2&(A-fc~q2}_~*jF7Fr2Ee(v!F``a?I z1M%cddE}~Hh7h#a38A8Lj$lZH2x)kMQ<&)NP`(gBR8nDF%%!te|8ijuJsLrjw$jIq z_kSJ{SSb=K7z|-o4ZfZThR8+~i8!1CrAsBc55G=^=Yb07N0RMl_WGZqUzgB>jR(sm zvyozZr7hKRcG72Uc(uh>!EW)o^=PC;rG6<{kR7d=!*z`ZLT% zoDg}pBT5UsF(?T&{JE}-)a!p(hm8Z-82WWe9=%KEtE-;i z2;}NIv40gP1FmIYqX$t%fJV0aLTs++pYt;lss+8S!bR^5MoJCuoS%9`eMXjFECg%= z3ViRmjjWW<*?)IP0LKzl&Q8kKh0;DxH4qVfS_|U+@UD23QK4VGSR0Xv4|{)w;OxDX zIj59i`sOHcw)(H(@!#l4*uzps3DsPKy%jpyrSYrNM5OBnUxxMLL12ldpLAu@l?+j| zk86ErzF1?QttWUNK*lxUU~3E+`V~D&k=Ke< zpQqJ35Y153Vz{V6j5G|>AvpVLLJ#okTpsQ#Xu|wzk(YvwQM7wp7BSD#B z=B7H2(XUL{I;CPcci=x!G5eH?Dq$NmXD4GMtGdk>1CTRnkT=+ij3~5oL!il$bQlW}8rlMH$dGC~|4%E~oUTMa{R(5H zYYkLLRMItAeKkpiHex9EB?4T8(uA7#wW7uN9JaE`OHHV;--ZMFm%n_vrU86!O_G}q zEhih;pN;O6EIz5mxhp%t2)kutK2_MGYE#W4tDIPU+FAPDHZyH?cC=T zKi`W8TP_qtKp{3mp5T#>@aM|$_f?sHf&kTmQ!0btyTk}%+936!$2jPjy2tpe@+!g9 z1;}F9D@erk2x2sWt})$H@dCTOukJ~=DEN@6U29}k7sX}D9C=y(hhrYir;~v~`4C?) zj`#yY^p^3k{1ZVX_g&}wD@v>Z@+-Zvwg&wJpa|h4SpHSM8C&BI&VwU|nkORHFkFZf zS{a2010%jp_6cMkMaF!KeZicjtxLv{AZDpVKZQ@Lz4@^cskz!vR%1;J&S^3b=z23Q zCIXPtvyck>)xpu938v$H#f2=6<16Mi`Bi$I(cm_VObQrsH6j%?Bpv&CCf`=h3oOum z5n(SE)uD+X`P3mWm=sNx)p3Ok*^vvV3AKq=s{B8>@UpUtwBw*X2B8VPjDP8u;(N9b zUhZR$!zxe-bv4*@Rd1T%OtehJDsdo9O{!AWaSl&W+IgFc9DdK?3A8i}q$rDQ5TBq9 z2~QFP3>o}J&=z{8-v{FaXYpQ6QIOr*;uym_z=$kK?1)>FplrDX3uuOmP7?dF&+!6geL#p%o z#}3JYm5dUxm3)iXN6*fX<-y4SIH{85CXZg6eRhV*Gd*(Z(nbMZYSIn(#WP|N!WprY z054T&{56v*Drt>Ktq9Z#b5LMZEvaQ;*90W{`5Wf5mwIS}rU(=a8x&8R_W+FJ-sC~$ zyuZ?dVKdPd3G*odjB}`2%gQ;ZOpoGF2v7QS40D-ybnOf*f+a+Nucv3G9yMZFj0Mi8 zz*Vd?5lXE*Vzj(bPW14!68CCPcXSzY+RQ9 znr~`E>N9rR3;SpY5U%2UHlo*qx{yO)$kJj07(BC@Q4SteonhKV>xu|JTFq0VzGC6LVqClrsF`eb`d<#HL`3!Rb1qT~t8#dEh= zOgL4<7(=ij5_SO57m=p%UVO}hW1F>U_V z7)?a%aC~>~)cHNR(WsjZzn$Uy9JV%2jwhI>sYIafWvvJ>5o8n}zQViI+l|A>q&7ay zU=wb0&M%X}6P#UagVtm0!qg%XQ#Xk>UvY{tz{e5M)`o_EPZh&itQ5k+2EhL(h>HE( zKo#3CHq<7-SNP~`D;~7?@;yeipcDRY`G+d91h8ESk|dNMLUJa@ja7G?ESXk8DLJkB z1^U=xioh0u+kemaU5wMLy z3yQb8jY%^*Oo52UM%Xtz7nlB(S@o6$1iA@3RxiTs)1R zLmCQGHa%PL*8q(}*B`?{ksui&0hC49!&gJ?(Xx|c-Gms!@m085Bh%#h@Ybh?wpr%#ro(k776~2XWqE!ar z-6xfRE#ph!;$p^w!GVzZvDk_ANTwTNd0{aAQ12W8BkWpr%XKu03_TjYy&@;u#3qk4 zSS1^BLRD8}wUy==lsiiu^Gr9k+$rG89U|nm-3qlDeDRAtW1PtF1dAlcLBGlRaiw+| zQAPNYw`r*LxG9I~b3;@$%R_e;T6goy*D+m>WI(yzc~R?IchLCCJBnEnNXsz6wTOF> z4;bET#x*O#3#<2S)Pj?=5m?!1q0SYlT;}>f+DAOJWScv!34JK9b&w_DthRi-UM>>k zsyM9DOM$Y}rSivM8T!{}PboC3^MP57bQ(uJYKv|<+r3R-as$cZoPd@_O;cz}f+nKm zp(ogMnq%7WOv9Q=0^~J(PfHQAx{}TT&yI@DhyYwKs-)Fkr#FM4T_}X)agsJv#ktY3 z{O9VG>$HT?QK%tFb9~Oj3+}+4do-c)A1CVfx~Gs=+TSI^5Cp7zJljEjy?m_0Eog`B z45Jt*7sLncj{CB?;*M;<1mrH*Q-l$xuF`wtf#YVdA&XIDW6vJWgEn@aQamO4>LDSc}Kp;D0))wVv;ofD;H6X4-QY>Bz;(vqYq4J#suF(5_3vX6>Ka{rRUkB6$ z<6G)Ti6-XI<)8wCa&m?o*a^q9J!FY|;Mw2XHo-akVcxxSj?Q(wIqDU*Q$gXEgL2qh z4MsY;BC5eSfPYJ7E2VP$*Q_J_u_i9ly?41)u4Zkega~g8Kx*YgYtzVw>eLawur~z^Fua;Nkvs4=RDJ6<-?E) zuH%PJXo86;P^)HF=UmGNLLrhEJhS_@+A54%REre086#LEqH|I63ZLy%xz2bY=!Y{Q zN1RDt&U@rD`ZAvqi4p_nA1)nKG*6E4hnMFM_uNmv$)E$NpR()tdo?GMgXPxaOY!>T zsasifZySwjQBsC{h9L}9oheVBhqEzAD{y{&=P9KSnoWYD1iCnoMYjhJ;Nv5%PNBW* z!dlNkra6oxgQ=HbMSy=U>V9mo_LCQa1UN~d#E*?pMD|YRf+`@`t8|6_@{^s<(kD#u z3htEl*;dCq2I5&#*ikwjKmJxXh{=2x_;L&>aC3Y8HcM40Al@P@dRH&B;t*exU({jD zTqCZR86Vca5f~`_b%#m1uhklDLEvt`rx0ktoDW);@01-FmQ_&ZthgrAc9P&R(mt56Tdt9Lbj~% z&a(FO;H9jvoF_^q0u(<_{wvA*4J(EIo4J^Vq-~_p$cqOL|Rk)cHZ+9UODAFPfdi}#CbF} zs<1{)^}kv45s$@M`fz>Bz=o_Vq>J1Mwd&`sH}p|jDWZ#5e^R9SWgJYz$Nu+8gs|eu z=jJzOM-vvjZL`92a@e@`AUBcs=-g%d*XMf{eZk8~QNB`yNVvL&c^v7_EubEOfWY$* z@H7)F^ca~$#w9hy=cZUyOe$!hwZ7A9h-vP#Wt-CkU5sdd;B&64d2oGX1`>eIMg;Qx z+6w}uuJVhuc6S%370oRi|Cy=~iIH4 ze6W&7nAy-QO#gGAF9oSJt3YLMF3-mmIUD-P0>a0s(K@0s?+yFZkp$#?L~xnd<+V}Mw8mv~4% zjhy@!jv3Olq5AJ>t(_ge(!sMIl`}q~|7lhMH8KH#z10}8I?a@i*j>uE3x||8YGOmg z7Kpvm&tkm@iAsVePhxAfzS_UOymlcUp^4B)tgiTNs2vH@8hTyk{B|t%%N=;Iun-z0 zzrv=Va^)4+Fsdz&1wO8rj^W~xieb=C6#oefDRV9Z zp6z{`zRNzY*v@@ZxXT5|(@28SMHC{gT_^QBTM2aw%SqryHg-nU)2|80JLZ}yfYVDu zKp?jZMBn^}WjbFnS*%}cLQ^jc{gPs5^o+!ELrv`GW#Iz}(}dOYB#~OaElVxdOjm}) zuOd;iR8;XkD@v4^(X(iahdRWQ?~#aj63I^$9hF)TjKAV#h!TRpu>H(Zukt*V1Mk-> zWQx3oe1sEGXM3D&IY^Oua+{5v1z@$%c`Lgzk7j37^%dD&>9H|-__!Ym9kKmNZ^5s6 zoSIY1h(3$jE&^C#y82b^fHSTU-X%Jh4iCQD{RAN;`DNgR9vM8p76)STV0yijMRNQC z983Vw)x!5XO-J3SLThmupO>WGK4f!F6D4$)v#S^!_gZJw#yUKj4Zs`%BI6n_mkf^c zUP6V1y>70pOdis38#BVDf;!N&_|;Po$*LFFU1`CHftA%hoRR5K@E#Yj@!l2Kp;&xo ztMbO3Y(4&+ep8AlcbntU{*5j)iDYE4zHq>w>sR@1PAtdTMk&K;edQS$@PVUsP#%2n z0F{tS&OJf-ep}~$(^^5@i)L-J-^)?qr%b1o;r`vU#tQ{N=94N1Wm~9?Q{@{&`u@UC zIY1j$j3*B)Y&I{jo}S)gRCWFlA)+F`ThENtVjo7{1s{+}ZX1C{CTB$A)VuX%j z>It9ia+*cpx$a z6G|id7Hv{~#dE_7pxm&TCpmj(Vv=}`Z)xX&7X)3>G|c=x6_oeQ`B{nUw;~fDLAXYS z6k*L|1;TeVvM(L^zPG>-7kUgTSz=XX=(YWJs?8sa8jBPId< z$99Fz$Ax67Y%l^mH>U?f7NN|>qmbyh6B75J z)|Z&24{CsFPrbm(d#xZ@hdt2Bod@?B>EPqEq=PGxP8&d8=NXEYGJ^7qUmg-3yHl_1 z10%WfgG@cah`aYM{Jp>ANvRBr)D`4_sfc!vylT?&7)ad(z9gO zHBrF1xERl5c!{%`E@`{W`T4>N;B2f3Oe_*w9-xzz;1wz=!1>G&R>CcE@@m#OnEMs( z(4XB^^RPfwSA&l=JT*^F=5T(kCSmZOSTv9E5~Xsr|MWkelPvx)i%J z-D*9Sw8Frh#iN4`JtMqdYGhaIrz&-F`QI&hEvg8V z@i+NwM}WVW_NgOy^wm9c?dw&(DQh_vQa?GFP=@dD*k@ItsP{+aYR6kw-b!8{P3Q%J zXf!N-^>mwF5JfwA+dg!RZTk!7k)wr@|Kgd6!J{U`1Ka^Ur!hmh?%^_klQ)3+qdCLK zHx9)Np@Kzeu^N(Mn-@RkdR@?z7o=9M91(qL=eYAeSna<5aZ#zQ%0(DlWPnj&cfs5H z0{6TZv390n^1tWgIRW_EEJtS8`nnYZ1Y!+lILuQ>!&Cf-x59eGsS^;{$h|LpAcqLE zb(M0<)`yDa-5qDbL*2oGqgo4sC}{afNpGw~tD%GpoR$1i?hb!tCD)Scmu(Cy(aUSp zR0DEvHz_gvUEqEk;S>2ZAbJaU_?2og10VK;uoGSJ`jz>RVFR=to4S!F_{MdUvoIHr zT@lFhm&$^dW&H0theMu9!-cJh$r6B2H(e??u14Q9Q|&c6GPl0>~65?~tPh;aEP^Kz@WEI6+ zDv~?I#nX03WrXPfRR&Cp21u`jEz@674EQN`*Y12@zGdxw0dSq#f_yHxqYCc8i5@?} zY=8N0hzmC25h5ELK6P7v?@E7r+5JIzJyjLinc7RR0n#RU+6cw8YMNWQMhNCNos)ec zMRr^UtwPr#(k!Tke^aayA}_fG7(~HcG}j5~z9XosV>3C5A&=P0;<@{WfV~JqADnsB zKR1mbOfLmR@p4Zz5oK>%@t*wX*zH{7yS>&}4Mjs`3JfIB?S?*fcdMeRmsy`l0w6I) z&0m`nH7U+t($v7Uc>yq2@jY7Vr*OJvYPRaja=0$)>`N!0nGC!d0BGe!AxV7+@2_)=0)PtbV|NV}<8&~v+ynV58E*NWItocIUZBCaip{pn z@IXY>*haDLV@qpG)hK6`uLM;-S^$1Y5Xn=5fa&2xSX!iLY{;Bb%%%lu1_6zqfvyDt z^J*0_h&;R?V=L=;c0V@+`p#Qy0kbd(q-P&o3?7LsFKaPtDS79}VjistRlmpc_lpk} zol=1yh6}ExW7@PQUY8!jkyukJAm5gmX`bRoFoMm&ap>4Sh~z|iO;HC4D;(! zl@<0aGkD5g{)@*y%KkXJA%pVYFE1v1dUji>KYg{t2ifRgMMfJ-Aup8OdjY`!IKv_i zI{`qKNR7B$e|fs>cvhY=lrd2!lts5QCDGtbuw@Zi`Vc^cmWC`41Z<_Qd^h8dtvE1a zBzu0vhQW&8@etD{nXH&7HRQkY=DGx0x&`s^u>t>@gT85V^m*DR$0`tTDGvtM=(>cu z0xJXJ|G=+kxu#YGSkc)}4(LvQ*EN+t0J)~T`70QrKg)Fo)K+5Odrc_bD>bwt7Q)f* zlL%o;mn9mOa~fiS1Klc2kH#5cg+<1&uhrXS-9vWo_9+qkB$MbOdsLGA66jHoriUp`0eCz^Z z+mvdxWCWAVX_noEW2nFaq4FY(HgQNf*V7lQk5R`9(l~Xk0`UP>top3FIV2QFqi7eu z{zGb%0cg~~D;vay2vIMh_0u&*KyOEaAwWlkajHSqoR}Bbj9y0)l_aBGccwv7n1aev zE)qHHL?qUgmW*#W900kOq|Tr2lPUarcc4HxRoXGN%Arv+rwjOz?HQ@hWbZeR6lTCP z5rWr%=UkvR22UW8XmkNltkkxV>|Ml&v{Mh{>YOil?y0x}JePLb6KwX(*(5fk?Gm4D zG`f=Zo5$UAtiKU0TV`~sjVI0>t!kRbYeFxQw*L7})G)y<(zd?%jN2(l@tua*{VL~` z=4n#ZJ1XV{{)^5XZXqHSUQK_oB*|a_%ukJ0T$+0k(aZ62+-iF;<zeO7BnrKowaL1}+ z92Zxo|4i+p!AU4s33LgLi|ZosVY-^ApRB>7mic%Znn_B)MTAI8(sH>fx?dOpcn34c z4kiSHhAskopQujP>_qs2DJiMY)S$(#_P{guG4@~fefXLKf$I$LT)WWlPY>8*T2XMU zQg^xjB&=z)Y~;$sjKa~aM)jH$ZG`1AxBJm_pYo>(S?-D554sbdiKiD%TyGo1xp*&@ zw^QaENmVGhW%(JPt4wIQK}i5@M^8{d*-J1HqwK{1H1@!gs-X~|do%BCBr3I*QT4UL zXH*5}-4~&Q!;d&sRBC65Jp&@k}@*Rh|`rXQyl=sl&PR;BZAgy2h&MMx`aOweS zKlj7aa$%H`7SWc z4iE|WQ3A9l8oauz3_FW(EaQI=SVVmN8scY|HxzD>Uj zDf0bx4SUgdUxE}Q5}6|HhoQ955;Az&3Fku^rU}IcVQ3ynAXJpv{;be1XfHiC0td?S zswF@X%biCvSmZXlPq58tQIH)fA@EaO%QRt)3%)WKSN>3r5U z`q!CXA1Juxe{wulG2L>|*2rD!b6hj+U2_uh2mM#4bF-#CMhCocDg3hiP`H<>KwVdZ z#^2m!J5_aewHDyO7TMhbDr;k@gDyjdljbW^Z=Ks2_diJwO^3k1g^Mrf(FCW(_!tKDL{+jJ z4jCQyDo%VJN#6GYcaQBy+pP3c^X*>>vC4=E=@J8P7_sV(>B~b2@I!bB|yuOh+n&Z+oO0!C+Q$42yj9B1hF_>vmL6 zNBk5<$rtVJgq5BWSQ_woi0)$4K-g~sy)vTi_UT-qbDxZkS9F2+=mG?(mM&+QBxIro zWgLEOQ|lXcfu)$85NQaCbo*)afM5zR1Jc!bPwi`Eei{Ma;nI(8!HX8-ZNUahJsGmg z0&AlU<)4cba(2QGpxa71@yo7Lqr}U;OJgTd=cm)=~cBHGC! zJ~*gc6iw zWMrvVy6W?TZuYrHcCK^7<{wMG&BpJQl&-HstU47)o5Qlw8a~y>F&U^k>}f2rl#jZm9qg4*PsTYEe_A)djwm0dr4Z0 zQPUS<+sj%0no!DoTKiawA<^}Lo%m;QTUDXUp>b-~=lfP9y2MDYJW(uOmEP=saYY6UUJ(_4U6|(y-d;>QUT|cH2gLsdrx1^QmJO+V1xkvfB_mww zLtk)hG2c@Bl}3~T?48+>x5(#2_4&^RqFYF%F5_4YamRONvT|y4^puXCF}wA|dMRs@ zQ_CtVA=warTQJk&t4p>Uy33^I;!sB~`OU=)flT9|Vn=Je=Q}iAI$s@j-eaUH(4G#E zfKDMsqWVykGOsTCQQa8pb`uaUWcvx!-#mnXIw*Zw%{5Nt^I*N=t`|l?X0;+Pmm2D{ z9Zi}e^5gmu>kBZ%>Du~3j8yksQIC%@uS&)w-0x!Fp1-M1Ugaxv==)&izH9x`ka{8C zx^CKvU6cvCTTM*4^RZ>tqt$s~?xn~}q$~D`NX~hKNJ+DUk;auqfH~3KW|#UXt-_HH zb!!{SZ=32~-3S5Y`%eP?ScMceB!@2|jSsMev5Fr!fFvQ#SjBc&Sf5nrD8#TZNyUCH z!J}F}N8QMvJ*;h#Gk88rAbjt{S=u{5LxJbTZc@2f`L~|7;5~xSF6UU&O%E8T6}ua(_e{?hd&r-ZbnLk59(Fw+{v;s@Cm*#Y-8lC@v{X}!>{)=R+y z;93sRTGV_Dm;0cKnYoMfGF%z0tHnftl0rx=Lus@qkkh%_4J36UQQjG)0#Tnulyj<& zvgg5MNQ(n`;e2rqdd}jr=#kQwaMQF)W{YAcx1r!gN&QTnlEb zugx|NV#>Q$xaIhF=WAlNTfAM}%L5mSUYO~D2rS|6=}K+pJ47i3j-Ic$YgflY`wgyI z6A=zoGT;H!6!9Y`Y2JB|rq4C6zT>;xRbfzp+}3-ZJ<+ff5Y*)J`Js|DlfFSuaJpE# zZ~lQdp^LPyqt-i=;|p8}Nqa2an*q67d4*CTBm3gBk3URDSB%kv-|)=wy5!1l0)KK{ zSzP4Evq+XVO{_RG2O+Unft$N8SF}l$7ox5vM$*UJVFArc-oN;6`GaC$*#x&nDTKl( zRcu8|hXWZLmdvjY=yA4%5{53?IS|0ikxS6%cT2{OT zy3#zr+IwpT$8UZr`o>t{$vd)s9SId!WF2Bo(ZF=t@*?{Y4l+z?E%ziHQvCjo1xXSGf(%UK8n>_1V4+@%s z?te(JO5j%{Q2+S6^(|HMM*mid^%zanM*HyY_%v=_2oxAyX6|!=!$@z6w1~DW8JBdDt-margvcYo-EfvnyG<$DQoXiIK`(5~fbqMgT6Vx|XqG zcJ+x~{xRF2q*}Lqx%hyqp6rfk#u7H zW8^shwm!v6>ebFW<=Ek(13l-xlI#Vu*pf!NH2(KJV+q8P_JtM(*|rYcTCXQ{{d(Mp z%z95WL>r0C`EF;qZ2DdxOKnKnhjQ!e&+)FDxb(E@)nBsniA^5q5^ZUem!&-E3)QY4 zdNNK{cD$-hTvMRxDn6iB6B~6An7Uvmd9rg%;G`zq6c%58DW1jHeYnFir%&Ixfd`Tq z+Y?u0UGHb#STD!lW@0sDu;l37zpz@c6BmxF?s#vuNF_XoqW2_YF@KHaab;E9koC%u z8sHyB#?0#Xz3_-UUvL;3%@n)wGSM5ykE9`%b%dG9$TpNp-#CG8!j|g8%654VnMzZ> zu{j+@6PZA}P+C*T!4LAl7n-_JbgCvV!kvdGucF!G6xUP#YxQ zyH)MJlFnEDs@6s2&NVa@Jn)+P6g4&4J7Xv7=eZ|GztA4|5g`lr8;$cA>vw`@$8;y^ zmaQKR?^RG$gptRU-5*}uE}2W--Pq=THXpiWb(ldf%C_mqtF?>G?J^`>TYWyTeC^`_ zPrj);11scR@cE~OSp&cyNPe(zkS0*q%X}0kzu4X_x5A?~<6WM0iRzxJ)acxkPkn^F zljeLhJ4YKH-;I-!uy#)=dM@r zQX6u-q8ij)Fg>qQ*q80(me;>ia&qt;q1kc)lErGU?B;}uUm5#i(C)@_y)VRnue&@L zp;1Qf>U}ZvGD%!Vd~8o^Bm+UnbeHMy1+vUS#r>^?+u>f`Vv*`uTPlUxT1i4zUA-Fv zPaH&^9-3U5>vjKlt0!N|>qegSjL42cLC|G2>#^af*Q6_<9*~RSEa9#xnNAT*>bWxd zt_OLW>a%@aJy>Lzjjv~J_>%hX`6J}Upox*ne>KGoetAiX?C=Hiu-2u+$4%*hVpepP z{y2z09-f86bafC=^m3hz!m;E|gCv;o4$V3H`s+s41+nTXHui11Z|T_fOT7T^A}F_d zMn$8Pd6w@zZ)6YUe$IK8U*2_Ma0om59icBEe`IQZHBtPXR05z zaOMy({Y9 zboGc&9MT_I)tRMD^Q8%JmX5B>pV!rIZLzRkJcf~ZX3IRDu^NM1`7yP2@E|&Bm=l** z`rE8ZD6YXpcvO`y7r(O{i_7lB+h-e`xG!o$h60Ne)Q_e(il#c7t@bxKp15YrkW+2( z)lg}?)kNTgnYkUqPQthsN&-rR({FD!8wsq}eV9(4(=f=}<0a|fnR++v~53X@od1|@5riJ-ty!r{D;|&q#d#INcDKJ1!`jX-AXX7 zhV#Q&t(taT1Hp5b{APO^-g3o9l%L-R{>p~3M-A4~{f#fhQ3E*%i63mbgX;SNHCVl# z`iD>+PdP875E21_#nxh#9i`m^5zEQqk%<}$ug@p&KtmCtw?N*m@Mn+kD z_g=ej`@y8&PQyzgx)hyRkkZ3~rzAbhLGh`_)O79}xbD}Ce`!HjPAv!yP+{mw-#z!2 zcDpd36{Pjn5!h_9HTjrR(fwIEgKsu*-?!^fr)=O39K&#Ya^})+rrDZMzA8}s8;&!_ zR4`T0f-7>supn&os>$vp%Y}~~r|$T}FDc!WTpsHJ$Thpy%SbSMJP}(}UU5HnMW$%FVbMO&eJQkWI;TQC z_`!Iez@4%Eo&A7)*c%$_7t6P1ZaW@QY-KO09o6_Dqyx&P3-8eDybj#hF=adCc&!>v zEcgcK8lUldRC1px5r~W|AGns@pfqGoJKmv(4)ji01dLE|#B64OOC zvmauuJT{_U;6CGNPlM4Tl`oVJtXIc}DDRMbd@(14O1kgTb5-~tvaXYhf}Ffk**?W~ zDu$07qF;JEM{d zKR0xwue}gpPrO02pA#d<+nSja_6oLZ5kL7 z7^mw!e!bk4eIgRM@4nOY9js_I?z`TmW-Aiea`58wH-(E~0~&6$BTb~um0%9k$FXOj z$^!;&TP80$zC*bVcG!-*N{a`&Q?|Wk^*Y3eQ`8|zOzQWf=Z%c@)ISSdFz;Vq;bJZ` z3qbc2p+i47=c%VWOg>u;wNaLHnWCNfEef5e789f{&_>vg{ZIfJ8ECiORj4=7QlKmb zK(Q^U?mT@vchB8nL0={TuCqV)z_TZqi)Ae4ozP0U;A9HCyD-A4J6l;)I|LSn$C@4h zhq4^0P4bS$Tc0?tw@ocJ=GU)SAWK)P{MLh|Tv}D_Mhr>0HJgvTQXj1FJ~LsnbU5`l zrYbWo<3-K3q(``B4OT!CK_|CnS6l;-Da7_iDcqs&4SL$T>Q7?b4gGrQmux%_0Y}D5 zXX&Kya`ASMzT#&*si0A~`>>N$FQtJlM?DTC=K?b#_SD5#%;{`XGH{dD82hqmYc{7H zns444BsoUuO2A(WG&xK#@?1OoKIg$jVOe%@feTsmx@axsCU7_DMp-cjD_pBb^VI47 z|5$tPXgIsJefTCsLJ*OWAWC#b34-WEL?_x9z4sb5>O@2d(Oc9YMD#)QGC@S|(R=jX z4aV?Ya+kQDH_yA?wSM1P^T$RqvuE$K9OrSC%hWd3fZ$|ct8|RZja_s`CE=0RtM80! zrtiUrA<1d>bLaagYm@aE&duIR1Ia~qyvcGa0Z2o3hN`54v=d<2x_Sma8Axu^(eeW2 zX@R=1CyJ6GK@vtujngPV`idEQ!vNETnD(N}o;qkrmKf4izQU_@kbSqKGkiMAf7*)) z{q$`dyD&>uzJwHdTqaNHl+J}>UqQC|Fp{+BTsTwNF5Sgh`wsQXVhi-u=SL`)a0!3YR=uN#H;M>CPN7QsQN1?nQ#mV)4mD*5@|nB z8MnD~cBHjTk1}!abJFBrMM0OC8+@RGAm~M8?Xmq?XT|?8U@!Ba${+cnd3hA3x4UZ! zz8~BL8mjtl4`rkbZDoOL&GI0Icn!EMUvU00jlTCV+;B*z$tF{{MZ6iwtdImi?SPS` z|74&(?8&Cr%4V`u$@K=MgiXa2Pfk#ysCTqYf4qjE?6HXhJa$Y6frXd( zQ3}TtPl;9&2uF{BI3ScTtPXHn^Mguyc!y2olLBr|3VS5ocy8DzVX#LlS|GBjb4o!c zeo@}2{-{r`8R#NzGwRuiRHeG1xbrvBJQ6H;0I(1lhOHSo{+6|FM(2DXZ;F5|D({;=(t|T_~x`q?MRh>AY6W0(-h&T(^ zIf}TGTte+z7oZ$+&ZALCT)*|`usr{z*!QE(awOtZth=(}5%Cy$?~$wK&m?oxrwZnrNOB6z5vZ0V*c9B9$GYY8`!}7 z14B(bRC6J^%s{doo6Xr)YFVTKwcw}*0V2NTnw_GV$3!Gy*Eo8T4>D_aR+5Z-Uw6`T$8ZAaB>tJPiMB%C=ja@6 zO2V_ig^-+R0M;nA3Ms&aJ!Y8rJ$tybV5YEPvn>_a%7=I<$QT?$${vHoUCznBRp2^lCPSNlv^m>5+xMHt`K$IhI*T$^Ze?)07rJ!VVM^ep=`xx zK6TH1doXa`uSn!ZSm@Y@&*X+l$Dq%BZ;$;*B*VFOq4!CTa+A(Do0hJT#dNwIYIc|^ zH05*s;Hq{z;G4Nh*#Q_=)d*Szc5~cPHRzi#)w~MkdT*_BlwBnr-{~}V z*nbToGJ4Nue0W6oypm)0fc(348lK+Ba3$h4Q1YGo z2*PRTUoY|S_I8%g@u4c0D#B-uB(K*n+*B@oIy&xf$#u?TocyLxw=r@fKgl9#!qlwvxUh`~@K6 zOu8fR57D6#J}&U}N*}wL>FKD0aC>16ibaKJ5eX^jrFIbyTy#TXK=fjFA_IP%RNE_- z0)zC~kOr`#!+l(|*{xG;^YA4f%IrB+Et%%Wq>w6_(O&8WEsPHm{%4*MaQHVPO(Dcn zAe9%pN;;4^0B{&f@M1Ri>U+OyK?b^;fvifc1>l;WSzMYdA$w8fe5V_KlhLK=?5(b; zLJ^a{3pA~nfr5=z(py$RWXokl`PY=o`Zo*X z*NOO#&oB5w+u<=Sk;L6%sLRVv(umg+)T{~2vvAvskP^HYc_1f2Y zATDNnw3&?49StBY@^utBgkpAcZtFH8*KgX6c#80J;C^IuLJK|xqXw0iKe^U2-C|`+ zMRaoQz?+ie+@xc|jUkfFN6Si~TaVw5T8h8g7&Q!%TWD;y-143Ru3 z7L#4vUH9y1bAi=}lroRh%Qs==Wj0|w2gwZST2kAhG9`pX*}8h?DpoQVm)8DyLS!B;kJFN99o%Cdx(Rt zaU;H4*wfnKaUPxJOQTds;ioMgmBq88f=n}S+AH7QMzhCijb_N>+rGWZkpId*4>Id> zH(T_5se}JjiFQHtO2k>^3AR&nu4ZRJB7ML8+kLW%p<5!>1X91i!#^tv@J|9aXFnYK z15ChTZqAdY`{||PrZ*R@8Msr|dWs;k*kFdjg%;*oG5^g`wyd)gi0Cqhql=WargV1m z=++sO#!iRfS0ogTsdsc==+DyWMwIfEI^I_x!@Qx<@T8;awy&WJpLG=@rKVrV+rf6a z^BJT0iC}?vZrur=d{)^RJ3bQgMS|Z~YU!QybZEAWbt{vNjXaegKXaTZ!|C|UKY*Sz z@IEDIu>$$Cy+U_}!o1Jo@a~(GkGd|to_x%}InIf)d_=cOu{5l!+=St|5O8JvU8R8^ z71N`&dZ+oibM$zC85^(f`C0U4ELV~Vd2#2b)cc4UhKlw;{7Kt6-R3FZ={P{@AH4N9 zYV43G5@vO)^HQoD-9U-I>+G)VeH&V3@P5yvi_`imgu9s2jmj<1Gv0HYfCG>MKgE6@ z-U-%(^mobKLij+2@`Btto#hCWN^K*&CFyE4X9}x(43r&!BPSts^qU87g~Z5#s*bj= z6#!md4{Dk6(y{ZLJv{Q05cae!4_q%jo=S&AdNl+ON)<5N*>Dr@<{XOPco1`pE{WKZ zDcEsO#0Om(tJ!*Gnm# zpYuujk--AOY=+}xiPCQqDnFiG9oBM|8kRABu8fBdU4EHaw(PUy@d`wLK-$#&PoWq# z-VeAW!oE7Dtb$)4T zb4zBSf}vy}=k`OBdIXb;$dYp&oOY!_QPYFbZsC?`dT-DD>tk~a$6D|Y8c4l{%FfVL z_rb`X@o!LUjHDp#Rys3s#75QlIE#53(r$^@7YP&fNpR|9O8F{i*1J4nU19JVn{JoQ ze8MxX_Iv?{U*fbkz~w78m|$#GY}CDJ-R*nD&SBvWNyc>!k|*vbos5lLcA}du#qc-& zit8ug^~WR0#v94ciF<9~*tb(r$Z4mrQkn0E?1x>txcHFT!mEUe^A8&U{im%gcm3n_3yNb;jmq?2C;6d8r@RB8ps;PnRt~}_3civ1_Hdee zjd<^Aou+fq&>40o_xTu{EbVx^1O>J+#lhi@AIw{F@dVd3Gh^vUSY>6KM_f!6rOu;D z#;CHk;F0}hJ=92UzC3AVbW;VF`4r7c<)^2>qm#<7f(6#_RqG&ma74&wSxJdGj+Y(n z`+;r?DpSfWF)rVi%tc%C;;-UEz7KZB`R^^sc1`$my(m3BxBI-@fRZHqdlo?BqiesC z5dW+Us%~EhZAs=*W0uCw6&jCA{vK%g$ki%mrE96kOqNkerqt4ev(^Uk&dPhjVpdAHgZ@j?Lkr`ZxtAp~JZPfA8EZRn5c=Rbah z=RZnAmZi~cpLqm-TNbjy!l>*^2GTdtdrBo~B;SxgN`h+sV?z7AkLIlYdDbYQS zx~J*6t`+I+V;qxnU^)i0!Tn&MK^!!XJ5KpkZIz2=_83$hd`dzGc5AgL)Qh+km71o2 zhFvkP=gmLs%%UHp0wiz()q|Qp)1d5huWmXiNF&~`Z?){PkzTDCw0E1b=T3UHG2kYs zz)OZOgzL9HWyS%!PMh!*x3hI=wma`0AFkQmAr08>;dU8P7)$I;IBimN-1S5;R&JAB-y;Cw2ObzTRbc`})tkQlxEX^{1#+7k;|`l#T^ zeUJAB=TDD9(A(_FQw{31y|4Xw*9cct@cYxwd4~r(`>9*Ja#B>;u6%BneT*QuJo4=y z>gZ?ranSI{V#P|7p1YtX)tqNZK=Cic2{icuMH+T@4u(HpXM1MI7Yh`gjx7t+>d!Jb zzsyrJY-X{M3SX|RbdM&Nm5mSirzl-kEA9C$0|tp+G8>b_r?yf+&I{xD48?YR7zFhLYE zdb;|F4KR5T7!ovzvhNGVQ#ipzYPtTE1@4A>^G<6Y_RI8iY0C0L4PzbhX}bHNlpY&~Rci~LMoPBnVQ5&fy$uYQ zw{#I`AfLN^r8K7~@;c4cIe|JmYy!1pt}P^gLcF>9@}fuETnP_syt-Yqm}Z8TBmob;?IjkSa}`gF&Ar}kG58sq}8 z8yH$wj1aEZ;ul!-DN7J*6*SrpaJDtOl%#olWF0bSo>;Y7sXGhnPnVNCxeNIfCI4D& zX#OnHOgej>c&=JDL9`=WWo-GYHIfPBn@a|;L4nNs!{sM-VOl|tVLXDaKeV)>9+U6K zR~_O#*RCzIW&Aqj9UTk`^C$fE&XJf?!X}mApZ#!`K;1ZOW)No~6*dvS_cBR-0;-3a zKgf5@d%BZ7txxf}Sv?spQ`%!GMqR7(c^bRqR}c0fHKq3Mh8`HWzHxYjh!MvZ+h%^LZXmd6cn_ld}yxLp4xw z_v=bH==AQEqK{H{{rQB!=@AGL2POpromeB2z+R>P8mPrO9Id_^&kd&nht60a2BXqc$yz zXI@Gc)RzW!(9=E0c6FQ^TxI)!tkFV0a{ZCWt~hH)%chf#s8paI*orboc|c`h&&R7$ z_4|2oOZ@*SA?szDQMhU|fh>PDWI!uKQ%l9uYfTF!Dz~ab1H1v7)YJ=Sal*TWj|_1n z>!J}r4X*U6po=-{(BaWaxNIPoC!@XnanJC1?7(JsfsJ7uZ*e(&$1y4y3=rJF{1(aj z7TC|kyyx)FqHu`hL5K+uMT7}0_fPAtr)ry+SNG+LL3x6<`%5zdgot_r#e$`f5Oa|X0X(x@a8#$cVpsfi* zZE%(VEX&iwW}aL5Og?ZL{WRu1m&(6F0TW*A@#jG46~nRULHB^;oD(0;(k|bL#$kL- zSl#3X$*p{g3rJ)jsk05%Z^lK{+rg4*fUJCBVZWSCbMRla1ki0u#9sje&K#_MbJEVm@@pn zcONOP3LHePZXqIfkGV~^E3fyLZQb;iMlmO!bt;^*$y@s4RnWE9x_oOXaXgS)MuY(K zZ?9TH)fim{OHH0ndf`Jl<7Dx{uHSp;FZVzF4a9v9IWE#?JpVO)W`a&BoRa()qVi&# zBp+&85QB0lbXlhId@q#uZ1&7)Z^T&+dHp|H>E`cjHxkZrUUZ#P5>18w$#rO#ZJu@C z*11~&lf#MJs;2@N4xOh(qz54t zQDzsMxiwtN>IXXey8mY|){yid^;k!PtRzFnNqSQdX&%PB=$d?x(lW(xg#`zT@Zc1O zqqR&4%{+qSeN1St+j}s;r~fbZ1o@s4)G>mET`fug!G8S zm$C~;0go+U%f9Cwb$a$m!ZhVz_<8obod$5p_IP;abP%UXUuis~sJDj}U#=6qf|HQ6 z&dM_lWA+Omh?#1FIB&Q{V1p+F&`s6*VcMgCPc#$oEJoZXqI6jC@$R&~N*o1xu&DQz z)MSwAKJ2q(X#H!M&f7){fO)W6PK$ZUT3dFInK|%dv;5NNg_mN|7Zp5q^mWhs zfD)b&yFbG_EDbQP?&)&Y?igbc-*M1k_u3)BdP2vQB9TuZlFbgA;EA)Qp}@E{Kx@@pD7o6*Kaga{vs|CmwK14V1P#sgc}GAmH3MVlP& z*YuQ(*_cPaA@8uPNv2_(aE-dC3gAa8_!H!hHQU8+GM5u@j2G60-aEG5q8N=2G-$Sd zU(bF=)Y08HFNGKFf=Bs)>oDuO?=<3g*OE9tPR?_jb59Hx^RqEkwV9Y`GVWaPquw)AX zMQJXrq>!`8K*h8dIQyPc)IE=V!;(>wqz+O2)4&P0C2z-_!FXxJ8G3?qVA@lY{Q={>mPXZv`zJXC8_AXruhP3y-y5{ zqocmBk{sYI%Ia?1%hCVbiw*X$zz$=-@^obO_k}4s7w87hMpR&czHZmGMC2RN1mE~q zadTQGP(;fEjU-SVDY78GzE#i3Y4#%#801^iEU#G?ybo|z;B?^=Yi*#B_j@+(uOTQv zM|9GSyCN+AiEbug3v(I^{VnW0sI(LT=O{)+7^`_Fj=ncj_Oz3kqG#oOyZ%idEl#74 z5Fq!ER8W$WT;jC<seKxC9(XP$`v3CG_dkecxu$BVR6N|Dwcr!YyDsvH} z41KVVVy7r&?9wg^t}7hjGq2^jx0~l@+HwE`Ul2<5p6Jp@<6ZSfFMwL6g}5dAP@!%H zbNjsL&$gPBuRzDSkM1Fwic1!(w4dk&s#m|*E9G-K`9?_2fpfn5CHe3p*^gHsw|h=W zH`WKC#YSh1$0Z%~HBzbUrDW1Cz5vMz_ETc@zUEviA;(p}S&766{V6{XdFb>r#p#XD z3`MkdUr_o!)Q~m?tE%&_o>>~eQ}nv|%~z7@vuFz5p~C}|>H z{aFT!t`NGL+p)=s&orfDn%^Stis=%*n{$mn@F0P?z0dRw!Flg%AwcR-^1S3#8TN*q zz>kyUt!Uma^%{En+w?{t$;OUigs@h?0XakSHOR=Y#X;@rwuCez8u>-9Vv#*ubpM^u z@kq4ev5SW6IR<(mZq3eBowd9ENN1&QKyW%=X*#y*J%Zjl5I?>!wk}H*DeIk0j3>4H z!-qzL!E|9^)7rs~&fEc~KhVL0kH4IwGXJYS3SfSGqg-?99sOvgBE4(zwVI{2C+ zVb*$mF7|5H6O0;Ajdr6QCnpin6>a79$3*KSc)9zJB( zq&u=}yrMw`MKLp(z|GC)!#8D$^m4+TFcHM}LTs&j-a5H``=KY!z>O99pi<*t7eVyxYA&rR)+V<;19tw#{uK{TY^a4F)1rS~Y6!9HZMys~ z@4CC(Vtg3&In=?6=BRrIdyKoit$}^(W#$~7vSdTJm_P7P@+=!`pC2^_+cUn66VyX= zc)q>)X<}^8jMk!*V#s>Pe=YD}&+JhAeS8t=eIAzK5$eWZ6H?QOtt&P9{+fmQ2tB)+ z9TM7CcO6>9+B!R9?jwcih|f=?3Rhq$4{fKu=bJT8tdwjA5@y;(GpJNSDB76x#f!Qe zqY6j4wv}Q@POk8wtH?WJ4zlgvtz(HM`Q-%BDDfwF*qFr#f!<)f3N9tbosE7gK< zXtU#2Bjer%tG{}FN{4Za`ggC9-0RPvv;1|pAurN;B{Av5{(eOSe~B_pEXG8H;GbE! zp(*SVWm)p!n3%y2(b#r{X9U3W-*FH<&3K=NI*K|738c$7%cK9e9`W}ph8`FT`K9%K z;1vAkO2o4Rmm6NUA#`8Hmcv4*5NaRK`Gi+ol_vJE_)%%xbsNH)YgwhyjNNzb1gWa` z?mLbud)x5XX+~VbpcuDsIQ5}G#2vz{=Bth#KI!6kP%Qa}5QMRiGO&xIRxoOX3j+w+O!Evj57O+uON1Z0fYj&^jd zbfHKSMvp($auh;{kPcgSeNmaKz?@$>w?D4%lHc_z_lU&1s7`9gh_YYb&bdMm%gyAJ z&Q1O`c5yM7GFt+07XE0#jUwMYP}dpniUdPExzvkqzXf!n?xa+6f>VUBJtIzi{TS9J#N;wP4 zM>JqQj(3B-P>L(iqol0S{=z*e0_J=2Em))8y$hVyAQHMP*g5H(-Vs8=9(AUHjE2~1 zwSk6p=@%ZNzK$2wnVwO2%p3O4b*7r><}LO_9e9Q{8!{ zRWA*OHN9B6UILk46oVEkIvxm8o1+ETtjlphF8Kr2*66Xas5*~W_F-u||J8m6MD(sk z!>wNe^^as-EWSV#UN++PtVrr4Y1t5|{Sb++`08Tpk0t%`?^l{U(SycdXK#(~`U4*q z^1y1)KEovgOre>VX^kdDy_&n*E%K?^at9g)--5YZ8nz8&e*M>Ntee-~S)}u^(jC4* z9tm6(!3F=2u?-&E=Fp3YNBGdMe8fo}(|5J5$*Vw@Yv8mYVdpcpeohAA7$qUW#8IPu zTlkSm-(ZRPRnL4n70)`eloH?Gy!&iqbhZy!Oi0D|3O^>qnoxf`;EllNG1kZ*KOW5yXSgYwx6Hyq?=Q5kcOjJW{+`?`7RC@nRwI zPL{{QDl=-7fLsC^$x2Oy`eUbQJ1^im*TT%$7oMn2yAA$l)mGoIp@y$PZ9{W=gosu5 z9MuBF5w#d|6-&MBW+KQ8b^X~MdDU9z*L=xY43d)VdHQg?*Gh1cB_dKuJ%q?HGO{M8 z|0cu$U25JPr+tF|kd&oR?YU%ZuDZ#$&!k*uE$N~hOIe-KV+OackkipdfPqLiOePiJE}h`_F==iou|NWJ}ID?Z4|t&zS^M& zwuZ3ASJ&KQP_GyV2(Gwam-x?Z{#=wBVFCtD(QduPCiQ)JvjC(0PJSr+C5!0G^_W_Y z8}e>?bal&i;B7U{BrA`xD-t~B)u_*aDDbG8_}2ZM)jVR0}V?* zT(B3ZPw=ih3t(s}8*yKfA09int8+iOJzV(cgp2=0_U7!i$+TdS9~@JVA2#JxbsmPI zvzCd|aah6bH;pfxt*`NS$&2gA@6n5HC#_N`?JHNQGP7;#&F8gTNs##pN-V%^40cIO zFk0ZE{n)A*Z~OJOwMJpD4Jglak_@D+me0->_GlbI;D!Tb_?@o<9N>u6wF`F_%Q^YP zCbHHq+y7reP$EZdeM~3(f;R3!$HUH)_-vXG$c7t1#-RL1T#)jN61&cc(m9PAc0jDY zhPtTbFJ}pO&71T$YZVy|PLe)MmTj)xJz~n=o*8RpKNX#=6le5k#?E=AbDqpEUg*9l zutiw`IH9X~%lBhVi+bXS5_vv+8pVR2VPsD+mE{fvk3Ug<^^VhFC%BnwJ8RrzccSh2 znv6QXNBoER#-?tiv5mR+Qf(2D;dHi2LoYRv_FFF2$w3W=lK>X0>Ap*slIT)WV-$B& zLr7>>nN-kHCs|Z|q18^R^*AsYOuE3O;-WAn;&S$IW$&x0%y{1nF8G=L$I&MzBAyEE z@^_ZW%TlyAO}OADnRj6C`R*8EhuMA!xw6pGCMrqDU07dr9h{0b`BW=tW-=i%hFhXm zo0dQ`u~#a~jY;i!Bb8HRyrN0Oaq{{w9SAa`C*<;8b-tNHe-~eATi5Hz|CP0%m83UA z?2wDrE#RG3UJ|&K91A?6QZ>c`dkME!o?oIjcIu2V0;DS^v zJ_aA;X~>obGYu8#f~_^!6w*<&s`v-MWTV z6s_#GjE~nx*;id;Jo5og({45JJ-X`*p&HW7^$BS!<7QRRUF|(V!RRsGBd~mf-%<&d zWdG$f|6DC-8~*nFNk|cYx0@oebm2%iOg;U@8SJ%9;Pl6H_F=*`^Ss#-^(F|{{Aq*X zBpY?~^ft%SR-CHIx3+Q-9Dlja++c@m9y)`??w7 z?&aW{aM-NjomP6az*$ajn>zra*JT{hr-`GO- zhW zM{Q)~Nzom7hgHmBl|T2DSoA{G&!6(C zlYJf)XMyD1UrAJER%ixUdQdb(jqRiLxJkMCTd@kPtz27p%BA;ClfTspi+3gz-4DR77}PlY3F41l#M(|b zn&O$R)>^)Li>11#NYp7Xo$teKS z)w9CkzAtM}%gEbO1=k}VzNk*CYtu@gH)afrMyTB`e$t@{F2NEX=gAxT{&I1wzgSah zWh^)3DzyfS1y7O-`B&!BJ6#0bDUL}WmpFulb+!1c*w_wgXQ?n#<(lFOv>2S?JEODm z;$#&S!%WOfWU*5?>wUUxO_IpQU+}#_qpc68x$OGGx!iVi+O(>^>sSx6sK+L%TeX)T zl=JwWbRCS1kKqq9zE%i{=ipt+uf6(OL(RwbVaFeZ0|k>q`P!;!aLkr)^QL!ij7`gf zv*G}Lz>B4wVBC&loX^s_FuvdDbCq5;cqsn?QebnB*(rPVfLs54mqKP%u$)5?-}uLz zDjd0xj>YOJY(!|BDRF)D)q-(Z|8{kCwMfb!@V+OV(tCv}{xwr{wM*28jIZm1dGwxH z!7LBunsZGxOUx9?9||wu&Ka$pT=aM`!Ep(_Ty}Q8Ds+Gh;IR9HD4Coi|3N8#T+gJ5 z0H*W-EjhK%a?>8e^sUd{y#(XeRu>3YWThxY8T51stG zpy|wDI*n4u{3p24ap^(Rxo|(^2VH0RZ1Z^Zp`YaOfx4=#-^OJZZ5s7b z>89c5Y7Bf>X<*Dx>)YrT@+ScB4So8uF*r1!y3@vD5LRkB6mKtAbpX!ts5=27m<;|y z9g~7*hLVS4gC#81Z}RoZ<*hz%uqYe~sBp2^Rgs3YcfMKh{e=lH9eacr^Q|;s^TSua zxF=$2F8i#@Yg`#1>LO&q z1q(e}rnw|^(vsBrP>izIT3T><>%n@w+qcE%$)DVQs)3;?S$NXF&+!_RSZqYW4at1f z>H14 zD;3kErz&MW(QJmus_@IVdwEU%<_|#pdw;=%eJ1i9%6Z=pUdm)U^E{S1e$ zU>0~Lypg_%>*9`Vs(`OG;@CrhO#Ux2{SvF3E5cA{xN}NxBp>K*Vkf8 z&9&Q*n8}bpDaBu)4x4!UIt^2PYf}vmS7UP=KR>_Y%2B&)bq!dUm!pHk_o zASDLlqIn;7{(gRb@$1GDfIKvvCO~~XhTi}08>aT{2e#}V$in?UIW)0|V$4w%qv!VN z@C-k*{Fk$;e)YRXjUlx{w8am64J=p@VWi+2j6Rnw!jp?@!1Rr1JOhm0Uov(1@4s1# zJ-=Y_?o0jV>Y#?$4{t?iV2y%5PssX%zNK5kjc{q<4_rQ!f4SSHqd`B&J96o$=$xbW;WQxQOZ=r6DPV;BJ%2Fg zJ6OWye+klMt@zg(e*a>(>C(Ts0IbH~XAr~cY;m2wT#0xgx}pcO4v86<9S=b&^LVV^ zB@885>MyB}FBhOAxX5``pzF&Z;lCP?UngZCaTD+_5|MyqzFqz6*DtYDh@d5284Nkn z;ml0?SzMw3pAoC@RYlXHZNBh9#{{*Xe=r+$ZR>v*0bH;S+5hS8ZLVEdGp66cPVsNJ z%Zw4pj|YjLnxr2LQB>2=`-in8eKgB$^^d@$M;jZ@tLa2m6V$D^Cv{vp_491d)aekeki;XdD*&#b z)cF?-{%>X^hV(*)6?uMRKLCaVfSM~$1&GY@9|+)rp4}brZ&QoR)8(zqwbNm|r+(EKEEE){4!4Q_+uamJyxqS+T8pZa86W*y9{x9(dFJ{vHG}+(N&OPF z5KY%*k|U-R>Ma*?9jxWHPWGfxTrK@vzL~u&Kc6;h#nuhI(#Tj`|^O|3c$bZAtRc9Akq#eRE z#QqHq_IeexjX%JgnK7rWbioRN1TWp)2L_dK>Zwap>i1l?65=zk0wY zRbzc2waU=h2Fc6Z#=lSGmwJmO+y{L4k{aMh|0fv|r=Z3r=}|AHL98}2$khr>XTc+G zy(%ur1n;HhjjqDX3xH?f;y(P>w+^}qnA>{^uMzwu1Zv*@KiQUuGOvtWCQMHMr1MVT zG~PAVnp;gICKb~t`Gb5HxB&Ckc-g#h$$hEk{&wYBo#Fj@;o`-giX)vVNq8wX{IBOR z`tv+=es>UE#$bbKdN%g0|+Wk&o0qT7tgCp8f+(s+0O)s64Rm*KTmlBN^n9Jf={80z+ z20V*7y);awW*VH7|3b_WVnP=b#gzHfgDdd}{xRJ@NeWy-_J0AQe<}YZeQv*j0qiF` z@xLG_Sw=NMLqRLjMU(tqGAz)x^(l}F-}NV9DFg_i%72-)H$MX(hFN<>9ejTf*9)Yl zu+IO@A+KGWiw?$bY`s_#b4d$suFSCmH z_6$h81t;CTK$(8>F46P@Yp=lXmjKPLIhagi<)kmttm%s~c46*(*XjU8C?FdG*# zSj$HTlY;mfBOQs8h<&Nd(R74f{3GisMeM>0+pd8iYa~gb4xO=iSS;)eC3UV4Gq?tk ztIIuj+iPqqw_ua-@^a+ojr&tXnH8yD-CT!Ulcqw5QwNYV7zBE1( z8#M(Z_k>jm|I6C`>0L(d{lq}v-|2-9Abm>F#g7MX7YMozSd>9;Cgn28x3OL^lw`lB z)uST?L{|TS4XF>=N%@a@$w_D^Zsq<-WMVYiMwt$==XY1Bq+kMb;Erw8%2Yn&S|C^8noAO4UNI zuS(hD!A$QF_{ude{$sHFDk{5+Ah~3q%~3w^L&#@tudv(Kham&Uqnr{8rElH`w)kyD z4pb+z1a3VO@`Y5=u*C$xf9zHi#bAR;UMID&#^>~8CGoj`1m+~eW-*HY24t6^lv%~Jyh@fQtmK{H~PX&7m`h;xCJa{np# zO!-Os&%?o`D(c^>Y7Cwepa2VgpT2KrJSs4b%+DX?a_Lhe<=bn47no%wa?Ky%(9;Sx z0V&UGeKA_IefCuG*x)-BR|9Yz(Z0j6W3IgO!F+=v+|(Wtsm*Nmy7V9jbx03B)x=%K z+%Mckj>qlSNqruGPZa|9rSy8)2){$>Tl5vr0OZp1?n5Tr2rN2EzP)`ltXiGHDu8Un z-&2Pg^?Ab6ub}SXYmjgN5*JChW$Kdm9e*vU1}eu3-s8U*rw)-%cb!NNABULRvIS?b8UI-giDDv0#>{$R_LL{X=2&vdiI-7H&iYe<`5^6aK6 zdobMSpn8x2@2Odpyd@+rC%DmA^g5rl>{(=VJncE#xzgeqB6;FKMaqw2O}&6oy<~Pph)XNR{a_svOx>hQ0s@d zr7v$kEKlQI2R~BpqwWwOyP*fI-xP2_hp2o2l__3! z(ku|~KbDrQIE~Fegs6 z#DlQj6e50ZbC7E{H_100e1HF4i9>L{R)wt93RFnK3q?+$J@MRns36iZBs;`ZH=i06eArI3y-{ARuzh|Gfc}kAENJ#db<@@CATCy zl$dp*V^1^4qPFL%hf2c_h%RD5 zMPr1b?3s4fJX>nnUwrqUDi7rEP1xSwCRUw!d62?+1O^BUkt<2*m)WT{LJ;*5f;%kRH!Bt9%dq^-|_|UBV1-#a~!$wAHEzoc(39N18rdN9W8!K&7!R2{$sk)`*CO*o425w%ctLp?AuykFjgih zTa@isJF{R4tE~%Znfhqn{DJ;-gfa|v%a#kn#eCB-V13#O@tSvyX;Wl;r!5ZFiIzw` zo7E(ir`Q;%*0ZhxMh~hT5m9w|Pqvb)-Q`m9!v?=F&pNYeAKqO(8pgud8KS1)H*A^9 z3N7685q5*)AuGiMcvdaiHS^-zo9%Us+Hbbq8{fIxCA$kh}hoysE^n9hDdaCIMAeZZXz` zl??0TY?W)xb&qBul73Wob|cf@e4$%kEB$7(Sott4Ik$*ldZsS{oXKe z1suF!x1ki?5Om)kZ;_`kex6F%=iy96eOh&vW-TH99XSAt2t>Hk>4a-rk(47*_nqwcTbs(CB|baH`Dnz;aRgdfG*jFu zq*kfih!*E^pPjGthWjF4v^??(Y?_A=i*onS-e^VpHTob#v>Bgnd{?hTm3m%l=ftX9LFxH@vTRkLp)Pv!qmf`=`&* zA9`{%ob%7%{6;Sb-0VFgk}Kz~r%R{9k<(R0$@W-=P@JhNUWc885(|4W?~@oNDk@=y zM^p8vQcro(t%qgmZ;xl<2@?()NYRwZX&HYrN|zbHd-4_^{4Vhgf5(Nqw=ci~opJS>`Q10avn*fD z^Lzbou0|p;>QC2i}54$?bS~ZC+i@Cc?{ZKHzwJ z9fueQ(H_SKHT|SCh{V;~2QzTNc4tR%4=M{aH1NBJ#3Z2Njkulj=$T+DXSQY)V-!llNe16_mU_U$hx@?GJpg?*rg*HDkwH0wF`rQZ4G!n`8VQoyS6 z{7N6Kf+46OvVu~exAUrfitC~Ccl}l2#_F!lscUyXKlX<=FjIda^X-7k9acjRZR!J= zIrPe)C$;Vg%oX_qjV4#VbRtD0;BM!BD0ghu`m=5NadRwT+M`=n&#+VUgTx92XU1Ym z=lqALaLu*%{>57Bx3=&e?c6g{F@RF*7rO$Iy4c~U3*b|pkKM*?Xrrq8rJ0bmbkF@ z;#RHliE_i8}Jg5ZAX4 zpYrZ)q_IQES%+R_7Y36N-)A^Rv3@wl)WSA)laRF*D)`c3!Q!XwRL++UIh#P^#tXBO z*H9fymvUbnxj>&FD*tx;R$Pw8Z{5tbz|fE)#T?(Tp~_~0f#@)h>LaoYi9z7f$n)B0 zrdsy_^KLHbbDrbTvwf-*6~k2emZkYI6F*DEYPnGNg86#d#Z!*~5=Ws>ReiBD(YP!c(Ge=^G6qcwPrlznMU2J99oyUW^mWdlDcvaI=RIZ_}nAyX}YdQP`9^5Wsq7__N8U~~aS(u?O$1h@QJ;5bqC zB~i<3tGJR;8wsosBx|Prlu_jv(eD?w*xVxH;x_hlbE^tZ5gs?8E40>RysbVeKI>tX zYn=54ES6B?81W6>*3Mm6sI>`x)kaW00cDBrI2r?~kH(b_XrsIQaFx0nuOKL@)GiufR8oRB9`pE4`&Oo-yr$^N)0 z6m|ogwUr??703g3Ef}!JK#%-D@y&gyHh$e|Zb~UWxb_a6F*sbn^rQcC=V5mC!|`^D zn&B%|V)`o&2^|o4M6L{EN%2V2a3q+aIN2(f4x93fU=z)6Yy143N4_;@9m?L2Z9vJ4M{cpW;F9Jc8bCdmDktXokvGz}+s`0f`M zfB&r0g&{9@x$EWnR%Tm3gmG-ZlQTWCdeg*M=c>dwsMGAWgb*hN5{+QPC5P(np#J`q zV9C5T4+bhXexqhmW}8R1`w8FdLhV@jQmt@p5djYE!W&%F))Jy#RZaW0N-d_sJ0ZSN zOE)38oF7QoW*Z{@i&8ka|RdSY&8mwsTt6To; zLKR*STduK=7Nh+bZ8_{8Es8Zq-I2EO#GJ*u4OqAC#oL#jcYV}9d|e__7p#w6M@{pA zHFqXEf31uczVZXu%kaCXILEKIp0h#%=E%k#l#n-6t+}JExk?n1xz4t^6V^(6*2rVL zt%h^FDshF47UcTW?VvgMFt|g?Q5p)Z-mV@A*w)0ip!|XyGk%JbTx1gD#dW~|bmoL# z1e{~ACTR+N3;?m)43POpH;plodIZ(Vqp|tJ(2BieW$(B$&byPf9l^c5lNQPsGU>EU zxQoWBck}{b#I8@4T=APBC0|@Xn1yxg(eKbTAE2~W zZ=U8oj90+W?dsJb_&x`NK|lUejk1HD_@Cn(an9W!b%QcJRQ{?miz$oS-!H;KsV_f@ z(BjBIwX-97f-VgbWN8u$jaui)UNzkm`k+R4ypfW*E$C~zC8&3KqJ~ROZLX6baI%%@ zH#R?40S`MfJ>S^P=_Z+t@aaO7Mk4D)6htnW;F6a>DXA5CVP|H$J$*!T-!h)>@$-l9 zG3ZSBM{Zlc$;(x$92Pf-9o^{mq(;vzvr+kB6j;SA2mhl@r4jr$24E`+*U&U0R1)n6 zJ4<~$y)9_eBzGY`?Xx-lXV^UjU%gf9Uv=dHPL$x-wo3N!lOwW)jK z?^7n^ijxIjpqe9Ea6qwWdV)r@;arrug>y{0H>XeC5kjrcpGiQ8$Ma-qZ};k^*XnZo z(uITswp`#Q1E?y@>As2}M>P;kzUJR;M{OSOAK^le=0 z^jD}Io2^+bMti<*-rQ<%7q9D8Z|PQ=3nkI<9@WAQ?9enkOPxHqdp~EP-_R%jkV(7t zcu;Y#A>h_y2Y!km+?21z(X>XIk;_(UG)AwFljI*$O$4^1{YYU7!Ha5W0T)Y(G^13+ zTRG!~NVqw#`ZC6h%>wOM60bOofv|14L(?+I`li`ofb4rr?uPCDJCy8BUPn0RDz zortWVXX4^x#TiK=BxGgyb6FyGv^#IgC-rZ!C1rOurNI_U!te0oVL|*6Ss7 zT${Toh!s0H=INb)cmAKWA3*K+8vP-0jQ9<(rU2659#BfACu&X{<}1*&xiFIj8He z=JrbiVD_#NcTL27qy!dT=Nw+`=&!IX@uT*chwlv!*sLCHrr)Fs(BEN9Q3V%^XkUia z1P4p`drp6YnY2iz0!?8nEH<+E>kunB+2sPpb8C&dqVM}PZcBAPxHZv3EUDGAGe0G%}8Np{vQ2fKvgqw;9#68v@r3KILbE|huaj6 zg0zC4s<|r*jGn$ML#n<*apTRYF_X9j*sshQjRU|*E}@0Ud^*NC>v^8%aOT&BlXeTv zX48>J`$L<~o=8df&{3L!6{iho7ZjxyDR}ZOhTT)st&LfzU1NkpNnS-8|M8cbO=AU_ zWLO)T?7nclY7cWe4?ihB(h z+cz9LQ(*w6_gq#p@6T4)mzR@X9ngOOwU%vXjLAX!AoQ|4loLy~y0q&K4&kHNaO3aw zn7uLyZ1thwhdXb0xzXpTLR<}8QyQaKT3#5oWv}0g+^~XIq@;=;c05}#9SO{4BbB~r z(L1FaE}~G;M3TZgqL@L0R{Fx*!Mgz|mX@E8tF7xy6wh!%#N{W~q4#v&S@)inXIW-R z9iB2&X`~)+J&aMi(H0TTo9nV}%@fcy;`MsU1o}z2NG_o!yJDd+j`-Q=ivUnbF}TBt z-j-WFbORKbvQs!K9y)%-=mkbi*xCMW!c+;qs?EVJ_M6O|S0_caZFeLPfNN2JTC=LI zHr!Dq}u*rOc9fOD&62zpP7(LI6cI939U?hzoxAZAIG3J6~Cp}kEM z;m|S;l7nGUA8kk94#t2=jL`I)S*b+5Ua23x*=%a@>a6H@qA~^qK^uJMHwu)fgd#dd z$jiZ^q)z5N{yv4rij`H8WF;A&%cON*W)~v6{=!0vBgDbYl|0zk!_ii&e{#gF5XW;_ z0C%?oNx5)1M&df4brMW~1NAW!n`)fqPJpJ+UwYU<_D4xHgMi=G?j&z&G$Qtg@rWP^jG62aG;edwG=84Z10o(NF*Y=~!(QXf9=rLi9n^1;E6E z{W5`nmicDR7Wn!5-I9PoeOT($S)g8Tk~^#$3ni%coclXuJ=`X@i*|zAsuR)FvTK(p z(S*DH_?{bXyZgBX*^mfFOZAShO(Dyf_(r81#c6sS#YPy77HZciP9ihD46dba!B?<% z#n{N>+7EkQMfWdC44tvdZwK6s-yCG3T^ZhdKFSO21t8=OMTr{rc2OjUK+u-GVbBq6 zo5Z570Qf^{xks(}gj7M1#E(lBL4SGswrs-5Q5tir?h7R-tc4R&o(wA?VmT)fYTz8bX+Ma!syC*LuR>ECW($>B8%gOTa8O)r#7=Z~l*ImO*4=NpM~4=2zBN^OmD)7j!^0GC6JJmC z@M19C$LTpHn_d3F`W*~~Nl)h)KBy{^j*w^X-dKE09dDbjpa%PLD0c&bT*ORya2%0- zeHP(w&1NedV#o9UX2;KhA@yvgDNl$(vO6?=>6&ljtFPo@vC0=_!?_5Rvv>D z)lCDXx|lXxzkTdmJ+6S(!A@jrQ!o9M^hF;4R!I0g9@HZb*?HFV;_j4nxm4|rmSGE3>NFX; z!5P@9Y+;HFu1o7rQ9rHP%jLJ{>D+d;H88s&q4d0X1F6=&)>BSGXm%H1cww-M{#^uF zu|BhHHd!GU4M?iN@Iw{!wSB-b@_#Jz`dF5hwxkUAo+43`-Zz@$GaS@Z`}vL^rJu)A#oGm zu4&6WBg~)q!j}}8DmGn_e{W&BcROa+ZQH2qAUKkm&a8$K^=N#5m3J(6Y5LXN9g>9I zx{I@F8i(+&ekoLfd?=@M#@M{&6~5aw)kp7|obP>yvf5}7rQ@R0oppJ$UB+-RdXh1% zJR%;YC@)e#>;1sRuiaYU;1xHfxSTL+0+FzQ78)(4(l0Hg>I>-V7(RAXD%G2`-@f2c z(Ica_DxirNo%V^edEX)IFM>nI9Fi`WRXEQKN=q)={{+71k2HZlHOFLo)X7kF)v>1C zD4;Un?qquOC`JuwMpoHUy*km0dMl%0t2#gnVwE}{QL=#j!iEF*=-zG*#S?bY@2h%{ z41d<)TQ#iiRX+1F6nP-yi=%=sB7OYT@o*pj&U!GV3OG9?K8eal(GoGhms91`?}*K$ zW*dg$%&=&GdU-tD^s_J(u`2i zWudzzy1jG!(Y*q!uEVr9dt~D;h%eTOp{;_f2BRTKjsXfzG89Tj2}TX4IvXQ6A=u^ zaOmjvD?ZEeL+zp)Yl1twyve5H=rZB}8_DQ1b>tGi1sm!J0HL7;$LAC_qR&;Ig}pMz zV58~r%|i*=U}%qc2dhmMesPE5qQd-%pmwb-dodRcHVV$j_kFS857`uxUdMRB4-24T zkEv1f=O-JnIvIVA*l}Oh9KTh3MkLgP5UFel*mXW(>H;7_!S#l=xa|XhG1X^fBgCDu zJT4bv)dx}Z<5ZkxbskVm&95b=6F#PFG$#O#_Mv57t0WPD4C|I{8g)YP^O(;JWQBn< zZ-g5n_)aTwu14v3OL!>nL8;k0C&iuW5km4*(G&Ym>gg|}B~nq0V%p>-Xz#(rQK;F9 z?E*mwRCh|gG(7>zGs=-&&6yq4nIKY^6Y=;&8hAil8)c-|Sw(n?;P`jWv30t!l9QA` zV)aooimmv$nxMcWy8@OF)}5)@lD8ZXyVu0QVcVn`wH!<2EUPu43$1((D+$Xc8!&ri z9K)K2-Hfklu;wf@pj4-!BAhx>@BBQUq?3)%LlrG;hSTooKH)P$o&d)~4eSy86QI5* ze*7@?YpqM3-Lp_X&miA^G5IObk#mbpdI>%nTx2$RW<~({0bHz07j1O33>fFHpo2}^ zs(bw6ySa_v)gUBw@si75Np4Fdv)cCPtnDzHRUR!TGuM-;{W#FF+w9)ub7%1}cdFyl zLHTRs+TTpPEJ9u%OgcaL-6$-L5T5vr0ZPI4i>M(~ayayj+c)PmMUEC3VphmXjs+I3 z<{(@Fb$?d>gSx{mQr#MBR2!hO<#nq0#k~Oo^&q+57#LP_6>h2gQvz(C_NYeXLt`jp zNQ)eGnn@JhB!fBJ$zoLb#fT*b0LaC4&D8R8rsXTYl>;*#v{uQ~+YgREb}Cz6SHtJ& zg$M)2Clg6^9<}HE>t<3v!s>opQK2J`JEJ1elU8J%S&e8UFd*k%CBSnNm##*t2fMXD)jMR`*IF+=?8NWppLXs;j6^kRM~nzc0&2MJYf0ety#tv6XvmDMCxXvsFm z%QE0*o}}a}gCvx2iJ_a#ykA*|Lc28Wt=fzi7kijq2SYpc7?x|@YR#K~VxS+MuwQ1^ zBE2x7WyVmTQ(Nr9{?Y84qdKz>Y2I?i+msm9AGd93kE=YJj)d8~A0YVu@1InJU|Vxo zY$+6H-wcSIG>g-0W{$!{YygJN7EqqXtNsok1TwlFSb#Q;0YR z89e||Lt|I!7veuo$t=J+R2clu@r~Keol~1xa<3=iPIIdJHGVDvseL0}ZIuhZvm)@t zl|q18vcCbf5C#O9$qFM8jKYrtL9Sn6y_&u+pqCa3@$EX%*ve>^pQNk+&7V}mt!rv2 zUsQzp;yV=(;3uW60J~1n}b3XJShYuWs zKx`Oy?g@{B06s&#!g$9!~qLR1mm`K13qp#MeVPx`g9@brp z_GYvgli9X%(wWsMw=T;CeIYUqooEd5X!D$_;0E^XZl|C$kB6cjHf#5uqTsD^xz<*eyq+W3^1hpG(;t9-y+&M#ex7rdVFlETNP1+>i zhnxIB=aH}%{eSeTj685vGhy4h9~hm z4x6V|C!Sl|dwacH!5PylE}ED^4RhCn@?T%$17HuGOtik_xBsD5X@3E&lPEXB@=W4C z#bf{`uzZH;h}(jE=t#jc?QN;_;bk7%WhvCdFG8w~dZf zD=KQvf#n)%P-(GwpZM_MoY}XAnUQe+RvMqmHowykPL_)s8a=Z8s1p*e_ZFsM z1otHHg%D~e-a)>l)#oYv^UMItdBfXkhH32;$|$XYUlgX6Skx2>F)oo{&uH7}}$~C=vdxg-e zECQEHi))7#Hj3Tqh`_!X8ye1LLVZG!q>OGvIFF%Km^U=%Po;8=j2b%OX0c2<&q3<6fwhw=!)kF-UjfAitly6!KI}4~_E;>hQVKzq4EQCY}XAHhfTYGpG9dAmC>+)|qtmLlE4_U_U?`+x+4 zK0%8#C`|{InI7X5Aw&X%hHb|@gWOR~zO}nNVqr zqeLk79CC4o>R0v{#+U8n-x29NL1>o@h*$C|OLXb&?no_j3t{wwAqjaU1GgwaCc2W( z_B`7rjgeJ1g=ur-&+c{;8RWAA2m-9h9WUn9>e9ws7~7M-V2uW=6T_Pvk`Uy6EF3Mg zD71{cqcpHK*%vL146xb0%LV-v_{i;oHJ{5dk!waPfvpueDgFEEO;VA3E|~ zjA(;eC-wX;kCd!$+Sg>>3AM;4XP%VRpeYVSZK&a7{eLm_gB$2XO>?)Y{*VpWEaIkf&+o?Ei6aMDzH|;gSGwPJJZk!Z|(Y z+4(4E)+&LJ3P!hOGKsSTH5gXgf@Xn7wXG{2pvWVbDzIb1Vy@`bf!{BttspAY8hZyN zpp<{Or3N4Kw*-w?eV?=v8KHJfcC`53kMWsi(hp>+<2Y681}IH{@s>#+DN4cPiksob zT~MaejWNJbC~l0cd%qD2l|!VuKvQmp!0n|o0|xf&_I)~iSg1?+k5k|# zI_7%8=XDR4$0WKu^+gS;w*Eq6x454>mu&KX8oT?1Gyo!nPuM6dFy8-7`vcZ5`Qoqn zg|rYv_k81bCK1KzFI%zRl0OonTHsZ89C|6>*(C$}aOu}}9(q#+JM%L)G@;Osj7>%A z7dh)=WY=h=Qa~t9c-HLxXA`lT^{85X9C#H6x_dve4QcEgx@GK-IL$hp$t!}!_PrB$ z7(cR*wymL)1AvL%*2VlKJ`(tJrn+UCQ32lj+8YZwWSKLGq%6~}yvKDa&+Wl&g~(ZX zRH;Tp6GCEn<3ez#tlz}55+LeKPF4yco9bPJTr2OMSqZAw-$W)LP{MeSHltOY^2xW; zJ%Q#FP*%2YJ9v}8imgy+r`V}&q6#R^BiKnXew40@zRr!wvVSY*wo$TlGg*M5WT^TF zIydKEq8@W+l)=9%5P>cz-PZ&G*-`OAnylGb;dB_f&SxF+FH+ng=jy_FllO|l=Ar&H1{^z?JM0XF+%Cd8ca@!NM(INR4)ujh1qfC+Z9M^1;VH>TynhJ- zt&B=8mmFw?ty2SKUh3m>ofIlQ{>eK~D$x=PH7LU%$>aEPFK_uBNYGp&aW|*m`T$n7 z9kjO(_5fdlX1xgzi}TE&I4@DW021T-`tUuH&DXy7uZ}NS!a)a=EG+SUWp&wqQja)1 z7;beQsfyX%g4VFF0o#Qdg#(>e?=9*;lt+tr5Jf z=_JkSfMJMx@VoDuGai?e!A^6I^XIu_&|!0 zB5AD6u`d#6wYc%NqmE7j%x*LrT9=z!%G|;~7CV_5EVh_pEy0BA%vF7BEH&1bw3U#U+Ok=^Mu{GdzuPWXQ*5`CqL`E5f`mnCk#_uTmck@?C6W7iy@L4CU(i8_*PN5ht-NORND!l{Pf+#y$+BL{~xJL~My_o@HR!)!z1B_L? z!oJ>eCwIi2fBkXsre2QJEZ-7t5Y~`mff#+WZAk`ed+fea3SX2N~8|zT#gZcT7?x-4ln`+ zgfeC7rGRF@17BA(Z%m%Xqy&Ag zJ%rj{>DlmdH76}bBacRVoiR zbu(X9wcw(@yXsx6~E9m5&d()@K{jvSUvi((@^30;2p+!4TexL=j>lB$GCVs|PAvmwMr!i4hP!`G_q%+ys}9vAc6eZn8q zZuoi>TAtR~lZ;Q3xvd2B%*y`OP zK)r0jj}4z)Y}73F^a2FdrU#|{U{E`6alVm7{i)X!Q4<|e1%Ehw!nfDkXq3Rmz;*aX46 zKidJBp97FC!_E#8O!@gdt>*VMKm~vl%C-$mRa^aId!?k z%ayKQY-au0h1rFozZj&>KcvLoegh<+le=vhR1hza^tLzZ;Ra53r@s=daub~7h=cXK zxn}r___@{+MOdI3fm^Pz%N z)j#A5$)sdIEH3>(Pj*U-&voj^E~LBLhJ2kA67@YFc{l=)LVgo#Y=2Izd3-CwqxSoL zsVl4jNDb*q;(G*3MuqxrT=bAHZev?HN4m}XJ!C{_0hnY~znAoY$S{<`e=Nj|J&|SX z{@B1bXNON(pXBaQ`h`6dzAU)9e7|J*UQwERJbt9XZgOR(2*A?=N7Nqh*~Ro0pGjF>WayoPK`It4Hxtf12RTI z)g|I2U{7s}RGn_vJ?|6mAlYnKXi)ycDV9S6=N0P1!Oe* z9#$-NuY-{`-t#tsoTr8*`UZ?1s7XetVAJjapYAGfYT1{XWK2O0JOA+zcaybw^S#v2 z#I^Oq00V6o;w{w$p*Cljhq&=BP9mf?LiP(FC8IE+MCBkE{_%3>C=2bjnrrEc58q#A zz_r*u#cF-3pSwqL#d$Vj(%s-HdTUK1-`3Bh=t8wO-%mZla=Z8S?E}i*?}xGRRBPKb z6XwH|aPk&Dez6v2H8rAH3*SAD)y_OmQhh3%pN-WuHb`C&SP-QBV!M&55Z! zxaQ9Cbp5Gd15|vEQ?c@uc{Wf*(KEqeKG+oXZ-~=Q zV#Jun@^6RMc^k3L)kTO400lZ=emTvv8z#T6;g4!?yu|C(K^2==)adgIS?Uukxq-$v zK=>D*O|Bcp+WR zS8n7m*hXXTbi9SxFV^F=1s&DIUW+s&U1pvAJ!SImF^Aq$}XXW#{FhG z=BICf!IwWgM`M3y{)7*p(FCbQ(z?Kaw!jOlINgv%i}zT%2}&TIB3aI6;!`fZ>PP=H zegZxOGo)U`k#oAhxa;Fb%1TF%nJmD(cIM_^&W4hPm^2h~_qkG;EQbqt9;|76;c9ad zRbNxjXLBh2(H?Me+XNO~G`Du@R3|0O|B`xGYqSs*5!P%kE+bSq^kuygc;tqcAbb?0 zuI)F>OCBfTR`WoA*BxB{oCwZx`TOrary>x8KfD=T&thdAP^;= z4+k;o2BP~d(J@CfhN}9EUGrKqjRz)xw0jnXL= zeO^6wZq6s4EIO_cW_G3fzujQK(5Tp^Yh~G0LJ?rFx0iFb(5jnPt5{fZO=Cii6|6cL zTis~=n_1~=t`EQ~Ch`ZC@6OBLSQFF_JOd2$Z?k6gg@ZmP0KTE+ns;?*GJM|CJuXor z&Am+|2Urs{U-xw>enfL5Om_eLr!~R${RJBI7?>r4337|M@p)TGbM z@twDrEs5b*q>Uy;a;KJbo3G%VZ`TavCe-PV(b&M7B)@n?{#>@dx&A-DV;Y2TDR}-n z3n_%TBtPhRvmTQ%9k%WwFjl8VDiz2n;KkAFvBK1O8vPJ>TdmjM7Vjg3$(IS?CHNNG z|6fnRu4X8k(xF1IZe9$`lgP3gqp2dy*Vw zX8mr8{tPf+G}&l0ZBnny(dckHl2e4>!i z7N~jD)LjYKHl{J2rmI^7fIjDOuTMK?4-LTt|Kl7+OC|vBa#-P?6jigW;#*o;UQLgN z-R{4yEsG}0TiS)s6!_)8ox)$fKMM@c(`7L{({Cr8E|BoRQ zSghDoATZEw0Nx?Kjdy>(ZyI2q5C(woRq~|3(WFJld~4G7zGF^r3z3!Cu(C?CG((vo z+eCQ1!mvkMiTY3Lb-xIZz6SO zZ1QWrK@tPW`(9$yGH_5Z$7linlA6+6wXPGfwyL%zQ5TmJcQIIW0D2_5;a@qqc>w-) zbOC^u>OVHD4-8ISDbHg+Qxl{O;=o2XPEqlGm?HbY81^3tJx|Jvu(h=ywihsGD{ zA&s)80m1R7%h2vOFM>b^1I&;RqgKaji~V1-SSVml5*k&l1gsDd<8>G-i+)xfQiwJc z0@B;TT48>q_CT4Hr=(f18T7fO&l-!3{r)d|lMpiisEh?i*oae-H3Na+4F%vQGXL@u ze+G_U1Bxm)P<{kV+WmfmFj*1^83mSa$wNXu4P=yNHDkX_m&Q`lSSh<4RKs9n&4<3< zBE1&SkO=dl5Rn7`&vA79cAY%5badF4-`3nK4kQ8*b@XvQpxaNpzN>#tqd$-7Glb9&H!W6c`G*7@bpQ!}cW|rTh|N6`q z4Ll++k0l3DxS4SBAD?G#+8yv6js|>(2>{<=ou7H&zikjC!gfSqL0kH}_(1~+Y1uFs z(3XBdK%(wi{XoIj6=ZiQeN0@)dh)jy0M-H#x@q7GVB3N_u1l%_A8JH6>1qm3=Ya+( zRLTT)?J@vCjp1JfH4}hT2*rOfOu~7$OEHur1ZH+UVM)r~1x&t8YOFvi1{HZwTXmB^ zmdU1(tfz}bxsB_o!Q6fShb#fa46Kkmb%M&>57*<^0AkikRt5-l{{PCn^913ijR9!Q zejDFNS7m%7nAC)kOalqDnqQQy=hf1t}}ATcn<_(ek`_(1fGBMiqhy1ad(juVDf*HlA#1_ z{Ca3XF~{sfppxlg>o%1V^i%=RGs$PP_|IubCUy@phSUUpnTn7^mO>`wW=u+5E4Ul~ zPzjT5B^%IxD}-wQJa_*szDOd2!Vs?oPH|~%u^U((y+f89^DLa=`u_xl`fx$G-7sq$ zWgvZrn%HkOedibi`9%XeS-%lxvwmh4n7EUhp+=;xnn&Ce_R}BIHyja;RWmK&a1ATz z@4S$-c%UO9;>-EDy?%|s*JHCP>L2mgw4(A;3(2%xqnYCqX&#$j{sl9#;(POEEYMS; zQNYMkdc@eKIdouv@UD3p7P}#N5i%{Cs)=%G)ra`zr@tg21sZ(D5Wv(?dWjGtZlP;_ z-sryVMhoWRq^y2@ZUJ!t?jzB;#&>_+c#9QCZk0wA%`MmHA;+14{qw zfAuiFR)3Tj*#FZi))UeL#}9cPlj^Co1R$Q@6eh<-qpUSBRkU^1#StTD$Uq#ye=Z_W z=VUaxj$axB#TL%LDz-Wm5rOg5e|a&(bokE`uGF-ZY0y}UL%ymS2D*8@PGn8np;MFe zP&OhWZTB_S>}N%!j>PM!g9l*}IPJprxgO{c{=Yv7KA>q0%+1(Ae_!<8TEsQQ4#QA6 zgB&}cv|i=PKhB7%F?1*#xTctQ|7TcEGa}q+ecNCOe|`~X@MhLoQ;KWTpKDq$kYZ?p zy<*V2_H9wIC6Rgsf5kQY=lb&g@^#cL#1?;+^}EKU$|F?yk)$|M*w_k)W5S{t>uw{p zQgWkcIrmegbS!MZCDjB3Y#+4x{-2@O2h|UiFc3{}ZwmW) zGn;QIq7VW*u5Oa0P^nk~uk0Iu5{piJC|;_ zI9U$z3@MODm!>I9C!GTS1eT06WtI$meaqj? z6-sQUU>H`Y$;)_JQ%s%f!T!HJAC2!lM9=pD`8OrBBrv{=!Bkp7U6c{inja$4^l6YJ zfasW6mi#>f;G*jPOWTRK{l;!v;_oX`{#8DUMc|6Gi@z(00DK`sR#aIQ7S2LYBYky3 zz*d<4#Ncygp8`m@1j>R9Ae_t^6`w7tjJZ><^+LcR14T#8CUEN(z1k=Py?RCLzuU;T zh_~=k`FHtDS5V6dg#Uc>-E7q2=i|}+o}>QrP|f57m4|{%rR7{!3nvGD`a_Bd!_EN;P_oNdy?813{tQeX$$tI$G+5iiC3asqC1!Z zUzA|#Itb)DAN;IelTvE?eR@W3Mm>jRkfl>FdFZqHbMn;^UGKqD6?`@Y4bk=UUNaBQ zE_IH0AhnF;woGen*Ks;)7P$rDT+XU%JujAnj-K&;s#SJ!81>-MDSZ_ko_P56Q;FB% z>A1~!_BV)k*j3!ET(7$f7#x&B6LKU4I_&!0wNWOv*B{GuRPZq@iaet%_^Nh5P1=ul%{WNUkC^oE=~^&g8Cp-IH0WT z9p0aTn8p$aofYkZCWb9vZFRYxUrOgy?`bhOm3kdF_b*M{Z_)cQ40(6wX^P>a`Zt?7 z574ujyV(iblj|icFQW%jH_TZrChXjuKG%rCAB`B|+Mx#VG2-~;T0ttZG^-@MECj3D zp=&-~7QtKQ$$cfCV*`a=B4@USzlSr{*+S>uKd@CXTjwaLN(rv@8pT*E98^0yim_fV z@36SqBd$GOQZ(5bcnyYA+#;vZ9)2!1wBbygnltsu73`i<^+JRPkK@GC zFI5~%A1(?azKI?zqfA%!lTf4^1h zUlQN=tw7?>eP4R_Js+RsTMETf;C-8(A)%uPk2Z``V~**nY2FW69{5VohNo}2eWe9n^ z^&gA~LMRQ?g!bN_oU-?)epk;wviPF&FsrYBgk6XARX^3VZ<0`G$B^0L<#f-;>ykTv zS988s5r`1Du^=HUb45pxd|QR$7o?6A!#BGtH&0mlVB0$739|P>D6OCD7iX%uGqnCd zxjdh!M*4Z63yDdOeMC#I?rQLh{W(4jKDDG=c97Z4N5*_W>3VcYVw*H)k?FP$Ze5Ft z2~*lbA2bDg?87s>cdAgJabSTYKp!Nct?W~iaN9*#3eVi3a0>RivKE^y zhbw{hVrC}*4}Vz7z>Gs5XG$>kktPA-=aqp{z^F05{KSxCIWE7jQLoGSusqJ|OwU}X zt462HBJsehERtq?a5dQtQm(Af>FK*m)wNE!HNEbE#fC3t+#G)^p+v+c*m!AY6ORqf zAZ-^|w)sMEp1`F}Y54iu=fFiu0kc7BIp2DFf}G-(B($;EI(uz&w_a~MwCo+qY{NfU zx)VPt2|96rJ^23arv7e*3gy&SNxZRqB`qn#ma1=EqQrmYU8{SDLb+07cTVeonM0T< zOYj#+Min0@mw`eagJr&{MdeV5t?w`@1a!KP2CpM{VNfG8L>#WEEcF75E9PgeDrTI$ zu)kk{Xn9Z-QOleDK#Wnf@{>2sfdHOp-(*33y2~wbvY7njop93kqw>v1OBrvobeqbY z`D_(|)e3qCGF1So)aRZm@lG`|q2J9XznWgL$Bc!6yPi6Dzca_qIn&bp;QW5yd3(Xu zA$y+i_=+83mz-rEO#8WFH;tk=qH|Zj6iZDZ%0wQsdbmqotiW17>iC3(=B{y7eCYB1tgE2ZkBgrJy0i zWtg)D)#-K#kA95#^wlu z3${@^&o&_2BXI@$05q}_^10@2$0#A$;b$gbfU`050hM7(sJG0Pt4fn;-q)9u zF~&!nw{;;?Y~Y_BFzbAXl40w~x!Jp7eMLXh3x(%Dh+Z&vwi6qVU^( zSGCt(CX)oa9VA=L3i(Pu5Crw--?EF#VC9vR1-<=_U*!YkBi(`)CNlgPdzS3dH5OCy#|0bzaqyR#~$sA&&28`I7iR=7KrqvOlf{ z@C|f(m->rubDI=zUC~z`3v_m-`P({%#aepqcD4+h-G8bHugizW>go2dYlyAyKUs3Z zbJ=zhZ^1etR6nme7OFfSV#9I6Xz4qG;EK%)e$uE(nSxF5#ud`p-ZYe5$3+C-^=>ra z+LH7_BMy|F=Z9Co-#yLkwfMjN!(}RhDOe0r`Ar!osfkoVz($i50tC=5XR0pI(eQ-E z+bXf-vS?W#d&3r1EH)geUoLAv#fZgan!=G7(zkbL8vgTq2JF5l|37^Fby$?|`t<=T z(v3*>ptN+SNJ@%yGc?lO0|-b+h=AmP0)ljRgM@T<*N`*PF~ocO-Ov8*{d=G1egEdr zW0-^cy03Gs&swM5-%6c>^TVEYY-+w@?Xvthf7LwsY07QUJ%=!o&(WjCytS$UFd>Vun^sB-QvcPOR)0otC#0J`^PX~n)~zup$|j=)jWabWaDDYto?r6* z#`3BtGRcias*EJ$aGOnb{YM zfyX`CD8W1{LTUH+1s8%r(0`R`o8e;iano&*Qnkt{<3ij`-HQmtg;M2w(0|=fpoO&BJ;Op^wnY?+VS$y$+QbsDazS7-c4_VIfi3=(T8vx6%UL^ zYk68J&>l?!a5(w{mE>KrBp9_KZwYxghN_5k%pNM+W6yKxzez|2Z0zQ}A14ES=rjs6 zIX)DeIeu+SL;Pc3(;4zWdcA&0r)ta?N0W6d#=Ezc{yDyl^gPFLM2}k&S(1)2{w6<= zH7?%!4X{HvHW=G8c~)epb@l-8QjVPC-}~pSbkkWD$ybJ2G5&llcI`P{ezN#QSv4m<}hWuVEm>Wo(ncK(A*SHv3l&vb1CW!rN+tJn5GS@}3qq#=Of!t+!7l z4xNLN1`wx2cFK89stF%G&EKWo3b0gTSF_YA)f%|pb0lvEeVUpnho0N_oh_&9b)F=H z_|6yJJML^_R1xEd8M5p8dg{Kz^Vz()3N1)XTi@rEDA#va{;`ukpq(bGodEcBp7)g% zTBI*Y3Qbh=@=bJ)h7-#dv&@SkN$OOX28|XXOX(c9bsgE+&$9R(2@~J%wKL5bH~vop zpkBn^n?VQ-UB6r`tR?NE%!S4O64Jt%Dm>;bbBq4;B@k-wek9VNAHU5j4$9*&+^4Kl z{T2O`)u6Qf(f`-Jr>I~GY59VWHq6QK@rqCORz`r;HWjxR8Nhe77Uq6gaM|zUIe<-> zIfgv+Dywm92;^qp_F@96FCH%==UeyBB&Xv`LX_-_avlF(s^5q~$@l*72lWK_p8Ul` z(@dG57}hI@rJ6+Q_HNhSgt?c0uDsRz4~SQ}-*|gBYqq6}$kQU>uGNk-BvRSO;Y+zN zv}TX;Pgav`83W5rcs6pgbz01u>=%t3S`KSpamp@z+sd)gNGV}GV)0Ef@CWlSU9OS~m|=9>oiKb`(;6)SuunY^pVaXO}X*7ug#%J-e5*LM7_tb;<0( zT~nw(_`2qSUQqFOFpAD?rCq$&bH6t`qFk7jduZnFyj~dQLY#7+ZHjGW%&(>w<%D5d zc<7vikM*b59dHU3iA>|34VlqcN7RVusV(h=Rg{GB3&&b90;}E40GPYxl%{U3v&8h; zKx$Kwps(dSu-|~O-S4er_HpBH98tTJ0%%(F1|6L`QZ|bg8S|yyJX^#dZJZ-D|0E z$T|v?qFuXHr`OecOE>pv*^|35Na;l~TrAsRzmo2gF6TJK#;8CBG{b}Ui2QDFD4frc zsCp@|co~Rz`=#mkk4tr9QN6~pCsZ=7yxi{Ho6Dbnk+lu$ZKrou^-VJ_-ToTK_mC%jR9S#k+c zsP#=yM%ErLP-84ApUc@Y$~_pA>hjX3L?{TNY;t@2B1Es35^e|dgKsxn^eG%ppNEouiPtdH`W;c6zYSlUpXWmY7zk%L%?bYYXASO(-I)9H>1xE1!Ef z(Jj~F`6W)m>G<5GqyFn}e-f()le>Cxv3n8IGw@~KQ^e||Xcn8l1Ri;>d8t z#uqt`&)$AagM;2~^KJQP(%gBze7h~d=HoHr%4KIIr&sXjlm4T4LfPD?s@mhjIg4bQ z7|amXl|AklWgbbq>QmE}F|z4qP_@H+#I)li>3;D|NJ_NTzVnY01SJ>A>);tx3%8{< zG&k7fi(V``JA$*x_~1akN-f%eA9I*&DEd|Qi>V$`Ki?K<;qUk?_T1FB_N{Ov5VTJw z2Wu}YZp{T^Tb4ryrbtdnlLkmGeJp-myfk;~JpLUhQPg-gVt#G!T8KJ&-KndzHR-xi ziJq;?VtTK~Rvz#!=T3IMQ%GAC-l#yPG|0q5A=Icv>sP8rnu3=QGiQOoM|0b_w}NTc z)z@E)q(0R|xOv{!qbKz1#F|f(+K1FkG==VDE&gGTwj5G_adL=!@wCLEPlrbY`SZ1@ z2k-v$(~v(5L->d9%;4XLGsK&$rWBLE^x*_Kg{}^8&Nuwy*T3J}wRPX-+Q?Or~?YRMebzIoi4ZE=viHtf) zNk4%KrK%+C8QJ>sWfdCC_|=2j(6Ok%OOA5X>VP22O*7T5VP3#ev8MwUm*x;s7p zd>3LK3Of?Le=TlC(_0x&qSNu6GR~+1TEFzBZQ4DSSGatgT+jM_YnI5OFkV*zE+5ZB zk;dyTTzqYpx=>B;q(=PXx*>&qOo@#_j6>_Ks>?Fi&&l;NNSps?UD>h`W6F@KEm>Iw zCx8yY`qAam`ojeWvc%Xr8>pq2Ae`QG z^uBj_m`rDDLcQafM6H5bxJ~_@SZd@s)lG~{y@agE)q2m?kk3G;BR(&P$MDfeJfUtU zeVkqnegimetY3jH+*ULa^vt?JA(Wt5Fs*q0!*n}vY-XCj$)QHcAnaX;oCdjAa6rZOBz0IGU?BZ!&eC%HUW zz5&Qt0w{7)o%$iEM2@6thlRLZ9ZwADK939c(1t-fL(ku+-=`@3`1^3ZatzX0 z_>U;#N|hZP*&y!ti=<{jG*nq!U5MHR8nsV4#6DW*AM`F(a}1JAb=g96{6iGKx5#E+ zjG6r90F7q;f>eo=LB=Tl$d48aSy}Yv!)f-RZ3o>T!@YvdTkeB9BRWRw9-oKtM7oPl zmIEuR4CZKj4+PXSoY5VegiH1~r=P63YlSCz2yH8ZcoU*bn8<2 ziX&lw-fXTsk=Z=;RJYK`GaI(Mny;_Id60GZE53>IZA8En0Z(`6-QX{JLabLDj~1;5 zQ&p}7Zs!`{pEi3;a*<5 zNx(>Bi5KH9VI(^D*o|rAF$3=MA@EJv53g?!d*Yen&KTfnRu= zzib{bN=g!3cRirp4iwZFapu$7B_U~6%M=iT<%_payGvn1{-X&`H90V_S<8_?a5nh# z!E6BIjc3PoqvmED8&jGyum>mxHUl1ouZ^5V^9zH_(Ora(R86^!S9JRZDfX9ex?K^6 zUJ-Pz-K{qHuWp~j^%DkD=i_fJ3e1fNFT>m(mYPBjTpHQ|Z{SYff4#vkOtfI8L`No< z1=tmJ3Q>!MyVQz;7t=P4VQ&q&sM+Fe{Trgu>yku1!TQ;WP0km^${yM*;5>XoxdCOP zGQQy?lRN5s8|kzBU!py~^_3g|))u`>>aTW>ucZ|mwNd4R#H$i}y2#x(1W3L#LvVO@ zA^X~#o*b#qJ;Ss9AJFeB-Vone;q^rev))~3-JAwCHul!(UUo(#g&@Ho3pm^mU9HdZt(S~Up_ffbXt!;Fv`bXmgP`D+g; zu4yH~oJX>A4T|9rf)gK+kbxgTJ=cwhGT>`!#jkK*E#`VSi;hwY4XE+1feNz4b^Bwe zBsk;6)wui|o^p7`lH{E$+<=6A0s}(hwxsU!D7HT;Yc~`6z*QPEk^59~NOaO-ndC4S z30|aQbF3|YZJ7Y5*cmLOUMgXgy-{LW!OKsFjxH5wg@VypF(mHWU)ZCL`#Ffo+*dG0q`MN!b`S= zxm3rH$o;Tc7ZwX?X}dY3@TA}e?@_z>YQnK~7q-fgzeE%ReBc3%O87wAH*R z?od8#!<@onE*VbJpk^<9At>R{cwZF6zfg_h+MjtF}ro1izFz+%u;@e!BF>-j}z;K5Uo2yCOOU zcb!$OnmQdBveXJ)j2K(ZfLJkh zn5FGzn!R!QZ<uzhg>7FtcBMD7vq(yYgOOF#lGRF&L|T6I%%6G=C+`BCK-R4 zSf9Z5{o~pUpm+Bq;^ZTM8m+n2)^b_qKBeQ?N9pqJk_-%x@L8bn5ZRSYnOxP z!W(nzZ5A!V-Zq|fd`gSrv&Uq1Vh)v|nf1szKxaU3$+HgO`jAqpd~!5 zQnf^pW$B+Xf@ulY0J^#tBXtE5!zM$j>WIiqr8(EJ&NWp6Ht!yrtLHNFKIJ8KjUU3x z3uRGYpWpk=P^h1uM89Kg%KLgHCC&3Pi{Y`SX#))H0}D`n-p4X}=YD`));*5bg{?P* zJ2Lw4=R-#&jdiZ1nFN5QkXr_iJTS8j;+EH%VH!k;e=wKA;TjS$*Y+y80JeLgu(GB3-N2L+r zI`FgWa(@JVLj9+dp$JV@(uKU%>$+I?X5988wV)oQoqrf$(Yt(ZGqEAZO2&jqOqbcIVA5_W>E{{Zs!9NTc?(iNOuN>qt^Ai|W}yay;d zSL*mA~7^l|(93HrGv zpeS?b=9e!q+U%q5X1A?l#-S$U`o-P6_+}Z)qtV6VI6cDiT+;}~BViI2;6rCVI4~ea zazCc^v*?WihyOkNx&UzLT6K*hoa-IGnWQe3EkWi7WAFbG97K^hsPJjWh!m{%ORXn8 zV?Y+Yyf&FgMOE81)4tQYE(2Bu%u;6-v+$tU4986E^&v?Uq=WFAW{swi#nyP&oL+pV zjIdWY=4`V&9BGUxZ5whgqky8zQOK&qh$fFVbA5Eu!S$iNV;HLcE8$@i5BKhXT^#La!MGJC}H3hSlqT38T+CIs!7x9S;WxVup() z(=N1smC$B8@zpzASP>^$`?J@!{aru^V~%yF9o^UWnHzCXV{i`#$>?`U@|$Tuz9kuRQVcGI74vbV$dnbG5*t~<7k23wPU}P-C&Xp1#qv7)zm4~FAdbC zduWbBsw`TdH?BbzybIXh0wNR9dapc<`>KdNa{jkfOsX?jj@*Ax=>7Ff%8Qe!=AClK zcbYVZ<&wFI?}fV~uG#n-Ztl%1HBf*NEk`fY`+!n93|()u8^@~ND=N;+WuSe(t%}!a zD~h5$W#F7~5X7LD5UiVV8D+tkgI>}sZ#-w1%eBR4j<(;bm@8SM{XJMf77{GnMJY=} zNYU|q)!<>hN4`J!NSck*PH%BBs1BR6jAH%h)5()j)@PVXM*bIfPeaHbeZ-^{$}$$r z@?zAXU)>IOyrnto)#%|>4S!bgM7zdyNz#hh3oyvddkAJPIG)M+R($+PuM5Zq){Lri z;>}?{Q6J2fn@Ib=Hz!ZuMMc}n_sH>git9dF$7XkPWOQm3E&y6+J6nUtdKR|kfAH>p zuR@0JK8LqfZU1L$j^5>8%^XZimz5kl@&9&CeY&Di?!=&%&EJT0cE@=BVdH`+(9lpx z(u)qRLKDl#HPB|Fb&^Fse-r+1;5ryp9K|a*t-l)(FrJs}a%3scob z`2GH~nEBl9AxW`A^KcK~z7G673uASylYi9zh1l~-LA*VjiTX+Gau(Y8=5(T! zQ}Dp0NzxP=H=Fcqu#U3lG5)NyJI!HeoL1Q;m-TR4@nQw4jqTL7XhbIu-Ui;#ql5H= zpOLnt-SMpMRbGSPrOo1@_~tAR*D<5hc1X!;c4`lV6ud3Zy#*NeP)8KFWsT=b2CT6X zp0BlBbR1tIN4)aQZl8>#1)2)4s#jI-HDBVU*&GZ#q#n=J8X>X`b>~E>@13;!T*z|@ z^lT*S59`|@%=JP1Q_maK^5B6AJAn6!8+*YmZxcA{CaR&A&JF4gl6?8 zn2~Y!ECnDnNSEnnAzhwZ z9z6;>dFM}vi0JVvNxksn11}p|c#c&yf5kcwKGW&op}R}6FKfU~5a(Pu00}J$Ph_85 z*)ieW&9$=mRDX0=*rGbquP^$RTk&m3WcaJdLk|ubis0PlvOxOBdklAIF%dLBd!(1n zdRM9>Q7FvLcw+;nKB#u&w1KQZ!nKJG+)a|!;MshHeYf(YZyBL*?eh1F?TW4l$YZF& z`^8l_Xm;#K zmZ#~5qC&Z^IPcgmyjP7ix}twx7Ex(~ShQX*vp*QKHmK=k_&HkEmwE{t>`6k#SvY3f zB|4tD_hEP5{c|d!#;-fcaD-#>6%LW;x|v7!T~9TY$N1FDz7yL11@ScMt2PpSH1#0CR3RxVRF0bV7M^RYrw{o4&4lJ z_B5&2XuFrfWH*`J)rk+f3~QV+%OHpg1ytJr5)5y}jt%+ZNVk4(MmpeS9A9C++vlB% z=_4Fv_DtmR*HRP1XR-WNW)`p2zWKTYE^7#@w>>`t`AW4A4eyvNpKClaOO8hDs=77Lvm%J^L zrG+djtCO&Hc=ku+N>Sf~oob?61wb;Fp#zy$N0sf!MlHDCjC;ECDu{`U+B8)cj0WN| zD(S+W{aQx2=bup|zu^Ul1dOs3i+YmhYEdoc$=*j!Q&EO=T!INSZ+E6baa2(8OE8WO zGX{S#31u5HwE@lMk))4_q{j$`}5XX=Q@#2tS7Hq5ijj^As#(giD0-C5a`rF3(yeB9J!mM72h3?;BllX^*#`+&kR=eX{f$ zHH6yOyIETsrrf`Tgt|y(VO)y1+8BBPduNAHZHm00*vo0*%Xhgmp+xLC1C4twH*&IH zhKoftGv7bf)pMQfeDVV*kB2+;c8+2j4or^F7X>$DH0XP&A; z{xG!uXW9qjUl2mpC_czZuyfu1$q^U2_tiunNe8_5u@d0mV3X5E<+H@VBVt(N$HI|6 ztFTfJIJ2xyw|fW`R0=+oSC7Eq~v4tC80jn&P8CSYqXf8hnz9|7_P%$GyGma#ki9|cPUiS zl{~v+>C&~%@t5a`f-zwyP1O;@ghme&fCQ7jvF`x{^(o<=)-vwLF%p&W`H&JKHCpZr zVFZpAN8-RA-S2WiTr+~)I=RXc`|;<%?QS8!%k7Tyi#m|aL2BKSauGM0{bZ(}Gol$s zyp1^Ho|J0;o%Uo_vGV2wc+W?&tqBw0e9{3QxG}0|X&>DOrug^$;~yzAns|3jB3Tub|HP~B`Tk0t z-{J`nUle@n96aJ)cK+Ai(9f@W7%LpEE$;-DKIw%JG0xyNqwMEb=%_7HRp>Z3h4)GovMyr(iaULtZdz3XV7f||e4}%}Aoq7* zzN%&$~m%PU_7pQP09`icE zG}!Al^Y|}w(mTE)$`4vK0A@66A4fVD#coKM``q{aU^Ins?&<(OPlr0shLOVftTUI1 zn3J;V?T5M*O+QbON%%e&aX5+4fl7;EKf6>bn|kbdCbSy_z7jha5O6kO2jF+UH#0n= ztu`9fQm}*jM%dFjd}dQ&mhSIQ&C_16r(C_ptPe=402ya^^*p(x4UFe7Xk>xGz=2P7 zI()@B-brug3|P-ti<8BAd_-`&&x^ZF$Y9~Ouw>hdQJuk6+x`IHo8{;p)O1B4?q<#l z%4!_Z^K*XQk!Jgd*(gFm_(zw>w195^hP;I9V8ciYGoqv`dIlriLD#k-T(TZm7B{~< zT+*zz20L0&V0`VN#+In2$Ky02d<{6kyzc89#84Eq5iseCk`CYX+peKj3^?uyxGS0t z@}NP8)n#xLYd=4o_hS*p_yr4;ZfPzJmOC{teDiR3qpSh`Zgg^D#graj%DmsS6Y#t1$0zE(LJSt#4R z%Y8GTKRYDy-C};h+V(}Wp$MK zZN5+YeuPa*@*UgPY3c)>u^x}Iz7d5@h+Oz21Suhjh?vt7of-qKJ>0%#nF^pl4~a z#O{aHvrluriGQ5+_OX?Mk^b{!Z4B?;*ety#cA=x}NlgM>mkMq6Wp8s;t5c0;ByL-d zL@;`Y%6!(pBw|}N??m;52cyE!iwn#57P%B(mIzCSlOT&Lx|Ru$GfGo#jK75<4c^jv z{mMeyp_^HDZ#F6~t~D_ogWTn6m9?!lJ39(&po3!d+|j5aaX(-(NQXvl7{~fO4(X-C zQMQU&(e>wanh(JIdl3Q_91Z&MP`K#K*EYdKw<^ukxR>oeg#uLT=PqnAf`13<)};RS zSYX~<{o(LUvL2L&%{~2J(HJdpl;1$Yx+_}eNOW&Y;tB5@Y)y<6=7dW|c$-7a)fzkc)F>$2E&(#LU!G2xNdy-YH>beMvtE zz(@zA2T62fhudO_>jEZ4KA~}qh!)5Xdmuy&&2^k*v9JtsDmIulIpQfCd8%J>yeBm` z9F@pkF5r_0auPgJ8P&KPf`?j3!m|xc=Wdjx+8n~fXIw?}(3c!c{vJ2a!;4oNU!OK?V^!5G|9A(^xF4=n8~8TpKOwo5spo(Cn`J;1{fOyXyn@ zk9SzvZhOo|3L_OiY08KtGx-qW@AW2LJjY}Qfq)O4e<&KFFl~N7APH3Tcfc3Gd)*p{ns5Img&DP(EHo}eO(D7j(+fwB_uGHau+B5HP zlG20P8Hxq2Q=9$l>Mifav*f|s_b%;DQX6&8I|&<%Z>wMxM`R;rFXqsfFC1+=6doqH zI4xtIPUeXwEz%Bbvh2?ouiTS(&Uur~EVnTnw&emHv1P9;(GGCwhWfm0Jl!O{FIV!R zAGa|kO>Wm;_c`Dc7A%VGJdoL0i_HswGd2gg6ypD4JumXsw0OV;uJt{IA~iv(~1cHi3JSpX9Xi z{r#o0JKH6Vd%T0rizN&1jg~04&E`;*M&R@a@yBJpallP*FR{f?yYz_z`;dvdoygo2 zgbzWr0Nc5t?~|YIg1vqT%EHPh)Lu|%mWASy_9#%{&81{7zJ?>J?-lYl-)2_wEK>_S zo+bfK8HPu8iwGdz?os7JG_jXpwlO+D3#8^J$yDZQJd`hy&whO&2oRaTWSKmQ2ml6e z!EC5eUnDSU93ok+jM<1U3Vi~_>tyBI_kAzD7X+DL9ys0x3N*8EEMN6cm4saDyZ_w< zKpaLwwp`g8@AR2X^vMOnf00tZ3B{fgZ)XEUjJ07D3x5>)2b?D#-hZ|?q@@SWRmgj) zvou!xmeT$i?yOM=>Mx>tXtseKm{DiQ@GYC}(k2$|(#=FEU5#=Gb+fwLujmSQ8RJG^ z?!2p!HMwbcuB8~#)Hx8%al%m2|0C9+D8vi6pRf_(0ak_oziAY`hrjV%H}wsf(O*PA z4LL>oUiSQV200{Jt^ni`JBt@SH zlUUY=(pXc~$E%;{Un)-6nnB;2nPa*LJfLXKDL7HQM0t|aZ3Ujim-q%VphfW5(|4np zS#^K>s0k~RY*IfdvF%`N6{rD+7WyrEXj5R!b=QjxCE>V3YR~!SYC`y@)0*rZjST(7 z_o9dZP$sis5(@=(2i!qs$-q6`tKuMMb-%vM{rTq17l4~2aag08P9?B*1H@e%_Z=94 zhraarED|QDVUWm=rEg9D{VSQlgxWK1O!yr-`qZ2Hgm$j*H z@5&w*SJDIe)dOs`%aco)z*v2*!k@eG9Rh>tU*mHOb>0K)2n7T6$vQ`~_op&FReQo) zIV`acV!$n#-P&dFue#%V*xYxQ$KAQGk^E`8us+@tJ%NR{vJS6K=q~Xk&N@n_4_F8F zc&lEZbEHuY&kC@7FX)z1$IB6GZz{t=#-===!M*w0a-{HfE4nV)=JKPNKM*0 zJd~F{zKFc{Kxz$&m3RQb0-!5MqHO+QKdk%i6d^SMyKZaimdb=g(E4V`zbb^j#izP{ zrZYFN-hba3hv>K{@Fo6&`V&}$?7DUIrVAugHH06hH!wq0YqS{nGLCASpI}5#Nuj78 zr|h$j45`kmx7aoT?9_2h%$*+I)VMYQQ;%^(^Dr)P7DsgS*5lY2ay)XcP!GIwUCo9f zDp@&}k>pl63z#P*Ayipd0T0q)U)#SvSXB=_6?YOjW9k&+(;fWP_;6_Bk3{ST8XUgN z(8eP}Z-jk7h&1nd3(k$jBR&Jk%L5z6h0(a1Ly(ec?l9$V9f1C5?uT#z!i4?l{BO^g z)WV7`2nJ5wrpg?0?6pp>3X1^I)6casgQ=N8Ml}^(qW#T4YylLU`bhAs3sk7FT=Egp zFwRQbl&^TN|I+PZ*s3cU1NhS^1p1jO`cz(&yh25leeF`((uFO1_9_Y2K2kOziov{h z#?S}0CSQUnCN!mM0`7@eP44e5_kT?}73v=qNoMFwkq9stOieuwB%`>26T}f)GI|Nh zRGlKgvRmwbKjU*Q|EhBN|MQHS?N$9YdH$Y;^M+WlFbgzOWUN43figMsOY7BlHXPy~ zuQ#>m^}>_B`bc4tmSGbx8dq|ky#J5%5sdl;%O~g$K|b>T8bRvRn1$Wm>OJn0A5tN( zFB{o^g5T6x5)s%iau%o+42Jr34J`1_rVT*BBykfisUM{|9>Y!?8~}QD3t)y)jn~9I zhVSowC}|{zu>qCX^sv2>EAH9vxQpPpc17=DC~J_+Q=Jy%pg-@;LB!Ax>c%_3AVcOZ z4=U+-(=>ggb1&~;VBgPb6x;CwP>8M>rO4OuUx#LD_R<3)i!hSX?#ibDCGQG-710V$w#)5{#s~bT-t1r zrkk>-8a|)yZKC6^Xy8Hjh|4@EuGpZ0mO^&>OwMp?jsWjsOi>Q+%bzCv6F^d-rBP1| zG=wMCa6MgubO24S?I0!T2O)9TsmF(cu~4hescL#5ro&}{r=n@1LFuN8Ka9C}J`hVu z>n?fkSTIY0&?<+hA1#ZL-nS~!9E<{^Q^MSlv!w)X+>AxP|>xLsHGN3)h@ygYG z;I=Sdb>3FTB}r}ynws{u_a(Fi-d3)O#e34j4Xr@2xjLnj8VvSEzhVC5+OHactMXpm zUPf=7j=zo9drv&p@;sqMbX`E|;Nz3>$)C>*k&Ak+Js9Aw+_0{Z-UYb5>ra*f-%A?T zM)?if*@{wkYpY_XpjseEy>w4wAsDlqb2!`6UK9*hlJcKRkohsfceETV190b+-UWUBKkDgny8IPsiq~+3X-;e&|B90jb-dpKoA)c21OlCz$|N1%R zIFzKAdJ=9c0$8CM&6b&2QSJ|Tl;?I|%0xI70q9&%hEP-PZXU#lL0BC_`ix;|pvo01*Jo&ba$ePF;7Zcp{S z0^}0f@NWW?iu|vb>7*C%h?F`aIXPy8mAzZw-(gjt(;y^TzT=bLx?JHa2kcWJIU3QT zikw6zKPgNUr6_Dx^CtZd1i2+0Iaz`)1I-9vI2%(^Qw77Oh-98V&7W0|zzfcHYBL`ReZ@Iy`}93^@WPs0;SN zL$3gnouOw*W68k}>pM2jG3fWWChk0jbm=ikE#@wawzJIr&^}D}TRb>IG{RA_D;ii= zHPGRWkv7;_G8KtVXw649k_0Kg6w-I9iT&xnGm~)ekC$D}s?S&;4oT0(?OVt}86EFe zpCTDbBCrwGOR7Ne^`;R}$xWH+djFwuBuYmsDIV78X(r};DM^Wy@80Fgu-g%HC79mv zuV)&JZZ)(|un6GaCU1biK5&{o)Njct@~(8=SAv1i#5Ho_`(`HLR0*3 z;jWyAFLY6yWBFpX7|`QC_#$#ym^HjtE6xKVQQVG9T}`%0bj+A;>{nW5j3_|~VG^hP zEnCThTbD1|Gu#S6K-1fC{O=&ugoBl)6^B~KhE^jWW8hTRo<;ESCkHVYZQ$QQ?aKEY zDvIe`0Mm)HvU*-Lo7fq#;y{pA;V}w}Q7d4Ui+khpQK!#MIMv47$&hO_mBZNdlY69F zy0=X)Vk$4!m6Jfs=8TLEafziJ3j%k zh5UQ)2zL2SzQyWO3Z_LGm?c|@OFWsNU{znMMqfFxCpC^3uy1Ay*aMM%ZnS{e=1eb& z#xb{=A$#}ABc=10#g>K=!9fPszkt+ORT*1@O2`GQYg&Y^12t>KzT(jy0J_gPBUG9@ zw#q4t0)VN2z-#C7kk?nh$$Uhxyb3%{%Zd=Z_8VnkEMOzP&Q zh2rY#!fM|t#@S1@tOiZFXWYPEvLXK$C%t4@#P{$coUNGdF0}OWAQRAN8zNc8)jg|MQb;nZM~lNDz?n(Z$3yfzXliS;^!n;}k~eyfcVOcFWodTg93#s| z)Sb91Wu1*dYt2Gw6txL(QJCB^pZCK*9;*w@0geI@R6Ya$^Zefb?0d-H%Bb;LX&;?~q+U+e=@^Bf~sz>#WU8I28EdETs+gY#hWlL+r7{p@Jpnf>kp zxQH&ztc!*Kq|WukcUO#zZLWWO4R~~J7R^Iu%T>2B6HT?L1*yaA7-HpO{HT|8G9OS1 zJ_r3aA^RO?cxd}6eH+Ht_Ss+Z)LJQmQHXl2G#vObOw_bnpH%$APL}_(lr>2&vA<6` zgy&Sb5jp99=ro~}`@<+#L$ib-{V8=cII<>8l7+k$g)hb;-<5nWUUI!Nk2g{&beCUR zEGYgoPcu=ibE{_2$v^VxP+sx#*?W@n6abXD7*3^m=p?2c%jQdb;D%#+$!Bvb39@0Q z6^Xfg_aV!?xZ2x+5}tFIrvz}zN&v(2n1a#Ogq$doe(-XPaRDfk)YEWIm2rgPwv(_L zIv}zD0Mk83)uAAR=1){FSsj+PMGY)CBE9vP>gtdNnKDTg=0)5rDx%J|y+~GYKXy(RHr@Q&%o?dyoNRa?5)!S4N`-5T!UDK;XY%c#pP1ERhZ0 z#-Uo?l>{)tvg&54N)%YId&oM}^^_s>Y<{KRVUeKTw5P%BmuvTr_dkl5#DKvfJZB*i zsU}*wS@=QGRyy=8*$3lPB*dV_Eeb-A<}e{N0b#!~?y-~&umk~{=@J~BVif8+1y8ak`OPm6;Vod{5|$YlVxtlGnwfQssIYDPd8d!?Wk^0PdnXFg@>ycx1kU zQXa!zk_zN9jie@!aVW=K-&Vrkm0NEho%XO>=`PC>wkf4iyu#&EY^SH#Pw(qroa|C% z+2+hx=MeEd&DD8@>oW4v9u@Ye`A^tuyZYFAL|W*;1frorQLr4I+{v87Yvh$e27a=5 z0E`$!n7`;NULN#p-I#>G(O_p9+DDq2b)p? zM|(sJs7~}MRZ`)#8a3S?YX{5lMzJ8o!L^QaoVmweOH=-R+R=wB{gpGixFl6rsY+1? zWnrkwZW;e6Z&3WU0d&2n1hwmGqsf1Y)Cn=|qOam6Viy+)ciJrv-eKl7HUOhR$ios1 z*QHkI7%JrcR~b_XFUks?{$O3J0FW-n`ikik@lV+(W|hI^B7mu+Qc&{A8XlD3XDjTh z^u!9jGQ}T3HVZDwz1J#c;3FGKB7+3H>Ae@6+1k8gJW>tQZdUUVGYIX}}NstTMnv2jI9QQRz18=(Y6b+5_t>xl9{T zcbYp5FQ8=gZ4l=XF4BV3PF5=9I}L4fH;-Q_-Zn5!{MO}bKgkZ#d?f`)ep?IbdG1>t zz8H%M60nEYfVAS@A7S-6g4j!3jV8}qC~yPyh;F=XhZAa}KF;AhP64NKT6hIL#8zFk zw;7XXf)6t+(mH^iXzM7oi2Ug`K>nSqrUT+Vc z#3UYxL*LNG)n}_9r$*c1!S+9Z!07Ff2fI@{QKp6ZvanrlQaE~9ZtYIhTHiYD+wOGU#Dv0?8L)bL{qoxHLWoI#{eytf+4)OoeWCc4h2v$duw~Mu_{rF6qeVKO!0RC| zygJQ-m8EafWL6>fPG%S2fT zQ>Q51bdTu)H)Q!YEpLk*6;Kv5Sl9qdW-niW-p)fvHlnM&_kJWm>fWt)tnz|a)Ol}D ziP~~+zc12)m=AqgL?k6ATH`gCieeiQXj};VJw%6Nq8JYKt}a2>uJHJsR-2xcva7XI zitOUZKayI`We)&Hk#Vjf$?FOCUgTOpK^=do{U^fztQwmO{;=^_Y9ovt6*tZsDC#oL z`7-shsc{~WTS!Mml@BH(;n)~YhczN0IJfnWPP7Z@n>Q-oo5Ej?Z9o|vS!{3F zRDg7!uP>dxEcth`XDi;~RfEeM9BtyKlL`b`ttH=X0AjHi1_)EU1hTe_t!>8gS)%ZX zCjB8n>?BeV%`f zKtv7rvA^WAP%Dhdc*o`(r0r!Qoc%ZJd7%;h?nN0AbVS&Tsg@V=fo|o~uRgKSOc{G-y0mv8Ne3XN|npKpi>-v(s=Nr&@G+oHbT-cGBY>ZJ>gun~?7-GjU*JTMoYH~-&80#XmavmN! zpUgApCW<5ayTlPJ2ON^KC=ny~l!53Y1sdqEL8+-dS|E)BnuUO%j0J=KfKk5IW^})h zjKUz3B>lP0D)wa{m~>!0t;uB+2WUZO!GI03bjMuS6w6cykwxmVX#)n6YR>SmJ0L=%gDUGDYY+rL9H8?_I2KTW_~6Lu~= z5cDrpgyS}+O}jZpqU5O27X|%)NPF{msJr)nyhMmBWh^(MQOKZB2%$2xC=_Gtd&s_% ztw}{ABq_TZDa+XR>}euG$i9r7?EB9Aj^53<@4NfcAK%}9=P}H@&biKYJ+J4rob!4# ztw!Gii5IFg$rDXd9-wR55NlsM^#0^jY;ZAq{mE#n`}aSVnG*_@PMd&6g*QQ_ldTyZ0kl~H|(<8YC z1paes3eWmnCnI#7jU$n`pvOk5-S01>V!RAdPc`Ssp|{?ODhOp=V$-p`VnD@jOxAP- zM5Ah_pM_AJELb|lq`42=J^s_6Pk}h}A(5GN*#E3EWeipo539uqvB#QRw%VA6OV|Qkllr4|?z5WQ^jh<*9zN3BZpPcLj8LRex zb=^5Wf?N(Mte5=y2;7=+oNMKa-WxiEJ@QAISdyz{*LmyqnzLVb?oAxMpe%c5`AbdTw4af)^!GGBJ~J6OwJ0Ih(4#?r6{K zEFCKjjOk1Ep8{v@9XLbNJ2T32Q`&1!n`p|$?nHu@UfSn)EHv=__&Pz^g?)H3oxYu# z()8=T*yPx4YdfbIwNT+6HrE7>NjrDX`=^!J96Jofy2~%fc9elwZ=q*x%;wg|BVyVH zd9&eU=9k->d<@g;yKX_^h{k4f@1ZPw_w9Hx}k5+eBrm=(T>|P*LB?0w2+uUmX@V zw6K%5B9_xFo5(2e;2`Bd>T;hF{6Wo#$9=!a3b%t_K!ok*e@={Gf*430Y`_KZ+K=b^ zZ;aTNuKI}Umc^_m#xuJRw#nup?IO%qcUyXj?tHE;3o!N@=RD(vxEI#%^`aoQQ-J%X z`<aVvBzrV%`m9l1w_|iJUIl{2n9CA8(@-k;SkD$WI()dX~Q%i7BVv+G|T|GD< z(ID?TPY`|)`~AGAMZPcn3XeU8bEAp#jSWL^zxTP?PuE;7l?~?k_{7tX)dem|rk^1* zmI*k3EyP{$QDrh+Y+lY7@BZfIPc1&TbxD2y7~cAD(-~~UiE%0p#4BkNnFYU9hW4kO zCDTs*ZTtJi4eZn56jBhEheZvs{Lj;n6=}?kl~zX$B(DCv|Hmw$1Oe*hPp67$s$Dl9 zJFoV}S*4Ug%)UwRJg2y0-S`#>v03O^Ta@&_ZsK3>K z#{)z_VGN=5-<)#q#Qz}PfN{e7uSXSajJlXKO#R~v8T^5+;H9l(@vnNa zfhzf;Jx^cZM<&l;`)f)D=UjHqMh~A}1$VYF-ql-c#_=AuIbd_*sMD+q?}*xGDUaf9 z8H~Sf0pT3A#%@{gDC%Rd(*y5kI;^YT+|(U!*B$L0&0R}DZoZAZc~0{vC^G;f*}`Sv5d)EclVl{-<`w<7^Q*k-AF@CuJ86*^xTn z&^1rH2z1Rv**c!l(nqcI#-V;Tq)05Xu)3NbCCs`S}LjW|{&y*@MLpO;i9&1;0JH2&0g#cL{Q| zL8Y%;t12SK)gE=WsfPZd-#(*2o*wBB4j$P2y=aOy>;=*-oEb z2JabxQyTmMef@t;NDnEh$QwR7U@O~Zu$}wqd&qJaJ^wRrsfmjmn@)@hv?t%RlRF%$ zb?Z*8P*|~d6t|0y^uf163)}c>W0-re51V zH0&$QT;rGVqUQZj?Q1&O4AqIYIo8rdHK91~3~S#yN({Tg#C@9_v#+^qIgA8;J9dZ3 z-gFOT;q%E;+Pxcgo*1N0%tY^Pstfk|XI7DwO1}u#T|H|6t5BgS?*h~8t6Hk@#q?-gwu`@%MBem=Y zRMkUi>261yMPcNaTkuq?huiUv>F*g(xv)``T1?NBMYJTTq zmE*h`{iglk7;b{y23l`*PNi@)pJQTOjWgpVRu_6sBHgkJ0UBYgU57>6$0{AyZ*xK? zH8M`$xO=vtgV7OO&Sn}aRn3yjV_kKFoz=gi=BOUM=t5Hi0;~U~VF#9o$kX2O_F9Wp z0wwR+2$(XTEYnIz&mkwX<$({l&a1rFhVC&~~$HkQBN5(O4 z8;{pQJ{`)Xw}dj3CLUpWh!{L!oWG()W6s7mPT_m{%qqu6h-7kx%E9;F@UOm}n|+6W zx%F;a*(Et+@Bz5O1Qli@RaHE83v#NmKl5O9-ZE~XwfyDSy*cHZP5JAK@nNQ&a&=!f zi!Lr7tW82ON_}8d%}&Ont?ca-Ipwl@K4x177nOy>qhm|$^S930Jy3Lvu!FKy8I_kQ zUb~wHZB7z-#;!NgmoTdqYV2S|XyH>>>cfu|=Wn&vAv?y|nxPB-?u z6(rv)k6&&Tm|R*Vpx($;uyQmVy_>Ws`Q!}VG@BZGY2&ZWp`UviiN|u?Z1;xwSQG2ad6fNKs z^P$iA;fDmM8#43~^0T$Vzc=!b!*1_H3HS;VS~4G=skd2m7oWed&jfof`uky**ZQDJ zC~TsT%Oblj(NBkIzsc4Tk+q`*##yJrP1e zMHg3ZMV`-47f5w~os2%t9U!k4$%?tI9Dh3{RODKs;&Q~H6QA71L%O(p1!9U{tKZoY zR($&{Dfk5SNz95~_m8!3D&x=}PBJ3o7@zOAQJ1=HjCmKTyJU7SX3)TwFQbO!Ep82u zGghp>((3A4>bYyf90qRV`JgNlt>xsvRdR(#=iD{x0~UOR!kHNcFy7YewJ*op#h<&s z>><7F2Z{e#0q`F*nH)dv>U{Hx%|C8HPvYKv57KCq$wq-S1d)5U{mUYvMJ{SU=}tts z!e1Co3n?B1>)EZpUqpTd%D{E=VDq-R?@3i|%iSw#!P^y%2=eZ}BSHQV-~Gr$IdE6U zz_%3r>zxjPoR=e!N|vT~#4fv8m?@t?xhPiz?KA<(J%av}6|CanC)*RDWuiPRq^mHi z*BIKH-{s<07U$x!5UAnYv03C)Kfq9rF&`6aYklLvaRfO_EkAsp-z2~SMdeCta3D>t z=F#rWI!pg~Gr3UwAOsb0sr}k=j=cFNH6wVnD7`pD^~GJ|WW^NuQ#s#tsf75kSN#9+ z(ik;raG9hY8Hf=FM<1vCO7{)nem*#U_z|dnpxV-zwd(DyLER|?c zLUmv1zU$8u-HaMjW@3MIzAv%JEAFyKUYWZ4PHCZGsYANuz}kK?>P4#K)Qg8cii>lj z#50XAav$3-N=A0VV?U}Ab$B2%l#E<-Kbflt73FK(k^Pry_!T6`zT_h>d=u@O@hmoX z{ZNZ{%NDgmv?jMtdluXEZnXC3cr3((y%+U$G2yvf>+2g2Aw(^6tvxc(?CPVM@{>nU zuOIdufJITZP$quB5w>7EOU?K-S>5Wg*r9f>%~}3djRk{l!W@h5P+9Db$$5Ob=(q5u z@X_e9rI6SZZJfz@2d-=VF%+We^P938F7?~(vl8W#V}yp$d+MJTq4M|l?I$CrV&Im) zUr|Lxg-~B2hY9e1`1!%^U&N_RGoe*X32HLY%yJ2|8ZQiSPN#2PZ#G7zVZKJjsHX>{ zKpsG%1A>l%U)cQuoyP0Ka)SEa_-+YibHSN*-hA%|kU+!=HFyN~j%C1T`OZrN&0`4V zATO$oS3Wx|67f5uDt11@;arwwgzB>L^>nVCnPU@fTO}EmvOvLBHvb|Q##FpN=9RL( zQN9>dZ(g#_SueLkD0}ZQ(gzzkTfVey(Cqc2oN$t5{>ACu^V{WWhsO%GTk-nola~o! zG|!#hDn70I!Aho%=ELSh?zXY_qJmJUp4dEl64A`XC<0RpAoUk98NsBll5jL$N<9#L= z4Pnf4-`GC=x#ez-e@C`4JYD^sC^B?O_zAE$+D7e#%(LK(?L{Md-3yw;OF339@rH zS>!95ijLyTkUigSH?~E-(<8SrI-224FgT48(tx!|`!33Dyd3Q=CuE$9-+33`wiRly zF|Z~l8Pd*W_@ZJzb&0G;smB?Qe&2HXacQ^Y|Ea|8JR5Z6Gciy>aIbO`oTx0BSGoNl zZ0~B&kZGZjsck1b0d*@2v!rN-_HwrA;uWZkY8j9Iw9~3d0TVyY&i6~nINr$%F^B|Q z{q7G_&wFAMZwP;ModrCBiV4NFo(#5sI(}!i-ist+86*rhGi|^L; zZFkWoU%AxZ+HPRuvu&`pzzfqfeLd(MKi@YhQL;4|U7+XLtsg@$JO5>gFiU8pm#B{a z(7rWF827ueGy6nSuRmnF*Y2**!rIaLjIw#y(Co7J^3{90YDrub7@))$!PcHRgiu#? zW+eW_`beSEs;l(L8NOme9DlcpQYLheIZ+h;PM}Mv9crj1prIVa>yzyb&omCpav)k0 z>d<#G#$Io;XJEOAe=Jv!+G}BlFWT30HhfKUR4$>&b-Am#knV3-gQi7UjSiat0G68yPU zKY@Z5CGExo&IM>ZeaE*yu&Jfdo15lV?s`whDDs2=RELppBU=|flY-2m?vNz@kUd4$ zT-D(6>i_>|hk;EHWolXDREmJ+tCSOPJuoA*uIZ8EXflB0`P-uhg9hQWE;-?yCfNxwbC z?%tRFAA6r$@PZLr6L$n#Q_Ga2X?X*xEP}?n@57o38*kO73Lu;n^GRa3j0*Goau=YS zq)S`+4eL#HY?A#C5_}TvY)=@Hth+MM{9OjU-P14lZ;RAsDkLKrr)d$xK!16K^%Z349vG6%~H;jr;o;^rFazh(|l&ANm`ua_V3Bu(n~!Fv{9{2kQ489$!@ z!qgqJ{p1H@O3liywl_1Gm1o=x4Ky2bmP$f``vU~^NxycT>;dHRb6R!h^01_R?G%E? zWZb`b&3Ve6jge|ElPc@-S{rR|T<$#nci8!5Bt+3a13wX7e&F9K$OnO4%ZI*Otwggd ze#z*Z*K=AqgIv1FC&E0Wsjrb`d^DQ`K1PR}SD!Cx;#XIK*5^k`yFTU5+WAf;urb*7 zEjAPgajisnib{%jxx7IOt2WtCz#d=gA}!$eLGdmz$OX#q4`M*;2N{Zx5voK}Y07Nt zlEbo1;j;8E%N?q;j_nAv3S=krmSc?JS#yfSWo7bz>k~_#N~1r0Gh`b~NhK5WF>%iq z61R)^@ACbIyWnGx_qzhx!tY>8BL!!h8hV>rWSo)5(K&hplP4 zX8-{DvIju&6n9Yp7nL!xx>+ee1;H=t?$Mk*z$Gdnog#313mOHDAM--WG#=NLpV6HL z2XKg>QnL#PwSPf!x^c~DL%2Z})N=4m9<90pZ1y}~Q`Ajf8|jS`c@0`BVN%)w8WNK!Mj0$6NU z;B-A7Q=0sBbp#C=DJsm@hCk6#$U`R^;@ZCP649SdMLyGbE!O-QW;2!wL2H@&hlkxf z#f?-$9sL)}c?N-HGr^gX`QiN6q&?$&2$X|Y3#Vd7RhZKPeDx)HAk)5yX!ukrGV95n z+*JXJJjQ#mq>Kw_IO{)A;+-Xv>FupGD5!Vyc%MVp5S?HQqd-`;hP2YiI(? zh(TxUr?>9#W+JizSjVwn6v*tNHq45Y{|c}(U9g4TxjS=C+h>B zqp5-Ic({l05kMuXX7w_Sliu7QE#2)y!N9?d2bYRfxh&Jp&0UjG54QD*g) z%w~8cddrW+G z?cu3x2KYgksF6r*46bFCAV18vAS`w)U{U~~Q0&Q#RnG_jPsEG{5%sc*Xw4te%+39sWeL*s)XV!-TcJNHp?{G@`n;o2o*G)K2#|WADkilI%tOIz(kmHBNVSd<5;+#! zrMV9vY)C|w@w^>Q_8*W%1k;~pP+_@iVt0Svgdzw;pey=In2jm_2Q*}TT;~pqcRsom zb}bX?R$G2f#^&>CT-OpCX#>dVZtWsjp80FcCIrh``$ua->_#tqzmch4Duii0dY4P# z&}-fsMY|r=)lfa(bq1T6p#p3R2H4S!!S zs^t*ym&0JO|L~VR=YgXb=It_sd)|(u5WJR&IUy{1EA%2-*HZM<(PICPj)qhaQ}asn^LMOy$!IS@;pi}0ZPN-&2^8s|l4<LRg);W!OlC1UnuC*@u>)tOFf8pf_eE{KO)+QO|?*nrl0B8>X z0cZhg3imN-Dxp`=;>h`}>umV}DNJk_)^lN3ZheYzk5_mN~-HAgc<9nnIH=0ShQrjcR7Xw|jTD8J_w*~0{08_ijxBH# zgyVQw1hyu%4tVU?=ugapOikEhI#>L;IPWq(Z({~|WoX|qQ z)j8^fU+5e4o83m=N`%5RoXbzWHHJ^mD&WvjXxU#gsCYw@TZt~zwD!FTe62zzbOy_F zQRGK96HcHC!j=+Ha3q%%?>q7Bu$~;zsO2?4*ur1%a(ZgR-Yl`}Qym1mR#UzcU0*;L zR}yINbKM?o+^iin2SrdsF#F%+Nt)xYfuszIFuhW67QZ}%@7=<s*a}!iY4g^M?^@o-hVNL5L2t=s&}^3gfEz*K!AT{bsrR*( z+cB@o?OpHXEn=57((j1dEKjxagtzYHZa4w}vw~g&!MPv>Y#}S7M)$>gyr@IyJlcyJ zdl-@14HH0c)WoCfPW)2LDFJR|7Ay8jrK23D5&9?D_+kjRCA{L=ajKW|8Hra9HE^#E z8ZGz2XCw#zAb#!l`7;2qr)%SaR6NtyPw$i(^y(HlCX&M(qX(W~wVNLCf3Oia+|6?J zM&=;Yo4w%?F|ddr1F03YTM)+R8bf%#*eebQOh4)ZHA|iVCJrvM5w3y?KQ*#HE6Fr; zKTRe2(%?UN((O!R*7UV@B`&+2Z)tYcv&Afe_=U#>XMOt*5PC0V=n?IKxYIU(tK#(Lc`XZVqM}+H9w*`~nU)5d|!G#!b4Ds~4D}j|Dsd zpxVw_u<4K6FBpt#i6w(*VCn7D7wEx4_}2CQrmzhwaCHEEX`x0K;An_(+E z$40p5qRjXEGKim47*RRDL6>wHtV9|#Z+%tqwKU5^r%S;L>P;R`_muOWhQNetB?e@O z1l=D7f*YtJ5WEeOTbs}5dJ>Y6{vJFM?HZ=I&VcN6-fp?$rIHD?EFpe_oOw5+Rok~Q zH@MW10XUcNC*-96YRM0=X#7r(o!&(IAK=7(okHJZI()R- zcg^mno$3j%1oq7@M#U2v;-y(qSVIyX<1ExuG>7wP)SSCz>^sV?04BxqquXBi*Jhxq zn35=9gZWZ0ghD1JNbTWQiPRy7NgxJdM?+-FX!(kO7) zW z&VQKhPdH2R%_K!74OWocu-hd+YNMmvWaooNbK*CC)Q^>qbdHL}c`0$dWj!d6-TR2Y zO(XRR9SFfPt9{vSl9FisCFIP0kjS?+z695$uTEe$s+iWlAvTY8KUM#_A_n2yd;l3+ zZbiQOHT%q2vSok5W?xy>4=F2Rh*UZ2G1e_Ew9xUn_zXNwzJ2B+Q_=KCNN+xk#<0({ zMEjQ=ufy#y&OXwNe;=&edQBta+)aCBI5qW>TDL0-Ev(#RQ~V5m44+oe(Xbu3bSvvO zM4jymo>C~uz6KY^NWyJ-kn@96)cGC5Dl4N^dS>QrECYus(N$Yj4y{C6swd0o{_^OF zw;diCk(sL#-LW#QlL@t)PUo$$;g5_19{B zFYGd-o&n3V@k>la_&iOUVw1;K&Q{$dApYHDO=VP^p>4`@>ej#@^EexR1Ydt-?UrFw zJXw52rxG2wWFyH!q%%f`Ku$)tR^uz+3DUDkN{upvTQc+Ea*QeCaR=&LcO)hw6e(yx z{b7;5T7#Gk5vOsM2wfBdN+BXwR-(BpRnJUlMjp*I=Zk3EHn=QTUuKiVptr-g-1`rn zD)5vljg0AisDa)UOtZmnC zY%&LnSl*kxeaNqva|X_y!XJ`lR&yzH@cxdvuD~yW8fxy!Q#A?X3D=*2B&8jfAH)Nt zw+{nw*Sn~k_3ikI(@mCltjFTF_j0}@e@GgM|}UG;T;bJiWZT++tUZ zD?yT6L@^Ffo8r*75}=L^L+&y*e?j^IJNzLcP&!>@0D>F>-1nit0!kQ&aW>>Lgeb=R zUD8b_h78r$W5u-1e0Gd3*NZUDDrYy)9t+!h(A^z*{_CuxXjMDCZGg&u1Cy|lZ z&GlID@pkXBtCh2f9s%Ba2%-Dk?z0DxmeDDJI^R%J;oFmKGgR?0`RjD&=tSfrC`Gz?7reX~J zuP^k^k%LUZN2V6q+b`SCJp?JChgXzUH?{xDp09J zm!#nKDHIrV3$K_#0&(X)oHwgr|Mz_MXmv#&4eezHJ?Yfj!>Qek)0w4`2;RoN4<5jv zJAgq4;L%RR;s(ddil(MC_lndT8pE7xX9poeJ>H}1EZxtUBGV!$1O~5WF3{7wGQ>?8 zH0`?Q%ul*P#OGGL+$~)7+5auAvvL6$s@e01C%>02gbnRdO~3i4C|bBoUTEvg)MQt; zt-odur`S|+fDO>UwKPdSqW&4}>R-T_SB{WSGvVWbUnN7*<$xhaL+G(VgA&hKdi}K7 zQfjI@6h*|JtgOWu;*7Sx6lxQ{olj=7X5`@dx8l|&GqwgcIg{$Ic^*7Bup4JmJU<}y zr%d7I=`*yKzjx^w6x73xtog#yOx=Bd&z>y;+kE%-I|t^AgpojP1~GiPu6KTID66l-B9JGm#H;KI6Jm*XY2aBEFv^o3ggQU2>p&hREw^tlx8v_L42t}0)YwyXqC|gwaxA_= z{CGfDjJAP3E@h|M?NPUPwjs{-<{ctlP{qVosHtOX&cI)!@oPO11SP@Vre$_UY{aK3 z`>dnM=vyTi>+8jb5z6nv?g%0seDJ~HM84uF1ZGp;UT}(bK69u$#_v37p1%)53=D7c z4;oc-5g_TZpib5*u1G?}ZGV_#jsAf)mOrTFIP}FU9N1tDR zMAe;EeE>Omm2tIWq^Up)hXy%ihnFz{^=BVIESvlVvd^C~0!~qw!1V-1j2vTbzAlZ` zmB|MQsz5R3RT5Vk-c3*iQch2o&3)?gak)vVX#BQ0b5|&YFTchdIEo!VVNDb#`LS2K z$U~*BPz2JPHxpaW#1;Q4w&jkq3ho~vI-hTY)^QrfT((CNKOz1>{#{cs2FkTp4_S`HQ+U@_z1;B^c|+OtKnWBE_)@!pr@cTrT8=##vhB(?jG z0iCXV=3oV3pDr=$-cLq_O-DKmB`%!kagI8UzEyycp?I~am5kX^(7~Z;=7gjuh!FM& zWMT`S83cwAUDfY=kb&F266EZKJ6HytiS|Xw|Ev-qUo!u>Q?<(>Q4Ts;P(MhH{{Ti5 zUgjt!G#!BWnx8OaW%iW>d;3rxsLs-1FLO8lPW)YAT1{80$y{&zd{)TI_1$13HeuBr6lLcXm!?GfOe<`6Qm<^8G0&(*@@AYQ4q?sfp02n;L+&H2X(r z$g55IPpw33y15%0(k?J957bugZY-!n{IApMKQfX(O>9LOR2dq}&b+_=%i;}CtdVa#b$f1qg$9de*Vv%T36Lrlx{XH#>479$y8$xY}QWspNm)s$J> z3T#o!%@&1IBTSz``Aieh&1x%AO<9I;)cjuIof|Cug-)HTKIk(G>iJ)R=+EVEs;Nj& z&5ZLlx=9S^?5Qb058F8bj4Hfj?6y^oD*|i5Wn6cIZbW~JWq;rnCvNt{CFUVdm2eTe zJzX8$t-8A^vT0qADSv8+d*J_v6x4pQSJ(Toevs)F+tjCRA?Z@rNV(985oXCa3Ye%y z=m7eu=8I<_ipD>cgg?3U!VA7Rr&D5{Y0QwxiocyT=ty`{C`Ht9O9})ZUzcZ{O?z5e z%StjbEA5TP-rR^Pz4wXmZV4B+Z5zWzWQcpSl~#C@_}pNy-EUk~!KzE_ul%pgO5Thp$p6x}iesQ;G&S&Q z^aT+FUn%$V3m~3eF9LN1#;Z^Ajd9EDr*DWUfDBbwl3J*XASe+3_!0*!XKBQO8Ez3i9Gd-BZzCNo`rp~Ox8CW%G$_fP}} z+n!7KA*dYM^n@1i>3wjzTzn*gCk?&PmqGQS|C(Bd) zBzRkmD@FJ2&(*69H1Exi_-}i1Fl^kl@F^On4@3*U&Tr3AiKbOCy@2*I!$P|g(v5Kz zOs%Ixl|Z+hbGOzAdYm0JdpY(I#YHZ#`^@x8w63cIXC?YjKB;$$NR$4~WIRu0o<}xq zPgdyY>dS8BJ9bTkhWoP;gK!2(D%4Q1+OG4esXv>d`E;=_8&ne>sL6bK8HrvP@4|+j zgJqjbF=8bH%8#%Rn?fY>DvY@?dP$`PJ!VZfmoCtK=PGjckGqcB#o!2hU=9(3Ii7>~ zpV0{2R7f-73aV=5Y$9kcLm?mY#w@c|biO0bntc-_tefKltxgj2sRCz;Lv)FaU9piMVRvXpZuoVl?>c7X}J^%(JrYnL4~9r5;dKM}Sp$x1tMEV`vaBEa2)XHGQ$0^#AFUYkX~L}Lq>jT?5trQ(2Mp0dYWM)9yK1F^&CMFecGmSL zJ;8BLKwGYjX|h(R2l_|~{{T7(85&YGa$|a}FYmw`$4Js97Sn*zy*UeZ?Y8e|h{UYt zMrplt-_E=90c$rosBcRT@kw`xB7)wR}9a3<7lXTxCo%Hm<)xhe-}-rVIh zJKXu|@4NL+Eb@i~5gjT}RA65@2xbUOy}CjTbXF)s35Q-0DZIMQ_sB%@im|r(ZeN5A z;R+6YVEwiOQHrP*su;V>L7K9;G4b-DRWFyt;iH<-Dg?Ja=cuF3w8WqPJNS^~AEMTe z-|9{nZEe@L+o@>Z85p(mUb3r>{Qi+XuMEN$OJAPGsx6Vdz;J-{70ToGr(uXszG}J9 zL5Nm}F`^W(uQd5j{2vhFg9V_TwVmL(W7hAtcHJTL*OySYsj<|E;d_Ah@U`;ZjFu?- z5maxmK5lUL^N_=0L;T9i(TUcQ#APA`{TB_~%nurPSX^YqW(#TJrDGc z0buI4`*e~BOvf%6iqJL*w}PshjjXYQV{!bf!A^L2`ua%uL|v3b$-uQmHap)%@xVw@ zQ^=lw-m|a@6Q;F!l^z?}qLu?q(U1vP?T|xc zVdVFEMv|z8gNPj*FFl$0;-|*EC*n79d`s4Q-s8JvT&54#cjH$+k5n!Hr}7e~Z-1Oz zcK&vCed%WW-JSKHm{q<}yHL^felB#rb)Pfj0P;p>@ zUlyUcZTi8ODH*MmIe6!khR9zxqOa0Aw+b9dwtCf%yHJU~3`z*~M6;VFzxk0qaIvmt zVgUCet6Xy3RL&0~x9udGy3RwWYL~F{p452+6S()MCR8e2a+I+8{1+9U>~%ZeAv>F$ zR-hJ<2VreWd~G56r5`<2_E(B+XML9A0c+` zRpFy8yT}W4nbOLFs8WAZU=nlUo|7ck-~2vV4|AK5h~N0`$9ox4KABpczg{-GU0!$F zYSF=ey>uljU#L-%%S-3H%W_TaWm?j%aXbZvs8cUF!^@+?h(dRKzHE8Y)L~l@1erO^ zy?%F{D$x;~k zvHAE`GRFDqqvLl6{I&7u>k&Fu4h?jZg2(QXPEhnW(}2Wal4jFE-$hg|mF6cEu@4{@ z$Cka@)HemyZ@Kz1J%U0A6MGS)fertiHG>TG-4`5!Qe3i#RWtqU5VmFXPqg}eMdTr6-j>m2O8TgFj3{nf)4)#O zdwSVtTaHlgo3$Q>UwU8Xvr0&-^KZSW?JxK*BR=dgeT6(l>?GE z%D3W~_l3{9YWYK7WAFsTU?bkwVUfnCiAC`lXv>egN~Zt=VT@ z<&-mcXC=t)p2?z^?@Ik>5&Nv2&*x29aF1>=zO`gs$c{NbiD#0?Y)Nwa+rVA`MXT0R z>Qu14R_&X+&Qjo$xz0ye^NgO|@+7=IFDn(y*L-v5c&_Z=8J36Ro|N%=lkBwg(K*Sf zA;=4&x{9RU<^D4ipxj|nKCQwHQUKlUc0Dl{LYTu(eJ}(jAArZ&HvtW_2$`WqaE!(W zrxImh4Lif)G)_O^xv40Z`%W#|t62h;+jj6lvBtHrFEM4(?7jQ-#+vh`g?VtP24>d1 z4=3J8bE)dV|IlNxo7nLxwDQ*^^dq+;T=Q(}ZFS}_zW1vMe5mTQGlBy_ArGoC_#zGrGw_wI7z_1$2&w4h)jzQ}XOE-By?cb7D z2y+^ATt50lN+?xaL*2Xo8stl1EUdKOdE=MD5hbxp!*4o8@GU|etLdy<>E9ct>EgN@ z6x&szq%pmn>-TH_`XkOdlSx0O-1y<0pp%4e2>Ci2t9*A;^XW_Q_VMFSL{ImPjy2Ba zS+#F$sKnZReU~n4yj-(&X@vxUbZUkmVv=oxtUm$4Iw*A^9J@@-&=$C=J0tiXK{iWg z6M91MO<8D&|C;|$6p;&b(_rc7Uxc<+g@+)|t-qDCRjZqP%jbH1Ojo5G6jeAoLY#wq z6cx{km*+>lsI$J{uxK9jCsO{Jr9)Ic6PLSwYSELAt9>PdHONxrxysvmeLbshtqnhT zzuFXcI>j!>ZbfX=VBNOIyDlFlfw}IzT~jIQx|oUa+?OU}!n_)8#;yT-m*7q%=!-FN z-WpC+azv5n3q4P!l)S1Uf?iYBxpg>f$F@E!4*8D$#@FSQ$;Rasr{aO4rs+Y3MSo|S zw2qmx9=N|g5SLB*jlT`17&tnNCl+2jin}OkY-Bp8@l}y|OmTHf1gwMxJ0Ta@RPeHG zO6g7zXPdUncVfEpenlb+k`wE`lej{i0fLHs@UmLhBh$?w9R&;^8R_tYa7~x{7Ypfs zLoqRcYS!V>UVM^DC;6kX%}W+~Z)2b=Yl-bT&o-2ghc7L$YD_vmu7fjwaepuBZ+&f~ zohA+_g)&VH4eNd^w%qabyRY!Pu~BR5$On^A^U))V)%CNn*z6R7>1SOl%ie+UV5`IQ ztwb~2%`LQ6qS@K70qnJwf3N_9$i#Cl)%D{{hjr|cA6oo@J_ss5uu^gh|@OyAwl4mnamI@K#P z4(c;{O6@tuILQwHd1Uad0DLIF+@VhlH^eoCQPzw;C+#&}H<$jc*#`6ybCK8+ zd_L&6KCoTv&`Bh1oFHL%xE4^h+A-@WFVSOe8H+~f^|v_d>9F;1dUog7uhN!>AG1X3 z+|ZUu>h?|YD~9h?T!_lCr`N)16_?2=@+F;pYPb6CHrJLId7xR3HFD}kmba`KItu22 zH)JIEh41z3(5V}WAQ_hhYHy4Jf*hUmzKAz8u|^e61+pU&>nhtfF>*WXoCYxOy;1=c zmKn*(#Lok2u7X8B?z_t1uct=qA4bs1VWK6c*z;9Bt7uovU-O)N5^l1YE~fR?;Km=k zts$PgftxjR@uzNpa=jE&xf7rJvi)n^jUgH(+|sfVmP-#=FTBU^5B11> z(3?5MBPCK?@YDj{(+Dz!gj<_S2-@7nc=%J}BYIh4oH+5W^F{zj_GcHF68$Zzm%K}- zu1mzsblHCT*?9Np{S}`)o!5kzpaFCd&xhE`mEjx}ZNCAH`dHo!ZBso$k#EHZdI?f$ zo9OBH7^wYSl#|c6um8x{`-a(A-M*BaFt)_-H|Ul3ToxfcqiZ&!OLfBD4Th#|Jr1QK z6iXx@t?P)wB1Mk%R0xA=k$(>8c!(}65Nv!6M9*bfXR`%*BNoaTUMUetrxEkdIVm6@_#YS^^%so`y;Vh2=82Rp<^PghStGWZxp zLstUweC|{1v2>15y>6~EEa|LX$nr~g51dH8-o4EOqvoIW-NK3o6Gq3X-zEmnRBXtX7D$gCFBtoGyNw>`Q&6FOvPOG_%+%ZM|_L?gZ>$+DLNU1$NDNIa6`(WwlhLQI>3? znQ+^WldXo>7LYs8boRj;1Q5C*AU%179EOp{@!Pudt{om08z_Vkb zJl{C`Y*d7Oi^fc?U$t4s9>H3KbbF6*h6MbW3_;3$sB4WR*7&&XizsF|dx4*GJ3l=u zLJ3-f(!P!rUQ0yxC{{o{uVsR8<hlf2o_D7$JvNV+%Mb3VOSOVWoSrKXBmu{}L^a>{mo zIX=tBxr&-?k3(>ygpm%8@ocNl*PTG7s?$VE?G1)p;MPefq)A6W<5S;>kB|hRy0o~+T-3e>S@1mtXPN{iK{jGBSDVIlE0v>IvYzEw;81k zc281;r{_$L<;9ooBmobW)4oUP?NOUb1%dKzI_%2=cPi0i22rl7DZM#&5*^`)l$y=@ z@t8vhja|{)g}AI%L%J!#2#0+lT@yE(KF4wfR zn?Xsw{US9s4JjfZQQE>wqwyjN(izZxB1L03ZR{+U>`^Q~?;aCzWkhna?Gll8ubLT3 zjS$Jz`*1hvR+ZUli^UUgMRp<#E-}q4%4^w>cpG zSh>5~Fq%TOiqqH-jb{@Or6D|`OE**9RyaFC4sHz5n{EE&KK1!?UoHEdTB!;0! zfl%7F3(<95#a!wa216f#+DzI#@xZV@*54zjW!~+pG@;WN#$}W*EGO)EkzkMt9C~~J z@n|`JZ{>5ndyL?NqYetPnuuG>MM3s(54brsl7j{zi0L9~I70_e@qk?w@5@}9p+tnZ zTMwXJUTI!vaiL@-9gQQckTmG9Lea1?xW~LfZwW6BtuCQ4JD%@o1M+ALeqMIKXpF*Ml1Q_xn}$bbz>WkOz#U5Rl5c{g`W^GT-*e zgzL7&GD9rMP{_eOFhe>vw#Kg4&o@9J9)$I&py+vJtxcp>nF?Q#j&}Wtjq82TRSMYF zaZ(O9Mw@%~^kjz5Tf6ULX)_m=Q6C|xYC*q0ob(AtR0YK$jT74&Hu|W%O7zuSrRw&4!dX&h6FHS2 zHI`0(H|D<%6LO2$=?_^#@N@932=?HyEF7CSCd}H{G%AgRX=*`gR4#n3PZ+K%J|3snHQUl*@F|ObiDd6b9y<_1;(E+%;Gox17qnIrHZ-!8frAimfKQx$3NY`XnWjJ zuFHY6KmNzRX<)}~bvB>vb}i&xMXSjMFiXT{ou}4#irMD&F&Rc?4xRyB*C&5XrC){u z;m-w()FEooJ;_hgANJukWA@+M+4hW&xIZguhVTeX@eBVDL77j7axS-LWcuV5)BUZN zGL>BaLKy`0B;fW^!ONzac#x#w6<9c*rL3jQ*K(wSf4Z6NzynCC^jS9~gWG4=U{a=M=tPx!VZN-u%VmnwIhA-E&6t>ul@@31y;Hfzv%R zT)k-Qr!VzmlHEg82;FiAvBjgIg%RSR?=22M7~e@IYlljT*aHSMLJ)I!^h=N^rQ?}W zYu`eaf?DDlFP~PGb)VEw&z78K8IdHS8)+*^1Joiz2gBQO*@Y?NL-a+>Q*+CySgz^x zFMACE6;gmcH1&$Q9S=a2!D23<1 zD!%# zatMrULN|r1&5@nQ8S+XP<#KqNyv?57%HCnTJul?CiOC+;Goi%YEmWYCpNy1XY6 z+_QYR3G#qoP+pqb#jDKO$M?iYbfTqVBtIj_O~^|(-ssbgmF8@~;rYGM{Pz>uPr?B= zTaK$w+-z4nPwvp|T2Mhv+>WZNAqJ${l0r4d9YEp9l-->X3oB+6xeRVWMpF!2&YB-* zclfG#)mI>pQY?CNPE*HHR&D7unyk4O_90oxw@)l^%Kc!UrT=PFHNR_s=fq<1kz?xG z^uOkz8n$i|dTep}nSa6wK4QM&qD(s}vwwQ8}pQaXI-~6rjX#@&?c&>98TQ zI}c?*gMR1rK?j?mugFOZx0d}(tdl%UQCjfMoD$t5Q7}27*5e;%-%9<~r zy{Bnh(4Lbc*c<_{Io_n!!#zUjkE5;UboKngnq3FC%?v-iY@*ZE{QQIW-&hYo62V56 z?>F3nDB8r+km6rXW>{RrPsp@qETjwAYt*(bThtK2%lG%v8W%=}8NSqP@X<|#n@9Qb z=6Wo8B_f!*E#JAY+mCQy<9m@~f68&yhh~ERbqNV5KGPxIJPu|fiRyYS00h_6-&nN7 zsvF3`WK3|j9@NQAmfPdz-D{=PF?XPprmg}L6F`|ChQHT`KmOVocq z_hL}2@ciLHNfbz?|H?wJEXcRij(kF46l6Lwet@|^JzbKX(WY_{5l=Oh@p{7GBgl-u z&@eLZDMhJv7SMdKZIXL?-9MZh(@yi5IXb58{T>y}Kg^(Q%d6DmOQwJF>_~l}mC>*v z+i4kBS1Yq{;$X2tUdKVbIVVDZbk@D*a^u?5P}W(tqO)q6nP9!fr?~XuNBYXK+!+3f zA+T?m#_x?u9a`5t1J%xp?-&~Y%?N)yPrkOfBIEJKC(WBnTZ}%_-2MAVbEMpw z`ZOa+o21ZZoQ&JkzyCBfY6r+G|LZg=B?Qa-d3(4zVeIYIJS z48&@DTiuy=wxGAr=osYwXD9{XuH7lK((iRdiM5Z;%FVB0WObkXyt&JhCCTlV`)gcZ z1CT_Y1$ApqRlUmmPvg?F9nH`3PdRfnZy{zSKZ(o?cIVFI^j7WQ6HG@0bk0rbaO%gvG`Di0K#S}W;o5)LZElvSO9JV&0Yx(_;`w@; zj%K?XQNQp;wiN=XnKDT&B&5!>@IGm<8Q=~<^-NygPG0(LNgMcSv5)#&zorl2(p}WV zQHFG8b{u+4=Z=F;L3c0BM0~Bd-Gd7y{QdiH6jA=b@&;VV@1S$rUeF?@(@*2bd5;a9 zZ`)S_?u@dhPVh1_nf6!(Xgq~qF(p&BBb0~3`Gf*}0BH$I%Dm#h;3KzUC;3s7p z!MO_LvJTBLZ}EsZH%x3)0#rNHVvN4ZH0i6m+~nv_P~LSWTu?`!zAHM ziJYYALQ7DqV3jW}wYhyT2tCHF9&Y3JGvBT##dm}=M=AAdI}(lpR}RW zT>`oawD!FIWvj?~jHe~{7<0lLi%l^Jk_K6xbi$_RL|esuf~ZmeC>Q{_X{2N+P$TxT z5jj(UV>R}m%UOza^a?XIq2lA{N~9Ai-&u-0UXz;^*Jl%gdP7vGyaugy?XLU!R=52$ zOCoiGB7aunB1?d2Kfzpw^BI?9I{j{yyLhe4d=C_Qr?o*0{tS46hY0n4r-xcro$r$E zY~&#_Dq$#~*udap@7}j?dDxu9Ax=g#W6s3~ABX9K#mC<91l(i-ZgL+oEn9lzJ6+rc z+}BXz6XXwF;FF`~EF~Enhyj(fw;OdbRI?FoA5Xb#N2eWj9YhcwKS@eAcJ#_wUj=-v`j6Lv|- zcpbe{3Rkhc?VA&3S!u~RB+|iRRzhbaABJWNZLlUgIAe`1}%1Hi8S{J%-X?kV9 z%qPiB!EY1%H@%WHdwTl&6{DX_67pS6IM=?@xt%)Hr;{G@H-Q(52CN5_a9MKej%O7eZ+(u=Dm}X4UU1z&D5tChq zw(_0GwO}q-usn5#!4@l28I*@@z*|uPR)V?5(d#2Z1UMznFC_^Q?|*`l??xSj+m|zY zyLm5!%4tW%tFk7I?NMkP&yLW6w+VbOPu8nmu?&5^Tzzna&*7vKY#^_uFT$4ZR9Yp~ zz`3CU&H@G5x@M#T?3=s+KvEJbsTVkMtzLqcYiat>4v|B8a&1n1KMwjyB^wu&eV@l` zA@KDf3=kSATdEFj#WlYumS~AKwFQ8NGOgHwwZX=z3=bJGh_Lk@s>ZKQ@rNrd8}INR zK(*!D2CYGMwSo6|g(ca5yRrEv!S;zTqn;ToB8)yJUk3`jvIrDP)yQ}HYkT0`MaH_6 zw&EU2f<%W=7s$IO+r>B9)Q*nL?G23#!0*7zg&D=YFHeo3UkdQW0AeZ(;11k>W^8dj zs7#Yw`1SP539ny6C0@bL5EjyPySL|ewuIVm;@0ixJI(O(sc>d=eEGj!4|ls3&_acU zQ`;gB+}A=gOuHpCGVnRO70wYzWy6QQ)WusTGxXX)w*F}>T?c~$uOKlhE!Mnfv4=l= z!_+$7|GzbVj*0%CfWKeGo%c>*{WV`u_R<3NUOoL+m`iq5FAbS8m2FShLYF%va_5Yx zon$V>+j>URj+Yptv;JR=;(p+|*~s=C8ePBdtY*im>&I`-__TEq!BB(&PF@PtwvH@D zGB#24Cb;dx@oxLLrZKCy(1B^wVqn92WC7)yeej3=lZooaBFC*SGRpG-!S6n~+Sv5A zJGp)}|GOi!N3=l`?geG*ZP6f%D5iLjm;oF^kiw_;CY_D9C}&`E>qc?b_wkdvnZuE& zGX70{P|KL5(SHS0m_{)TD%2>%Fo4C<$+UyXEWE6#tVoVHd;z}=(vtaql(0X(22ckC z4m`Qx@(g7-Fu@77x(=YchSqs_f~CO;yaje(!#%9^ea3s8Aco!p9dyC}q5*1czNXYY ziaUscmKw=rNv>5O>$sPPK*5{@ojH#wv#jHSm^dJG)B!AT1vqwZ`*H{6_40T#ku8Y$ zI}D^sQ6QNzHfKxgwdehYYVW_0ws0GP)*8D%ajbC{3?v@^Sl+PtMHB*gnaju zUy`R9)^yo&huA3tkk(vSYH?N(F59VQ(*j(n07S63JC}c)ZIrfcwDk~S|GBAZCIwzh z23*>8RvKsAuaK)505P>rs>|Z~N7Rd;O;g@QwH|5Zx- zrnz`JW?M|<3&FF1i8ZAz)u6&SmyfXjS*lwS{s#7;DXDt{Vg)KbUoxZ?()-CQMgR|~ z{;k{oUf0l1IOZ4l2x?}kCZrE{k>=pnZWc&n^!l|c^AplfB2aR=+(Jaa()BPRdNZjym{a?C?Nw3^<+TbL=D1S*0kdo)(<%Vy z>)Ps3F;E5z*uQgEfI8eqfcwi7+(|7V8C=CHkgJmr=t?&))%)@O`!52daZHU!PE?FR zSr4czJ_IFa^g28gu=2f&^q-g3YgyWk#@TIyMx-&S$a0!M|EG>}^k;S)1y;{iMJz@B4k^$)l$>9;Msd zWUR7Tl#}JVdEeL6Hec~bIP`cIGkCDiuO!U%6r&31BWN>nO0_w8ROAs3+U@J)Ek^n? zZay*Zcllu>3UQV5z*UBH^MRpBn}x6&f#br$t3zFZRQlBA*p7zOjAtm-531)s(3lCN z&8#HFun|*|>oo>WL3H<}OT8EHG+2q;ot4j!dd5p=zY)}I)(hl3ws@-Sh~GwH2R1Zy zFAFcho>)Q{rAsrn?`ruCmc=#L$W9tjR9_YiBIt4A2d4VhfHYiyGAZ?HMx8XpSz##vEp`@; zu!#5@7P54`LY;JBQ5%xj1i&vhkPOC)6lIm6}dwihWfwYadg?)~OAoAKbd-L)3u$OiB_;V_pIxqDI z!Nl1xbF`2_*+UzYdmHP6Sk>8)x5RMa|>I5;m?a%SN%bAqW8z9SXi~u{J#?pL+ci zW53H4M$^D<+iv%ga#K#cJqqLf!RYi=JDmh{_iwf^dbFAy@Z1?Lr!*h9MTyTmr*O_# zvA{e&2|qM=0iOV;FD9himzqa<_iIMw5FIL+5FtJ4dNa}T&Hzwylj4UNg@mhFn#Yi^ z?UWHE_c^&yxI6f*Ez#cbr8~3V0sFCODOyG_wDAtfdCJTwU=$HJd69~RQ=dPpJ&*Le z`|bCBWDztVlnj#|xhHFwbyRjx9~&7;*x5~ntR&xK$B#3~-ETFm=};9?tU254<`{)G z&X-Py7849@M{22XnjIlCCzj!Z1ThnLC>Pr1O~n)>2nx7&J` zJfXq}vWD4vli|RzfSZ1+!M}%q?R-|5PXzW61S(RXN4$sadRcJ2YkYhne(W%a@@38@ zrYx^O^N+Y&w(-MNRJPNhxqwKsEyPrIc#LEH3mhR@OSER+afZ#vqDMgKef#t3 zcUFlnL4dHdq7dm&m)PTNS-45HD&$rlGIgn-&BEqcIAj?%#w*w3e*Xu&J4KYF=s9F1 zxx({0nVINLA(}w8qI8!Bc$EqFj)|ZBoFiro=V3pUmoQSKwJG976Idg_4K~@9CLAiCvXou=KdF`CKWSiXHP2bC86xBD&hZysS5;PWtC=ZjN zD{`YD%?%A7Gbf@$ci6T_!I9XHvEfi)TiC6Pe1^olQbRF8-NB3mV`hW=w1NH1I|*yM zYcJJz5S>Bl(wl$~DT=n`hj%)~AHfl1rk>jW+auB!^%ADl=2d|_LX;Gfxq;9(zS;4F W)#B`u6Cw-1za6ld!L_YU$Nmp|sO#PU literal 0 HcmV?d00001 diff --git a/docs/paying-for-lit/minting-capacity-credit/via-contract.md b/docs/paying-for-lit/minting-capacity-credit/via-contract.md new file mode 100644 index 00000000..9680ecae --- /dev/null +++ b/docs/paying-for-lit/minting-capacity-credit/via-contract.md @@ -0,0 +1,128 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Via the Lit Contract + +Capacity Credits can be minted by making requests to the NFT contract that is deployed on the [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain. The following code will demonstrate how to connect to Chronicle Yellowstone via the Lit RPC URL, and send a transaction to the blockchain to mint a new Capacity Credit. + +:::info +To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). +::: + +## Prerequisites + +Before continuing, you'll need access to an Ethereum wallet that has [Lit test tokens](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) on the Chronicle Yellowstone blockchain. If you don't already have tokens, you can request some using [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +## Setup + +### Installing the Required Dependencies + +This guide makes use of the following packages and are required to use the following code. You can install the dependencies from NPM using NPM or Yarn: + + + + +```bash +npm install \ +@lit-protocol/constants \ +@lit-protocol/contracts-sdk \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/constants \ +@lit-protocol/contracts-sdk \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +```ts +import ethers from "ethers"; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +### Instantiating a `LitContracts` Client + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litContractClient = new LitContracts({ + signer: ethersSigner, + network: LitNetwork.DatilTest, +}); +await litContractClient.connect(); +``` + +You can learn more about the `@lit-protocol/contracts-sdk` package and what is offers using the [API reference docs](https://v6-api-doc-lit-js-sdk.vercel.app/modules/contracts_sdk_src.html). + +## Minting a Capacity Credit + +```ts +const capacityCreditInfo = await litContractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 1, +}); +``` + +### Parameters + +When minting a credit, the following parameters are required: + +#### `requestsPerX` + +This parameter is the capacity you're reserving on the Lit network. For convenience, any one of the following properties can be used: + - `requestsPerKilosecond` + - `requestsPerDay` + - `requestsPerSecond` + +#### `daysUntilUTCMidnightExpiration` + +As the name implies, this is the number of days until the Capacity Credit expires, measured in days until midnight UTC time. + +### Return Value + +Calling `litContractClient.mintCapacityCreditsNFT` will create and sign a transaction to the Chronicle Yellowstone blockchain, paying for both the Capacity Credit and transaction gas in the Lit test token. + +After the transaction is processed and included in a block, you will be returned the following Capacity Credit info: + +``` +{ + rliTxHash: string; + capacityTokenId: number; + capacityTokenIdStr: string; +} +``` + +Where: + +- `rliTxHash` Is the transaction hash of the transaction that minted the credit. +- `capacityTokenId` Is the generated ID for the new credit as a `number`. +- `capacityTokenIdStr` Is the generated ID for the new credit as a `string`. + +You will use either `capacityTokenId` or `capacityTokenIdStr` to identify the Capacity Credit you would like use when paying for request to the Lit network. + +## Summary + +After running the above code, you will have minted a new Capacity Credit that can be used to pay for usage of the Lit network. To learn more about how to use this credit for payment, please go [here](../delegating-credit.md). diff --git a/docs/paying-for-lit/minting-capacity-credit/via-explorer.md b/docs/paying-for-lit/minting-capacity-credit/via-explorer.md new file mode 100644 index 00000000..26fdb8b4 --- /dev/null +++ b/docs/paying-for-lit/minting-capacity-credit/via-explorer.md @@ -0,0 +1,27 @@ +# Via the Lit Explorer + +Capacity Credits can be minted using the [Lit Explorer](https://explorer.litprotocol.com/) dApp. The following guide will demonstrate how to mint a new Capacity Credit. + +:::info +To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). +::: + +## Prerequisites + +Before continuing, you'll need access to an Ethereum wallet that has [Lit test tokens](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) on the Chronicle Yellowstone blockchain. If you don't already have tokens, you can request some using [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +You'll also need to add the Chronicle Yellowstone [chain facts](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#connecting-to-chronicle-yellowstone) to your wallet, so that you can send transaction to the network. + +## Setup + +1. Navigate to the [Lit Explorer](https://explorer.litprotocol.com/) dApp. + +![The Lit Explorer](lit-explorer.png) + +2. Connect your wallet to the explorer by clicking the `Connect Wallet` button. + +![alt text](image.png) + +3. Select the Lit network you'd like to mint the Capacity Credit for. + +This is done using the network dropdown next to the previously clicked `Connect Wallet` button. By default, the `Datil` network is selected - the Datil network is the decentralized mainnet bet Lit network. For an overview of the available Lit networks, go [here](../../connecting-to-a-lit-network/testnets.md) diff --git a/docs/paying-for-lit/minting-capacity-credit/via-relayer.md b/docs/paying-for-lit/minting-capacity-credit/via-relayer.md new file mode 100644 index 00000000..9fa11a3f --- /dev/null +++ b/docs/paying-for-lit/minting-capacity-credit/via-relayer.md @@ -0,0 +1 @@ +# Via the Lit Relayer \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index f8eb3982..e025878b 100644 --- a/sidebars.js +++ b/sidebars.js @@ -134,8 +134,9 @@ const sidebars = { label: 'Minting a Capacity Credit', collapsed: true, items: [ - 'paying-for-lit/minting-capacity-credit/lit-explorer', - 'paying-for-lit/minting-capacity-credit/lit-contracts', + 'paying-for-lit/minting-capacity-credit/via-contract', + 'paying-for-lit/minting-capacity-credit/via-explorer', + 'paying-for-lit/minting-capacity-credit/via-relayer', ], }, 'paying-for-lit/delegating-credit', From 6904717db107dd121db26b98f448988274c2bb41 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 17:07:27 -1000 Subject: [PATCH 489/627] Init explorer doc --- .../assets/confirmation-notification.png | Bin 0 -> 30458 bytes .../connecting-wallet.png} | Bin .../{ => assets}/lit-explorer.png | Bin .../assets/minting-credit.png | Bin 0 -> 276758 bytes .../assets/profile.png | Bin 0 -> 273649 bytes .../assets/selecting-datil-test.png | Bin 0 -> 219505 bytes .../assets/sign-tx.png | Bin 0 -> 146022 bytes .../minting-capacity-credit/via-contract.md | 10 ++- .../minting-capacity-credit/via-explorer.md | 71 +++++++++++++++++- 9 files changed, 76 insertions(+), 5 deletions(-) create mode 100644 docs/paying-for-lit/minting-capacity-credit/assets/confirmation-notification.png rename docs/paying-for-lit/minting-capacity-credit/{image.png => assets/connecting-wallet.png} (100%) rename docs/paying-for-lit/minting-capacity-credit/{ => assets}/lit-explorer.png (100%) create mode 100644 docs/paying-for-lit/minting-capacity-credit/assets/minting-credit.png create mode 100644 docs/paying-for-lit/minting-capacity-credit/assets/profile.png create mode 100644 docs/paying-for-lit/minting-capacity-credit/assets/selecting-datil-test.png create mode 100644 docs/paying-for-lit/minting-capacity-credit/assets/sign-tx.png diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/confirmation-notification.png b/docs/paying-for-lit/minting-capacity-credit/assets/confirmation-notification.png new file mode 100644 index 0000000000000000000000000000000000000000..a934078efc3652c0c8b4822f4429c7e9310ee5ee GIT binary patch literal 30458 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 literal 0 HcmV?d00001 diff --git a/docs/paying-for-lit/minting-capacity-credit/image.png b/docs/paying-for-lit/minting-capacity-credit/assets/connecting-wallet.png similarity index 100% rename from docs/paying-for-lit/minting-capacity-credit/image.png rename to docs/paying-for-lit/minting-capacity-credit/assets/connecting-wallet.png diff --git a/docs/paying-for-lit/minting-capacity-credit/lit-explorer.png b/docs/paying-for-lit/minting-capacity-credit/assets/lit-explorer.png similarity index 100% rename from docs/paying-for-lit/minting-capacity-credit/lit-explorer.png rename to docs/paying-for-lit/minting-capacity-credit/assets/lit-explorer.png diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/minting-credit.png b/docs/paying-for-lit/minting-capacity-credit/assets/minting-credit.png new file mode 100644 index 0000000000000000000000000000000000000000..9a74d4bc3192f5e37703a89cb5bd4372151f1b63 GIT binary patch literal 276758 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

    M>tBPE7gGPt= z=uH9t`PF&fSFPHb1D!T45R8cg1W1gxFSZ;e)bUa5{C#>h! zIPu@Fy#fTHq4gr9bi^A_S+E)CM}a7{wq(mzo%66AL}Ollny~vvg}1 z+}m1OnApq7pwk*bhz@+sC!eQ#`3{fT>W0^f$kDuOruvT)OZ4n3Mi#tc*_J?&qD=(3 zau2^KEu?kT8LKGS;TJL4OK&~p;m}?5@g1u+>>Ej>g)#kFoKvh|Sh~~fN~G16iHCpE zOkaB@=f>iIVDPO$#K@2Q}lQOF!xd>k1`>{&Hs>L14IyTk&7uJ>X3VYlTH`piwWsG~6N9)GE&WM#k2h0@>`T45T6x})PpN@33Lj|?KCx*45IE-U zhe3R>paLc%o;#=F2zB>6Do+IId~8$eHd4EHV6QrG{=KY$V%aNsZ}xQL!XL&mew8&P z*v<0a2IR&~`!W*Kz?zdv6u*ZD6!IF#e_0$lzbCgfLC*+%PCV;im!|Yr7mZ&I9xNJT z)SK9o2}AGIBNL+n^aLj9uFFzbq234HU0=LAL~F?FX%O?O1txe(e`bP5q<#qqIBQB-CoRVfNA{!&!V<#^ zX^=M$Wz|^#S#=Fw_sA2J%*ZaY$>L5j)3dL?cMQl5xGK+q0siyq1^_EK%Rz_7RXl;? zDge4lPz97F<}Lvb`lj;-A5b8H$X&d=Cz9d5jyHhG=@?C%e<}d65ixnmFH8=! z52GI+sPK%~1K~w+gO`u>4P4u9Rpop`>|G3I?J;-dAk!Q=Mom@kF8}$w6BbbCO>XawW`JC?4_>rYm1i8-sGfRV6AXYnzD8T5b|aX!@-S> zqW>`dr=%+T6#mD8>v<}f%GIsv(ONUpdMqp#Xa@cHvKse&6!ezz(v{L*MfJ%4EUJ5l zt8bK^m^nJQf(rt#|DS>(OCZ>6=wa+>d-m(x$=o3w7YPn~Ff zhXFp#_As!MzIxPbq8lo%77W8!`7~j3KbbRpFrCW_cD+MMS|%9hrmiD9X@P^m?oVy{ zU2A>g8mfuV=+EzeWz%(nhIyz-{F39JDWuzX->dcQ`qWG;J-GJaD%b!hoD;G> z&E18u9O~%<;Uf315;-+=4FzR75$|iUDIxevXRlgdg3g4U2`AP$imPNN6Lg;xM8xyp z=1Rgw=7$*~nUo?soPb*2_v12fOU*Kjc+utl)^~GazDS)`LCoDy09SFetpc(JBR?#F z78&N=0yV|l@L}_9Ipz1}o9>d;7!WT?WV7zfl~vRzmK`$zR@|(5?(bPoG7?+FAMV~2 zoGKd}0u4MTb*LH{9$wuar($znaaXs>EeF+)XgzY>7~52-(Zr|T zh0Se;%`w!Q4|pY3cQ#@mv1_5?n!;7LW9Ft{%I559&Hifr=3CnOW0<*R0k@~Fr!^#$ zYpvGGQNZET99;-RVGJgi?mFYP?q{6?dn9hRCE8aVR<2Z)ViO&dG^+LS6x+cSi-5T0 zyPtrSo}lvi!-{k87*P>QUeEckPZ;uC?oq~Vk6%*|Kwrq?197x8>RSW~T=)!;hbLzn zX>iV=8N%R3j`a6xj`UsQ^~3~SKjltOrSxf*26Dla`S24%VL;#zocTfbWA92FEwr{b zw?tN829udwY}&GOo^A6?;X&i4p=hepEtEh?2cD}UTYnVwQl6mk4P;*V`WO)JHAClb zmm1TDIT6#`udbWqp2wOYrLA!~7W4w7?_*pumWns{~j~|E1NI=Gyz_A9^;AR{_zI%pSxJWk+OOg7n5k3R#PGp-_sCBi3TUaAd@_Z# zkV;hn{-NReAStC*xH*Q5r|QQ2_@Vj^NRHT4aKbB3PyBjnK|xer$`}BC1J?B?$I?~p z$A|Gx7X{&yOlWsY%ZTL-{=YA$_me6Xykk<7#xHynH5ZN#N(nq+_Px$Kh4Bi15Mxce zW5=A(Y`lDfD9j$s-G7-^Vi4 z?la-9Gp2AC%qmpq=)FK6FPLC}m%vL!y2ThiQF6JfG+^42Lj&s3o&`h7tV2?1ocaQiGB&M98 zlNlr;po%Q(2gHBMF)7s_3Gu%dJ60^gG$}W5L_3^4V);RBzx1?#FyXQ%M&QWzXAyc? zM&&~*$LA2#5w`OYd7LbAiIkuVxoof7Z`~7-9Hg0guFg@Q(0wD{y3#=Z{*ZV*-}1}g zmuU+BFX~nH1>@1>Td>o|41oU^;^gdSaYaj6hI8Sw`B#yH z&wGhf%uMc7gxJMLef&Q^xFG2j=39l;p}}uxshv(mXd_8t5vOLmaOHD+z{m3#r(t2v zunMJ-zAiHje1prc4QPCCMZd~>W%b6@C&!y=~ub(lz$?tro^Q^VVb;WS!chUee%-J=e$5PY~^o-0>2FV$&p)i z8Omk$z~AJPO_I+p!;f>ck!$761)F zNjFa*o{4Tb;+1*O0iDSo1d{@fpS&P4{MJ@9r$&hTBgj1CDtpf-Mqv(ZZKIlv3%;y7 zv7fJt!?`>{-!a`!D$_d2a+TGA`GsIn8SS_(;12B#<dtt2@ ze1g8Ia8NENle%{81>-FXQKFI9;Lb^_J&IOTOYChY>d0fjzXzWWPv1H{dmdg2Oy=~j~Rzg7(qeadn7hM zzhC@kXgh!K!P{(f<3sF{pLvJiyl;HkItLYA*plOrK2r|*VI_U$=wc$Ispc%?dRK>3 zw9)%352v>qoBgZR%Y|AWRX1j@+-Q+&^ariWQ=gb>Y3xPxSH0UB#IB6!SW0(mI}wn# zwuEL-R0!K#d6RdD`p7U`cj|+pt6H~8qeIwj<*9(sXyJ%=GEK|mzfpJZQ(AsfrvQhA z1o!mSKzz6}xr15Yx76|5rqh{Rjm{vVBQ1z?{DULiALW}m zbV2^d)25Z+7M>f+ei)*caXJlLsIs8p)4r|=Qi@3XlP{%hn_9_A;KQw}!@IRPfJdLq ztH+h|lC4-?shby%=UesP? zAq&(m%zc&obqn?v01E)FtA9XX`D6=xlj%laP1yEu~i_FCkBlgW7lAP>V#^n>;Uq*!j%* zE!a}3amIzb-??q7z(u)?ua}MIG!t-_Re!_rc@q6nTonlgDosz+*4PI3O*<9X1EPZ%-`c;1yyiHgU<^LC!py)06C z4vw1`LOha(PcSv3f_tvTV-`cmHnOja?{La+Z*`nrldu_EnQyV&B1fN6s~#h9xsaN{hz^sNB}S&h(^1JU%J2|fTd%|6j@eR!A%EvNxE z8DhdT=_c3zu+zfy0OzQaKW+17=6rT1_p{c|53WmYcs1my4+{eiH|q~(&Vou( zk#Lr__e-ul4}p)jUCt$bRegw=3--c|2;Lr_ui_*R72r1J9=eELe~Y-C*L*GV`zyJt z7Xfg>dnL^C1&{m#gf%-5{wF}z{_*7RGr90L>%Ir_nU=9{;Q^20sqxq5s5bI{Wa+}G zce*XN^i=u@`1>g!!T+#PIz~%;uvxG!j?4VzBaWy37G-7CERr{rN?<>DtJU|O+fjZ% ztthBm6La8#gkpB>?w*XOQqR=dZzu$up5YwFY0ezF5@PrNf@z(M{sjYU;W{cOmJa+l71nblAV7x#wEqX_bA>3 zQzAmKoV$r{=%C;78*K_q5Ph_)+~l96E^X4v0sDN^8Gr&;7z60TktbjsqE(DBf=QZT zZTY8k~#H&geDlm$k{>9OGniAz%dzUkO z5zq2`&SW!7d#emhp)2y$pYmoZu`_cirf7(?;l=rIGs%oUKT8aa zv#WD0N?KZh{;BtGo606>L%QsURnZ#9!pZ428f(RhH!V$CK+a?*I?{kOV!83;<&vw$iK!k#|2}JphZCph1L7}ScTqSOC^wTCnP(qA<1Zrq z+UFCnCgRGPvKXkw$8F%xIKW2Pc~msZrtZ^GuZ#l=#M)hl>2Wa!DPM?s)mig63-kyy zZ{u+!;BH_t%T3~I>7xPu_%E~{Cuw&|0zaQ)b+D$n9N43Oaa`3r|E9(NI?cq|OD_rewnv+u$roiG)OB+2W}dj; zl=xAO!(_wzYeI(5PuG_;1d1NXA12nnvV#aQ2DU6VHZ)UGl#(~WKuT7Hy&O}dY*lQ) z^G<2Vgj2E`;~V_xY+oI75w9r-&wIXAE&3Y4kZvn6G{QtRuLroDyxXnigbTCwqoqLY z)w4_mX@`NVPn|2DqxGVn>PHVZxUYe`IAoADo}+HwmP-xBQdeUs3O}4$02LuHTbh?f zW(jj|S}Y`1M>aU?leEoyn$`43F!DZ zD>qWF@l4>QwyAWma*fRS+T<|Ya7l##u#w6rFs$tzXv4-CsJGjm8!XQdO>f}OApgP8 z|AG9)-HPqjYU1S@I|3J0CIItwp`03H^99___tdG37erUpb&klszzw^>@;_Wv+vrg8G|{mNcND z5l#mgE50|R*7|NuH4?WdrM`VKi6nJuRg}2mA-(mYu{QKtj9SPuLnmpcs7$u*KC$OC z5Av0Vv;{@%)f=xq74bbijD=bhimaOi{sZJNXOO&@(qjV|wocUETN_m-cPZtq(XF}eP?h7WUo zmU_h}t1TG&j{a)ln0Zi`uwQ$tfL!~S$(b&{?y6vAk(@7feVKBD2;K^nJmpU^Yu{?T zm4CNmPB{F{lQ*`PQn`IB?f~HAz9H)_rP}k1un}n>{MT>{pOidxT}xp#*guu_VGC4d zc@6L=wdbb_0BnCUuNx~@dj74EGm9$y*7XJ;!FP>CP@W?`Ser{R7C_c{klvHup)Nkx z90DU8R=PC2-|vu3(kLTP0ns*3r?11AhX|AJ7&*P(YkqmWQiV%n> zkm(D>52p}wWru*zTcj(JSkm$i_2>UYKFmQx$jA3LFLzt_&e|+OZgDC?nk>5ra=0al zdQ}xwT4~KTp`{zm;SE&97f9E8XQT|Hg@#;b%+@q>gSS#cm%Dbv=Tz$5 z*N_({zW@00Cfa~o;Y8!LZr4Xr?8CxgYv+AAa@r?4XZRE1IUv5#rSNkXuS7Ok7+1EJ zlUIejg~Y$_hTTbjQV%yV^&=aIIq9%${`thvvfsMcQ!^zGtiG^Sm)&6kz6Eo9?fA@UhB`6mjxxcN$N$c{jVx#nk_;%1AYm`yS+Snq#&o|cpHT?naG)Q z9xIKs{QP{BWW8JtQEe#fr3ah?Pe^&QrGPTx3FG_r1B5>o3>d36yQEJxXfM!?;tm-A zPV=Q5Y1Or;g(0t~9oU5rpsO}MbgMwWX4~6`?O7Gs_s}3l#tbh&c84)X=_t{1$QrmU zgKsVek`q(H%qs9pf!FG5)(>QT#t( ze35a|(;udS2OF|bq#n!a%aG)P6?Mw5?%SLcI$MBALHi;HavI-O#~qM#xKY=A&Q z6Ho-Cmk_E_M4Bk5G^GeguK^Nj5ReW^k&YmsQl$6ZdzDT?htNX{p`Hhq>%aGY&wI{T zdyMnhfkPheGOyot&3V^d{V{Iyy_W7Cg{YFxy6;0uuXe4whO;6aOA2hOinU5LhhIh? z)Lx9G&Z%J%_p;#g-C~aUDIJ0@@SSW4MF(>F=}KjtN^whYA0w4s?<4K>Ii7BjA?3QEDk(&`=Rpy%gMdQ z?4F`P`~o~#(zP0OT)KO103F!kV9E!2r$jddu?iiq;WggPr#2Vx~e|p-k$?@1^%oD*rsX|ET;ec5J2>P@-Nz2~@+g zb-?mnr);c%lALWjy4z}(&$epWGNZ1N+@`zLhh#6*|)`rETIfcqUa zmPVrm1D16pW^B)is)k-IocMbGBSto*+HzT|BuIGiofImf@%UMz9vSe(T z`scu7{$13q{$11o$GuO+wc-Wf-Wj#V8JZCJ>!DT+$Y;AkR23whJdqlHK^I5QZ9R16 z@LCJA5DJKBtMjF#_Bn`Qh+vBVV9ZuTdoh!ym#R+XYVZIfIKM=C&UNG&8|hf(P8iBI zh|2>p*4#-n!?jD!fd2ta`(b{8Dbpx2zd*-mCOOD#(1_$t z;pAE`;7_zs_A$I<{=Rrd$?NaCI1(J@edlgoNCAl23rPM$T}UtOJ~WadrHdi=x00Ck z6$W_TU-$+fhp4ir%S11=V5yPne<}J*UI1-p@z#CU`y=&iX+8TMe82cN!U3ROtGLwz zzv@M0Eol|h(zfqNuavPlP(v;MMsMLq-ZTRFK|#Sraq$C&VD=_9jGCPM`M#J!zMZsM zkprs43+fCdF2M2cEm=ql0OcItIcjowmhYd|T&ETR-yrb<-CLlxr#1LG>E)pK2Nk~m z4^$YlVKWI-)&_2wv|rZN&s)z?GR@DVWSo;FkkvDN3TXjxO%Arc-xtWoHwf}doycUr zDw^@wP?T+}B$IJcpP7>`Wxv^RDfBTNkjwjPOA{F<-=zg4tww&f@!da+|HfI#_k8T{ zUB0_S^m5I*1}7bY3>!$sd#z(^{S%_%nVqv@^wA$8$gj+O%v)@yuWcAxq=sruQQNVw zICa0S<7A?9m%)W`c}#t~GKdRIXn0MpDelfWCE9ajpi_=~C2CMzv0W2yF+{rbt;4bQ zzJC68d)GqtYigW4-E<1UvOn4%zfhxGo7$(%&Q&Aldn3p?ZTqK#c%dQvq9Tc;UR+&L zhnASAB$9;7k?`=zYmV@~W@MZTxjQYdn~3aJT#QPSKcTh#3Rw;h?c7w)vzz(TWLWdT z&ai`tDua>a>Ax=E;LQb@T~7<{g(96lXWYWshUls*kNWnf@T0uiDyKX#`}c-ug))|@ z5!9MBcBZ?C-s(qQj{z-TG2(c5FcZw8sriiZN~Y}Gz0WO^>X}kGO(ais94Qmo8z0ET z{jTsUsDZ_rFK%~U7ji^3O%Zd&C<|olvcR02LvMg&W|$K<_+7f@Z_(jQs=RlJh@nI7 zWMAlR@;*>I75Uu2s~3LZY~@@Dkng`0I7LN%b|rMo1Ai&N?u6oMte;%1|JZ7~LR`NB zmiC28eUE$za`t)L8hKXZ3;xp@9{{(Ho2c^wU$&4QOr=b@Ntw*1P@3WaUSGUP2hGj1=N&kH#Pvp*%_6GA3~?9?c=gwiF7PkuGFIE7-+k7vWXzl@&> z)qC89=!>|c$e9Pk+0q>T<5j zKxG}G|4f3(o5v{hY?q}}a1$P()Y`5AINO``pMI1fxRin6UBNGX>(uVQ<;ET0Ah_$V ziu#Mt3j>5c>e3|n2gdV}xlfy$ZKLSgM-)iX6Hj9nZT*W`B)$b9X$^GXjN)W}vAZLH z-2pnGtl{!BU@&sri+m<0L28~S@fwy{u}efR#N=&tIiNST4p_eshuedw@-A zk#r%W3gWXf)a&@jY76+jJ<^1zO?T6UB!@7sAeQTuyIy1hJUSk-&gVysuFk98qq`#Q z*~5M^eSz0-^w2BzNR3=FbSL+o0uv(kyj$2W;(n(u)qh0KoF^c97Lq>}efV=bw9x=( z;JuQ+Dd#MVG4Iz?4}XxukrVLy`m64WGdl;(Q`4zbKDstBdZ9<6`N|A&j{;afzIqyX zO6-0n9N2cGSlT*xR7{KQ3ZT7I8hG{vW?_Yb{+sFYN6-DWlgz0%x;CUdc95ipwkt&G zRn(!_UL){elu(xB1h`;UJH;YyBSZCG>U691FpARSZGtkptlI;36s4+tYI~+IB?H;$ zqpXstfhHpy$JZGB#yQfpBzvoTEcua3uBMy>KaZ%rk3|Nkyh@L9GWdWM@K$`7#Q4l5 z1}lC6XzT%*dtLPJrT0%Ne?#H_sQgEkrt7;%?a$LfS#nxX!18@{gsi`CurrXCUSH59 z1hwpQ)PS4tYMvN%zKDHb>-{0ge7)>jha8<<#|Meqg0a={e4`yEGW(M26f&Zp3lw;A zYSzmOH|xo0xtLk#Hb3$v^$+w=e2vy)P|<%9`%v&MPgErQ1hr}LE)E4r^(N66C8)${W6L@X^PfQ z!FZg)BD=fF9j0x?0P&4wjl2m#)j5`@oG1_HwMDNXD&S_yL%Blza@Ivq_hMiJF@Ff85?z z;%9C+PB)AE?>t2N85}44m4~27d>DoQT|Pyal%wQj%vKSjkq*;M(XYO{C-5c+Z`wMj z^B!nJ;@xkF;RXk=>Fy<;D-BrV9xSk2cb|GA-|q&JFmgGFk9g&dEnY`tBZ$C zIi0^-G&)!#H2S&ZM&)*Y6Lq}&;p*tX?biCWbNY$$OoO-(QYX)t(2bf?uPCbuK4vbJ zQv>=g{vPp8lI>1x9*!)ORSWI32;S-E%pE)0+S+FUJsnoAh&jra?YCXqH9Knjz}5vL zJ{SlYw`}?K$W3HqHSJS00^)oLcC^Hpx>y`%ot6l5x-1A~t5NJam3Fx^cUL1_ts=yn z>0&V5F;S5o(pLZNarzg3Zot;zR^Zth{H8(H9wRi(AM1B`9n9Z*n;oeCT+WFyo@eTP zrl*(R6|l42BgyiH`DkiQ*pwh-DdRG^C9A$5=!RsfaT-K4e4vfY>t9TkePYI$KYcPu z)nF_#<~-LTm&gcCLrvTedEX*;*t<`s{ov%<;5l;Hp?mYac5i&C=ib>QkPD^tGzZI) zw|~j9gl_zVF*q&N6^`BeaiQTh!&9y=59gH5;H&?7>os*)N!gjn*Y*QA4}@8B87~1x zdCpsg+9Zsf|Ha!_#$f=nl*s-7$eHXzc$)OH3?2J_!*}l#-1}^-d|aizu;2W%K(@{V z)OK&jnB1S@;^A)rHTrjH1;j)~b?6kRb)6oC6ZLOu)=|`5&Pc2yX+2>pqhVwZp*2P~ zopZ64BWd-r@SJ$pVRiA)EH~e83V6VW=2z97hM||{%D4HJs3MdP-z5S6-xB@jT!z<< zO`{p$nF^CTxz%58YGPk}+WX)I>U*mzlsC;Vgl$X=ydI3~@f+}Jt7^f*hVa-7gm_e!^imdd1UOwXOoa4*z1 zyfkUtP$1D(6;-a+huWX-DVII~SMqrb;?zxSH>e=k_iL1nx77w*iHMxAz-iPQK(3)Aw0T$aGh*c`l~x9W-J*oZ&ap6oxcJpiZxlJb&q$S;;@Y`q)K;&L~fzY5X_6J-Yy+E$VH!rn@Nz=ww00sqY8X;@$uN9jF}!{#%c&UhCV_PoTYb zFh*k4f|pA^G@w?_oa(4V+CBOK2=ZX|qrO@QO%qFVt)N&=GqcnEE4VM)J*kevw^&fr zCkx{n{cp7$<(*JpfF8V@>@rvRSC+q?k9OE<#!7ufm;5~oV84kqB9-qDV{0NkHt96_ zfn=v*bQy)Vqgf;>Ybc(?R-dB5-*`qSan7Y{-KYJ1ElJPRAXH#TD>w|vnh_*8>R>}2 z2DPf;DnW1m6u8B?@GDaJIDsL{6r`}wrx^V#WXIEDQY^u}CP^7umZ*`gVhC!jZ56Qe zreR#1UN`_}r0n=gPG3F}8TmS{xzmkcAwMla+c4}dm&LUhaxgR#HH*$Y;2vdrAk{vi zEi?#)zPHks{d*oGpsADa^f5^Fr7chNoZaw^wb*I;wp$ z!Jg|ay+>K}QtV6C|(K^oVVW2r_RfUt4+?sFOZ?$8fY*hF4g5mkp z-B&E50w>fCkVnpAmbq?ZLaVuDM^D8vd)(PzJEcub^uVIJi_>Tc{YqF&f+!l=t}r;I zYx(+BwjX`UA)RYU3QExjlID#$gHG=Q9OQ4_1CA*fa2RY6K45x@UNi6#Y!=%1)lAspwG*jS2DGu>FjBHzYt{TfU(%{Ro zc$`H}to1;0Tl@T=4)Yv6@e{r*l{#0icSgZ)K&|M*Rpntl$45p~H8_T}q!0$BVLcBP z*iLJ$x4?1Jc$qx5OfM`&M!I=}r_ze&CZAL_NL4T7Twg0-?Y@YTR8a%MSfnuy zOz#0;LGDLGv+ikYtm3!8LiXE@w*8GU>R86k)RGpM@NnE~s;`}1&FUmNumx#7vU|>` zlsN70K&S@AFXC$qDSziS{z;6>HtFZzlJ5m+O(xGByrBF~J(4>+D?w%_er3@RDzBEO zl-B^`gL1=dhPop=nryxII`Lc+bz;khS}j{w9-~{XVZvjF^hla(n{0>N4jqoez4Z2- zdVDp`vQA^p{0NJMekCr&B=^=tn~Rbk7Ppw_>aWaic=%TnKfPx^-X;8#^ew1|m~_lHZ(&cpeaqr>LL?BMBJ zy6^v%nN@F_Fhp44xFW>txa_CpC^oxjD{XC1tF~3CP#zHk1R)6a17No_Qfwv$fBOl$$t0ApKvSR+2WKT3r2QSbqvaVb^q{}E#3ZqvZbY> zR)|kN`*>(cb)Quj#6X3S@h`Nk<5OaELEqHyFE`Jzjpw${<0wG4U1PobCxkHPbtcwDpXaz$Ze4vKjtK%!>VjC_w9PFmYY$#0tNn) z@^x)%MbMh^7IlJa=3G~ATL|J*!&Ab zkrVvUuqD_qx5y=kon!1d@U|ReU!?G(~} zWI?D?+M`>#jTEXSw}2OAc2{FNt2}Q~A)q=63jV;@PB;>(ex8q;KgHbRu zt&QIBDBT5&-bymWGIGnMvn!quec4QK<$fYjN9gIwMva0!}Q+Mpv+4 z*sp{Yzt$B5Ztzu${d0xx?9R*hbtx6A%11!7i z^w(%?azn_2?{k^scryYgj)Ha=nxHkiM{2hAj5k7W~Z&wSF&RV$a$|JQtlp3^}d5 z(#61gVlXI2qP0wfeJineM27uto?B2?f_8?jaksVxG-)VOgi@};e_R0=k{tCdnP#|sYh@zUclo+nYiPa zz=40qM}jytK4F6Q9(bS>N_Oxr;LZ88WFV<0>QA7k0+@=}`4!^1SSB$>1GfijGDv>L zCAq%esHN*n?vsa3^*q}2`xi%f^2`YSQR{XnlA;}Rl~6)IXvBm#wVCqZeo(id-Bf8q ze05sK>z(mO-cOR>EJQ94<@p?3G`_xZ?Adh)&k{x-{kU@UG@=pl@W8>~jfvYb(FX~Q zKWea*7?6jZvOMN=f8@Y5-q#Y1hIZwDhlK!VO`B`iZ~t6N_m9@1QsQd|vuanvW)xXe z^GJ;ZtU;0oG;8pwx?-(R$pwz`sa5_LAu1cb9=p53&7PMp3hTJt*&T853)rrJOX@o~)gi)GTHYpcNg{0kTOJ0|(Lwi?P&;r=ps;zwQ3dTt&yn*sOGV#OR=Y$+at3}*Woy#&Yss}4b`6OTEoF29W$zo^#@R9j>!hN&_mKkVyc z)C)6dw!ImIKDzHLg<^lEh8Cgy-b~6v+-VXV5AGJ?7PR}LEf^yfw?id&u8L;0R1w>4 zm8xRDujFKO5EA<`GeC%7T}Q&5W@om_)BT3fLWglDbw$gO=-JYZTQ9;i3>&fpd^bF= ziZi0zL+SA9)8lIsC_UHt=i1TcIi*2+7;8ur*>2muHUdSi81!w+UwR!?f=O<=r5n^O zju$WY4W0S4cvR4n2ApS){OE0;v0_B>okhz^ddxObLt!e1>mJE{1Mc%qI}4jYb3zMN z&z10e%sm>+mNR}!7mJ3H#@Jb7;c=Hgo>p$vs|mfxwQ~OCvbnsHJ20=ME87D*^;Vv( zrtd{aiV+%TM;Oak`yLQJgGn{znh;8k%;Jq9^Q`?O4uMJce&}oJ!?$`_E4#i zfSii1!E2e2I-8`L^81g*T(@_J`^L=Q!#=@IGF0MJIN_W1O=_@()bPQLV(5~0b@Yhf z{j4AC2pLSPy|t5&X8CRyfpcIOF~!71mwqC5x1|CcHjJanns)X$C;;Mu9_8Oae9_DqgEYc zgoinSNN&wvkz7ArnA(%4KCW|qKnfnn==_d{{gaH&S(IVr-%x%YuHj-FXyF2%liUP3 z3xJ3UU(68^EZd=s(&ZI~lo2d2Mp>Mi7dd(Oq^mpcTL&)_aDKGxl3e-kju+ys_a?r* zCw}yAgPlusJjmB3%|Wa@Qn)dTVcrK6{)=x%Y!+RmoL*#n{DnAE+!<>wD2W~a;ZdiG zRlO>hgP{hxPR_M zKUov|8D8(voHwmjIX*{J1KMWzWJhiM%_J}T+L&ByfGvcdM5t}nRcbwdAVk2X zck1b~X-yTLm3P7)9=S7KGoGWvSH&yEz2s6H`D97H92{l~m-1#`3L1M2mV6_g-JMu9 zZL)K?(Vu^+C-!sJZtjgdSQd_f*C-F2rqh*5jxx4BOlnT78ZPk56(6@MDB?A(ueIj) z(Q9-jV8##COLBBkAqKF}tMr|2jz1Oeg5PZfJ9jnLY;JWFHgG4(>qZ9)^Wh^TPUgbG zG{0!+)5w|s%zH)RPg8yP2@5xh%J-#ki4XP*j7cu&uJFux%VIxazp5_Ze{nJX(Z7(u zZ5B~yYI=cv-Z8uW&r+ZL?Lee^uBwH~CkJY~B%-cT2N5VlGg#z!~9(dqI zy=X(@iB2i}WgX7VFbQAvzWSsVSS(EUXFkq8B>(N#+Wqj`j0&0}w+#C2M?gb?#)ZEU z*>kS7wBL0h%T6$<*~!bAK$MW_Lg*#$_zOU}cmLi$EcaIWh_5B`Z7O=|T=}ufB_ z=Qm0L<=%jud+}8CvEA5C?ou9m;%k=0XLN2$(xkofZl^sT%id_vH!PR-L0%B21%<*1 z9K*`RBkc>()HtE*Iqq|_50hLMMiqK8&8|xr63-!Zx=zCpz$DBznx!WBC)_2gd^=c^ zq&^s4@y)f9D{^LhAM9&z0~sB9S1wy0 ziM=`YX1JaOmZGG#{@l%CssWj0t9`ILtZ&xzT&qM!>F6#ySe1d`uOlk4+rh(5Cp*g7 zFj|Y1Yymr7Na&G!j|VRZ2j#do8zu zB>C3XCf)~Uov>H}uhPLxCyR#p zZ$Gd@GH!;hp=APXk0GAsC|?OVX)XZyCO-y*K;_=O4GM+15(e*(%hS5}i59)SmQmNr zV=)MS)l=;X@c`0Uex^`t)!ve#Zn;IL-1v|HDpV`7^e2%wkW`?p(v)+3cx(EJ+Yp^nvXX z8wsVQDv*T$kgozNQ>AQy>0g12-(7YSmv%iLs{Yf>_D5Uk^wjIyk{VrvUiby{cAog} zc+M#xG4j*CagMWx#8oUeP8)n97e~&~L{b=+{*rfo>HuT(lOWJ=HR{=~Se1TwE*f6N zM?HUdZPFxgeSCaY%er#mo}q}gsp2WOgo;iusgb@=x~?RQdtQziA9xSR}bI!jZRgl;&-vU<08DDY{J`)u&^ zF#m;5Tb?%(>=q67o%^)r{Z%BsQ}qDcv{k+UERTYCoR=n1a*=v`9%u6@m98n-$7H7^ zNlhz~; za^woO6F#L&(BDPd!DP^O)|E$Jc;B%kC1?GxyT1Xe)>?F3HN%S|Cf+Bd^uSarc2J5V(N@ndkj>TSB**kfi@t$ho5TrY3J^D8|&*yD7K zYA{`yj*f>45`6m+o$u8eJNf1Ji%Hs3!FS=vy{VJSr!NdvTOfTit8XSPKy2Li)V^MA zxVB*Yn-6?(q2*lx9v_jlK@m{_9lrn92GL1f2oOLULNZ8=vn+c2AH$>3C^XUKkpJ;C z>drikzMiqie>{x~zdem#e|s80T*Qp)^2js?YD-!#o0N6^-8J!Pz}{jzr4Zqzd_uEL zrLn#y&d4zLKodbacY1;cbyX}y6hrYNRiu;6^7NYHfLPH5Dey`;p_8v?54c>vrpo1F zRk`q3C}hoe<<5~xtiWf@mjlpdwSNC_yK2H>>U&_(5kt~)bjxW{gC^E)Nr0b+yq>f@ zwEX<*<%s#F{HqUDd9RJ2VH-Ua2UmFI4z%y3Fl1>kj^Z;GmKu;I)vb6oQR^ z51uyEu+_1eBEsShy=RH;CT8*A5CJ#<~=JE5> z4QAsE1ih#3X;m5{+kz80Z+c)YB&{&zN)ykkL)41G#>=11Z#?WFj%a~I114gF*6k33YOqF?gu>J%g_7p3FBzctgz%g6&nR&jItJ04Tq&|Hxh9MnuXAmTbHauZ z*|E|w8mlntsX2R$)(k(p+R-D9qv;YGw_x*-0)PoW9h24qiv#Zh&jREoz0;<&-e@K@ z-;2@Q*hn|`mwQ9R&tOwu0g^8*eo)uYkLv~RaLV-daA^TCB(mQzB-+)YGoBA5kJD{- z_gYGx$f~@SqpOKAdp*}a!gCeoj~o7YOrx5f}Q zzufRVbjS0dL>P6%>B*sWthFugh;t849->ISWgGmmmnb1+hVq%GI&gdwoCv>$dqt^r zjQRtFC&HvdZ_HIpN4Yy}VNGHm@HSsvU;&>V*|S0FUR9CK$#%O1q@vvdtA0jtae(Rv z%?7Tlf4=WXnl_<(7yiOqb%~NtG>l2+DjBDe-Vw!Ymx^GvIgpQBq`2#BBQ{pIdD1v@ z%ev=2BIf40pIi=gowI6?C4|U|e-&r6E?<8)W}@1|NrCmU3!Mk5LW_sI$sdS#jy~;r zUS;RTf%iP`hu;@^*D23phP@MAh(y7$n9ZsW2CET=vN(F%rMl+r>sVvi=VJA{o&s`B zWuvGbww?YDM?=sJwc+e?**jIo2R{n89vi&=eng?rCcZRHYPzi~9IWHl9C92)u4izc z^_64fUg5jLy>RS0prGxoQ_=w9J$QL`?iZp|LYA;J`jd2Sah1pn5)#cK-sJh79e~TC z;wL%fLv$YXvzd5wx@JN5yJpJ^T!r(+6X#zfZf$rCjYsX|5Sr%OPWi;aIBk->}+h5YvaEoeqZeDAE4jBf$a zkVE>P!SW5y3+DecS_q2P#_B1dhcFV^80#&w~o7 z+YQtKe}J!b`pk3qHA#e>2Q7}mbM+jqL%e7*Fdal_*?H=t3yHI{MzXIt5&=75AILq> z(ZAsUhuPg&HJNShi(Rqymoc4K!V|!aLzU{QF02mN;v(4I_FIVv+awsGAL7xO_Fh&` zE)q@T(l)Qvf6@&RU`?lLrjgg zB<(Q9EsjGaR2rk#tt5mL6yM<~T1}E@o}9jE$hBn4;GJyRr$lV-iY}?8%CEB?&7ts} z6-V;@eupzrbU9oS-oMhhkFQk|+i_MK@^;5u&zSd=ILsSPfj4Hvy{#bzrF)^k_9(@x zuNw5}Z++%L0^8A2G$t6e* z<$(7bH#=M#842=Y^!M97Js!pg9RJ8Q<-@nJt^<*&5M%IucUv$2%&%w|ahiUjGbeY| zQGifWYY94ee!MVmOWV3eR@ymeA2v<7cpV`HuGjOP;o|7As#twUd@y{sI^6Cx?r%I8l6NmrXvwHwo~SCr6Xnh)F}0l39SZ2w)Ta`bzzA!q$&`x^RCD zj>)4kV?nSpecub1NE!{V8h_9$OS9)GzV%Z!bK~Nod^$fv=M}BjprYJS4dq16#(m^D zx}=x-U*S>#q`F?hU;3UMCFLc#$qjEEY|V7!ZtBFmh-bVpL(AB5(?LEK%Gi+TV@I9p zOn3}$hS_zl@wOzHelcD}uF~ZKt5{WnzO7}Eq($0q7e*Ky7&K2h4sh@p_=ErrSKuWO z14UZ8>fC|B9)w@hg_A1i@ZxJC4z1S<-7{Vvhwq)%CWZ-5j)nS)AK$OqzdyjkGbMI<#Ir}ck#;ldo}c#g5Dmc=jj*0U<)GA_19*)tf`ty= zBR1?~U1conx{t1KmNdO}&H5)RT*?X!6JZ0aI>f*)i=!=}n4fvi{96)j_;w*S8Fw+R zQU}mcz@+y=N}{7Cg%;o5TA+4mF2VHKVlU$q;cA|F`xaVA=L*`ymRdFAkEJ7UEdi=BxFbgG&w;PxI4^Pj7 zT9eU=8=jw_hSV?aKe$GLoYEUJum@w_R!Ql4+p!+4BQ`P`LM4VCUctRZ3mE>ZMNpG5WPf_vJMYD(E#4#?I^b! zDqHLm9LD&cSEvLER$;~UqEr?glj=Yz?2 zK(x0^kBTAm0BDjvi}p$>z4Q6+$94RkYT)>9U40|_)82n&dzsgL!_Tt4^jn<;gN8kB z_n$*5cg3#sP?e*bjB;JPZ^kmyl2w^qFywX+F>zk~@vWMrV1!oguF&PH{X{CJrQo;c?lthb{Zfr zY*~i|jite**2m1PT@PMvgcQ2r$3BLpRJCWn^_sBXI9|HE*B+5E$Pk7CSB92bqJI@= z*u2{0UUHRk?*xZ+Y*J;_YXN_{>8ayBU)!;sGk)0D4PCDl{gQ;6We=lyhyys#)fOh$ z&v&5K#8sltQ?@WhkXW*68ju2PeJu2e6t+jRR&XlaYJf|d4M{2JnM%EP>~&iYR1cI^ zszC5V@AUwa8_oE3URkMjKYy~_@k{G8(lmWE8P7IVR>kVuWy7F~8QlO9G3Py(y5m4o z&k2^&=OtD^re~gT%Bgn7gl%UfGIF%HsZx&oiSoZg8AU^bYW8^HQrrLy5iFc^Y_TjH z*c)$pKJ264jTcVbz+g&=Alc$OZ7s^BD@3AAG_{L@j!vfo@!&8Z7mzmZ?1qva=4T{@ zt4ZuNek_Dr?>Uge3`{3;4uuvHyM{V=o=DxUIdpyI}dOjr3MyQo(zmK z>R|`IKj#!%k4ZHx1{^N|CE1LILTQ$JFCh;$W+}Jnaba{M(!Mq8QiZ!EL`^)8kapM9 zQNO3GOe`~10-fBlbbn0|=w>lENnH!$3OzDd5M+Na%L5$a7sgzCh;*#|n^X19`plUI z!be?`!C_1WyU+i$95wL+&8D|7O=D7j*h<=Owu1Rv?*VM(awzKy62|EI6101?&}2LR z`Ahn6I>WxbqZEozUzwc}i6tNhno|5D$12orwO|A7aQu9R;GKXHVZDM`biM(hb-}$~ ze7~j0HFvl3bn8cMpAeL!g)D$~qc|>y=dnqC?CFh#n%NqBZ+J_>>r{;E?j5vqG?YOW z+Zh6iun_^Qfg4owM0bI12-(bzTXnjjS~^H7$MG+m+12YLYH}Z2ToPds62O}b8Hp}J zx;=D9Tdh?nRfz+e%!5oG`PhW0m!>FXq0~^hU?D6qNP$OUm59KB@OK=q$9oEVBS@Z5 z>|K@cb}Wn3dSq%t%Gv@HI0y1Stt#xN^2YE-_Snn@(Ds$$*ji}ctn7$=P-tM2p*Z7W zLTDVW<_nbZjulu)^WyCF)XD9s6}Mg{Ip8!+(dhSsFvLU4k+zE0OZ{2-^ls7`61FYrC`$v=$o^#0sn8q&vvJ1nUq6( zv61W`BRamA?m1)MD6g~2zIov;1(YRfeeUqmyk7m|LABRM2>CiPu3+c%E2`{?uDD%7>+SR&r2%87=hF)JA=K!l)4Y}PWDW12LLimn|=-bWCH47PYdTC{gvCx>L2`T_= zuPAab_#F6cMh@$xuBW&_KakIoasN#2qs9_pqrodgAI1ptRqY2Qm$4qF*}|sp=cDDn zpRZi%?^v}>C`PB;FkAQBxf+0W`xXbE3?hL!*Q5|HONX}Fv2JZ4J0Db%_K2@N6C?P{ zKIxa+^gKEal^lThj3RXf47F=0nw=Xn3ziW76i2gm=fbrFdgQ9z@vhNg|xEE_@WH`6%L;DoIzx0wg^S;dZf6h68 z15@g5nJzLd7!LUt%UXN=o@Kao^M9XZcuR~I=zE;W3$?!F5>1*Pn0dV(IFQN8|LZA+ zEL;?KoLD!d(TiaXOJ07&x!>Y)D`NL13#d0fKE&YmM)!NnwzEr0NMO@0e3;3iDH$X@ zS|2Pv$mqx0#t;^9DpcLGX<9u@+4C5wKZ?RnD6VNnK-+%Ks{7BBm69TctLo_{ovlg_ zt}IuDI+I=0rm`haf#-=vT~I2;6KxtJYR&T6azGcxWM}he0#_1H>(S$e#*s$z#l`-C zqXjFi4ItxDYk5=Bl?k%LeqaK+;Q%1XJ3$$NyPl2R#i76tRCd!hIfrna!h~)qdEjya z?n3tamO_Iw(v@3zZcY-lxf)rui}0_R5T?CQt-w!-+_;L6Lbrp%sz!+U=y_%tj)QGl z-()p0gu&5{JcyM3QPL#WSs?^O)ZU01!#O$r4p>KGKoi-loS zlVq~r&IgN~=*Q?2rW@XBTUo*!n$F!tzt7Bg-4A8_T3xbJ5v(HCbtvsQ*a&^>@b&!h z)FOZdr)CvFVMYrsYrqRu{x5Jd_kn{R>g@;)A=~#$%m*HZk(egJ=2gG?++t6FGRlIn z@h5nU$08IN`b8QA5q69|T`eL-*ywp=e}?e&u(|Pm5X-8{3HDeG_sdj@RxW)3hIAvv zPv$hRLe-qtdieoB_70KONw*56-2&d1n0YVR34Xe}%=j@CXr+uXIyM~Ord&>hjS zZ;OeU#dUN9_d2&xCAlEd%&F580>o{zPo5Pn=?;V~g{mfUoi-9mMjaF&AL2RtiLb4B z4qYOYU`}7NJbhg#^^~{NqGVT7fD^;uYvG;bzV}&lY zN_u(yuRRB}n%bSCXMpu|4SC_m+@V)hj;5X=!^(3u_zBEmW3uqc5=S==yXqU+z2ZFy znNM_kcAfpic7Q3X&6C$aA>q%xf?x{Bx&l~ECJFBM=nC-PIXs*Xxbu5u1c0b#9PU6A z<5lLmMDe67bVFH!**V9ft4W^W)L6uIu`0YcNLt*zWW++FK>z*~pomu3*;~o&Z|D3l z?JryUnis6&)bz_i8WR}q(=Bl&Z8>GTGP%LpPq)9(GEa z^p7qksS4Y@66g8Ji?kF9Slqpw3wk4ADN^(45Kk<2elHD((g4wTdPWXl;Mt}x>lqb! zt|lH)`~nz_%y{ObaMzr52Fn+Yp6K}yUzG&-w(C^0VRgm7H$|&b)l3zg2j-kQ`25p> zAOGJeC|N(Y)kJn$4Y4_g>wbKw{LfWwatXnH)9i-L{XcT6tb~`t)%q(>7i?aA*}X>3 zdS_O;B5;0r-Sd7Y4~bWIoD=7WgZvfI1BcxZhNW@q8spHG;lTdZz8^f~ZUIr+PPEN9>nIuB%ErUJbC_TZbORInyfT z<38?CD16&!F>LO2rE|K=F`En!5!Z>mvV|k+s-rQRW%#(Kw=-21X&U4@P)NkkE(NRNl&Zg$}noBH_^ELhWB$6b;Um%?!RDfB+G%GN=+R?s!dX7FS&Ye95vcz zwDLIrnvd>XW)O?XyT1j;xT$tz59;Z4vEUW0%G;Wor_hn)KND>qY>I(bf+WiZ)I$uK zSav0nRjuFE*g=I#kCiuq=@pNyAZlvST6$9~vQVd;d>djGppy67@SGztl%=@UJkgxC*xrw{t|s^HR0Z#)TA8 zDrs5PbgR&1SeYPChvv0UsMvIiNR^K>;=2Vmo}Fo5y;J6~ar|VY^D{r0INcq!NW5+{p9Zdo6Lmb7TFaY6MC zIBXzYHKX{)Ei{}B4q2~&E*@g8p2fFHTRS&;LplJl(POA#H6{X0Ao87>RqhTMT2mk{z}S5K6H z%GZwqkqA>jl#MPam66&?gQ;n36sB88L?{qa%w|O#B-4|K)yKn=&es#%_sWD2NymFB z=1nW)+rL@>n=`7rOe#cg7wDbckUqAmtV;{r@_bm%aYOdk3bHeE0(ke0o4ud7UsY|6 zh?Z~t6~jqK1M(B+)z4NsFQTB_^Cvw(GsM``Su9&N2|3X!bNY6&_{&dx#zT6GXP~b=z-gsO81YR-TJ3&&D0?E!5yx?0 z@U);?JVD2*x}{k*6rkK;z*5(JrMGsgB@?dw*Hpv*f!t`&gQ}0pmAGc)_NiJRD-Ikk zk)Zhz$Y_E8C#HWktiMxU(wy_}nEvnjNAvGVZ_NlPgCAc{C?Qin3#CX-wre~xPuJl6 zf)+Pud*rI0_P8U~6c-cR#JH-L431ugfR3j$AW5t0BX8$_Wx;1`&m8tddp7FlFnv|v zPG^Akn?3qp%)JRTlz;m_Zb_Cx5t6+`QdG8VGqe#!2$f|jB+0%Eh8ZnLvSdv(qmX0` z5o6!?$(HP;$EfG?`#j(8_j#W0`TfrMpX1DNpTpeu{eEA|>v~<+`?|Ee z0%uQOF)WtT52L$;jvCbmZ(Y+Zc#W1Qn*<7qbD@3xr}nJz3KtHgGncJ4XJ}6dbWN-) zULdo70^4q1-FI5d^3Cu{w-uvZ6uZ(`sFc&QN1=L84*q(AUa;0L%z6w*qy>+G8r9dQ z9lW2*Xf9czlSi(v9vvBg{_y5|^GS7cLyTE6=wM69HIKC15R4Ys<{bu>iAFlEvL1Oni^%me+5qRgWB!&PG(ZR)V~ z6d3_0?Utg2y9tY3y+(GiCa$Xsl!qIpkbHw)f;R3@SH)qBrJ383fSNC(;3^SU07Wr| z3Kz%WpFyv9m6C8Py(5U^XB?`Ld%@e!PwQGrEN!Lk`$BKHp}!g{AOc|Q1JdMq+=`^-Qzs5Y-!kDO><|<P0L3nDtDm~E8-&wptcVB7&Oz{#-V;N|Ln76-ZOB=Njv%^zo(Czx*gwGU z`97GsVP=Zeu7?0;SVx|~TcIt-!U=0i{m((HLj0lKGR?Q_(A8`O=LlT@H?$nCp%TA# z>~Og`;s;->R&E*&t0iPV>31t_3SF>3>5x%f&`!P*`tfwp(EFr?kJsN;YB5k+rUbxn zhWT1(a3Fg_JsnAq;#J2naC<6E1d(FYem*KRp7VJ~-h$!B!A-BJD&|h}>hx~D@CrT6 z+7cTZvjZ1$Iqu%HJ;uD#<2CT;9(Jcg{A+tk*0j!lALmwMjH+Yqw}2mv5|QsR{&*T_ zv=w-5MEu%0DI^LzcWU%2Ze4mtvF(DIeh%gE|PhBH0Z3OQ98(Q}Nn7@fh< z*(0~T)PPzQgB>Z`!lPHW2;etX2YM}F^G{*Cx;-LlN7-ozluO3VZl=IaP3r;n7|cu{ zdeK0w{l|!xk@xYlI`5tBCXCkRYZFEzI;6eoTN+UF}a1DtUcNNzUFgP?FA@WCm``)>m-_sCXL!|LP$B62Xb zzi^&Sep1lwr?&%XoX^_LAS^H@`LWhY$9q@F$M>Ud9tv#+H(?_nj`M1j(3Q@k&m1 zCT$2Do9g;vH7!uy0R2+OYgIF=Q-DP%CiM|HEYwDpRZb!pw@2Y-p7AyhzZ#pKMGRJk zWTLI=;ScaW??MmVeo`r~TQ# z)5ybz+4{vTzu)cKm#9rI>!4p0Z_t={QK_9?_R!z?AfU^2b<|$oy^Xg&RIF8X-`7gI zb1A2G+`gXL>HOqh8=t}+6Z49`9E@zM*FUG66a%zAy+(gs9B5KIemuHjV?zL@pD38t zZ#U%O_bc;)^oTd1%)RzYLjuc^zrX~n(i_K{+_w_(WmV1~rj|L?ds>Vc$0zoE@OKyV z!y+P75?ccqbWLnO@q(!0*c{R3ih<7Ay`&ma(!OaiCGijUfL`E0zcjC|IO>3hOF{Dg zPFHl-NK&}Bin_&1I=Z8qS1)Pa6bUK;CCM!=Ja=btzDcDlsLDg2!pWlnCI zXcgufr4YLR{*62Q`~uC2%4rR1dN1D)8aay(UGdh4)ma$mN`^k_I9&9M+OdPFz9W25 z{Kd?-Hcg-(HksCdQ$f7q;rSy5sgHXZ!4PWw>FFQY51yHWs|JV`Y ztjO<%>##90=RrdmVIQ_L(G{YC7pA?)-#f2|n!nIL1_PUSsft#8`5kJ44g<>s+PH1D z+hHuipW0zH@At7l>I{|S(`-LkPh6pORcFDR8)OBJi0}4PAM-NY>A2=xB@Z-C{~W7& z=jU`b*AV(x(ZB=ylBKs953!edAE7XHy`GrEj^R6ll!$@^G3qXECy)j4=-=vp9>YTM@$L8tw_#=2T|?U>RB~+mGU{ z5?DRdbZ}+p9cA1)AEd$gBdFwp@Y@H>ZyIcGmgRC?YK1zfFLGb1h0Q)OzT4Yzp!0+O<}i9YAvd3Lfg-8+5tM9VQr?L3e*a1PY_r}+yGEs}BLEs^Hs zR+abVg7rM%JI#roLKi2S0hS_mylAJ#TQz95k2bkw&(7o);w3I>z0t`N!dJ~sJ=Kyw z03c$SI0&`H>9PLD+vR7^vgjXe$l_$lf$ibP)1{j{P#-;bQq1(J53~5KKd|)4cD^#?K8?Zjk|XI7~WJOC`jS!o39?St*c(od>Ot9Y{Ed zAAfEY_EAn>HU0t0K@ok{`fVM*ntOv>^}d4}L;b+etFL=rp&7Zz?`Z=ssH3!iUd-4} zH-Ygiwy~V@i3foof!v_Ns4RDBz+eG5`v){UFJT6(e2+&0u$E%Pi#vVwc3SVqA5EW| ztWog?KLqT_PLKDBO-Jbafk;tzg)!pgac&^3uugLkvp^*mOUx;;3}$g{!~g!Y?*Fk~ z)X-fq*6`Soc{rA8x&m+gf(=JMCCbxUGkaa!Y0YfGUcSB|;O<5lm@a#L%#Qp#SaEjQ zAvQUy#3R{K9V&->t@y!2R+M4mFKytjPEcwXnLF|?2F05=^f~OC`Ld!{wZM30;mJeT zPH)+7cp&?++W{K54YjL(5O?(~TgQ!?CxO0l96#>+Rr*9c06vTlJ{2gs2sE;J`=?^AnEF5r1{`$`oXHW6n7a7yHqZM#3P$svM!_hZ zd#d{G{}=`HmP`OT0f1qXdE!c8me@JN+0Gf0@CGc4YPG5?nPa_E0GzL6xp7)*^l=w?JV~(lbCE%ZPF| zHoyNAsypv8*uV71j~(KLpHvbd-E3^b4AeDj!kWQ;6&JxuBF;b{?HH8sE=l;yS<1Kd z=L0V9MH0X%vTO2*v+u%j?)9>*`5wr*v?bMm+QjggbS0gJUs-p`oiDfik{VBxJ-anU zbiuzB^m!Ie_==qU)nGj(y6K`a407MJjK+Tir6Ok^sMK_1lB}IFbiMTZpURe=(x1Hw zmF;0|guON`rj58Kh$gW&!fu$x(=LNVNBKP6WCh|@o+o=Uo+AlFWdD?aXh@*?xc$QS zY0IO^YkN<4_c5{0UL_>*gcTfwB#-qR)9(+fc3G9Vn?ZWt_wuArQ4GT~vThj~|0-wS zu>r$2FSEqiJO@-oCmH6}6aV2Av#img8X&6QBuX zK7;&Y58{_mKK~D)k`W)7-p6z91KYsw9Cl?gK;>R=JqA`poXF`8XXlqYTsf{T`Q|;o|HI<;MIv@d&nBLi^|4nV-FfK z)>2^YZv}>*$DP>Ox+3Y+s%%3Q`r-_vfz2h2J;0Bm1h9Rf^wKce>~9>`-L5k|47=Nx zx8|g={;g6ChUBye$T8R;AJ})~rsuJMV|_UL=u+fyV8VN&G%{f9Y_TrJ&-}9z!v%CWyT!X&clFE)<9>mePQ0i^ zuwo`2oA;EDr=jTPGAM=NX>-o%;DX=~a5)jw7F{^N3L^4H*e{K(T(a#2vo@HAO@_oO zDwrOG;Bb7sj>5ChTpoW*1fpb?UraCa8~p zg+r?O-cP{VdiRjvUV5j$ss+a@>X0A0mDT{pAZ-wYf10{9s5jZXHFXYlXR%z(nfT@o zmQl9Tsk`;|`cRq8&+pE@p^(15 z@isVDq;t2Uh6IAKlV?UG+WVcl7ur8Jdxq;d^9&Pm|5Ze}^Vm66=@$&1pR#qZHl~Mo ziKlrZTzkYyC2bCOJlMIFWi_lbL(qbujkD%OF5`nIw(xJweLR|;z0pfoReZzyBQwVB z%7_x6AAGHx`{(AiPbYgvlSEsxgUcII8-!Vh~1& zIdG8+l_0`0QpQlj5%G0+oKY*UR@UI1|MRyucitk2nW5i*?tNU(6`BYiWq5q#qfDWT zvi|u;N}?;0qEa!E_cO9^Y2@?o4~QfUB;I)A8cxEd9rwNPa579?_0ap5+2zV2bnU;G z7aAD$p|RqIjF_jKz+XHyw~<@ppRJGp4X9s)#nneS-W;G<)hkh_*tPag=FP(Blf zv+~jTntEHmWHR&hK=%dUO%lfK)TcdD-+ajx!jQaJ;bk%zu zJ{9A|N-w2nJAkn2Qsjqn~@ z;bUZPdbxPFb6b8GE7L8Pf1zW!s6x*wp1vc_8l1q^_Fa_C2&LKK%X@yxU$c0;yS0Ve z?ApAspJT2JNRk2DcLX@BN4mkbq|l#R64b)xcvEo1uxT@bjpbxTXTI~Gt7d$Fb-~8= zBnTtrAX(n+W^u92gBg3e;GPF(91r=^dEjwdI3%l~sq)b}F+SOHC3WOV-&{0_K2YhV zvynLUZ4Th#njKRV1hKX;pSi+DuGneH5TuuI>}uvtQL>?vD#_cokHR}16Lp!{)ez^z z+Bvf;7wdb#bh3-s>b|v9km#Pu$|%bDdjgw8CI!l6g>qqK@=eWvaOLYHtOtYZ+@-RE z^wj;H^7mI1Rh_a{*d6BniY_5AJ;TAgoja_by^+ic40B&kQ%hPIa`Dw2Hz?Bzu!@!4 zr{@@Kz0oG2x2|k)0Q~NiJFX=aoER=`WmINLtPEP!!wwn31dBXN??7t!koQV4z%2KQ zvgP!M1XNK-IDrt2*nkJY9YLdo;Y))YN~)Ub_pP>F=2@l7_igtq%yRI1 z$gCA>aOjAX_=N9G{W1d;UZ)rmFVf_{^uN`9(=vL*rS1ZWn*i(kmMAIsRUo2i z#NYaT1COxqn|*51$JT3~t)&dSV;IgpoVg|=!Ykj%1*n=wmI~k`*tGgz05&?$mv!MP zRy)D$)ET!5kq4l=qDhsX)?`p}nfP4SHldKh6;-?#1j9@%x|>gZaDheg2Cb? z6R*;Aag+3xROf!SVib1cTgQ)G7d%d3E)W8{x;x!z<80+d8~wlZzvIuj3T#2A4#kk{ zG#hy?`Bk$ug_3`g-Ekim`d{iqgQ15A%f=dwrJeKDle@ zrur0mKPRM|F1~~OArdL=|B0-FA%8bi0DtHA)$5Te?pu1KK8?(u2vouzXOnH|^68w{ zvCGYf*3-a$w!O(uvsj^kV{)~sY__CX?IXq+V|`uI(if>l7;JNnSo)Ue1(} z6?XLig5{ElUn1h5@KCX&T8yV~8i8h%jymfCwz~AVL(K6VjOBcSYO7B=>{==O(w?#Y z1^9|ay9e<|DCbm-lVDzFXL_~ESx6DrINynH?cwUP7XAW17$GLvqaonDJlA@TVI~n` z>#wC_;PY8GLLnv`X)fQq$TFjYa*+DeapjHLEyo3lJ*bs)EWgED^cn;{-lH&Zn#pYZ zV!~qImQW|;ML2=-rZTktyndMPvxe)q1a|}3hA36sH%U&^&j-NVc8_uqq>=7v{rew7 zxxoE`3(k<5Ua6vR^j$l(qOM|Ba7inYw^Wu>5cJW6SQ)Y^px_qk2X*3ClozBrGIYY? zztq?pQGeA~_kay%8%tZxVHwfPjFLUrCq7RkFLt721&dqT**^FSeaf;Guf`>4r zn0v4+T;;z~z`t{=xJBgZNv$}*Z=5+g=YM-NUL@Pq^K!(Hf{kw^$4K%HP?RkX4qszh zVPsTABlb-tpJaTtFYJ9sK5Nzj^Htb5<6S30T$qD9a zXijA=qjeUPRQdYUlI~4O(f1NGGc@%Cu)?q@o3Fc8_yyGphy29~>x>8gd^Agx0_&Zq zWu8)$JoItU3Qn|RMIGobw!&~+{`4Wksh!zBpIEi|rLx-bd~kPV{^&(GFFFw-H#}|vi+FiS1N#bKsA*X zQtWAlsqk+y*F@w8rGP9uCEj)sfRjcGh8PclN7*nI0HWF_=>H9(>TEd+tWqEveF4Viox^JrYs9pA@eX^vb00JZl*q%8Y~NWM}%4Th^Hcf|QSBVdfzzqdR} zrn%&U^os08d;`12I19lT8IbxYwPT$XktK-=^uc!@dH4#lEKmi*|;!XO&Zm zF>X2o!Ln=Sy*J#3G`;pY+#0H}VFI5Fqgv~l;6>maQw@Pg?UmzM@EMUgN4P(hooDb+ zFcomu5>xX8?AWQJ+CM+X6&c)#XxY*sdognM4vgvIirYUSVqZYy1-3gi88N79FIJvO zpDA@&&2(H_El;D&j>g0DgQNWP z_-gefj|~xBr#UBa%|CB0@PHP@%8a~1Oqs%jP)9DtJm@a`|bMxTNJPWF7~ z1n<7q!G)lB&ciGx&O9n>nfx6KhyRI%W$t#+OYB6$eHhN*Y-QYZC(+xVZ%IMNvQ?HS ze8{mtVG@YKmhlE83cW)^xZqHN$qM62Ek3$_K;SVTgYng`MSX*3_J|)!r5R}T1K;;r z1H;o5X(92UgFrOs@#QZeQsT|~cETfu1F}o`dH$XDUKs-QK|HA2+nIFiW+pT8`IDsY#>6A37|t(Anl?&?=OfjrQ1|vS z)Be!XU$?b|qtL5^4XHjWOg1W9sb_)bJ1HN8TI5Pq*#QZQ$!%1ZeQ`MzD}O&#Wbzrd zgbI;3<-nD>?`7sWI%6Kz%m~X!dl>*&_4vZYlcH2KvDMz;=c{W2|9Q<0{ciLbioTdv zAEfW@xfSKyI__2e(9Xz>XGsABcWHCd03n5ig$F4F-;4U#GSgCHkx9sNEhwHj-AvJ$o=* zCO?g7p@lIhJRL9|N4KuDCEAP(nFX@5HvrnzhnFD#OO5Rw`>V!Uyx-Q0@9le5w2x)> zvy7%!lI3Vq#OmZeEt&lMrzh?P&3ry&>3R9ylac%MQl>(Hz6Kt2sNcEO@lwgM=8ofl z-+0BMdY9L0A}Ax#;-EG3IzK9@=ZIGU zUvc^bG6iFT)n=rsajYy59}3#J5q;h6vdAtKlb$RNNuQacyFF_Gau(MmbM>%lf4WMu zJ3dq^49r1x*tNn(saE*@U#zg9_tCTWDZ0h1wwF8%6+$7H)c## zR=IYh9|)^`0oyc|oIUfX~XK3~=t{o)#tC!ZAIw z*XHnhL9*hv`M_IJ4%^jLi$+W`ImGh?!wu4Dvr8)US4DLG%|&=uL3Kr^_KcQoTyH>u z$>)y3Hiufe5_%o!v1WwO2|iA%Z^Qq1jNRvv9IdD%POrpu1%+22hbia$f|q(Sl<>;G zdZMBtiqnp1bD>tAkLY?ZEL)BlXVds4bryhb67DwsNV^oX8AY`1z#sulNBQw(JfU5u?r;K5|3KT~l1Gdr1uI-s z6KXLY@Z}}wLb>YJ;<_-*ZNIW- z?ncQ|cLrCt{*ybL;-$M<02xu7+6kcncUO{V4-9-N?3qZ2a2hF1*pf(T^C+ybO@3M-h~bkij_!`irm!~> z>#i$aYia^)U!bQiPGoR!7Av-WjcNF#$5FLOR>GsMcHAm0uF}}!colHeMJZW%w5Q_O zd8*XkC{-QlKQ@Ll+?uZ0TpS4B#$<1AHxx;kvvL2?2HG!AdiHFSyEYdmZ&mm$Ew65@ zK|?AaS2cYpTnHyBGfwbtra6&s$EmS-WMMN+tIi*y`jnX8#8gxT{WROFk)Y7yD}H?j zLjs!#;k|17fy|3%liw$?QO1>^8%s`0t2pphjq28f)uY@K*LFM=ZH0l)q!<1aduhsM z1F`g=o@TkTrvrMQd>g-WxOkmDv&^t(Q_1yYWv5% zkJAIU^dW7GQAnZX7G*!ZQw;wjB<#90BA&My|D)?+wcNIBg&GpRMJBBh5QO#Bq1m{U ze=-Le+zb`IVM(Qq2K5;bNgyLEmJ2S`E=90n&S&4`I!AJ2M^*L4}SbHo2dHUu!jpY#5L1&6p-zmB+<@?x$wMmVlpJE~9X ztZ{-V3ZtY+1lfWu>Yo%Z=`G#9H(=idr0N5V63%V^ar1#Er2qtwOFd7`UyS%a|L}(g z^@UR!DkziR%_*9XA?arl>a$|DXDi4Fl)17+oy!fmlx-A+t=Eozg#mP#W?2TKsowv> zUvwZ5<-CeeVL^3*x5-A8$(V)i69#W~p~J2n(%8pv>hAX9I`D zOGY(U?}a~v`BK60*u{-vJA$16d9fA>3Fcj;Gxiqb1e z&kbO8d3}_TvUgmi(j~Xr)Oks=59%SF;#)^Va=M)~s&DN^V9fNOim&v2T8NAongmEw z&2CBUE}1fjV{Kd=k-tB=l)kMgDQZ-6@!lUxL;HoDHP^q1wJ}Zq_~ZS0IvpuBBW8eA zA68FVroD#aRey{VRjo^YtM#58wf-$rJ8Hek*?q z6pHbcTQa{#V$8i`{w9ApzOW@+oaK`}$BUy$Nq0Gtr0-TM+`rO#|AIm5{k!x$9&MjQ zKfGCaE0@Q1zq;U4COuP)Q#%6#!%>9s+Tf7i@buew4!JJ3jriG(a$BU1g$MLa*P7mS z$fJgNPju~dUt=3vI|y-R>C1#dwrgMT=@YaRg2o=+%cGIHpFu@=Sp%ifl0sX(727-l zETGbnF~hhe(BnzND^_1#x;J~ggA_o67dXv|qY+9?lW@bmf=}OTlb6l39?Qw>#f6~1kmdBROQDOab zV;==%a2FEg1`$6Djy~_MfqvYtLS{eUnB>h*X>iL6rehMN7pKu2e}K`{TRQGHW{wAW zWv;zgtYhzO!IV4mmwQbwwA`P??u(!I{bAT443A=;JW0n-c)d+?A%__N;pFibtRDVx zm?lh*4vId!W!yB8sy6+JUE`yv2G{f~%JrGBBboAvC&D-=sPm76(0)-7uiPUcEjn+( zm2gyj{3;~&5z|;+qdl7TUM;}X)FOt6mZThq-IV5AI?bBTdi~Um`AXlI%g|ZA91{UL zHmtFk^Q%54Oo2R=fhILKM@yEaKVnK5f-V0|8!Wi*GPt$05P2f%3@^tX=1oZ8eUcap zDTuDHauXj-_++AS!GN}dXZA4o!lmhypOeJI(5}#smAxrqRw{ z@RsIYZ>clvVbAb!TrottckdNN1MK7=lC|lby2{fJz~X8B)8dr?i}zrCzxIHuRJCpX z2UH@4?{vD(^aV6bA_aJn+yDNH%#6q%UH)dWw!iUn@@#x%@0}~Kqr_-6i6Dudny;V!T zth0t9S*HbFDUDjOM;buBGDMdBT^!%=(Mz0(!uX4KzA;p}0ykQiby2;{O}q`<_BTWK zZwOzWF+L*86VTJRtvv^oeyB0#_0RH0I7j^rnzx1kvY+Xn*z0-ZtM1tAX6{mxKMdHv zl!6WZh(0c@5i5b5%vpZ^uWwj8Ce~dRKIzkTLH9US=(rVS$FFKR(48w|h-`#Vq6L<7B@8kCnJOyL z62C1C&E$MP4y@d5db@?lpS;sj|C^mcXcpq-gdMz1H0s^UopsU2^@~4#-j%<*-g`Jy z=gvTh*dX*pPWA2pLVoGn?)X%T7+Ug*YEPbIvz&Pn@4HuA;4M|R^i_|KuLq0!a`&)l zpV$p*0yO}i!z3D%Tcog?q3n^MxF3Vr3Epr0-O61v`_PD z**}b3k}U9`tw?%1nDNWSzRW4f$(75xpAAdC>yqaUi1!~XU27--Wu)8war|fY)6CDS ztt^9G^CL=?gqMFYKZ}pG9JA7<^HB7pd=v!??e1{$OoJ2T2?HbB!xoec)o+N3c}GWr z*+})!uL&g=0ma9k`u)z%=O8u{U|Ssx#ZHt3=pZNDxnvWE+MZ){Q$-8R`Km)Jtwg3h zht~Esl^F9Y6^~ou3%cN=!sMjQ;-ZT2PoIx^_cuW{KEpQhIYPHnD5N*&R-3}c6^SzM z#TwyBI5`Scq6H#r;#tEH-6sDHEbUa#!am5&@e{nE5Ti4JqL9-zM}xpv(8d>ibQi)kaNu#*^&tmO zbn1W~!K~iTbzIuw%S|8he6Jqqw8=2hkb!YN+@vXIi1?0w3Q5U!prOyqJyh{}_jOmiVle)z0{fMkOY5tj zfT}<%E^pJSycj`0l18|o6AB*j(xM~Fg@kVn!izW0giaeFSI-k(#+BVYr7r$_v^!aN z#hMTV-cCOU77yHzrR3D8&n^#tlG*M;ZB@^ITRCkt!8{C0L}NhE9GUYvLzFMf!2YcG zb!;sarJ-9OcvtS0pjNqday)vQ-ASlLeZ`KsBu>z!v0G)FVFA9tJX9mHR{LhP1?7ja znE!0rlz(w?u_GMz64ndbR@KjUD(ruxOTZV27!{YS$Rf591~#(^&@}iYtnkk2d%P3` zG;HD2FfY9luDtGmuY88Ih}ZgcP}Uc@4~IN-^W)qCoWfkxC4(+@YbU|3`E;GlS=Su+ zN^jbn%{*ie48|}Hw+NNYMDEwr{;QsF0(x={#OT`ZxBpp^`9BOl=1+OVU6wsWvI(6l z3(U-l#tePB48R}b;|X!gDand-@s{*WCdC&E`#s*wO}rpJ-w0R6E6P6zPnLH)%HJ}@#Zpy%a#^IOL^>Y^&% zrUfabz1y%Uih|fROLvc~gb`j!OI#hms|=Jl6c*RNEqULT1E0>v_YXK;{PIbweESw* z)t0xaI~VM^B7I9~$UW*7O7#8-@`O^kM0TKgm;YI;AbQeII5MBDk4@u%9Ne`CT_X7uI9-y;hwY&Mz%m^Qi0{bZ98RI0)-eu{qdP zw$_&8mf!@Ro~pql3~#p+!WL=}sEwbnp+!Wgo2$~$Rh|1!iJaX)$V## zG4Yj53N0TcyzMPJD~o7{z+V@=lYFZrM#l$NT*X7t`I}SBBgGPgK{t$B8igpilx758 zo5qX}e7pg`Q-)OA#3dubyivvM@KQTrbHmm!)st>{0Rir{!0QauZ76;^@-$NHeADbP z$`%JS9K8_g0bcU+s)TPgpyJqrp`|s#_$kfM#Uq zAoXR|vy1#(j_`behM0&$9MU{F-t!i@_)%NoF%Ix*pJQ^U;!8V(>g*{($}^7k_<+$d zeFS+vSo(^ChMar~opqSkgc5-KUg-WT7k0c}lGcv+=V_^4w%Dy0VWt|LvM;+vXPPJC()LE$U__9@>lUxQ zW6U7p*`kq)`NqMj3kAuX5B=I5zSK?Fdm6Ebf^fGf{9VF%BU?iQVK6@=V$FU?6f*Ah zi&Z2PBiSmqm2hCRG#!D&al(nXH{_luFwW6CBq25=)0?shCU;m^4G7d1;KI~9)yeNS zvzvhb4|l=%0>>{qnv1{JEk5fs^)8n?An7Ak%D>@K$t#|S@kvQx(q}%jq;M|frwp5B zjIICB_fCQ+m+>|^z80&pYUE+f&M2i8w zin9b_nMRf%mpTyR2Nu~d<@@PxZL&#Uclt6QWF=CADFe-?>pL@p2~1yp-e8Ep#)mpQ zix49oMoOjArKner{SoBYtAHSn$%#%67O;#J`1VUl73qs(6Fwp7SufKnyDAT`ERwS5 z#ty6(*6)_4hET&gon4Td7Y;~^v|x=sGd9DWALD;2=Pns*2XRwqe4>^e&lKK@v$q(9jHs!}XpO3?*p5E^cT!Dba5N`?h-c`6N4h zLr$`GQX9Ta4FCC(-WggO!rRUgZO?Kc-)eqCBpCmONxnOGnjqZd!79Gdzap(W-Hd#WQ2t0 z{H6ukxO%oNTmH1tLE;`gtjDD4{5WW9iBLy?mQ9x9-6Rtak01zU5O<|-Rckod=14vV zsI_dSQK@#!l`h{rTd6<;~U_XPw)@dAQ1Ak}cXQ%+Kta47hjkY&haGY<6ITyQ@Zy6|&t~ zbKm(~=3qWXu(T-@>H(oNFU4etUu3j>=TV5RHio`%C|mE5bUIb&f|ZC*9D2ZF;n3{jNDye5l~B1QEHp2N+_*&OP89N;d4`K6fcj&hR^}07x-QUL%2a*@-TIZU=qH}QG z|7qC03*bMX=)LRX!EU`3*esk(pG(keiHPq)hA~?5qmU0#cj%z3pNB7{J{dB;ju?A} z+dNQP+JzWYg0%5*T|DEqIqMjg^Jc#t)>aL?*~IzH0$Qe-8Phpo zFl~qPV$+a`EGeWFR^@W-FbY5Z&L|w&$Gq{}4&z@yl0WQJ*>Ggl>{ol~M;RZcv7+)V zA*elNB^CR1)3L~15`pDj^6NohB~@$mp@DH*eeEOLc!FcX?A(zRLrNJbG{+^}>*q7W zzO(9?+WV!sYjm2N;PcOeZCc_(*fauBx7cyy8WGAEa&1+zn6F}rH12rKkMc}p`=>hD zK;NAE&DL;{zNhL!qB{GZ=ZH>S%ImW|>4ovFFCpT>tIdWu|BlIrc= z^cmFa*aPPUV(Q=7(tj0G1F+z6jH-2p#U$Un4Opr+Q~}@*)FvzZ)&_e0u-!V!7v zk`|o4)yYHlmfp3u2E@eFq+K%*1Bw$uOVyLbwqRUS%=l+6J|2H^zto63rM!2@imw?{ zl{sUiJWqvWWxtGbpt3$q8O=?2zXf;{dc+SO4~*<;fQ?sG7?t~$?gQH;__Q7I-#^(1 z8zzYHnK&+Iwtt^6LXo`)=O}K)gd9v@N+I#h(DvjyR-A~^_F+_ZQo&NNX@-hI* z+r-w$^w@R%`T_5h`aL;35gNN0nf*_87#EIvPWG>8M)NDn0r||&*8gDPth-`fS*;zG zcfmY|tgin&CBoS^v-}uK} zlY{%fTk8!}H2L;tj&ou;VN1jl+ZT4PM?B}iE#H;1IW9`2_tweRJ4F_gwuXYh8%+=O z)v(F<5ht|3ZF_n0tJxo>-#o7+ta4{UDD_1{n)c;b^*mP8$eqPx_tm`J#BvS)E{jX1+?`6#y{}@He@S3Ze%PztP7wfo%*ed zj4mSz7+f`(Unw5j`Rnidc8H6RXDx3CE#Fmlc_nNnjm%)sA z4$( zWXO;%1a5t;-ySni!VOw^@9OD`sChwwgW zrH-UFC-|l+G;7}RP}FDSkT*7fub5AG$(0ZpXVaR#*$RxHLgGxb9n02C#K%ikveA>$ zCN<5i_U2oUye+*}g7t+(p5>`n0p%KX<}OPM_!`f5v; ziYAe;!Xp6;5m}4rd4D7~aYu5sVR5w&uIhVt#-##Q^3-zwZbJSX4M&}uvQMCiZkYs? zB8vKrqn7z2w)f?&^M`q;1L#!!4?3OViQuzve?8zkYhQ1{_0%fLWKDfaEZl>#^*+2V zFS8w1yUjd-Iixo8Rn{#W)>@O{nX@^b1IK0O*IZwoC$DkZBi<^g!4`E)D=f*u-zSC0 zH=)G$%%+7=I^t&zFH?vET|?ut(BhjNYU*nC=hWQJm0q}uKdvPhIcZ!bmBYK$DmlD> zcW+S7cv)A_h42j=XrUxN^6tS^VbmJcSEiXuS}Z+ht;?46lYT>JgiYT9f}(}LqBL@B zqAw=np2wI4ew&Walf$Dq=!f?Lw6DL^lUdd8n)<3sfjbG1NXv1p3l!uarJww3g(pxfNQ;1gzb z)d`{H!8Cxr^)~SpX%F%fA-^HpnqP#Bc&%m(GUA~*&7RG{Y#O}shx||7ntJzp$tpK! zsT%&&P|3()>Enjes;N8?W&Lt9uXg^VGLdx$)hB9Zc+;Y%o?}#Loct|~v$h)jJmJ?( z74@=|p5_5EcrSk(rFA_EL?-j;dBR5Kx4*<;N&YDE6zmra8GN`k#B$M`&xB-L2Hy^W zlmM*d${QXe!mBwh9AY#Vj{(Vpq|d3L7EQt6wiuN9w~u$LPaUP>N5=4*Xo9ROHqk{w zgpEu3=DvCon9|ao(@wkyN6(Pciu$p#w&XP@gqvx}9bP()sv2roia%*uZdk1Ci$D*I z9D`tqF|zRffcfXWS0Ut=Xq*L}dn9OMggC?M7&KoL0`EtFiB;41>JXW0yqm2{5a%Gl zjbCpliMB#xco+&+OHh4`uz<$5Jbs;7^pc-VBm0-75$aEbG;`oCgB)ycO4jZFk_uk8 z)@truQsXuRavi5=nS_6p>sWVTvi2%GR`jFGeMb~Okh?xqAtnw+}fZl>HC(zR?LQZjOJFj zYsyR8Ig~;(&TsnciEQ zg^(dObZ3o~Qi6D1iI5i?tX?w@BSZ*zXsOHfrNwJae)za0PWl1J_8g3~A`T(`GF5qs z5}_=j2Q4Vc8~l;>M-n@pg96F}dK1FDzrx092nk;%W_XO~T-Vm)ef~J58{s?AkM+2f zj@>(7a-K1elPY5_@S{oJWv-pr{jy(;}%;hDI_vqjakuiCix`iol zEGMN}_2u4QFhP$fQ;Itd9DuD!hdURQ)?LTtb70g~Z1Ki9-WRv$8gER$67g%XfDJg@ z-&!0=A0Z*pb&j`_<`AGw?6)B`w|b=&4vq5lH78en*u;vJ)Ao7;s^oN0=`|ZnJD4Kk zNJUkc1O;tq;|da+{k2Wue%UgnBk;Kvct#8W`hyJ?*b$ipJz_QA5D-hA0*p$Z#;DMG zdC}&tCP*lW6ERgTmnA+#peJ}jzirJgD;hZ+^1t>vJ`vt|RkHZNcYsY(9|Ab=^ToNl zb->hhyQ@hfWFxh$bfzUq*UNGm<_}#TwKV`>>h5{9|BR50y0A;gz5)nYB+_qP8Q%^q zLv8*js<_x7y|$B2n0Ih2lURU_Y?h;^vm7fVPTPbj&%~TfGHFLt9n5i-_3CJ`xTQ%7 zf>0VA@|q;Z=i-Mks&q~I$l(=XsEf#U6X7=xvc$_70CWQ+0AACE1mV++TZv%IC8W^-m4!mFQrnS?C%m*6;hJ)HbjW|wW*V^^v-sm@Y$j!D)m zzw?W^L}sFIOM;~;Z|Qy;N56qGt5La3-u==WZ%aLgJ)i^}Dv>{9dz@hVEvsnw(IYvL zjYi2qMgq+J6d%%pA9?Tgn#ycu{t!=g$;DPS417Pv|5{lXXyP=!N#9TJq-y+jmeF>@ z5b+8+vk3u2{5Vq!;a}~_lMD8p&sgbesELHPcOBkoI2TtPgRI>r)H1HiN*b3_8XG|4 z_=<((`@=2`!qe4kEo&PpbGbG5zvs3r1>Ak`&{TFuKX)RVDMlcy*-ebL|7dYqzSdxe zc|NA(kT;P20SsizgOacM(P|WK9iru!54kvK(F&Yxs5pHlcQ+q)EyrJcxfeXXS3NV> zyk1Upew&59$f$h#G;{{4?`B$B%`>>>S(=S*!xz1so>Z&J=Ry!`M9^~Zjr_ys_dRJ5 zg8pouFYQ{RLd-`>$H4&_=i3p)WK=Dxa%5N)3WC1x6O{aNiCu&aQN5x z;Ttq-vy=8@rA8T4thTQGzr|`EsHKN30PXZ~CBUrzw0E;Yk4?6JX1}b?-)i=5A$GM= zOg}_JuO;nWr0eD-uJYhVOn)lhFVbo!F8&-ivU_^tG_}0ogBUE$8_?c1z6LX^EKjq@Ge51el?g zfAqNRCSv;5fNgl$@KIVI?T3J72it#FTR`=N4#ofXc@;YmB>nBLh`(pZbKx{lZ36lj z{W>ZfQb;X1A@~={?u0M7+B@M(vGz>=?y+i}1Jswg{pY3F8q=luiWyNK_rG;z1tLlR z*MIo9-NFuPJwYFvcKMm6AN?c==_6@bFRbgVJXMWX^`%AoYz=7+N{mJ>i_JNN?jADY zrSkYOzpHpoW&`~z)ia~J|NDglN+%qyleWd{Vm|_bf&6NJE^QyUXn_IOsC^VIFxc7& z4B~!Q5oG!o{o*Sx!ipK_`D9;ZX(pf&qQvIC~&Y!@$q7X7x#rUnR3pT zMMsvaLsnZufy3d=u`7Qnae1j#bWEarS1kr;#j&?osoJJuze^)*eq+enPzohFF5T&o z6U_+YNd4P8y92a2;7YQ~q?@W?m;G~po*RD|Jzn0$);PZ0`-A3jcy(zvX|XV)*@Ij3 z)SHw%+P#T1ihf$@uw%4$j8h7Zy+Hqkw2C$BHH?4Hwi8qk{ zkR$DH^h(ARA%Bdm&YVY#VrD{+F@Ek;U6{jrGVT3G_C7}=dzwj zmLQCOiU}Wbq@c+$?cr^Jz35$f?@3$A4cdNf79+Z)Y3g{Ki>l^K|41TV9m_#9vwPp- z2C6blgoOTXf~O*P&}RYk>f?~rXi2}@K#fex(VX2vo>R|uXeF6v<%Lo-TEu=w9_;?I zRTZLU1pe?sHEA&`709>Lp~y6Iqn`g>*-87g6%|i2D4#}o>NL-DUnNR>w*615)fT%n zi6{R@0qiXNzY*U3XZ32bOGR4PkodkRAt^}1$~A2OTISJ8fd3V=>}%kO02r~sJNicd zV-23Ph*5K4Q-iD-klyQqX$|uEn9f~ zNg^ysx47l;7ms%fy1WGC)#sb$u?QXzKwln z3^Ug6d&qTncRlz0+|T#-yuN?^Ua$VRrmokN&*y!<&*MCg<2=q^=cWw=@m1S8)skkO zo(A}%cl5>}$IYRH7esAas&}k*Y>K%0#-m=}x%6NCO9-?Yqua{`*iBj{fz>sJXWtL# zupPJUI2i_wk|}uY347v>3<>T zvHjT=J0-}4IOChGG1c7XP@mtDixNj^nzh_jKlIc(?oSXE$4jCrZc@6$I^P<#uC2jR z`684nV4z(&>tmn%-#Sk0M7e4DFS+TBUAbw_eoFf#H}&*am=fQy&fb_Qa`q4BF6kII zY2dn*aVPnYpPA%jctph@s^n*kbu%Fw_GGK@TNXU}tafzK(%rL{A59eizSEm5>z8in zS`_i;9w6;O?g9u2Q%WMXj@$pcK{~}g85V3XW!S3Z!C+BVAS%mHr@XUa+go;=gi+NjA!3W%T%qFzV zZhz0O9*-)_;IT9+Xp!zdZhc1b&t&^fB0|D$9Me6qT@_=yeV5n1P41Ru6y7-<7X8>L zc=_)#FYs@;Xk`3s4@`0H%8gR?{|!VD0D0~LSe?N{B%=yj%~j@u=ziT4MxV+)sNL}x z@RS%$66pQ@x_C+Yh&1_yKM_wl%ZWFBwA)y{HUFdB^`!ps6^2nJ^KSmzOH`VD_y3Wc1q*Vp+&5%g~^C!ko?pBrS&F_#l{Ga2UDMwj;;+9|Dbjv^rD^_W98 z)t;oKhV34(zcRMV;gG{`p=V9HhMai~s%p5&m<3)P7GN1>&Z0b7_T-}`#6Ki1lv{KQ zwU@#5{r455wk3+9J(A>zRe*pn(p=8Hnsb>h`@B!BSBWe zx`avi$9N6FuhZ+Z0x&T&{uz?i+mP_eAeu+0s%5s6+k6buf9ahgR8^tK zj&U)R69!-Z(z}r`YqH)(yd$nK#2iPAzqY-{9Axv2RtwAnhdldJBL7ExTzJ@*thJA~ z0R!-G1@Bu+KTaMS5ookTSC5k?F@+wRb{M3hIe){;G%@dHhDgXW)DfAQci@8oAqaBW z{nGP!y*Clqel2F%1z=LdbiumJ6zY?ukQk91In6XB`DiI-VSouULo;GOCqVB%2-Nm> zgh)EKaPfL*I|g&SK9K**g?ueS4td5c>ZNliIM5``v0Qa#zHS2p&v!sbgb^qQ6b*p~$DP=64+xo`M=@!0AifY}Q zsSXbs{rMqDbNr+?j#$5a&hqep!G|;Ve{vH9mD(F=pKN(dDnzq94M2H{_kdO`^<`5X zGVZxtOkQ0rlt#+Nz3CP51sA73kDvCVu59n+R}}fZY>clF)C%evB1?w$78;2i1n{J6 zLuT?1zLoD>8Mok7PZbpQ6}zxJ!=BPodGNkZ|NPJ5SQ}v#8=0{CYqN{8;Enz0Sk8lA zDLVMB8NFiN?AW|!lr}>u;)Y7Kxo^B`mmg~}^HkYWU`p=v?u(rX<Nc_AyQTB z-o^9JV;=fwl#70X7iCfrhvF=wv!;RwSDuwP^RsUSO2yATCD#K^`}xoTpCV&TFwX53 zJrbeV?7guZT`L!gja|pPbGT)T6lSKxoQ&^*7=Ibduij|Ib3a1p zxg!lsP=M644joooRpvE~=W15QH^Da7F#%XelH_>QNCY-!coQ+TE+L}9?2yzw73tHC zjR(%QGKa1%=VHZ8E0}$gX57U2_^Dr)cKjgZHJgiGrY?WgXqH>rLl|DXCjHVrNSW+@ zWy`pIE%rQ8%gNR5JpM@T_{N(ga=q%nHM;C?DsY8XCxH=f^Y+DK{#T6&tY7ez*7Yr` zC(g+GFoL(yFmLjA8jt-z(Xr{CUvsthPaLMXnHu&x27N)qpf;E}n)j56Eii@fwWTv7 z$8GLHjt3!PC6;|hkGJShci3_uM_jIJK^L*%5(yMGSnxW9VCVRezO5hd&1Mb`KZ_wg ze&-x38i$G?c|uy<$I>vg2l*Mwk?ehjkJVE|;qQcTg)zhH6;z+zp=$7_2%Mi8z#8D} zfiO3=$BW=p%#Nq0^f{;s@=3$!lQLMA^=H``EEi~|x1DqvEC+gLNTO}Oiru2^T1Uh*_vF)udX zlgFgvo^Gkwsua5(t&_7dB|BK3mZ&L$vHzgn8+Iy`TSPP>6#Ci5xKr6g%(y1w91D0Xk-*k$%pvJmwERt6 zqQlbiw~DfnUiJxbG#w0D-!)~ctWYNO^5t55fot@y2p zbvNEe@JYFrt+$BgW|={L2!FmeDl^KU<9tkN(2AF?;mou=h)tSP3nYFT_-S1Gya#c3b_Qh z&`4(WkN@g;(Gk;j{%>hpnTx0lAj}JbyF}IL-I3bM+N{x=r|&H_vZ}7y$FP(?p_}sO z0j5W=Tl}gkB_94T_JuP8n$suzpE;JQ4|?#3+OuAU+t;VunO+wy-<;j#?#Y4xUzK7e zvmPiRn(FAY+cD2E>zG;^C=9wnSdP{A0u_vOj^1FYE&EpMsHsq9r?p;x1|sg%HRq&cBd}#OovPM)%CFf& z0sFNCgkH(eQKCCmJ=dR#Qczmawdc$2H621PoM5$4=J{1xJq0B`tHWju=C~y(s_~sB zuvQs!0M;t}4FXsVEDwjn>d2RGP(3nD?~)z8wR^|TVJiK zaooEzXBj^t$m-5m!j7_0EOBaWStTrftj?z~{lHdxQ$0rES(}4Qkrt=Kq`sUfH*L%{ z#qk^JPb9p6kX0SP4bS@d$wyPMi~z^9auZ$7vM#F~Xdy(#&Pay+Z>ML55i-juIAs1R zjNSl|_5Ce*ObjrA94CfcC-54*UdIvZHCkH8gR<{ap@qaZ`bp6}d zBuoxPXl`|ah1KJ9P3pVm4nfvW1sDO&>x?(5~q)zMXHY$EOpbO?;KdxDA27U z-&xZ-_sM&~Z6w2^bn&8?B_?(yEoV%$Y_C~z!u9ScaCQUp^0|JU-QD`M?Z3*_FKpZ( z4mB+NT%?Z$n;X$6DR;^v)9%1$1u;ZDb5h$7c%5k*7>xTI9w1{Tge)%!i3@fpGL|H(5`lbBm7zLF8I~1tIRzg!J8T+KqBK7CTib=PS~fq}^XK$>q+%+AN%$Q8Bm8*#hZmBH0Zk*S% z#4;`aR4os6+g?fAfp-|4R64}9JJ}6*Yi!IXfxR+= zl!(d?*yMQZQ8+(+h^V~hSDX_kP*XpE+Io`cewJkM86xHWJcx%z9{&ELogoe9Mrm_^ zcDm0>Z5U6v1tf}&b6vAa1`@J%WP#iIU2TS#R)#6CAYHQKkvkrQv>Q`qv380DwKber zTQB@n(4-ce%Vi2__1^aafXREhXT&vUn{O>)y!es)>mV~M%ZZVuz~N%-OWx>io7i!0 zOo8kVb*;w=I*!OC-dVbVgbPpq9!ViDS?EZ$&OMb`amubY{m?e)QSE%9lOuH|! z7G=s6y>xEH0|ixY$>ji~d@VOaHP#92(0GX-o+62bR$X{WxXw6CJ7R`};@}aVuLA}A zHRzOP$M!RKweu13b&%Ys{U#QQsb} zd9sHxB~`W|IC#LddsXnsk640Xq0|_7*@emRW;+((&Xj>9`NUKtnC( zkyolcEUahiv^f7!cE{tU)_w%@nv`}3zeJ*qw6mFh#?h&uC7`Fe*#b$U1YuDkoVW%v=5}yXASVYjNMZ=BP4ej8Y^GY^_qQP*mW_ z7=>wYDa@z=XHsI4!^J-UKW@yo2^Eo~n*abR6yefStD;s|cdbe5arf!I{B0xx9PVh6 zzcgyZ@#>dk`$-IF)Tqqg6oE3@_6*WD2c@QW$E~>;bSSX+Tlb&M1o7yc8$FGZve4=a zn-DcgJBm;=lu0<2obg*3ZTGLs=*fDG|E(gL<$!%=?-yOS9Y>yH?bU0ymsBOS>;hwp z%oQ9ScU#2%Wf6Xn5}aMxp1-*4U4q_dzm*Tz6ELRNbX*9x`1(f4ZDuh{K*R^vs|?Wb z8E8T!*&$qIHndD((G&NMhhJ^6IxC0IQku;4jX&%@0UymA{qmEawjq@_#%vs8OWrIw z-T=(e#*rhif{C3Q%vscVZ4EOLr7-shHSt&CXNV@@tq&$_uZgpWi|k+zZog>E3>F%k zG_PKgD|*N_(I#BG6d(%A;jKa~znt)_$~~7lc2E8!JEct21S85A?=ZHqbjGl0!s@(Q zv&>*u&+)Zgd$jYA<%G>>kEbu;W~M@~&IuBeUVs1J2f6+RyI(%~9d?(um?btE&(`#^ zeYbzCePKWmHDna9jG>W1W@jJIc4bOicm(UFbEn%BWes@L&*CIouls$sRWdt&#Yt8; zG?6E6rfTxt7mCJXu`^XF&2X9<0&+qS4o~KU-8PUGj1$rcErgiquwe>Zv>uOD#O-h_ zvV5rP0sioJ3-6@%itS9KaN3sQ1o1D6uuqjx-tMf(nubmH*AJvga33v zAkNW;?a$Fm@6OSG{l_RE(ERJ|YW}nDu#~vY8@k_Vap+`1hF7w=o3D1!#J|&A*^(n1 z{t_a-Jp4pQPasojx`KaL(h;vGiOlud9^J|cM)Zj#E;UCg6lu(DqxhvwlP9vo;NFx8 zf}+%h7I4+rjGm0A#K5B~(0dEQ#F*Hn1kEfn;f{9y>FNdw(zW-diP1Y6(8U;z=P84r z1|9#D+Aj&3P9-+@Kchu%>k|{2Sn%(?82SB-j}$rAF*3X&DQFebSwn)58C;K{XwndHlWF@ zQz&srAc|O>se562j-| zt`lrDIsZXjZL#v{%~^I-ThJt4@q)9-O5Pt~lx*U6ABpCAg*s_L>v&Y9*D(!Y+CqpXpEFyT!y&Iz)qL`aTxRTeL23c**;yb@8sRxdsKsLz#^mNLjL0*u3FxI{B{!X2f+Y~!dM(l6&6=`bCd_ck$ixUF=Kn^?BtcU>fwy|)WMhmOb>l3V}sAkn#U_^nred&55_hJw79%9re_`YQPO_0&Y4C=?BF49)r6 z)?Db-z2mmq2T8W}1lV)9?i{f~yQU2wfth}z=ELij$gD=33n|GV>1PYQbeNg87hhA8 zi)GdWRA3V&1-1C~w-INrD`o!G1ov55F{re5p(TK?DI|8m&7S{fUGRU>Z-GR0Vm0U2 zh~&?AL=;xPpQu1@^l9q%c2VSmIrw`-#G#Nfj{@P^O+k$EO9Wk<(x*!dM|BUf=cX&Z zvH4N!m0*YrKe0@oAa3rVe;dNQ{lZbs2@+81da^JN<=1wR86kI~`^>FeLPCDJC{obx zo^CC7eJ*3W3BoGR2_kA_KKDIp?1#Cp>O@;--hfgj`p604r)^OUciE1H2>G5ptEe|? z^SpyI8V;1kB7lnA{8!VXwI@}f5b1x~8w{^D3AC((sEAwh)6cGh)cky{6 zF|Tv}2y^9s7YQk6@|h-57gh$D)YoSfq5X^@#tD0vp7wW4Z;8ycVg}gPDLjhL#?jRu zNv5w3nM-eZv~_bT{09Nn()uC!Ea5e5wK^ZjM$xakzI@v$qa~jn*@(0I%)(PDi|Q+6 zD@%JNq_FTyN~#k`JiC`)@9Pkfc6A7O`}`~5ev1dU#yz4P@V6rSmD{pobltw z;`o(x-@I`c?#dlt!&fL`WxC zuw#XJqL$j`$X={-q(7RXXKKv)f)=u}@iX&R#F4M{p0}owup%E20f?9#dlKgxhUg#B zrYnUb_+*XbV60IL#!i+A(j5-AdE{fOhM)ShFJDeM9P&1?3F|j;6IN!iPHc%=3j1LN8HN8xm@Ldz*5qmmgA zAyw2$CB(HeJjgT5GyEFNf?tA{o=Ie-S?K)S30a$B$T|&Zm7Yjl>}kz{BQoT_b7g)A zQ>J56a_X#p+6*Lue6j!dlg>XZ0@ehJ&$ zJMk~XjH$IB4hL5XI?j42e&=4_PKJ>^sb?mbUAvx5uXfRTC}J^Q43^C@*e&I}yp8^$ zFdy4u2W?8x$h6s+pi2~J!=jnWtI3oYVk!8A#5qx_bDhKney7hf-a8;nZW7y*03i#4 zl2ZmZGUn#$SY4ph?3~GuZw|?BTL5*cWqbQP3y2m?5!j#6k_=bzpE(dn1*0Dmj+>EO zT668!oc+oQg2{ffmEduNCoN^SndtZWF z5DL#M_rCD#*DOjNlCE9Sy!tu|Y}5gq+Cv6gq4-8AzMl2X2~h=(=WOMvDO#S9J&Yf1 zz~Pe+51MNw!LPsy{Fm zANj#7-{t4DdMJN!ce#gy%I%|we3d*;^pQFk+qCbVGV{P;pz&~tNoU#9wA|Pok@@;7 z&VhzmKP?G}&V&bv*G*p}TBY3VyIUm$I+DtbDkl9|Xt0zLs zsn3Z(CME~1teu90TSN>NSIItuQuL$QWy(P*AeMUnABm+vg_W+N_mXKa$ws^y)p)R8 ztLj{3uh3?sX?e6z`ZLzZ zSbc#V4NS&k(x;ln5`quaM@t_)%Fb(3B01yGGo{$gsCl(Nw+cL&o-1k%ZR?@HWgIlC zES)AFSv%=~ZCf4kMoj?s5!tfoMb@%Cn{f*eM6-XJ`T_?UTCuOgwI&LO&b#g>E+8C| zjMm}qN7ZV&npezsoRlOjiWGNHU2;uynD#Th&m7>&D?s`HMBEul+=33NwKsefL7}x z)TA$1>+#pc^qyZBlQ@RezW}$Clox~1H<|pDK?&+78^j%{ zjUcQ?e7b)7cA44i(*>GMU9pjd#xt;`&*_cPC%;7vT|zv9Kqe?s&Zl9*BC19NqY3yJ zS8M>mLPI^aC`)i~jv(GtJ3~6RvMhXpM_YHigSuB?cj3oMD}k{=p$^r&Q|cmqK6ggH zS-?TV9Hz|OwohIoUNtWM3-VgX3FiJ3D-=@`ifs}2YE!kfTrvDS&BMQxT|7niLnL$G zGb(!W-7?2kVCuhz+L6CQ?N-wp!0zvS$WM%B>Zj@>(@hb2g#b`l>HRy zhdn=OTI7pn&y^T)$!Er}lmb^v0UL*uT#NYd=VT=g4YN z0@NNWtPpFb3uS9Zjybxtenwp2vYKZXT?d1Z0 z$0wZE_Gb`Fi*rY*U+t+fKBSMN!TlO-IRNlDLxp_ji9LWGxvN&_{fAnCucH;r8pSLS zuN#vN&rfC#mkla^C4Mp37Rp{Yg|yh52BM z;cI*)Khr`|>g`rquma>`CJNhtYFVqnzeg;@jQZpM z5{z&)07$^WKxauy(-^(LX(=`&A>rE6xnWa-U%wIgIxTfR5OVnp@XndzMM89w4?PU| ztSIkd?d*jM&rwB8~p}TNE$Yt{2S=jr|8P|jKVC49&evrb45n;JvT3ieFL9@cft?U zU*imk(_A)B_!Pmz`gZd_)s#K|Pc>yNKMoqmC%PXBIaksjze_C5`f-QOcMpRnv&;N# z-M2V&0yLs1n8%ZS`n84cC{HWD!2G?etIwL-_LhEXM7iybsanHIhXP#V>w>VVQSNFjBOM; z;j9HDX5H3&6ZB%4f=G_AsZp5vgdkIpr@}4bX0EwSGrO~w@ z4MA3>6QboY^@K_KXC=dM`=LeN$5k>~A&9o?51Odwxjc`P?v^aM(zlz^$(=w|+|EG~e@xBwlwz)RH|)69LUyA)h@- zS$`S$kYcfN$ja#)w6jZbNn`eK1 zPGdN?B0lCMT+4Zvs3750K!`&FIotrkS-j`ebI3G~LmQ!Gc==l&i0n#rb>&HP$Z z-rJ`=C%!#wM%Cv&F1fiIcoV@q3-;nmuCpQ+pm8DHr=y(gp9 zS~ifdvUr0&B75Q2poIrfQ}r(iJ)%fdFEyXR4aY$sP>QCRdZQv0 z#1e$+fm{AEu@K9fS2PjhWT3nBn`ETOo6@j(EwqTq46Mw20sd!D zKA&&8)uFNm(E9rY*xKqjZN&AqgRJ$B+1VXL!Ow_*aB&dA4+IlKvR>sP<}<8u2k&Xv;%MlWVlx;Kr|Ehwe$f@eEl1pD5$V5 zbB2aTf^5;Ru*9G1l7n7Uod{=!!tVbI={LxvI?Ye9K)vaeP*zYUKlZ`7g#x7S>D6?f622^(<^*D8s zJ8Z@dmPM2Lu6+NI=v#xiSVfb$3vABJS60sjxDP1pBZW)B6WIk^8d)JE8-JT@C0fFN z*|&t(BqlCtonMKIXbFFUE&KtXuGD}gdINTa^~U6E^l85v{zQogH{qbiZTY2#mnW*7 z?3*#k#fy{%Hka#ldK`L;;yE^f)CCB`L2v#vd`}pDg}`Sp$ z)9EE{7IJ%X)5V0}<)+QHALaqx&7`(et})?RYzcFD2u9Cus;8B+GV%){c+`7Z+rhg> zAq&qQ445bec2fBAwMq%if4AEJoL%pa8TOn0@+^Xal}hGT0ZOOg$)_OTW^> zPZeQA_o>p{5D90!`cP4khrzLPgUtDfKc3I>koM+PPJXD=A}hWwCBz>^_?GH1jW-zo zB1i>=z@bB;`bdVb572qeW?RQ?1?&^PB z6DFTxJ_cLy&FD8PCvLG$8@|L-k1`5R8mCzMQ03vetH$k@`@4bupHMr2^>?VfLVuj- zB5hLYbSGL3cWC4|?pQ22hd9K1l%Br#1pQ?EI(Kzgj8gbF)boQJ9gLt^%OJh`jvMB+ zzz1ca^@Bw9_u)PD_rtMSf!mgCA(&tbJj=^nK}B@|*x=<6`L@lI$U?)cV27>+vEnC!wQLci|4Daj&#C#+u2VA; z=jj~!NfTA}(;3jYVQ&uDqjOMyv6Jt+?hX!y_#b#cxWw#th}8yj|09(s4J6N#=hmo5 z)TF||jxgazKmYlKbV5i&$NY}y^A$sf?H)`)_=WdXSRK|0=va4Jf8=i9nR7}L`}V|5 znnZ-0q71lZty0)^vn)V16HwOVgAsf->;3J@rhbtMap}%&C{aeVA1C%Fx+3o6d zd1X~uM8!*tnK*O79XS2mml96&>Ap!Ih)$XdRgw4!l&W4BZnlsJS?Onpo#+V;gV|95 zT>Ffoa*5jt_ph)8Dsk}IR?RM!snttNsVIY#iv{8XvB`cA;YU@>a(BzKP(k?AY;@l4 zKF!Y`F%yYC7dqBMHaE$bItr=*kr3Nr#uMn&@@nM)1*09DkEH~HKVBn%+&O7S%FOv; zS^#&F<$$y(p^CCM8-It48gDnvt{MW)%;OUx+knXHuVfXiX&l!P;7VO zla>Xb`iL)8v$IW=6g8P!dg(-uT=c1RGYTFhY!3 z3SWD5$lA|$#-CXsdMTy_WP?!CX*xk1cIGyi)oT9wPqSJ%&zDq-1}fWL=EA=6HHSqH zzt}dP_heWjXI`)t!;RQaajM}rS9A;3?soUDqyX08-UC5ldPr06JYbpT-td$Xb&Cbp zz%;i(Ao|zH`3K_2nt|fJm9Xj?iSRDDvR`fwL@VKl$t8M!fyU#a{FiL1-GGJyY_@Jb zN9sP3IJ}Sv4r^0>RgK&m4sxJ|a*PxvPX^N?2Yad0sog zuoab=Nv*-=kaBDwRtJ=#A*cO_Ccgi)9_8Om0)h%FDD?irCQM2DdM`D!@Y6Q438KBX=T`5@^iEU-pGC`;K825G7i>Y+reh28q;!u|p=cW?Clo>@i46 z4@X8fro#a!?By5-z!gATkE)!hR`24Jl6Npi%~3jL&vQGR9~|h3V^8+iN^lbs*QGE2 zSSw-il%}zK9cS9NQ)c%g@vzT5i*%O$c=fEsMneIlp7t#;hh4&*EUvU$(yYN zcy8O-t}8T~m2Zw^^|{k(O=gbu4ot11ZF^12V@j%SB)yeIX@1z7 zYsX>>QxAUFn+0Q2Bo2`63(w5}#``BJ?LUO)N|~f(<^PTJ9I_61#-^<}EbQ{%a^yCN zr~fyx!m!7tTy0sC*w|AFwfIP(ITmV%IFVIc7B1sV!D=;sOt{yis;OP>Gr~|8j~?^j z)>nZNr+IVg9b^~$meLmu)LV+JO12J^qC4e#(elcTgXYnJ3(?R#rlrZ+B5L?(V&IZ_ zEyEm>UHQgaIvQ~XRDSYy1KJ+70U3&2ik>Jc-`QHoZo0SAkK?wr;c*%sCR$O_)<&87 zN90#Flb^-@%kcEs?`^RJAu5=G1X?#Qh?SGb#oB3({p2iJ|61mS=5EThn^2cAGe1${EvGG#MM53 zH{$(Qy?&iyri~8;#VMk>ng^ESse906OP?-5XFT@=bwT2|l0j>f!+>**o?3a&u0L)>ok7=$Nyr3F~OfSb|jnnyKKK6|DvQ z6@J)%iKLDiN>W#VKQKxPoZ+KsN{k~tzH)<6hPBCB@o!G}=gcWn5x6E(!TPxkmyIS3 zc*~)|rTMi&+p@JS^IY4KhJpDwQbfRPWqX^I$Bb(kym4b)(a}>u z)D3YtVqBc{QCA=l=HVatjm^OH75a~x<#1UnHbD^%~N*JqH^_};`fWlvJn4@`@c}u zQ{DDX{&cZ`olNzM`V|4t>(5_M6Nq7 zURt$f-f2&{_ugUVS$}K4E=sJ=*QUSv^^9}n8nyE#*g~HIEl%{a2mjH?j}F;d_F^lf zU^UR?RUMsI|js@Lx7BW_SKe)cSztey|evVZ+*{2TnrB5xMf6(3tVBxy_R8=b8V zo3l|1zAOU+53W#|$mAiPQHD5~?W9UyG+UK3w$nVRpz zqWq_NwQWUgyE6*3Xtrk)%DrDs&aml-n#NR28dfda!Vs3`GG{>ZVR)OkR_K+zO~u7xb(v4y0D zi`hDkf!1rscS8Z^!Ri`CFcJ-{Ua01{?OTcv&%;fnlaTf-`GV0 zO5q7fw|J&OtZrr1dh{h4#fNW0HkoX%Ww?m0=Y!=4Fdg38kFSbH7A@Ot*@T~n3jXRu zJ}S;rT-U#O%Q5|Fi(TskWX1&EMo+utNsFN)?7)Uk&Oeqxa*MkUI?VENr{~4g(aLk> z&6_)Rd25Y;y?8Fih}%+RSqD@f2+2>0BYi9RqYlrKQd6alh#HheH1mkVKD@0GbzFKV zpqhr6I*zQP| zx%=wGJ==lfd$t27Y5Y0Hjf-d&WE)T}KAabJ5ZWZ&hO8u$iQ8L0vs5;{cJ4JHwl^o{ zgPb)-GRrZ3Cbf(Ow!K=$^aV@O^vc2qMHWi2{X!Gb7^GS250f3zSo}`62=$j#uMB@? zrEd;%npv8&2~SRNK2f~JuI0F(`Tb4Tnb|V$_hrwkwN8j!J*#-4L{D-7%F|UbBLL0W zxhxX(>R!$Q`0HY26q-Z$`OEJu2MIay-BQ?C>HN&ojg5Fn*5}ivU|O<1)5U%=RaW4_dyn4gKk`tl9hE7ZTX4a)PSR=;Eb- z%btv|xM<#?)7m_?%e4sS`il>^ILo)!KXWB-NKC^6%xh`2OU%p7IUyM}1rV&a~g}_3hMo4)F2KA50y2^Ua!)#$32HShg!O zL4;knT6VG0WyIA9S`UQts2{if9UwU)-RZp zN=!q#9C!9T;ZbdSt>F4PW4BuJEviPH$cJ}J5)9s-=hxmD-1))c0yW?D$GBc`WO? zmyXz34IQ{Wu6p9la5#TirZ{gix_@;5_2nGqvE_ETRc(^~PlK?!G|sG74HVrTGVxn7 z%+7cGM5fvkWSiomWzpQmb;sSZZu!;OZ;o0Qn=<@hJ~WTqIy;r!;-Tn!tmo(z5BV9y zf*8dc)=-H0-M4yij#dZ7!VzX-Pb7sVxj1;QTOp+xkJhZ_@JYm_1cqPOSv@%EaLiCZ0wU-|E3XxUm< z)5}_fup)QqPmV%uD$L@s3LKnmx z6bxf-zQC?WnFLC%Gd;~t`T>g#MvDp-r~9q_WY)7(j252h*)=b38PA!}hn8uHQjAJ#eSbsZzfltO-O1nL zXYWJ3p?NZNT9y0}ubDHf;01meqoSCy4;p&ME2(fv_wyBk-q1NIUtxxanWQ}(O59%G zE#syT)H>nu={Dfec{P41;esA1{b@e=^nRDgJ<1c4Fkj*MwQC3pJ1U70f}(&|b_uoJ zXHOTEde4}PbZOclR7o%h{KeDc}ieO%IU0)y*!w2aC0 zPjI-u`=mz@$3AU8qc$@llGz@ZZ=Ka7ce*>WHNGlud7FZ{zKB-q(P<9B@%%7@?7Os~ zDY0<%SjXWjSdP}U_ZLt43vXWM4^{qAY@EeGZ#84syuW-AY;?S9onaMx&&N-7vFLR`t@mM$d$B1<=5q_yM2_E#E0!a5ZM#oLC)u^jT*&0pZoqPcxi+ie~@rV9r5 zG2Z64$wdQCZE{K)g~K*P4`^SKBXOh;KhiP25yoY<-WvVHt>%e&RZ|iv)w-se-*EhW zF%QaK`;Z~8Y+|f5#F%^(xX*VmM`^U1d+&C-boeJp_u=VR!NgN58+YaKCV%`WGN8TTgvDIQm56duLLZ4op&pjTo z!)Tf?y3S}`SPmW1c9!F7@huxmdLx8kQiC>?+Qz#wI=0NXJ0!?b*dyTL~Nu@y>Itn&uqUfER7 z=M2dX*6^LFe1};twuU5@l_hOfrt4th_4KG-{g-A$5Lm* ze7V9iRBLYfuZaG*R`f<3UnJa$z0A3sF+y-T+6R%jL$1jy(`k|aD~yi$K6fdZGlu%!WS@?F0{Pt<9yXga21nc zx8v#j#xvb8HGEk1N!s1{5;T)VOA$2U>VTbTG0sM4@e8u^t+2=T#+2tF%c0>^Xsn}a z#mTP?e!UHk4G|F2dli-vCi(sHU*m)?)Rqf$M$@9H7qCwlNS>Bbd^~SIlOLwPbeC3{ zItE(vv5e691jBwDLi3rbjLnDUbAS7|^8K^nMyQbTF+UN5ok})gUMAz3^r6X{yjTsa z5zVUIbRb2NH$jSR8Q1gej)Fhe*C1MLhwcw0qX)6w-Tk(?RFcPx%Y1JwF$SnmWb-D-fWkQ@we@Rxp4@D zZZ2a{Iip87H_()n#;FI_lFNIJ;4WRY1oeSXSz(+i%h z#8dv_(#@^6K{RU)To2tiCbY^?qC0P1A#u*IqicQUQ7c^_`FTpMj5qNK4p*IbML``m+5)&{v65#Hr`+7r@Dv!z(Q6(r}UKtsOQ(hZ%sN<6n_k7A)$y7ly z6|OIwx($ANzPL)#A@(v}xAAA2Y}dYDQWrx`OftpPy~_?=L1-Rf zgyI|8wAv|Ig^Ri+90Wb!;6gXF682%=3n1oXfQ!_<-JBahanMR)T=#>JG!eI7aFrq( zy5W;HyMJ{(T_EZHbZ8u0P)em&lTt~SM=X!ZUsJ}%%Pv}3CAau)t*>S)xel)p z?gg{{$f9BE(Jff``As^BWrvc6r06mGL5or^m+x;5>Ero7kFC12f6DuOF`@NFkXfK# z17WM3PrXwt)_&f;``YO2`dC!f>;MnDz)HO5-Ah++!JcJ~ua!bP`OcShS(hCjb@PYh z+zZn(i=EBi$gKOC^N37;B6B8Op$%!;aJB8ZKX*UHsZA?wNkO^%gAjrPx@@h1X=C2> z_2f!P?eQT0qVi>?+mF3PXEx7ngqM)f0qu^;+x3drTg)GKsomYy>+q-3e;6JK5>mVAPbybk=+p& zI5?H|r|xn6;5M0&v2{C-hwAWd<~GrEdco#){RTnb0Cbw56&>7Hv*Nwx>2Cc6Z44*l zaoJVzr7&p3y(>-VEL@)zYGD}ihm?v$(m@$x6Om7 zv0|O8@46f((QhJ7*CnEi=b8}^D1*@G)_7{l zDW{nz1R6t|u`c9Z0_3y;uhJ;Ljvw1kb)wuRdvs9_ z@mCSTS{{etg&||<1J6G}z1>d7jK3y$H}5v=Fr*I3GIfltXj5bK9>g}sz1X7b6+Zcr zY32M{uRFvn2D`uCDxkpV47-hEsnPM;jCI&u$a4{Uv6gD#0Rce-ej`4gTGDz=2Cl5& zW^KCA&JOK}BQiNKcp*T1MDvYbtxm5HOo$(`VQ1lj(Av>1n=$VcIap0DY|I58yAKgh zVLi(mE~#=1ztv@|o*q|PBNKpTF`&f1DNl^H_5@^Vu$U-E*iP=@9$B=q{|IEhZd(rN zX9WtWh59p5tJop+5!%4KNX;NOFv7Ixh#fceWiZcZ$dbN8A6u9etCZE8hLV2)HmE$W z<}9thrhfg3eBEK~!@DKWJA6>`sVYVBGv-lyfiA33tKfNcOH~SlcN5~uR5+`y^#}Qg zAT`+&8U~SPR#-swbZ=rz8hC7{bYSh#5REYvRk}+EUZPOo_(XMssN#_A;2TC_Q?VB!UVEAsDvBCn;;8a?Eedb%l}h zAF;6vY>KBA+rySd1ijlf#kYu9bk{Pt(f7i36Z`^s*WQ8{xF0@Crak;oS_ZK_c-VQ> zvC%DjA+YLdps*#qp^C{i~v@wS~_awh6r>_Yivnhj6?WM-YT$x)HcWzaX@qniS zcsuo^?iz-1z1{;Av1L+vAQ5GECs(i&d=>1^%a)8lsVixqjdb&58otg=G@N+$sAhCd z)FGf6ZCEhk5!Qn(F$x|@>hNy!V>Zd zI7%v#2^f6A36c%B#*C%z<94C zK^xp>((>!ost>1|+?$f38d!_-_i3Jy2yEync3tn=r=7%ZV>5(0wxF4)y*n6pu3w}Y zfHBV8^B&jB)Eb`iP3A)%;GqRFjN4HKiJveAuHdk&n+Dg}g8}y=4zN?a{?XRZ?zqWe z%lZV@g5X&jgrhuP>MIqRFS;YWJkxD_sZkIyFAtbuzORPRA+L8CQXj)b^ZpgWob7%FJQ`M1gJou*A zRzEuPCRzNjsCo%Mt_UPnwSDZ`JK( z))4r!nW^vF!JV}ca2`TvgPq&@5HnH`%Hm7(a7Zb@UXI_Y=liDFF^0@*t%2-ba00^c`BseK^uF{ z+1P_3R<7U-MFCsta7}*yvcAlbLs55x<-fLc1T6Ym4+mG)ARSoB9^o8b5XSifkP1C+xN$ z5mGj@+&ZxkJLQ-f@NiVBU8Pr;sWHK2WQKEq<&LEi2{6PK z%OD0sz#bBO$6ABJ@tL$%9XpV+-?KP513Va}ls~B}8IC4PI|)WBwdv5@s|Kn(QK;-C)mi4aTlfiw&``%P>tblj1vW1fvg>{-nj0Sl!t4x;^?HXzNNj{!;UPvV|$V`p!x9A;V%Z^2yjMAyQHiutT_N^&{ z((~RJsa2w%;$2%S5;B{;!Vl1B8+->kS9|j(k$sJeBNN-jQ+>T9IxcHZLYC}nnWbnM zqCt;!o!96q;M4G>z$(1-hNMZ#XOa*6LQ)TpDwx^C>M~JLq`G|Fbr@;OoGyv;*5`KEmPeguZ^0Md;y;X4 zh(?oPqhgu?Jw6U~x)5|z8oiFenstslRQB7MXgaJjL^+8#j2V%*?v zSCmlfgyxs)N3J2-804{+9Kh(yT)A=~w^c#pVe* zOkBwihm_i|N4GX`9VLYEXha}r?RR!>)W0%Bk*~&a9!YM%sYufc@q*2~h|n0=$hxx? z*-hv&zV5=q8v+c(wWqRNP$dF{ z)K(cjgMla62fsj_2rV-V|0@0F~D@`LgNKQUV%7{N(JJodwj z%|?5mKpHw=y7`+)c+TBlfWd*0xBM7q6pL#pORRPOo;kizXh->SNIXLn{fjQFUt|LJ z)rTM|>$)-9dtLxD&ca|LR!-ud6=Qox_?sw-eX{7ei0S}w`xy9@DM;v%qqOybL)g=` z^SsYN@EXGeEYCR|>Jn&+B93m@HO_FL(t1SrmvkCZAQ`GH=;#&o5Ny!!fi#8MHicsZgEz>~f|(uZ#&Hzz z!cfEE3mTK!XMf1*oK!o&C%^7wow9l0ve~>MUy*6Bn3Wf`THk#Ji8Z_%=5zPuDhZUt z*1@WApY?j|2MA`0?gU6o>fM3J`I$YiY!3=r;U{^~yDa)GnSJBK87oxBgw+*gAHqS zNQI%{K#B|p+zt0+jchohKR~%P>%J{_*Jdj++FdlA2kse73n6G@l(UFQ6Z(vSkHUg) ztzrWY(n9a>34{ZDKv5Z+=p7sYI3hM?0`I|((3P_EH}b=tOV#{|Ns#)NOoH7N7|Q`y zXfKw0AS@45(_{UrasZ$j+Sf_qlo;!83ULrDJAXSYYdd^vvr9g2Rv)ce{n&;+RW z**ovjUV=p$bZat6)!)2*Hq5iB;hCwgSe4cBBUfhv>73JcLH$=rrejI&;3x+*w$QEO zqMi`W9?;AP@IKuSOHr*caxoKF-Jy#rVV=fyWX5ST(G) zEtH@oFyiWROmAMEW5jl~Ya1G=gs5q%wGIg8iMO5k!(~a)$g1AQJSAzy#?H1ixXN%F za0W26H?PFe!Z#|w%H!UkvfxM^QjBVYhhF!> z6$sX`D);GbpBFx$Sx--FFA8#$^ohf!>DTkhauf0*+Z&DYdNv)Whs%-}K6*0CWPm-@U9Yym98Baq*etJ3`9P&$Zo${bTXvMY>R5)Xru^(- z7CcbFfpOZHMtdd3NvF;~z8bVeG4^V(8?oAoQj^N2>}zx-qw2I?)s~Ev?T<6%v5zJ~ zu9aKgNrVoG%zx4EPWP*Eof_3uqAUl0-0l@#*sxpdYB~6L*j!zwTd$oKC=@HREY;%cDBwf4{f3Q|GV&lks13V~4CYzA z6WY09EYz>;Ai7zNa2zOD2;FPR;9ZJZ(cPiYVoZJpvl?n^EUC0FNDx)EWQgT>%366~ zTlXWrYV$RPJtA<`Ebet>@W2WHP>#LH5ggi8+4m-nrZtv%&+6dkV3)J@bc0ndf|HXD ziy!&~o%Sta8!QqC+U;ssZFcEMC4>|-=9C9AC{Y#cJfKJmTaj;Kh_#q|48f#RYcLBo zj<<`Cg&bAr*&S)+#i$B8MO3Ur5AKk$yaoPr)3`RJ2Em~C#vO>;{S}MLJP)zHO zYG(tZqORhwmJ5bKkhK!psCrUPwR-O8#r2zw93=97@_O;LTcO0?GXIUa)x#ZkV5Eu*xT5vgj{a|?e9>zMW?&6|UL*0@H{iZv`yjD)2ZEaHDrniZun(vw*?a7b7|1cGpvM$?N5fif z{ZFQtE6&q27lUi1B2ubwV$7>UgpQiRct{C@Ut;@(<-c_sKBTPd*}y_Qg17lGm3d@M zkyr$klag|hOIcyN8RxBI?kvfBQ(OUVL)dLQNr-W`b!1yni?UXCf9D40w^5DbC#!r7haWgH))GVqbfJX7iPC?G4e!2#<||FlZ1I?lA+N5VFFBC! z;dRwvlhe%Mg1q$=@tPMWfNj~TqQy;i|0CqSZBAFg=vGw+4gww}T~{HWIe+U~0P~lO6G|WBbt?D`_aal|| z*O4vNM}EvkEqb5Eo~uk}UkPAOSe<-R#DcJ`bK?{nk5V#+$_DF@>neVsc84EEN_82_ zB?syUZZK7fEK)7+e??KH{t%|)rcEyxUdYyZo*72iP*epB4U6On`?nglAvFF^Ha)l1 zJ|khh$VES~QE4QxQlM#1+Gbs^&H!MVFcc%!TO}Z88n}v=_XR=i^uvJw$(g37FZZQ} zJ+E$A)@6BYWvNL8Ydo7AOP6KB{Fb$-$C+zB72Ow3E8*&t%*BcA+He&m!NHk?0XAr? z`IH$hKQf!skd>I!S6v)4E{ni@_8$Liexp7`j6j5-RfVzuYemYMf{jP9$0`5lf)XY5 zs5gyV+}6uOuKfzlB>`<8{14^_5)!m}N@P#Z+O^g_xfEAsu{*F#=88^Nz`bu16;j`- z$(^_sy?8)1@)X}yPWB4$u7{z5SLSS-7?=RFg0pAE=9wGW^g~Ys$a18z@=_5*Q+7U| zF4VnBA?+IAl{0?`=qAT6^LxT)!rg>laZJ{|Xt#f9m-hlV`w!Gxw5I`yrM`1%4azwB zoCt#_?lq=?N;jUM_=UFe)ELlKMo8Ja!!C%HVpdc*kevM$4ghV%_X9mMRR-aGJ1qBPN84sFiIG(*q8*q z8wlBFSwB$0XUZ!MHGJn5j)Zmdj(9^}D~l*Yx6D2klDY7XY}oKEZ)Iz?u5F{egni}z0^@aMA+gjFde{>R*4(zC=CkODS>unb@w2SziPdtt{}72YfS+)N~}>ADc#~IXN0K7LDTa61hJU=lT%2szqL*>q) zbAGzc7NvhQ_9Sjk=I9;fF%OvX70o>~x*UAL2XwhAUpy~r6d|BS0fZJjAfn_%EPi^c z{|7hpd_VCi8!AeSar9!bcRf`Tq+pDcF#0hS!Fg3@l@F!Pl%-%|ql`~5!E-cRkeu&| z_!M2s7VritO7v$Bs2u$aG9bzVpZ89VlTtOwN&tEl1}RL%Z}T0Oc~0Ndfr_tTQ?(bT)PmzoGL@68QZbjBtwj=E}6&xl&6q3qe$WB`cNn0a@+X) zQk*2W&`ijNNeu7OvrXT>_mbU~B>1btonp3G`fCbu&YV`aaQIfOZn%PO2hT^N&<-ox zB^$S8PYY5iq>)nb?Dc85HK)U_y6PRnxwzRufinte<_Sq`6s5vT9Cq6Ma1%v|3Lj{EWTl z{>WTXzBU&kV36heQ;68885(XC577e*3S8lQEYO=ad!95A2-2)QC@#LiIjdWWU$=69 z+xVv9!xa+Ux_a~wig+{?;TfhNwW$#;ilsDzH5*(>Y~WyUUq~~61bG*bAW5KOtytGA z=>RwY6N%^S;|#kacpCTDU}QWBm&Rkb31cFKtg1v@^7gG{)O(k zzU%gVKXEOd;MEUrqVj&!{g-OYpFS~OryI1!6nXJAOWH?=%9pT7Jui5B=KF`!zkwV? zU-nL_7oNQvM?F~h%e774wYsbEqGh+l55u6h?_Ig+JWr+glyjtpDr1dccxS(@LG9`T z``%}-2n1-U5i*N7m*5#6rL=mV{R!j`Qj=UZmD(kHD?{d0ryG?^UVD=7oFX`aMsvV5m9Av9vtvSF)A_u| zllv8rlW7FSkD%HaF_A47&xz^I*3CX6!XaTEA&)NS4L_^!N|Ce2Cn*Bg0#DEPshfI* zjR)7*skG|E{ERD99S+Eeh;gUFou}WWGleZBhd--rYY#d=#>N1G;P(WWhQm-1EH(3P z61X*lR(;gVex zk2$haVnCt>0zc~cW{G42R1?65)ARZ*DGb~xL|}bS6kSr|r|*U*(|?^3_=EPc+9K_S zQM%{1zQ4C6B;x%JRG1&XL=(lQ`3qxNQ;PuqNJtmO1e3RrT|Ub~vS;us`aWBBTny?U zs-4(30>1TCyf1SEHr~_m(criewPQ;^P5Db)3E***NFjKKS5O z(s=h#iQnKZ1mLPx0|hVgKGpvs?>~kCTk&7ZFvUM*m}!DhpoUf+FEKMduSx%3CVn%- zCa+GLGJz}ET1_I!5nq$6oFYA+TK8zS#2Wfl=vv7N^nSh8$kp1H73jLFIm`vN*9de- zr}l7`#9=3IRc-(tAT@li^?c}h+4UZmpHz9Qq&1XDAmZc%RA=P=waS^Z$eQ@0#^mhxKVp0K5TJ&IAAc>A5*7CZ=Rp1mu? z`5LW*3k`$y=ha~&=LtBOTR_vM{=?@nK@*wJ=OJ7ze&m*{6xKV&->yyVJw6e*!D%4u zlwNMmZjB-LxR;76 z)$&qC{7oWG>RKph^45ok2d>Q2%?>DAbGbkJMejq!AS%H4-Bmynrn>&(J-GgP(!$Bp zkRlWG<%cp_35-~vAP%`)-~nZr`6#lkDnwBc{nG_lUBuaswFmxX<8Gh#Qw5O_$+;9;$nGII^B-e#r0h%kHG6M{ExIqH1In^j z?*R|lOS_+n@b~`A6xXD9cehuwl7OaQgIwUp0CD;jB+mdDGb`CYh7xs@as}N`H~n`< zN#^h|NC<0o4Jfha`Mj?KA32yn}i{X2nDkN58c%7Q+9vNEj(qdwDzM6 zRbI#ZM6@u}27eo(0QyVl`Cj{9Z1)MxMJv=Y^X)Hy)wXN@3JE&htCZn@xZk!JpjYZ| zwiz^eMv{9r81lQlJ|8n5%$ano+Filg1O9Ep{#92>x^lhj%LlqAxv7qT-Emb|$}V(x zAFbCnE$mJ;*lQT&cX~$~n#d61?}_8p*9Z5#R6_e=I7d|?;l~)!sKR!j@47Mck3tg*!7i@x! zC}5(qNC9@LIPy6RYo46Z^V4X}I#-*|7Rw(MggnD*Z@Ke?4rT=;uir1tu`kA0D-E)5 zJ2;ue`P7VS#j2z=8r*-9ubSz^I66cm+Sg9zuwoM;x3Tpe<=yfo8VpI5 zfKAQ;i*y+&tz>eqyax*Gg_Gda#eKA}w{;rxkAjb+_F#5iZ%P zc^n;IgAl3=Pm`{_;w7fmR}j2G!n|S3QjRSaNiT5JQFmR zMDYWZK;|(1%fgkY8nK~Rk-?&}>Y82IlTBao zF=l@j$zY2v<*Q@iT~?DDl<&D3VgBIq=6#)Ij5g1Bh74~XWRRInD zSo;IM7o%<^FsnSA>;1Lpr_roqjoQi?kMmm5pJ_P-$20hLV(WWfT&)HOFxhSWH)r>g zte=#V$ln6W(_8#8_h03PHXZufqWF81amryY;J8TVKM4On2><_|2;U?R);B;sFro7w znExM`{~wtDZ|MF1!2JKf{QtoG|G@nJ55WAbj&>wm^E_H;>>O6ck4ykYZ=rhg{`~d! z4>X6|QZwEXd5iNHBdCetH^fz9J=i#A5@)Won7-v~{QZ2!}8W;Z%I!QZa}8WA>O9~JvK z_lecXLa)r;#CCnqonf3YNc7RsUXBlM^mz+7upPdkGMpgs1SpbODbqqO)ci~K2KX*P z^wfBQm?DBG{!N9?aVR{0O%$oN8zg1IFYP0dLi(as-i5DzuKM&4Ud{DUk-?UUE>cbZuGfHR8 zj*&f5T|Xtv--{qhhOWo3h&R})H4z`Y1->Eh?jWTy(`WR-7tjAW30inTg1UeO=9^s~ z?!U`Pxa&9SalXJyj+U9A9k;2=`TdVet?>8dui&K6>@@b)jrA5Navl}~qaO~=!7>k% z)n9n85IS}OzCld7zr?}-dV@4FKxpSqgWb!RrbImkNhF+#7;&6Mg5cYZ<+SUSvi|9I z{e2Rp6-4Vw_YTXZ;VpQBQH*VloBrJ#l)@9QEl#EhSPy+7kJ;rN!NRV2D*4O}*lk0R zm^UsTo8mtJIzaPH;SbeII9y7P+KsGV(@g*$HcqeZzD#xE`X{872ZEj$c_w}bamOK? zJ>WtsxoE*ejT)e4L6ZPNB{*D*s%bR8Td~wdsSLja8TW7jP)zVM{ zCmvyY;?=Aiw=lU-GcCcr-w|_p-CUIc9Oz;pf3-n{35+b z3BA{3KY5$qr#$7p=hdz#qmQoJ*e=I3nhz6#s5HJll*Qtx0^I}VAa(rq*L&8@OjR8* z;=S+?Sfo@ou_Ps?DHwWf2Ax^vka}Jk$>Y|vP)bR{-Z`s(`;z;JK~1*#ru-)|ux-_f zY_6=ic`rs6QtEsR6NEn0`-cxCdK)v}lYbBo=?8S@9JA2BAzTxa)$auwyI!7~$6e}a z7C5upyg;DqjLW$US;bc_0v+_10SPsi;u>l$#ZIRt+mzdG@iK@;udmiK@(vfvTz9o3 zAX;|)l;(dQH_;mGS7>%=qzae@p)gW=ylp`l2Ni;DVC?;^Kbs!+wq48;!NxG@pOn;6{FZpW6#Z>&OUmyi`!wz{B7o< z{@3Xh8)BmAoWz4uvPFpFb#%45DbWPSYMEPBQuK8M<7IVlIr<3r4t)YFVgXoG%{54@ z^(kwnC3Mc=`u)Tgv_QNu{d2rQ4R9#^HNYYIVm?UwFDex^ALQY5uy&LKGQ|Dh#*F> z6i2?7@hk~-u%Yk&WQ1whA9W*QTO}j@Z@0~UCbaK1YSz?04ehyzj{%9jKikfuqc7Ud z?f=vd*G*txHnq^t67*3rCXi~f!BSePA_Z`%D8IlO{Jl|^KNQjd8R7?E$bLyrV36tt zxQqYaJy{9=&rcTb{38+~m*n{aW17c-_IHfReC-g${c>ZKf^ju#j z$Peb6t=bwN4AfPIzw4@h6N3TYbS7BPm8~tD9`;{ekOrM7B*=!yf|klPnI0Gp0Kza& zxZHS_pNUK+&f;ex`)6bQWg_z>@1rXR3#$$M7immXlkm9Csy1ATirgqh)B5d+q1V>> z$k4%;M+=Jq{Z^{koWPu~j`>e)4{?!Tu_#w)=BEyi^JYxa^8-7G#!C2$(4|P-meB>p zty&mb6yGjyOkB#gjbqfs{4x~*VA)!>(A3vJ*F694oL5Z3%kw&&0iqTmMMh~snqQF~ zF5fwUW+6KU-yiX0HSY;G4{R@4h+t`7prX>@7NQ6_sAcw0-WIwUID>p-1d8DJ6Q*nN3_$kHp+S}Ii~C> zWXFdv9TF!UTR|Z%mh*(}1fdnnv5g85#df!OoagAh7E33#LvHzFELWPb;ux#CL-sO_ z+t-Y>-*ncASf((St~RKS8rHWE9wT5Pi`#X`(%vcA-c}9QOhp021pj97psWx6=BIDM z@JZ~k#MTj>oER5jk&`zLFm(S_hqO`6lGbN(tgMmRZl(6yrGdIjK2#o`m(;Z6hDg8p z2oSgWyXqLlyWFqy2Y-c~DpqZ+Fw8hlEfwwuB6l5riug^$-_h^WP%p^wP-DeQacTcA zLg#^`gs6^FqebD&TlfBCB4GRpywha`k5MM?{#<~vRrHh1>Ag<2I?3DHrm=5>gq@AE zRURtL)FS7k*81%VBkjzZdZzo)C$aQRa@j| zPntA`azyI7j$n)mK)F=4awCxEa^j906t4b>pu;IvkFSxBv8f z$VUWGZ9d6q-BgWO{!}pP`b3|(FAXz7yCAC?SuZuRd(?<@|12}1>yFS>f1|uzIpY|k zV+&__K{94xhDAqK2lc}>*akUyKUBKmq3CK}nv+N6HaiV8(-|MT9!pS!Q$%VuBH?=p z)0!O=z`$qL2D?i@#R259wM{hjmPTWXe^JsI-j7nhtd3OfUZieYzZebtj~C$vfK))i zwefoZ0#K<6d2}=EKF)mZfBy^g~7k| zq<^@rA!?sQ;Ug&;=zRW2-C*uRuz_K8>G1c0R)WuVY~@{LnLRz+YTM>;V#gL?p##UY z0vo5g*!YwsU?V?Wd;Qrs-d&kzGNmj*s|PL0vFDW1;hmPN%dA_UnMMDT+YxLGZuGP| zWNR?7gMSgkWH?bXYkFPx!n+j(OR2(;83RD;8Mc?bIZ-eV#44pO`_|xpnpYUp^A_(?9*R^_A)Q3Z<$}E9N-BZI1?=$hz|_kBkX_EIfqr2 zPd=c`nrYsNEsYpTWwrMJI+q+}?UheY>mxf329=B*5cWo}fEuMelgFQnx^DZQ%+z8X zgs)p2&|Dclfpw`6eB45&`Urd&(I`vbUfl4or{cE|{lh(?)T(UKF><2-b`R1U&uy{3 zqI1|MT`_eeB)#P^O9*%&WNGi&q*%ZkgM>p;Be&7*Y|kq&mi{1aPKL*2Zhm5|kv*j% zk@$QL>vS><95deUyf~5$S5AFfVbjR(5?1ca1R{IyCm|~}=j8_}u^1fPu>s%}cXgZa zS(QLC)vA8)b+|jKrX|Bd;YIQU~Aj+fG z#qTIjj?>r_8Dmu!2Ae_lxqX9y)}OkZMv;xVZm6GZe2hJtG(#$xi_Y% z!xX{kvG)G4)*FNc{)bkIuz=FN1f+3-OCd0oNetrR9=ICxVyEl@R3#hu%)#bm3)7G| ztgV_Su9lS{dHe4#vp2_OR>UC=7YYvF(_^69J$+C2kDS22L5sj#8E@LVhl65$$p)HR zXr$AEW@CmC9E#-(vPb&QjmMM`iiIkror)73H%6~1yDRU1EbbLX4!AwGy_FHt6ZArt zoZc+A$d@I#pDDp(FJgO0W}+-LLVHTLx_0f9$snDgbQk`WVM|9}Z$*B*lwi%yAFuNC z+C;o0+KtLHH*g>@z_9ADw5na4KtwMrm()IKqXMpYB*aoCS(<~<=Z+gBylfyCk%0`i z6HSZaL^NeVpsEA`v+mGcxNLMCd>YHZCk|G!227F@rL3H>3rwD+k;^uxpb;PuU>K$} zS&^R@D}=G`wIwS_@~CHFJOi4q@h55B0;*hwVm^tM;7hv)2Jk9>AijV0VmZNsvM6t3 zo&y-HDT$xPLQBoWPhH}L(aWc+NZ}l~nI$Q&13qkif}lKsk`FjcDIkh5U^6PLHEk36 z&uHBuwT!q$Duto^>o0!!&6$A>0*bGz+8#8(IJyQE6M<&zwzOzcNAJrG?76JO1-#N+ zE`#d`EehQ9{^kzXLDW+pTT?;;Zmr)+EH=b6aJCYj(wBpc+Y)Hc#+%i?%BxDKBiEfz zv0u-ibi}qOF;uF6_pB%TwVRq*E_wuV-%b6JW;Mqsia1!~C7up5NsCHLK`bcpDfI9o zpT!983@t4FfW%`kDNLA}pL?*aNR8JV?Xj;F4_v3W$SRVFQ*^c0^ssQ*>j!VRXjlfA zYhnctp`ze{UFzxBGthkQ5>V%eMr;?CvMfl}oCD*+ITo^~jh%ai5EA^SAE{kO)EM{c zitWN53hL^--$l;&>q>kmscY!P#83~k__2{ zeMU3>BzdE%^*R$X6R$S7B4bD#rWyx6pC#RjKyIe9rMSaQHq$eCR|`tI@kPQW_iRpq z!iA9`0m_e^Wg|NMXi<2~5QdRmQ8Egp>BS@0cn!Q{X{Ez+uy=p(kU!IX!XXF)v1%F+ z=+^1xdZ>$x9%E}IzT5>U5Gw&VHIPHRw^O06#`cSm+N0WcO%drjaCDS7(XijZL0Qk! zep}D~J+iMXqt(e_YA>C{;MmA^HSUtT?`l+#k@>)uNEmq_UT73KOw;*+xKXjX{)ILj zc%xLGZ$gAX5UrPQ6LZaJF^PvwVaBr7;p0X{ka4=!kkJpE@?FWP#SpA5>8T?rs-Vcg zPL~AN;S69fKZThvGOLc3O<1dSE1^y?zdymGoV(D%Ur{73qhDrDUt!^SJ;Vwa2xqdg z0j=k47xSUChylH-11%PQ>cw}ekJkkwate`R)5iClCTq(k-5SFoQ9yt9%LsKng{&FQ z#cOLNPyTROBJtyw;WTDHnSzP5<<%*^H>DY`4Rxrrusk%Sr9K>N&>oq7d0NZMNtJorL~FOes?`p;TZ1=w9K*{vbP z3!X$`Q9o7!7nsTZ2Gs!7du4**LTPy;hkguKz%tN$W~_Nxt+0rphBNh4{$kMAH0D+mP?7A@Wr!^QQl@W|Z4Jy}Pkc97#lJyM<>3WVAp)`rL9*&}E!$04nq zhA;3+)4ZqcKADf$(Zba=0{Vu$@TET`Wg^o@Gtc?NU^fu}e6!HqEA-#5vaVOk7b9pG+VWoWB_Zud^}I9l9l$w|-w!+av$0 zh}N9grQYKYFo3|s^7rYF6u+u3G7Kw#s(I@FcLeIqp9JcJDM8x~16!nqtqmz`1lzt` z0&0ACuoN+QK}yK#x$PohGyanrf|)yqX+nrDTw7$H z)CMGL6=qCTw}yOq#YB&E`qP~?SF51AkGdqSXns;*i9F~pze`{mSd^@5kpVDH<$ns} zq{-Jll1y_Ed3n!pN?K)MOHUcg!^j7d*Q2vK?HZ{hf@Bx3lIT7_oF=>;Yy{Is+{B}o z=X9U7K3jq-S=>})oDgw8EK%kmk|fUGemP$I0X7Jp52;E8mpPmrO@>*EAdi>iND<3F zo@+ILspIX>lx+uarj5m>990Qm#PF&Qa1|z?BB9_GPElR(#4E~h=xKn1E5R*E1i@t8 z#~mLT3`*6FpM-|bVapqs19)U_`@?Pa{$PEClBj7s?%-(o6oWFOB-0rrui<+>Ok*r-t{D=eo#AQ2)m- z!&R;c4ev2HEM`V#@*}Hv<~vI>BXym%xJ+5LumyvL&`#z*h7^hg}XN|ht2-*p3#$!UM6(0;$H`7b8$%U@Gw&_E|AD8m=14 zd}%e6yEn7|d!q13LB%IppzMILEd49X)8mBoAD=YoMnJtNz@PI0L_Bz8QAGiZ0B?J= zjk}$;!wus~M)91wMP8&2*Db$nf*xay9&zC9Amx z?&~LXaZQqql?s;TQ#yWW+C+;o>M714RuUHP5n6dYk=+BllOz6t;AVb6o$i7hTirvf zsNN#z88itzTXS%hT)Y2xzbEkHTq2>#y!SDR=js8Z*{ZS8)=50dW!$WH8sihpncb1Oi52N_32PA^4A z1#A=wB*o>*S2s|xMVt-4x^B}U)7pm9N~xSF+w6uofVz^KuWg5CDF?+^ zjWnLmUJ2I)yL_?NFu9uXQ{x` zh~uQ8NX2@55>JJegkE_(q~$qD@uBlV_*~(0upYj%s72HZIk zU2E^V0DlGn&xMuEKwhY6IDlf_Gxil*h#(u}1}u_uvb%FiHy$|6tnphmZqB=vR*=Br z^y-jjALIo$i;wp6WGYYv`U6>@(v{~l-mXC=O<^cc1ls*b)OF2S<4*U17&!oShNPOR zZL&gHNP2=xeMECj@UljbSuq)w0iOnMkD}IT(2N^1@ahwNEuKMg`NU9+XI1GQ7_EWs zQt@}sv++DmT~PdmtgCx(FnP-8?U?ZcHG9!`$K|WG9iBx9o6JFv-R9em;Mc66+nwJM z)G7I2f05_a#;UvflSTSQdznVc6x$kCjMQsT?;-L1#z@iT(X}3O&OSIXM!00wU%-G8 ztp7GQ^WRet(CI+ul3Y5V#*&WndJ^$ceW*VPOBl^GybsBRZkT%_cp6x^jf5wit?P37 z$VwzoTJMB#91B?Kw%aCH46jNByaUkT(nKP>@<>QwrXhi`$yhr_dBwvkw^j@v;2ab{ zyXCY?i^L$QH_@dchz(rzYJFofl{mc)IT68CN+{oI@&94(Jp-Crx3y6bY0^bOYCuF# z1QZmchNhq>!7fr25Lrk^Ado^Yf)r5^>58IDDS|YCM2hqxMT!Cu2)!gEKoXLWZw7F! zwf8z_?|r^|?)`Otf)i)vJKizIGoI&pXTGniS8k(;kJFpel0WQL4Y0D$HG=@?&?xgE z#;y3$37qA$?NRx3-$0LA|Yiwc4|(5&d|i_3H=>*Jj7) z|F!3t9fLR0Mqh48KiOVZl6&&J{n^vo-;%Nacbl@SyK-k!?>D?LI>SHm&O%mTM7G*w z;*hR-V$>44Lut=j@J55@(EEXSb%^9WV37WeG{7yg0laL;DIS`#l6+``T#5Eb)rxtv zw#cOSE2rk~F8(frANiot2E3JRvOFvqFBPYvM~$ADrmvXxmi6O`{rI7atKES|0FpiL z-p8@^H60onk9xkIdW~-VPRa$yghf2LZhEtw4<&%<2YouL9%Ha7803*&2sooK3bLkM zRA}uV=FdA{`hH+V(r78!#t-~i_=gWE1N+=SB=Q}38U)v|)lx2xEQG8ty3SjhYdfQA zzn(qG*NonH?wFpFIdS4j>CDPUHRVJqD4^l>2=s@&xNg7u?|v`hzbiBaTy#3ZD=Pr> zmE|dI?BE2)cf_px{g;_aV>NE8$yGQ8I0z>NxAFhBDw(O_Q6R8K-+gDu?$B0&i`u!D zl(dey9lrS>Iwe%ZSioxE(FfL!KiTq)ZtlE$nA7;<_+81VLcdct6-R&Ds~}czj-^tJ z?O^ReTw3+n(cJlBuxpnt=_YmI2PMNNlRhE}MLQRqoVNCX4-C)i1m%|?s8nLm9h?g* z;cZ@~9^984(uiJ90-3=dVq}&ZmW3cX7aI?vQciWgw07OdRV_0-F3sNX`J$*jO9_R~ z)KAQc)2pxWNtk59pfuE{Hp`(gD2jLQa(LB zuQ{V3{X<^b<%zswLeKzdgOIg%y!N@je*a`tActdIXVw8|hd+(pYl6V49Kc_;-W8t~ zo&K8g9ZlYsham-lYxOT~LRy49vno z^YVHehOTXH$0(iX@UD{az)arNkah(hs(j_I|DD9wgz8^vsbFC!f~N*jgj&1`=$Xik zgr2Nh@#>!%g7*us-u|h>deq)~C!zWa>u*Iw(`2DybA7`{7Ch0+AjN;)fx&za)~UPu zF5$L5^LItjEb6?jXHW%lm-*Itn`qGO1qkeZVe#~{fZXTf5Ta0?1e;O&Fxr}9#Ktiapi~JYBB^zky5#U zJ5O~$(%No&eHxD`4i^^x;~-Z)>i$%a}Z&4=V6kGjlMW6&$c$?Ai0cAAIIz#VtAlN7eg+a4irq8R2l# z4?Ghuhph8hcgthU<7hQ~vlTfT1Pp%O9JFc%R(113;-lcclv_WFr-A;Z12{tcYZxei9iL1fl5>ks2&3cM^s$fYM8kh7ZlAAXiLY^%nWD zs*bXHjcWOS38ILj^|D@+augkK!A9+rVR&TeEobA6_^bi!@vXZww}gUircM@;keu#LIw3awu1?xp5nq zt+Uy^?i70O^HB`~@E-f_>vRu{&N{Kk>c_?gjuFz^gcz28{BY;@lKmR@8DkhK1_Fct z=N1dGf>z!65f<-TH_Y4o2IbVQNB2i|&U(-a3xAI|rVv|=oGypY|IF=!&{w*EbtptY zq4IN|KXWbTy6aqZEzEbg1OL+XJ$NNf!VK|c05&p9WDKV8Y0>>R)-dPNLXne&8xMP( z5o^=@5 zN^X@BPb>vlH2AZE16SUNM$(gqF2;cKhfi2UFmqa;XD|DW&)8kL$a98Cgs0~zr55ti zg#@(Ia&_s#TGaQwTfa%W6MUimX5z23p3|1D=XXp&O?1!u>`{F}46~w% ziPn^ozsgHb+@LMY+alNdFdL#SEZ-A4RA@zZo`I7ZunSP|i+qMWV@2B>eTa6rJK&qT zv;(E2OD|}B*mGQE!^Hym<;y%{S%o&+J!|x?Tpch~CO<`D6EK_1;xCwQD6HcP@*gmiE2uF!3!T03~*o^)4eFJCB%)GFL$? zS6#gNrPM)~v3JgnI*;`6?CI9PLybRhM2|7oBoF9krx_B)(A=hOMYj zU*$0-)6i=xV`#k5yHzXTE_4mXTAn$GEQ3C=kKSsx+-A;LVNk$ss|#IOB#NE)`g8P3 zN-|=x>qe*F!7m(6((d|b8kq68mq7}H`lzUPvOCh2Vu^2cm*>N%8Ch#q5abjD-aSjl z;NTorkqi)Rq8GVpg_yS2b7WQBc)J*|C!obiLz+Rm4qKg#Wf<#SrR6bz5{1Gi(8uHo z9xdVM@4>JKxJvALEpk~hkDv0B-|+o-8iw|?w~%}ljq==wjvdds?%pwfRsP6kI3*sl z2p>zs1&62jXeUn3EjuJO$v;RO$Trund-0zZb}Jng7s#nbuw=M(eH4r%7ZgP{Z$hrS zF>te4$N^IN=)5jQ?cPUP=!$LA+g|xm6SH{S{5s&FTS4|xf5RZw$B?Tp^Z04O zBru&&l(ZU)T#kaAw4B?FxS9Ml*r4hifViE)=eeWhm+7+L^$D32%*4tq&^qW~=Y%$> z%VyaIiXp)nszXf|;u6SseqH$8B4ie613G>FGQIzJ+PCP(QbFwFk!uhd))nHhTVC95 zuX?-PngQt8DXwPi06XFcCe7DYY@^zD_&qh6pHVb*2zqc)$pd1@S@xynMHP$UykS$Cqk zuFF9`WrA+re&CmY<4G`Cj!LC;#LuWCLFIFSNEiPPA}xwpY<{__37Y{RSEHfRANSh? z2>LuaqdY~yEnKGNdSwFYZ%k0?bGxvmCi;u9TR6^0b+ej)9^EgM+xo!%wL8)xOYPw{ zX0Ihy#1p^y>qoLrgsBeP)jqbD?5~%Z?Db6Qvk9M(nNF&TaYnG?021d`=w#!{*0*CFyWhUI z=ni)Nrs`xiCU}@Cndk~pjbE5yLLf_dX_+(I*Zpyq&#(5|v#6n2y>CaUuob;W{6jko z@ZCwcBzge7b+u>g*6pk$B)=ToTF&cE%;GHYt2nQ5nfh(G^F#F$oDZz>HQ)4mbAGFF zZf!MY@6`nWd9qOA#^IPU1&@};cHH-O5^lD?vti=y;QbZsTUcCd;oXJp-?%WbINR*@ z6TJu8EKPrH7--txd|n)%UEZ$$Z-f#{7c5e@TFfRu+`MIwD&SKlN+zE0bLSvf>mqmv zWMe^sSRa?^jlKV2mxsp6OD}RYk@Lb5UEct^u-NEtyKtce*!$_h4doa}F70(1%)nUp(MV4r?mZ~+?&yw|4Xz^><2xrJo6(Y=jX7tG+dXjmzCUn z>u!uZF#?EL+%Gu)=LRu5z7?|ROb1S$no{qg39sEE%{~B3xOHKB^P1QP<2>B-rEY!v zX0mnP8x25OpOm#5cyyS9&hALvbugb0zTkyhAGO;^Hq^O6uirCRDcS6^NzRet|Zg%18u=gSP*aIPh5BA&U1M`t-mJC)tX0SG3njQy^dCr4Bc5kPIZvbp|HTZUGQ`MyWJ-(2UeY9wdF@X5 z=k(KOPDM_?rlM<`Q_*#F2Qbr;rB(AAgPbwpLSWXUWyj2UA z!dcw(M_cp{pWhB%0J9R7E^JrAds)Gb)3~)njurAx#)9@JG;rjy$N9apT}Az>r~lSa z-a7?@(PE2sc$&Yi?()pVA%vrq$^j7wL@AZvnq#hS8w)K}-0Hvs_CPQO>}}k(+nLQV zU_@2A@v9Q9N+ynR1 zPbLvNOX=c8dPPW{N%*Kwxhbk0rel6Fyqf*~&OO50IK^`p`$raN_{D3Wt<7b>kJ;Gb ze&MU~fSo;=o^cRzvl5J|ovB;1@m53b`6zwF)-!NGM6diz>fdrgfVD(4ptsjUmrm6{ zY0ftFCM49&Hu+FvOESQ@2ehB$T*wH9nT~&Zx)nO>G+^CrgLd@+Z-Zk6aLVve<_Flh z@@HplHcR(RCu+ox63WUmN6AmCPi0?dzS;P9Xi~{D*wHktOQPh-X9;2GgP+>@?5;Zf z31r2y03a*z*;?7Tt%8MeWz_T`zx&vOwBMHlQ_R<%9k~EEd#!Uo?_R3j7W&*oGv9-& z+2?<|yuC+4nLD(0eVbSOqdfQ|a;)WH)}QuX?$Sw~2?SoQrc*;c-38WNHb!I@c)j^s zTW$z;l134ic_B5ED=TT3rw_8ISfV*3lHo(}QXUtAV_jbYo8-?$(K*Qa9ayxoUyC-p z8Kuy*?M1qVVG$K;M@MxiC6uum8EDN8&er%u#?`Ov(DROdxp)_1*f=wB220E$VP`A5 zpoVElNdh*1AjoZq!m~d*E#3o8Ey*j_A(j;{@86e68WsufXu=0Z>1Nv9?Z%lZKM4cX z)yfehnE2~YmgOruR`84^e0$!%${aq_etonuh1rcuViJy=2(V$5@x{ob+0(q8M7SUtLA~UBA+DwfOJJ(Xz_1&`FxwC{A)Fh3?X;c znIzQNorkWZUmk|RRuuHY8yG$p7G~t0xUE)S+Nl!M+>iyz!vk1E^~J9`#tsBWr}5Og zl&vK#+T10tf7P*Hm|A-J{6RwIGteN^0xVqTkc=rx5*Km#8e3U0r6IoZ;JXI-#QSKE&Z_5TD0Z_|E`G#*6yH4`nANdLz$(je(b!GRrf(8 zJ?qwl@E|<5T_!~3rN2@iSF`K!Lci@{MvUh!D?#l2AHbiReZ0&LIJg&`BDpAt&XFD&$QgQ!2I}i>Z&sZ(qLI_xosw^< zR{*AOKpK^5mzWTYKW%5FI_WBaF)`kN>tm9*6UORoiLAti4w(#+#^5DUF#A~20qjX& zNcanx5v(qqaIAIim98JUuk%aw5oSm$~?hEBa0PC=3-STGJ$IHG6>~7Ov8jm(pEzIJaI#0e~`ZlP(_H9vyEn+r+KV zN!#s8n8K`ty7)hWz=mMf zG}~ZU+0Kyx%=|E3RsLZbZAX;$`0$v%2k+AUrIE@|m7OM|Ld)>n0?<(zUkE_FJy09k0^8!F)Icx(6i7=oGNjao{Guxg= zm^8!5%iCR;iE*vhe|ShWe=r&iO+Px1nQb`Nuq+_uOccNNq7z`BWuL{^T`N$oeDUQR z$w)@g`J;wRQ;-@Vk<7c^j7PCQLDS*8ktIY8tPBb8hPQjfcGcnHsK|a=FlZ_&tqxYD z?mtKAaUW%57{1cOFuoWxpHTycx3{a_lMPBQXwrtl4vKDgXN`3bOE2j0Wx*l3S$!+w za>sw{#LS{1F~J5hBkZ;I?r@6}e2;F)M?Jt6T}8@H%EbA0C$OoG)H^nNggwo!Hs%NR ze!vSHGZcu5!)Re9+w$ys)pm?|nK9<=|Mq&j6SJ{;<-ETCOGSH!3+8#)$l+Ab9p8nO*5JcDGq#IAKI!|D6S`$5pc} z%ORYHGehon@Y^(!!&7C{!1r3NKWBM@K6XqN8Fr+)<8<}Q1emc-TDjU32YYrgIBhNE z4chA9aadh|=1i^pA?C+MX{x*=os!k*F~KTD7s?XOVhjR~dMn&m$FUZ6!Et{p6Fz*a ze5UM%e+)DK7Ww9z4A#sCA=53I`TMEq7Be-@$Y%OWEx8p^q?4b*rD&Par|Fz0Rx>1g zLL$<9_qcGR?&GJ)ka#2P#g`wGQ~ETb^5${Ffh)V$msR$SL=ji(X^SG!mq5^0SZ7; z%vVAFIVo;dmN-b+=dnV$Rr&8CW*G3FQL(qI!pNW6XmaEyoOaL3H;bRgBRehQ#D5as z{#9A?#`)_P7kw0+{fMk%=CVn8Kqe&L0?p>nLt3(~6%Ucc#gI{E;hdp%3MHP^)1j)| zEkCEIS=8!?m5gnJtWb)7T|TNyg7l-W&QMJHN|O)cBWl z#L5H?tUSe^ws*w*CU98%3(9{x37~vmgm!$jJmC$(IK1f)`sk?$xknor7t$BFPrXEe zMMVjUGnkC@>y7IbBF!0%3pYkd5%Rx2&r-Rbg~N>^>4+$L zKkTzx)_kR;)WWX&IS(oFEAsi|&c|jXZF;GyWD}~LBNBb0%RSi(GwosbNEh?&{IE1@ z>_QSnSWma$UEY)9=spRKwgKpjw-_&KG^KU$6;*Zrb*wk_*g|_nkXO;5jJZdT&SUPgN@z=Wm3@2topb_n@(ctBuPAl$w zGNXn2j{+!A_=IN+kkR**C03-I!%fzsfgdI*uV|*62`kV9wmVCts#Jc{T>`3Qt+idz z7>mdsrGvW@2(mfknuWUwWL~xszGFGp4cvp95QsNC9noFcLenhDb3ogFw%MxB{D-Yt zD6vT4KZ1nSUxX6VuiSQ#foxwJRLQ9K{i|fYdCa4q)NhKN%inbm=MHL#RwLxEbA$Elz-;|_ivcFg4;0v>vHHE{qc%3lGRUtP*{ zZ`;hs-k!0)GnBxja;(-{WoxP=wJ~XODf0HDLPBt01x2295Mg3Ruu9F(FkeF1Yi&8l z1WEtUl@D%rWf06DHDuRp`!!Lpc+qL_q-&xljHCeGQwM^d84V?WGDFOs%DADBLdh-x zh>XJ8s#MTVPm^?QiJAOb$@&`Y>-f_@n}ZIZaC>Aze~PpY<0M9a2Av90j$9dm;Loau zr@w3J+VPN{EpdxEodvqRe}g$N4J!D;+ni^fAf>yTF&ZnW3mlqA(rx?{a53}Mhx5=2 z1O2llTa76?B+3z})8^%vv@6sF3Ra*R%*LsT^zku{JMZ*=V@ z-vj)qG)&Q+eIg1)v6a)476Lt=CQ_a#l24k)?z+&)>aq?ThRpeK>+qng-S@|7RP9+v-!v7i5Pq+n z=s2d)VhTsRO!4|8g~KiIWYb;>E&n(iv>Qm@D3hI`zwJgOLi)tkC2ta5eO z+yRT=>5SyXJmt}ZT~JCCvYWAclh#Nd(|e@uD*@#mZ{ydP954hhnK1FU>suJCpcW|N zg|(l439VK3(#m}wmH)yV+fN4K`Pf`+PAcSb%!#VKrN)gn%b*H(V-xy1-@vpwU%FJd=HdwZr8#0e~Kc&9KreW{Vy}mkxerX^&iYUw>Ql^r*aZO z*(A-JuR&cKiBvh*xtVF+wgrn^0i$XqO~Jc!+L}{4xvORm_VB54>yeF?#CO-Kj~`xE zdF#Ok8NgJo&g@&6usiaJe|kQO@KGuR6dJ%V2hqOK((;ZO!QlsgVbTyL zCcX9e503l`6O%gp!la|PV8>f7YCSHDaP*bNuJ}{SI$1Y!5ZqgkSmUpd_|8~B7n_st zquLG8ec%?N-C2S>ol71du8KNCjs8=qf9kpzEfbsP`)r>>Cnbs1n z0}f~JjS@f}fJLP9Jfz>$yvWHSnMJGT@^aQ>=qqhlJj^ojD?BnN?F^{_15bW5><#}m z6y3puqQM5&M7CKeNhT@u{ue8?D3o}#bXbZI-09JjL^788mJp2}#HO(26&d%SOJb7Y zEY5u-d08U_8@(!-*m?s*+Nrr5hR`RE3MD)%2MTI+gdO=j#r-M!VPpW-D(58F4w$Gh z%!!(hnokM-p*P^8tux3qXDCjD%s_4~XB-qgF&e4 zsTBt7!v8c*KP@DFojf51t5JFK!Hnc|te|;v?be_No2dJ^rJ{rL*RLO}NM5*lpkG#S zpz)KG71hB1Ah{RH{+irJSHc^6S&6$-p9mtyYk{sHVOVW<{KgRu@X@mD?Q{kpOiQ6zoX8f$;LH>h4U>5VAn3+5Xi?1k4Cw?q6>Et%v2=CCTBt2bC zqUyX34}mMB`srizCV#F4k{c#Gfg$RwZP;ocEF+e$ChZKTOmjqWnzEl}cDvh(z4*D6 z5&ju~3(!7L|3Q9FCJtDaI$h{0ERdoMjgSTquNrtE=6`#5ZkAO(mNrc}ai!TR@i;n` zjTgYeb+SuL8brzrAronynPh3IJZF$a4N%e}hpMu2^`z#jBGm0;5dgh0MqUD#kZ|zk zkaa(W*5jr1!9tm6;0&l~c47W%;Ll_6r~FTSwF=XY4Dv7d8T%PX8W={-a2J3zDlwX$ z5~}4@!PY#pRarli?{R8gPsm~sqZ(+|`Ral{u6)075q-K7Y#l3}2+5Gr4cxm?BcdI6 zE=%@6P~83H7dmDRsf6bR`Mu6tld}LTe+$r;K#$!1knEXtt2Fyp@&c5y_pApRD&52f z<(}eLS(1!;|50M^n3p>GmfR6#3wsftuC^TM-1|)`ir4Y6u&(A-QSAUB@A0NSS&@yO zE-XiomYNGhPrr@MpOj|Wqm<091J{@Qk&LY5URrQgS~^G1%D(HiM&SWAHAW$3NSJI+ zI!R;4u5q#Z%vWYKHq-Z~^NORCM7_z+Z%WIfzM?HO9#ZS!2i;~)0VG8V$i1~N0&rz0 zO?@la!YI~ELcuode(B*YK;~boZ~ex_<`+T%Tu??Ymkm-~SAI(F?)mhag(-iZnxn)E zuO3ee#599|xi2(yOFj)%q0pqY)FNY*QFpE?& zQk@h1jn>VFfkvksoj;ZX(rnJ45r*%=QF&fo(uu}(H6hd~Mf zFsd8x_`EVP<>&PSuv??d3?ie>B4z~)%>QTNRZCsZo!s6HE+iA_dyPZ&N)744!^elK zeAqm80mJ1uRax)=z{j=MEoXAK9z7VAhC?n9g?s$x23iLffzO-``-Q+xEj>z<(0Hf!M#xQC zju<#$!S-sAL1$(l5_ob;_KTox5pxHV=-mu`C&wcz`I- z`5h!U_Mt_E+x%8cF49>@p1QO14GwZ9lD2!@Uw-<@2fZaW?{N-#Fuq1!>bM6S6$s@< z<5LMEM|m%8;G4@0T@fg2I0_xaSfxs?SrJ(_sqTOxp}q+9sjRPAAIG&XE05q-23mb3 zsH&j-8$CKz7aHMNX!zMRSfQ#{7|+pSlPN3mN<~5DwMN<{ABm%O(>ZM}C&+&G;Z(=s|e)4IaXDlxb_ zdeVaW&4WNEmqi$fx)0n|)B#d-oK*Z$cU)s{yVmD$TeeCTDJmsL^@OZmn0Y!!#T!g0 z`8L8pZ)cr2+-(z3f&?if7PyJBP9%R&2Y%)@-hJbBU^mz8`or0y!i1WEKerhn zrj%r2ZLi)%ba|6lF71F2;T8ihaJb1Zlhx9FN;Bli(2*@kwC)SjBQ4*A;n|$n_vETs zInnNY7N!HpzHWKsB|wWHS45eROqud(!uNKL^;B3VU~@;Y7Sa zLDY|zBnY?j&x~mES-NN{)J@z&)StUzo&8yPDl^5%z;r$ypu2yHP%@LAsQKX!VH*xeFDto zvilM)7kn`b$9N%7e7q|;0&`GymGaQGaW=3zxyj_wm^?{zL&xq1b^<>{>LZ@LfWEk= zLi5xpm_$8(N?aXgrHaL$EM;nE$Q*YuQWVwn`&TdK^a&pRFI;N> zr0a%MSoD5^{l!#xhG{CCsny<_d;eQ@qSPDb=2OPVYR|pt55-=Dh&Kpa`b2wB$3xk} zZJO^1Fe8u7Y{s{ZADDFON_5!S0FwL67RjAHsd*x#%EuJ(A_`_aoO~Uie7|^1y22Z2 z`nNSm9y05;Ne$8)PbFGgu3rIm80yZ6ggJ*;yeY?DMX)?vxjxUNE4H7ePw9|#B=52W zssldS466y4u!;`-M-&)fVaUCj8LhiygP~4@8zO>7r^5|#x>Td36#U_wERCZjMoES| z%Vk*O?6)}VGw!1cuaix+n~#!z@>hB&?D`R%*MQDNY3kS@r~6-C|C)e&JENCg2%7Rh z>p%V^5}jJmwf=F=ipWg4JEQAT0Fhk{)dRRIV4{?N1B}5bulcp41fam#d$lfUT;xhd z1<>eh1gz=-O5mV12F`>bCRv-U3}CFy<@;MRB#Aq;B>_wf)h8M;aI64E{UHWOLQ^WW zg~sH%YGwv4!;@(}GNI{-fT`ipw%POFm>Po6tdAmIb(rSSg*KQ-f4qSR`z>N!sluVc ze|q;QrvwzzK(aYtEI>0%jhN6Cd2DIQu7P0;Pb=l(fFnpBeh6CC8&IUSF5dty2ga*B zp-GJh-^bbgt%I7?4YbcNPah(ygr2ma#sy#@U?ZnD_AEqrawp)YlPnIKpm=)1o|4p7 zC)t-4YSxDX7bF^;V`xStODd8J(nNV70!={dJjjq1gWu<^dScCW(pYAfFO0x1-;gm$ zV=W~cokU0t)%?gR&eH>iVpB$ZfpbpI?GrPMCbPC zI&767j2Kg!tg;l#rHv(dMD){OmFqAhX=9$Gy-+^I>Q1%pTEyGSzu|Uk2j_rYzWBek z{)Cw=d@_4#%}MVV?G@B7Esm;(q&`}p*gB1~i{5ZdXfMaldfDja$5CEQow|YQG)n2c zi(f@uX;dCbsjWDW@+0aNdY@xOjB|cmhJjI&`$$s_KNAB>(YEMNo4;95|CZcEKmMBB z#b1TQApGr$j@Qo6VmJUH+lO-*c#Yy)30hHhh#8Z*@fpkhLuC4cy$U*d%mfaxCy zPW*6{4{?STsXAQn{ z{(Tcr>K!29Sl8pN19(7d&q2@R-T7v#(X~%o$;UYp_R16*04&hy|BM9!lu2yv9y4Nd z(D;TK?fucVucPt-{S0#jOkO2Q9uNrU0p4G0#a&D$Tw0{n{nOxN zu%=8jC| z8xHu=L@D_vcPr09Q|Ge3O3fz!tg8JfHIH`u?+DFG?)rN716O7)l1a7;Gl${v(F@1> zzr+%bK6Gkz{ZwY2^~=}yZ)`rJ<6OGtk#6e~IEAZ;SAzAzI{FJ zHto79QK5T-fLIV_Lu4b5q?sH=X6q8&CZOEj|$)Qh#Q z#L($Tb8{jq!rfcSwD-C-ly`*BtX7KB^Lls~a~AmmkfTq_I67p?bED6mnInqV#PzNQ z$R{KmtcNVA(V(cZmZq^1+}r8o=ZKdF?^ylR9vQ%kC;pJ%-=071CnigB@KnD?E^}-i zbNwwOoovW3967PXPfGfjGr^ob|DVawrt`lW$mm*hC3;0~1dJ)15vG;#8Z@-JSl^i8Nz=N_2&MAwc!U zVp<2*<0v5w?n@ZMm6`)F1~etj$H|3nq=7o#aaZbFlkiv)AG4@K5r+XyL>6w2@d(-9 zI?$X?2_dAJG~>C70i6F+@c-I%*~Aq=+fmcS6)_sL7B#FgcG(c@apO+Zfr$O%ZY?qT zmoY8JMQ#jUkWcbUw8YnfyfGG>WrC0x-ZUKzJ$`?SsI?@DT?1pou!6@&nwinRos-(*z zqX;KWD^OIR#*HQDF){Cm9NIVC{QVPc?I{*NEda3)gQuc4FdP6zEjtMax$SnLb}{$} zDATMlPCZ0rzo+4yM za8e_;gL&k#4qqW;89KS6`{YKL% z4!T;)t{F5(2cG=@TlLww)xYF~DWzT(vpb(c@m{5DEYSyW{(~MJ9K&msnLoyA%`HT} zKSLTKdmiATi)h%GPCzxSBj zD*vm;#4$(yM5ffU>&@@u$U^)8w=*R$PJd7f*uHKVu%<9e#&n$l&g)D-Zo*&LE7A@7 zDFix=5^TIf#^Id=Eso6VRACdFj|af{158`|8X!U+o8KW6xDU%7urM9f`ZbQsqva*_ z^96!?JeI;n;pFsKDcu5;##ju;iex2Vz*_)jNyxB74-^@u^kmsVK@Vxz zPNwzmzqK#}I%LaPxu;V}qy~Bl+0t@{=t;)}k@pZqy+*L2{>U|x_K1odk58K`)Rran z8g^?{+6nCD6@=WBfl32`arMZz*19C&+fX{0o(I?Uwv{Hx-fRZa}93>~{kb^VYsIBPR?w4U`{`_8 z>n7nh<=ic%(7#1-mmq+2DYqbfw9oc<-BRA=DdM*_Ksy*b=K;{muwN*i&tP^J_QJ!s zP{A$Lm0Jz)Qg90${dMdN&4ilsA=_pGri(<%D`ZHgD=)`zG&GK4bM&sjLWF>nR|3Fh zt==GTANM81wHtb0{CatVvo3V`gnnwZM?KdNaF-l_arRlu=R zvFbE{{PJ(8tPdF#+oH+r{()7acXq?Ex=EC=+ol-$t}I8R=E^`C&(}fzR>9Zvl$=)s zjStq9yf?;f4hO^LR%W_i;&C;D-Iv!T1cw~n$BIl^inTo+@O8`h!wd|#`9A_jW$yiP zR7R1BMc95>N0KHiNA9u>})nqnjLJ5Ue@uFAA&Z=iYwtQ?d`PvA} z%1}FO(3xwUgSBaiLg3d@m3R&aw*{rG^;T9?3DKXu%Va90dIct2>5ZmR8R_X$9JFDq zPU7pr3WC@t$)};ZgjW|TE78dt#&8rP*08xz2O^9}j_aG&2o%kmUpAKlosG;Ib|w>H zZpjJt&X~(x@+awM&bF6*_Wx8krXgJpIrhw|Yw^UHrKX?v2Jvn!iS+}0fJ7Ft5%I}o z7_=noV${T(!)TtD5&z!gX?WqUCQnhZhy1P9FF9})iTzi@3WhMmZ%XJq$)qjg- zcNZ`+oh2ylR>PVdl`gHzp_!VBZK|az;A)`7bP@LNJpuL=9TU0}*-rC(I{kImQl|_h zMv5Tl1+mr5vK2-@DO?pLvc`-Iqa$X5PVWgLTX`$U+g&sO>iF|+o!=9b>SQIEMV&wc zY%qW`B^`y?dHiumjg zxF?&rhw*5A3hztLuu8Bs0B^i{LG?r-o}uYGFV5LY-}$6B-}}2q2Q%fKLFa>*W|}Fc zCJ0QF>A*ypVe?#XCO{t`sp(xhVb$V2{^Pca4*mxBc=?&u3^<7iL;k^*N$jDL)P0iN4QIG$u}aYsgU7{>6)Do;dR zMqg`mH@U~lF&VUVIT^Sdpl7noA7l3RTnxRb=rE1n1Nd=kJ39D1$-$f>CpIlcA{4VC zkvb)vx-1jJR}vIeQ~sNyU41Fy6(yuOpZO0y`?KT-{2iarzC~f}S?8OHMt6_FIhW<@ zt~a-Q9V~nz6d~|+xdogq;Qy4!-#5gQ@!jb7hAOT)oDiNUeo z@&5M90{SbGEdXEsS+mvyx_`fgY4V47UYEL?QyHkhx_H~E`_ znTc0$#+Oc)ZhqBouWCd=_o~(UVq2yBUIrZAZ-4hN_VlbXMZoZEVCAU7L3ng2G^E2Nn^Usw#cI`w{7_GQa*PEAm#}ipQH~j4ngx@HV4eDz5e z5a9JHU0`|?qnjIoBW^%C#SXOXP!^s0uU=#TG&k3x0`+Zo``=G);SXl??=-BRWeJRE z7t(g!4S3IWmsi2dYrW<4QjN@w$#N9*Bkrp;{_w$)xJ2&po#*bbuwk{nv!!&0j>MVY zq#|k~%YL+ps*8Oz^Vw_fUUc-XCC6(-AH6f>Y7<@Jqu&X&CO%15$k5)K^ov2L9Ya4S zDKd4#u?U(dd@k=pd0M}N3*Se-moOy_kEUbZWAZBGCpwCg2AHVsO8l3Lw%(T1cR#xA zb{g=V()O6Km}c!hurzJ|(aL*u0!QRkQQy;B>mD3LeIP|K43*}H!T`5ude}Shu68_jJQ)n%4ID1DE_85C&4$V zuY0l&SgrWM47oJ3sRJ`e;HR|lcc9SL!)@t^& zP(BRS?^x{7qMV~ctvez3)PUK$ziUb#jkQsb!xX1Ae5WV`@&2&3`@Z40%9WR|Tkv6R z;^y_9llbH4wbOZ+6)OyV1%)Fyj{mOZvWF-79iXD~^lMu24!*hbcjGBgTSSD%rSsyPomljh&S z6%M-<%H`cIqQ3OGxI1ct^Q=m;$6+1tj)vihV{;36g}RKE?^y$fI%U)sVPs`wwj1Bm zQ*A?@P zUwTrl34L89>%2!>QOY?+?TM^~P>HJRJa4n~XB6(h@NOruZ&28}nlGhm&Wkht7Uvh` z5OsMc(BXAgFpqqosfBl@xMjhvh@-5hA%>_(hM*qh3dJ!iRD@(D7By7Y%Q}YJjc^oV&~C_$AN-rw?1czk)t+ zzF=<`zV{k;C~Xl#c-{LBJ^sH$r{K%27Y_SVZDm_p={X*E-+3Gvze& z+~rZo zLux@!$mKz39V&bmPCMtvzUlv_Hg#hnzsX$G%prbY!(Kj392E^b59_#P69~41a{LTB)I}*5G zcY%)Bx3)cYURaErbUeeIKSG1aJspd@!C>qAmNoVYYjrw7Sm*mF<hG57(<&Qw)WduzZbbDf> z&6HhD)XWxB=6d;VEWnw651yQ_?Mp!x?9HQuE#|#@zL!*9FWbTAl;-i0@;fBXUSc7U z_canMR*8|hzb<*PQuhvo@MKV07#e2``f#6K&@~G&9AB0g=hpqdIS?5K%pq$zI=cGA z1<>B9RzSb={@~On&HL>*aP+be(Fn;ajVZS8r4(`Nymt^Vn*+JY-J)e7SR%AMf^`~3 z-EVaEm;#G+xAyf}vC-jBZb|dpD6(Qj1}Gpk>ZJOV(cnn)p1gJK0oJ@Qo(o1 zR3dMWO{@y2j_{8N&VVv`y345?-@kZfD?)5xm6hH%7R17kXrTk&vp! zOsYV)%R0U+r{U!^P+{#g4Fcl78Pm(6bd^u?x?te z=iX#lB(gSAsxiS_A6^yh^g5h##9KtK+bY-ja>W&pU4Q(oSMGdgn5e4<9_32R8*+bD z_kSq+3b&}cb!{4?k?t-@rMo0vKte#em5@ei=mu#dr9(@XFYd3_qwQgy~r-?5Qf6}P1$-VTYYKF6x`j%?{IzV6l`i)ZBvw0 z*~L#4SEgET`O*s;v@|>}Z<)L(xZr&wD4gTqUy-YOXlgzNf;vX&LCkB7oiiO^Z<6pK z^CsHeCmsu=GkfR8r(_z8l6x-5rAzo^O_(3Vc`@ugp6r>6CBVyen#EYbK4LC+&Iq9T z@mGrgSCPRS4Nzx{y}-OIt;ueYo#0ehV4_5OWYR|-l0v|Z4p?qAzKGWMR+N5T@_6WOA+m-(_Z7QM z(ir{q(JJ}#$7+0|mJFIXw+;ZYYY6K|n&#qsipT14vM?nr<0SaTJyDK17eY+8OKi_V z$}`q0G~M$aJ^${L%{MV>s&DNV(mLTCJ4vZOQ0$rt?0dp&K$}On@OPzsoPJ-SW*;N3 z4et}Z=c^>c8+_qt>ML`Rz7WGIc7hvFXv4q$CP=gzJ6ilXVUwC9pX&!lrHASInOX>; z6z3gAz$dwa{J*l%(RMZ}ApCxwp;pDwozSo4@>zk?_U{9P!orNpc=&sf^usv3+d{P>p} z1C(1iB;HBB@>%T+G4Hna4XvAwu?Qt|?FUW4eq;K`){BM2U_f;oXLY5JO1EXQC!LQ) zs+E&#nB0QGW@Z~FUW6TrKhP9Y=yyrXHy~5Ss?0@PBc(T9BcyOlKk~gy+;pT`rWd3! z{gNzao-+9*_cy(OkgbCsBH&>u!4$t_~A*vA(Z|081> zQ0p;P^=I54HZGo4bOiPv4mx*@|CP1y&$cTFjXY5+(oXd&dUVHE%0$y3+bVVwB-Aou zEn>-&aXw8uoXjV+Zo$uU#lL>L$RBtwRljq1MUbcg*9TAAW->I z+c+4m&hS1+iOW0xWD_l}?q48g>~9-)Bwx0LwV64Q=P>zrU{~ywBrJI~G;O_HnlxW? zx0&F9i_U7i(cb*UHA5cqWi))gS*WQ^pLPM%fErA7%EHNmly2yV|K~~$$jitLJ*E}Y<-AwJL_W>OXwT1E; zG6t%HBH0}4Kb~|9U4gIY&&;~5ugW0t2mTzJGH?O z6+RNBv(>pg^o@OLh26$a+l-X;OF&=iZWUVAOUjqy+F1{pHe1bF*8FuM^3<9A7c21Z z-Ue9$asx)>`x|K1Q7%8=y5nsd&gC_%<4^aw)7VQdk|zLG|pHVsth-RE6)71@?lL=f5XwGd{KDN6DAht1}>8efaSsQWNPyd$N|vl&fSJV#i~z zXU57ds-DC8;ZDu$JCef`gGi7PJaS~Bd~OoWB}63|6`v1ERNcfA;TtEv92-RbjcD$B zb3P@>&gMb1cfq~rbe@&oxIx<-Kn5{$!i@Os0^fY8<_hOy*)(nzBeObzD2eYui$)*5 zUD9fWDp;OW!)%c>6l(uza>yrHyR4mfm{lwLTBE4Q=+agm4?}#;dE}GAVQx#0`!nal`V9m74_~PL@Z+e_ zh{yyuxIdNnw#T_O&EjFn`3?+ZvN{CMaS@R5q<#*n|6Xt%EYORcDSJ3B*)|2hC*$28 z{wQbmxkFqSp8qE-ojz{;la;?2(8UvqA?+Is}!=6`I zND3izg6~^m_Tinmd63cCIIM-P1rAU%M@`Z&u#%< z$%t?=+jxhkq_?;ku!OS>G**`1#tK}RkkyP^?fg5H=5qA$sAm0bevrW?WsB9fk*p8@ z`ptm?^lM5hKiBn%+M=Ys!Fr9B#Ua}F0)4hv3^G7L2q-yY@UY{rRygTFY_T~uA~bwJ zyPdrlR~xQ%>!<0IE7dcmwNExUBC}TY`-El^GM!oV?<;=c;g%+grb4q=Uov+~3DAXe zbE3)njW2PViSCB?1c5YPLk)Yn0E~8Tk)XD~7?Oo#2V!a*GBh19-1Ug5ynA)f{b#Gi zQQp7aPsf}*ej26bs@!fLLOKQL(=ymKfXxP-ST=pRBqySp)sW9TNR(O~VFjq$OvuKU zprkCk+2pr!uWXElCY&ktpP^22sOV$bq=0mNe(;;O)?bP03_R|sr4k2FT?KqR!wg-`g$P2qw1ShNZdZMnHlqs(DSgkdBG<=0idhD|k zDIw=D0(k>xU6GD7bBDvNoqY4di&bWisF+5Yssy_w_PIEdjq*E3Nffas<+`NS`aq7= zF#A|=XcfA|YEVHbzItTihF-pER)Eqxo7<+$HvIR%8mLqI*}5vSGT<{fs%5b%W5_DE zEk}mUXd56{zig;UQrn#9&2!FJe!4n#F{1S#dC8yE?IB82w6hJMcAV5X%#vBazn`TR8O~*ze!Wuf|)1eH(5V_m<5Xb9x)JyBsSw0>wwG?dra^ zryDq=jj!wqr2>(ll2JK;ssR)6Ub0ZA$|2LX0V>n|bG_O&Jx3>Xgf z?FH-$!L#J1w%e#iTc#XQfMnf4&}end^%wc-d=mr?3B+qBX~aIt*A!0u?+%@H5?2a1 z=bLwr228letJ?z?KO=8_l5fvuWJv4uRwE?HK|>eqTM6by%0fLqy*R!}=}_1ui-m zB}duWJPq7{$9B|_@=7NZDGkGUyl*+~y3Q$T5Al{@42{|S2KkpD=T4Hjjo4vw-(qKR zzwjs+SAFgLV!(XFL9v?N^B}%g;n4!?L{oPx0rQi4up$F zM89+V4Fd1HaZ;2*)^F~@>LW@?*yL5zx7jp7CI0t>`~S^m081Fs+k7&&zI5Kw3d%EH z7LMeBw%?Tge9{N32dYipjJz?Q6ED-yCo*E$NoQ5Pb2ByT52WTaZ&KnUXI?G)JKjC9 z-qSB-u3t3Gm{b!^JiLNbtE>FU0;n`TDMeNgkty4J7M~R2g#OGv1~7$#T<5=$nEaW04lN7GDq>n zj}))ryw^4!a*&I}8jW%D!grQyxt7v2p=Us`9VK!0m@QZ>VWCEgV8qzrv3QMBo_C0A@44%b- zI71KGPrj?6pPnQ7WSHBP6>`Ib7MPy4N=t6b6&%76W%RMcW~^R+&%(R0(C`QwZ>%-q z09=&Dl?)pz*;IvLgG&rIA2CmkAwVxjG-a3PXK-!<@C-(4Q#-l9I3h&Q5e~RZnD_dM z(=FHk{oa-d-^i0rJwg1v{AV^2U(YBVo8umFuY`v(VS9R#$oAimufPz2Z}W>TVD?q+ zmlS5e>0T-_`#KKRbo{uvFsIJd?r#2PA*=Myu=SKZe0H}ugcBeTPxUTD+@X(uZ`;(N z)u1(-`U#P=@MrSyHUH%7RUbmzD5L&#PIhw2@?j~Pu$uz64`<`LlT`4ezd$eiN~q3O zPPD+jMxd*qQJTPz{&dACHJ!T-m^sm%^3}r;*ZagU9gS2YPKzLyJj)MpOY#{XbbUH9 z%)?^pipoCnN;ZhFe>B-cMM`zfmRLS(Fe3UdybE?HJ$J4@IE;7wmk|2@E~tO$4hk*! zlepo7@Ke+^1=W_StTIwGrx*315|f$6=L^=r*Y0{|tq?iWsTj#BDSjOy?m)!pNIA;z zYXd`>sf)4Ck~Z=rzrS!9(c4E6R7wchp8^*Fvqv;@K`=zp`CCH&$8bX#lqZusZE`PL zg9*x03~bImBC!8LK`s(zd=4zf8ALw$MxgXlcz6A4q5RKzX7l;;1)l=pQ6l3c3bHq4 zsucgBAj>Um4bLGjp|4H@#c0mjw)K-sGJ}${e8a2l=0frJ4X;fO zpG^(Z*~ojm+EfgI>D=pMIh!HYePI5z5ES959zCE@}Dx3m$0b zkH=nrP_(R?d-R2k?#<#MCKqPursbO@7x;?U56z_U4lbTHVzG$zP@Ytpoj93NiGc>^ zP8U1+6pQs{iq=t?`&VJICk%Tu5kT;5ksi->xnfPpB8)*-u1CdTp(hs|#K3Y9R|F!H z3N&U1HAV^^4-mCbW>?8oqOlk~w`K8SGRNwd#B&$8SS8Nvh^rLJxDPK(ey zKQZ68ItxeSm%PJcm8`#ba-+`TR$|gO}$w-=P@r zo02ukqNW>azg!>P(U6F4S**<(6|oT*m~n=s{!6?e({C;XO?o$T3kBnR_GCX)1A|d=g zSjCJj53k)?-ss0X)@m03qT!f;WX4kyW_p$SNIS{W<6p&g8d$ei)qkNXGsA4xWmSwWSU9i)ZhSa%)YYxz6Rt^AR$$zS~JW1j8L9bQohTfzRI*ZO1 zQS@@8@7eC(L{p3V8^RYe)z5-NuYD;N;_CWFHYpF=B)KddHrUR$tBGVMBDN4zv+qrRV$%ku6E(6h7AKFFxLME*qU!3G4RdOEi=5h zq7{T?qx9pwR{I?wLHigWL2I`8=J%Lec0g_8!cOSlyoul3th3g_N&`f59lB#uwnS(E zeMe&vSc;|H(=lzXZUCD%>R10=xY3 z1Yp#!*KE67jbSD3#y5+9}6!-L5F1(UvN z7?yX!>yDprQ+|V3Wch2*uzm&mP(?UPwVmXeQVo93+?iT{7VXG%D#KV?z6stE-J2S> z!hp9k=k5_WN|oEp^_K%@*b2)p)S=F>H0Pd$f8_QtOZ_oyo;ftm8r@P(;=6&H*1T?;q_4Yx@kxljN1R;~3 zmW*gHh9UG`sKl+fw0@hChP)O~lT2-v8pJw)+$D9FsI`r)H~)a5U4u7AEIvKgzk8c{SKK z$OO-t;la3GO{PLh^c*m^6mmL~uEz%qPM1`zSakbeFg7~+pD@;?byl4_AUPZUPB0gK z1DiFbapRkt5WC{Z>lC}CAzd{l^Rh*jWySko1$Mkb(Gj-rO&Ls4!&%zPU+}ZSI;FSs zrBXYR90&yv6h+QVulLdw`_V)3ojh?&@0Wr;a5Z82G(S+tp~HKsj}2U7tMkP%l-$Y( z_|)caLavNbb+0Kh2S@kF-fA$M2&t2jgp(Mmo!2jBGgShLvYWF2vlc?lAr>cygi1P- zy*y;SqQht1+E%o;sZSNy}efHV6 zHc*dmvHO5-jgB&aW3R@SKWFB{Tx$nAFp!JMYccT45{N|d!!TO)aOVx3=LDTvr+s4< z-+GC|y@fSN&$xIcxigiWx>jYe3S{PD{92_<5uPFX8_L;e8#|Hj)f{LHYSHZry#4V> zkwghvBC8JTf!jf&YFy8}X2y|1b^ z6{dnrsl@t%K1L?V@`lzhBzn zn`gEXY*WK|5I3t8y1~SrTbm`C4Gg5l=3PiHUT9`_1!elNPt&7}5N)JaUD zZ90)=C|G>WZPE5pUQ^ah<}Cz>)fHMg`i6fEB-GwbJc9CU-HS=iU5PWT zp%KD3o_tDP!_z!GX)lL4Q5Zw*gW2K6y8|99#S&WV2dI_LE*aHbkt|2m-Udut=VkNOBx*$H8tiPm8brhFgDAcCA@o9B2jqI!0z zO)-c{82{10EA6BC?od8yD$sU({*;xa2rdp$+8<_iP9QJBRXB2eA%s_L(?=8Fi4t05 z?Zfd#gG687`IW3T7%mLyEliSSzb*v2v_jO+qJ@vPbL=c)#D!sJl*4=ahFlLFs&TC= zj#Roq^C-wJm-nIk&{^1bO4FI=0W+J=$57>{?$4_GQQ7U&+o6@3z--RNJJDcf-nA(? zm?UeeNiv8+jH3shB<=v|qr-sNZjgjGbz_?=m;~vZzGK%>+0R}5_ z2_6Vcou7x&CIbZDvi6Go6RBmU1f`RCgI|DNIbZ!^&U5?ucn<*T}C%|XMPL6xK3$Nsgd za11t=9J!0cfb@6C)v^62va^9?Kl>SDeh2}6v!Np?$1G_Jkn+~D_QFS`_EnqtoM&!5 zuRQz~3WtR3@?`9fW$4#>c@fyMTUq>G_9TQ-iT9(hdfF^1@iH~&xHo&e$d}Bk$yzMi zecC>;a&zl2T$b~81G%-onKoktIj?)5iZ9ZB0GleD2qrx@=gNqHWduJ|QTt^(=-``B zdfh0B{mrp#vi8@@r%F{A4?z}mg>L9}E*hS|5zzUeXL&uvVS0-D4jAQ!V%T_WpX@&^ z%i>3`&gWvM@5`KD|AMAfa{nEg!W?SA*$mnC2ZhyGSZ4F)UJkyL(=Z$h_VAklk|W-&9&W z9i}bJ`XxTgUlU%vGS3M1Y_wJzM&6E=Isuz3J6gPv^f3+X8Jzf*Kv+}8b}C*U+FPU-2$Zz` zd8W!j6iTN%s8|?r>1)^u>>v|T6z?by4^03r5m|YmuC8@8!_%8_Y#YLeZX{U^4E*kE z!a}uNkVCiXtFUPq623Kih5hd%D8zb|1rlg1AXjf(_`p}E^~T%btq;#~x}tZ}sO%jY zP0(6p4@?LNy%&VP?5PIt5_cq$#aT<&iS$u>LKQxIUnIX7_t798uO%loWg!bCw{^sW zq-bhDjs+cNbM+kfPnqvZ;HjA_xKr2cT1V0q;Tzhcr>>J;wgn1G!;cE;dJ8TOA!E=C z5lyb5r(>1y&#QHZTZ=6$xt%9~bEU#CPO59$?HoBl-9`HlhzQ6Qw<=TE&;ksbav8 znT$$PVXaFyQpbkFrZ=iWEtZP}k%L=T7UFWbuN@(09K~UQcz2aMUlm$A4jEr$8489ZJ%m-k#NeJ%0vMTvV0egivZTacreyz0;6fL!Tvx~Q*njqG9tO{;!(Nfav@bz5;S0&0Cv8T3mfD&x;-1c!6 zTj0mZHPul`$DlI_zmw{$sFkGYp7(8WTqBlT5z3*RrDVqiDWcfN8~RIq@nsyo4AxGK z9&^)k-+_<*vaIG0Xjmyi^v@^^QD+_%4NbVGLj=8gD>yer>B(=T6Uf$G(?*4A*Z)8r zB_(s5{v$Oq4g=7^z5-_=HcSlQ7$wx`#34oq z3~gr&By*?!Ajl%^=(!u0N6$@Pn^|~{YgBa2aXuT+^l&g+h{~xmj|3;46MxG}kfWn? z{^464mBr6{1Rh=?PxtxpnNMWiI$Sv;aqaS?)83{A;NHFl7Yk(ATFPkAPgi6m%U?y` zxdtk&jzPOohlIM(gxmDLLJBu8OMj^AjanjDWE8#`6`yLB=t2=Yfj=bjo-J&&p5@iU z(u&e?->H-A?2Ktc_nx#v82c;2#p!enfnQ%O9HS0P%*kjwy7eK|+UD!I7~B&vQ7b_L zd_u_9u`lxoF$x@-rghO39C9qiNpX=Lj_I^bqI{h%fT4pGRj$%Mf8rJoM`M^YE|=>i z;YCm-b*~ssL2k%t#fb;Y24$S2&;;yw)4*1GmIAjAxo>!tb6dy)cDx^ty*yfu6^RCR z?`zR(sZNBA!bZdw-#s;TH;q+2kV_w)Q^~L`7M)LCztoe8HGxO;;Z~DbM8FYo+n1$_ z4fStBCFqn+=jDj4O52f=+t06j!smG~wq^KS3Lh>u^(A0c~gM?v_!`xVSB z5abW#=eSw;&p4NAk0n9dgEE-zqkI^zzc5%VRWZ zC&CW=R|wTjri%#)pbs-pR)_~bIEXS+F?zfGZ(;u6$OWCgNebEGY%RIh>jFP{3 zz0QsII$MI|2^_o6(`KnkRH%jKKHsQz*Bj0@&~}ydY*-i)hnRx_P8+!5uBd9duhZK!YRN6t9W?slPM<<_ZZ?K>}0y$C*o6hI+0CbFk>32-}uBFv&GE9 z^;DAyM95zuPpKox)Rj$l+I`hRLy>LGe6!Dm3D=w_?58-IKIVvH#aA*N%x?Lus%l z@~9`VJV=5?rzw6Y>L2<~VuFpa5}f^x&3&TyEG- zE)G!fxk&C|ZL!e~Hf$*!;Pex2KVIA5R>3YptjUb1s|Q?=Y=>2;8q z73qBeTz9&~+^}82{GISI0?vLO8hU=k1~L`e8P-wHHUy?Nfm{G8gW4eP?+VY4isTIM z{Go9W5c7K{jNu`$ko6>X{x12Sm*AgNUWHKnJfgb1FpKnE5+QOuz;Wh>wm8^RQC~|Jijv5n0z6BFOrl;Z6?aOq9N} zzhc@m&i~0^zBah%lRzprSoT!d!TTP`UrKeNLsirmPyakr2k^G3AkJR;{2;AQrZC=! zZ{cKFn}q5l$!euIUSfyk>v@M`q7L}=*}Qf6om60Xn*Tua2=(P%Aq2_Ts&6nbb{h+J zB?$X@XPNhmAs(~l5rI@DJgxUbWYJh6b}=|Mm0&irjOM3Yp=5Y=_3_fQla!vRZa=w@ zQhxy6_gZ9#DBo8R4%4f=;T>fiDRR5d>cp1^7v0Mx_PS$*&*}fxGz!DJF6}t0OauuP z_gh@$W=!sq($qk7swWZW4VW?4hR4oO_1ng(|l#d^Z*c1L!63wMTfL*r(MFoyOAx}fJ%I2xiTdEF@AQwn(X_)VBueG4dgz` z(#C=yy8~~VrA^99rft5pMGe^oTXwZHJ@`wJNA!u1P>53j2kwe@$L!yCJ(D5V*2A8|3gzdv#} z+u5E~o~1pWRNM{z%$qAIW0g?2iD!W?)@S8&#>h%x0z!8EnA4*KSA5UyXU}UXNr&!n zM0WfEStw%7X1jUn?0N;Z(hD{J_wId{GHy>BmO6SRx7Ul~qAUCP+f3BJwG?KhCUr7; zaQ#G{r$1(B8`~Zc_bl9W^2w<1urfy6{yBs*|T_tL9Sx- zvD16+Rz7M_C=P^m?X*R2)D&?aH?XgB%sCQ_+55WrBFtJy*Cmm~#__%p@B?G|g|nN% z6B4Kya`JXqx0vdF0Ec|>`GjYxRH{RAuND5+7VQnC#*^YTN_LPx8P}rKE|;D%g}JNd z{#1X6xgO4H$P3rz>B_$LoIEmO(NJD{LW7kY?xSOgW@LmXh(lw*=={l+oEA7gUqHo{dg~0o3Yl4f2h@*(H4S}qD zT|a|6GR7>1-+PD|NRfMI?A?|q^D1MWD3d=>TER)NkJ(%`2c_kC5`7f`d=^H0irzQ{ zyR6A0w|MJm)|98C2E7sK&+DXig|OtxD-4k~ zwjZmfQo;Nleh*HU&y7@Dj9Mtb_Dup8n-FUGWZVS9SWo#c2man$s%*{5r>5e%na~~7 zb?r?a+SL~2^|Vu?&x<>DH)H!t6B3+pJBCfkR@eBYJ0&r@-g6-u=RQg6ZI~NB@np|y{RBQQ+PUv4nb+@{Lmaw=_3Gb>ab(maQvv;0?~bzG)xO^pP7xS}paRTGM$`MS zxD`x5V=|M;X0=bwA+{VXha*1L+kW#MXwnXZ5~W8s{cE4V%)l2>a>#&F%!NO24oAiXKqQH5BP%#a-%oUr%kRhaRnuAEihJ%atxSt*Ja|mCi1wCT7d6i}szPmDVZGAAJxN`!WyZTJrAMlPL ziglC2pC||2{W0?`+;W-qwHy38^HB3gXb!H7iLh6P+A{y?5{ci8VR(b8tyj=v)c&hzc z0j03Y9c6~f(36AVoA9L(N@1`B|NXC}Tnf!UeGAQFvx*3xKKvV}wy{ye*ED9N$_XZ~ zjpL9J(KOv)DwG-iSiZQDU0SSdV+5cu_`W69ta+l4zo>_!5&p_kHDsy9&|RW7vlBBPlCu&i7dg|DBSz;wCc1Tji<_uTjY_bj>g2i<6*;$D?|y08 z4PJ%DzP9z=iq~@Kdq+>Butm{FZwcv|`-EsFc6fguP&=9us+OQ#we;ao`g+}PaF%He zH-d=sq)tw!R-zBNrolZI?#c1~_t1;{%F&{*BZG*F7qWtzyEiY@)(dw3@*AhH-LXv!thaYv;j1 zt4SH<&5ftRfNpceud}&lG6d7JRt;MZYu&a>HlIf`-J>|&zq-9v0C^SxUv(+H_~f_T zWGgP_(fc&Pk7+priB1~TLuvlnS4%)~pU(@<%CE$mjowW;4-U|mHTqdpTCfCR<2kA$ z{I}GKxYG<`W))H_8j4J3u+o_e9T&Q*c@HaZ;|_Mq3o^W-TsR0Aiop4*_(oJ3>l)9! zn)9DL$iodfzV)j*-@%V-UTHGV)d~G@JPpv>-Y>XC;HaH6!o_-iJ;#01A_vgiPm!m~ za5gzZ7ZepQ%g2&7Qjd=HNPR!zkLlB{FpC59rMMJL3?=Gm>Xk9=E-jS8!=1Dt!%!85uwH^wKbK$c@q!WML!c)gmK?#+<%!H_I3=5HOlEb9RyupY8Y=wsAE%}_i z_OA&rTIolsx3%KeX=?es*mg^V_`L8Z;hzQdSz&DG#yck&4fkaf9&G6MV0Tz!x>Gv^p_G8JBxwyjYuhbl-!J#eC!^xX!z*yX2}0 zEI27y;KnxI9!ByV-s~!s=L5MCnH4~fv&2&FT`CDuCa|E%$tZl$CaE);wa+7gJOQ_97NrQ;OT3LICPU z4-j$A?|1!b&UnOKgCE^4l73U^l`Kd@vBxjFR&^reC9HJ(qq5-p#W%xVq}{9A`$~QY zgC33|yaN0y>r(lPb)ooI)G}^#BwU$?XBdUt9~_vY`mgs{3KuxeG{~C(lx5 zPcWWojBQg!xhmCH6I(7v`^1DV#0npzs5;^%dMIzsR_SPKCXyJhF9OA=vFb@E6>3Ut zhoIo2Q0IOUxC%p2Q5~c;R)T79=0La2NpzDOLX@;RFRWSy?o?Sze9Lik7Pv9xij_s6 z=x3zHqrihhIEBS*112jvcH2g4Bq7=|DS>Uix$MEMyD7;UlzrV z4!eo&n%&vyK-5dHc1uFfs8Oo5!LIIW^L=%Udc#Q|cB+OZm$J#-!Y->&Dw;M%mxIWw z-Y1aEJ%RDka~RnSE263d#DbFC$g%dho1u7T$pD`R5#tjLd`AIH-vQp_((oa|H)D9u z=Q+jS9dFu(rVBs2_L3X%%jmHbQ%s&P`y+seB+0LGC zf#E4})ih6>oMrvqqi*EQ*;t?6g6D$8yzsEdrV~(X=Mp^6@eohlwx=+51CF^k7wyU|g>p7gA`SJpH%w@W!bT@ExWYVy}Ca1vquN-80&;C%+0JuWxF>b#+ zZ_|7>r_fcJGGV>#V;*MgB6WPvl*#PX8|QgG46Uq+q77^XR>^xkH%X#+WWYLv8BTfg z^Dy%e=5h;5S1vW}8z>kOzjMVVKXK7?9wZ&YxpwPyL|wY`xmSDqjk)Ip(nxE$4ft4g zq;*2#!K_<_vO=YitRmfhaQj6RK@1r*C?-#@a+fqNjG|SGkt@s7oAGW1ggoF}N*Om8 zN61Jinxb6Pj*91u1KHe;*ViM=|c2SIHwoeH(zPYmih0h=MoG< zpU*e{+>&mWq;d9y$gNW%1*yDe_}!hz%O)ZG)_UTY1%`KxqM{~~;2jQ*9Ftre znjme>BOan;sd;0Xm+Y%iGE{@2@6ZpKG`HqdAdOe=7>lSwQH{pWq)GJEokuKI)oxtP zu{ik)vof*i+HR*IoW0KRr@)fPT_8DeT1cDS@>s(e*&7Z248fx2Ko;m5_LaYYEhU2Z zuUEpep*x$osGxoXi0?-p8V6xl&b#xOT}opa`O7@|R-rT$%p=y^WKjM@^7!RQnq_B4 zIC_)Q5=&!u)Wo_?Y7mr3bEs}&#Ykf(cHxIWrpE+H6`|*`JMp-o0Q=W2R^&l01Kz-E zoUdz4aus40{C9V&Nk`AuF;ky>VAz6o1rA-V1y-4St0=~A+SW3YA^|*o-J*67kKAGX z^?Z*g)$4qVj=ZAes#+hsC9W@W_-v+6#jq(t;khNO!u!s0x-n+Jew_%mFw{SROd#$R?NiC$`$5sW zzQ9c~)Kc=>%~SE`MrB9!UO|*`Ar81X1+3I~^6OWk{j#^QN?#-?Z1lwWv-V*8%o|01 zVO4&A2|u%S;n=qZep!0gkw|&#b)7o_ju|rmwZBf%+Ukr3n-Os%(pqnxtIv#9r*Xrh zU10^_IDXWColb)nOY_NDol?UZYjK1DQqqh5Hxm;cQ>!Ji!zU4Zb&-BZy7(Vj&7 zK*r?vKhGIJdP!C8NN|q&nGDu*%0+v;Q`px=$)|kNxxX3_@(OO{GXk6}qpA%?5ge|N z_DSE9+z@(MJgaaxw=;r$Cw3;#VXevr9&#~+*v(&?V1k%znEZ@bF0=V*Z05s`*-E6N zfl=r6S+@53_~aQhbD0&`jl_!F*Sat&0#p`v3P%x$k=&dizt~gF7PTu?ydAxFWi-4? zn)80J+Ys}tD5^ZM=a`c!na{uE$Vc_93T`UP7->??`au|t=~gCo*`RfnptMbnpDp^1 zjjUak#8o6ZDceXq+nplqeX!fR3g&}_6mjRXD#ZumtEsfhMO*jsAMImRYm7KR=UoL* zeB{&Wi_Xf?{N?5L?T$HXA-pP>4)cY_f!w%V28sG+(fP+J1Lx~fl$I88u~avod7@gv z<3bAFu48G#Ue_osw(0R9%bBq|2_5CwKA&|IF}1a|-Yzz|YU9sQ4g%Q%u@+(tX-n5Y z7>be#vhF)EvIr|}R&iflsN>Bv9t7M75d9qTJKYx=C!lf+9_{s#;7fH|7koFfo%~Vo z_-57Y8dAy7YNEDw9@$wxBgZM5jzh(t=;q;LOeO@x!P>}c_)CWKeT6}Fmit~s!SWI? z_~>qxj?+aB!MrIun>X*1>cjQC;*U)*a?kONI8ShB%)vXi&O?gtm8y5|7>7N2Mjq~| zxe8lwC|=JAF+X2+-t_iNbAR*ZX+q~CK5|(Z?_?9$!t)K;7JG<=;0QeXg8cGlwA&Cm=$NS_AKjT(cY2JtXW548yB<4|m`>tj6ThMrw&OKt*x`t@) z;Jn4@4X*-oLBAo97psy6_gUZDNuo{4GIO$C8L> zW&u=GN*Bi>QT(~W15Dr&9-7=p{mixT)@mylO;8;->ifsBVovjDV?aDV;Q3=?zH2=sJ4f7d_E#o%+ zCmGN7g3VT)SY^Han6vk44R_^Y47kfR#&ONQaA9_638}Xg2)M;_pqg%RTsicynedhz_E3;>uTQw)X zeGfrdCAdT>D~z8{K6u(PNgC%0>#!a6XU+;bD=D?AA7+CFcSRDme)zJ|WcocI^{%h6 za&{RBj1!40G)K1A9FwZvp`Zx@IW}fGvT7t+={_L}dhS_~HOWv*=os83`S{%s?2|hM z`kMW8^qla+D&F~jyuEicoNvFktpw4NsL>NiMD!M9bP-YzM2R*;5-oZihEbx65`yTx zhS58tMDM*sZ=(-J8*QG;egA&XeeeD3^}Kt(?^^HQ7HeUy^E%J(=W`tA#c}1s!{wfC zxIXp0q1P3pC}!2#IGh>?Us0Nalt5V=g@g(9h1;`*)5SxrxgCZ|KZo(*yR1JZc58nx zwCJdwJ)xt>+MCQQT>8+P6@Yjybk*f|8#Bx=v>_|${wwFTXN6PS@2dXz*QoOuBZfYL z^mkDMyUY`OneK=V1u0q|O&&gi`k>eKf4Q{XDuf^nHOcSt{lUOi|; zVl^9(CsM(=(w=G)C-L|4Ogy$ zwBi`L%s+kV_wLp_5^se<{|2;>w~)PFb^|=E+M2yeS*lBU9!#(sbhB|=BrJ&+97s~*CX0y2U-y6Mou(u@je2he-@O93tz(I42t zZ|B#`5nN`GQ!2@r-E(&e)%$OIhtST+23)BS%VO5IH~Gf~n2CNd@OcboA=K?oE1{X|5 zlW~c^Zu@-0_MzZxw}&UgkKeZM^XHgZ7^jySQHc%zDw_vl>3gAs7Fo8}St$?frqWQ+ zvhU57K)Jc@4W|9qAD*P%xzmWSbn6_oZN7CJqSO53$!YZu&{)dN5x%dSB5b!a)W6L5 zx&*!)@l))4g?k4novymF!rfWiwWX8d`Fr;(nUmc6JvX=Y*XknJ+WNeC+!}qjC?kCZ zLN%#|rr}ER(kZs4@#Ig)dhC3(+>dWM!MJpzv}^?!=YC15C4$cISKcO)4LiQR>lqzd zE<(KE`Y;s_X}Y&9&lmjABi4+seIZp^ll@CR^XcMSy(*D!dD?sWd#P-~5LXA;Wys-_ z-3rhxdFh2um95n}E~BC^GJ1wEW#hxqe0}y8$8eNl0QgBAt$}t%NJV{_MRzPXoi6#X zPS$*fop6y7BYy+3rZC=D2&MtfLY#xs>&oJm|x-iP3UReD8X?)Z?fa=PR-hsTs2 zL)mnAmGX|i#o0H=ZQxQi!HX|4&2bOb!+V6jBImVm?Qu~b%RzZWlv@h17e-7+yw2`V zNy7ZJY;PaL;pdEeZlths zx3U3&-cQ3xG&~^$7f;J z@tOJ8zp63U;rMTc&$H>TTPt!7p4{=A@}*6^&O*YseJq~(o93%-5fo`W$?~KYhH`MH z6V+$AE&k^7YI2Z~Fa8;OKC@1fZM_?Ti9#?*b_AC!yojj%4gCsvZLDiqu zvX&0z{F^I3Df=E?=6mnPditG_y=@Q&qb<>XYIx0j3Wuo?%J^F7;pe5 ze3C37@yO*EHjtX7pDJ50i;EHA{k*}b_vZS0fayEuQu|uN{)AGpOVc{@o6^5s0B_<4 z>H-I!dxl&|t~1SP-mN6i-vc3+Co42rzJ2|4WA1#axqRSW<*h=IkI2QB?tfbR4lO-+ z=o;1_=SXrX?X8V+*02m?=-g+H9R=Pseb-`YA*%iTHQes=8e4 zWD^`@M5lH{H%vJj}7}3dUT9WM^#I0`lUUvZ6{ew@{?>|_cp|6@E z`I*bj^kaZc>YY!p6Lgm2vLDp{m)sr?>aG%aWkS%U!p~G@e8-FWWTFB%Z+3&&Fq-+p zytU>`-$Er=6Mka{I<$wy6?+BCZ0=Lubz!Z+uVOTzVIbk>tD5KhQ15@=;ID$`EjkNE zw=%um7$Fy@PpeYbXV8n>Snz~?z%X0K?>)tQ7ZwI;KeBsZCs;hgDPuXyX3c_}jwceqpL&v6r_LeQugH zt}k=l(fvq8d6@H$^wP1<6;3KNz8lMM$qP2f~U`W$v2G_cOY3ijS@oOHXPztPgjST>E zV3s-2;)XLY&m#`HM&4?K?&$&Cs3LN+-m(H;-Fk9S`&*_JSi3>>1dC{M>=04Ed8@9n zVVT``y%k)rt5bIZ3R&M}q@50rq~nuP{YAP!bNM@{b%O_L_+c`09deAD9~Z><_NLF6 zaCsWW%4O>{6})KoJM~X-sP)WisP(cD?`T&|;Nq5r!V8l04pbijXJgEs28c~TOBBlM zn9^uiYs;K;c#pT7*1u|5d!OY;po8;mWCX1pOIi5u_uJbaOsOCfNR~>;E}sfv zqt~!xqsJ$8pxEI)aIE(JG^0z`tX>CcL>onCYd^!w){a9##>1F00SrVk=v=Y0^ zrmB;{bB(GZ*tLFLc@9_$txyH=IzO!c6b4{w7J@3B> zopKM&c?7oG{1Me{`hj;4d+ZrDPBPPm-2Kk_4es${gTd3vGHTY}jVQAhH4Q3&2&9mX zI1{b7J-Y~v6!t+I-%0^J5&ohsWB6{Rjb~yYr$Y>&mvU)Hy#!ay7Eak8FVq^R0v=rk!03)xudESxCBR&VVReS6?#sE|UkQOg322u%9P z+!`rdbSLa{etMzJ`kJeF>~kD->;MZDn~L35#5jY_kM;! zH{~bcijPLIB*o56cxyyX_$-9?Y-o&A9i}aaK31zN(z>;Dc~jjRv?+Uo|8F4ERUcyrmSFvShS^T151&S2v8?ak}gfXxRNIt zF-$4iEw2wJ{Z$3-sCf%bT{&N0-+D3fwC)`^M0^9dB*Q7Pa3!$&4dBO=Zd9raK+ zoHTD4v)$I(&-hYavCRcM=Qag(^9t!3K0a@`<%Y`1w+n7aG29v$kABbMVkOZ}B`ub; zTz+EQqT;dfb!*vg;(AbET?55^8To>x3tVISVCO7mvmv7F*1$qi;CBu@jRTrrZ4^pE zw`2aS_UR4Yrqc%hgkEl3hg{JvHxS-vRB_o0dd*8#&f4TF^EwT>%Z|ONIM9m&RNQ6u z$iaQ=7urlTMP;K~vyz+D1MJFJE*&(>)dP-UYQAsj<1%k@QUAdx9V?U7$%V`7O!#2w zR_%u=w|G%^a)g{Sk7U0o-_=Dx$i_;+3q|nInQ({8(C_!hb9OSm{>P~rMR(=(z7^3P zTh}_W%wmNSz&5iEY#zqyM-IGK*n@yo$5x1gIWaP9Tkx`_i+%kYN(qrYM#DzV@*FsM z(vX!irf@*ECkl|WhSwR$srS;49)cNn*cW~eA22ghrKNcPJQ2J@a&bwmoGXQcsZt0b z7?pfg2lKEOV_CMVx}NPedbJk#F$0C@(`a-^AHDc78^&MjadfhS)-93>pi_-?FS=+5 zeH)A;xwW)s@NG}cHJ1n>0B++DXlVIVD9x&M@M??0?>_!)8WDXW#PPWqN$kqqh}(=0 ze=SnmCmsAE;x@vA{)1hq_#d_3_JYBk_jY#eYzBCz7XZ~Jz~)Qh4|inKL3Q~iWhg6o z6dwFIVh-d2nytkun}^YfWkH(W>GG4#45Qb(&7kCC-wm;bV*L7ahLp#=wm2F8XFSpa z+SAA`(O3BR`JM)jOh}v+9cxKt4yTk>2#0M3r?Xi1`*8chj0yX~A_W`1V=l+@r_Op( zeNr}J_RceWdtMHE!3?L=eEzi#L@VDhTkC%~`qGfqw>Zd8JNxU-gxIVGpUuZ_dr?y& zRTG-(@;<6Jc1fsCTRtm%&qKfiS|mMnDr`89S^X^C;nzK2oA#aNZQyEK}I9pCt!Cgb=A?6ALOl8$_D|3Z<2xbNK^7r_kDRMe{*~+eqcq%$_Gcf53gDhdb~IH0!H(4XRb(_t=WL+8%+vW6C_((-$;IfO zN`aWcvX^h)5I2wR0bOyK?*Hpp;9wav_V0L5ttRz_7ApF~(xB>I7jr}er6<%^nVnSO zbp@3E)qBBy^Gi44P+f935?;)|9g`pI_hDk7e#Vsgk<3xG9&roan-alHI>TE*=;dem zH*?o#3SE}Sd7uB2gP^QW-|*uPlk2L9BMF#>Gg{h~+&k>|EI!MZ__{eS(vwhFNcB*@>XyA5+)gu1O4Wqp=1 zaaosFoY$FEb2$ex$q8wl#6$wU|Ume=^YTuWq_Q&6@2; zjnh}4nUr=^?rcD*Tk@Pl@40WlN#?|rBFs%PrK?5=H4{?N70~e8PZA_KC_O{N6N z+RUWvw1IBp{hO zO)mvED9(9NPGf{QBHcj@^W%y)qsCwsokaM01pDyfbJ)Xdk4@FOw zP&d0M)6D9ka4`nQx}yZ+yX&^)pm)MavGknV!SlriqE?pZA9TlHw~H@s+l#AfSLd!6 zkz5bAVG(I~vXgky07hc@E$8Fu`a8j>t}=v(fBTo#m(=C(dK5&rEf0hlw;P&(Cm;U2 zdw2)+w1V7OeBS>k{k8Qs1YYH=5ZgojpYuS4bQ1Ud^HS_R`Hf4W?3Cr#bnuLv6di@| zy}Na=(<61y3V7d;T!UjB(8fMHUrP%*Ed8A1%I8j zUepXF;s!mwB|G5?8;In5-00k|rwpf*0uWuv{}F7F=joK=`OPNN^Fk(eHGtE-FZUPg z@4Z(?#(6SkAf9}pPNSRk>A*pX+^8W}5I0hhi%H>9HrwAq@~hfkeOt4Du|2oy55`nD zuGu&;YF#7KEu1*dcWET-<;)h9)NU}`_aaz*N>^$WmiMnVc2TTca ztXY@k`-tKJiQc$of9%k{1&uhXIzw={(|+P%KV7-SPQ|fyP}RE9j+ef$d!e}LKtHwh z_y{e&`!Ji~0;&fNdLuIR-gQ6cvcG6o65syC;`rL1>q!`R(Z^^q+3n*)1Bc96=A+xZ zZyPRKSML|hoKwyBfDW~$xG9fj$q8+PJuh76(oU{6??MMI=3mt=-8{aF2d1a2^RpR# zt`hvj-P7&$bl3nBlXzNH4dsEF&Dckx6^D9!_2RQH00k!GpWizSe%$YXkyW;2T=BVB}Jm}q4tq~Y7& zES(4+klX>*u$(R~ot=WG1azIKPK-e$k8RCrP5>rj^&-S~Yuq>$_u#c-lplilL8#S<^^es=r*-y1*SGvzO*`Hz$C5&MQlpQ0*YyltN zpuD2%YmWP^o|yV>3b94nz!#HBHkcz0D4D+`6VLugL2|qaGx0hV{xQ*UwJ+MUew;uz z{KeC$*nHPLQCvv&!Z#OB5mn@tVO)>%$e;2#z}xuNJ%farOCE}(>B9d>B6ab#DN5rA z8VW~>@(WRlgo>m+n|pLnt!7B6JxIu!Q!yaELi!mm*?bv+PtF!d;1)RTIS-VS$I8s^ zrvUZz+C@ncNT(I|HG9UrQa1lLZAgDzf@+tMJn#LhGN66qnmFd22Ou zA?j#>@l4ZDuQj)o`tN+ETJM(cH=h@m1cCxuKtS_`cP!^fL$DUyqkVC`Bc0tlWs_s9 zKwzuS=}!(9dbUU-+^+0-Or>5K&bwq}6?2cCw<1bUJoUY+`Ky^xxl?HL@l02(kI6mj zPGMgEZtPIBQ>-<;rJRDa6XA+-PJb5S$_+9ax_-1ck?gsVA1Qp#emC{8!D-M>VHhxIm)S)REWEnxqYG{CJ}w-et{c_!Wrl@64sw z#%{p<5xh6*HCva-q+e!-Wtd)J32M8-jBp&JroH zabH~fWxODl^)DNJDo9ObTE-r_sHE}`D&aI1u3bb;6u$zUyPKFlkAMwG*97-3rx#d1 z<8p+#URv{J!&XnKeYRgZRIXvWmL0l< zm${dxUCiRpbf|vy0Nl(Vj<5b!{KUUR*t2f4NM--0#dkR6OvBfeqXN9bN%I`1`{Ci_ zX2U7BjVL$6-(x_NYvh(c+V5!(-d9bOK+m3>Fx@9=Ba`5(c7@T~C>JI-P|oSfQR2Nh zav)-@($$S~bn9)^Z_z8)>tLk0`K;n!z4zxc#Y3Ewk_z6qwM{Pn=w!wHw>w$(8Z)>- z3Rc`1Ug2u)gb!}X$r6wnFT!D+5Qg)iT}5B6IE_)Brr%_oH6J8NHJ+4s$Lc;^%hpPx zAH5DvGmiL~Lp2}Ypa!~qfjD#O^*a;dOR>M-$vj-~fK43Q>b1h`D9`_b=DU-wp?O-8 z`BtRBt{Qq%Bb7#dJ1nuijy*w`Q@ESABO90{YmkJWl(N2g9j*Ys*ICYMqYh%r!okFz zV`xIs2Plkq51qy($Cgq$FI*3xXRN$mg0iXEwg5hC?N7}GLx*kbs@&WUNWWrMQ#$*m zEK%~)#JOtiquz=hgm6eU)`Z-EzwqqY3y8uN>+Z@alT@M&VQw&HklCtLVIpWk(?zUM zzcE>5$$?T&T5|v z(;ySC{u>neG*S6JSrL@sz%@ zq{a0Wh+$P~v(H{>cOlqMei)?h6MD?7RVnsQC3av=zCy;zl>;UzI&)aTFOjT{R~$6L8vuclMb5Ew9d@ZE>FQx}f~TzmUKhHH`r_2rg2aNJGCAM}k(Pk9H0x-g~+Ez?Ne>7m@g+hH2Av)eUe_ow0n9@Cl zD1`JH%ukZu!P!bF=)WBh;w2aSGa4o>%!y+{lv(AauQ2dP370q^23WOyPB;Rh|7xl- zl3n+@j0Qiq{!I+OQp8bcos{_Z&3}9a!9~+-L^%#ny#KhMS0*5#;h{^}L(4g(gW&!; z=|>rw?FuZ{Di?S+C5VJ?=<%J_{NSl1t$EPq_BI5MAv^W)X8_F~XLgfe-w>rXGHm^> zAAYAHT^zC|?+}rfF)J|e>|C8b8f$az-)Kcc{7HL7=%RbT^vzmrb^2ETo^`snpr^^74j-UW&mPbPI!2*!RTpO6w|W%e z=C>V~iF*!vrb6lL)P%;fRhE)65G5c0!GBzLo{YafqAy1NM=p8!uKvd#9X;M0lo_H} z?TTUo<|!Jnb3c*8lK|~FW?z(es_tpcDQVd{0k2snhl-&eBMARs4#krWYHWtnht1v` zuREn%<^tV`J+Nd~UD7UoMeBL?k+(@C5FK>CU-G`4;rh~p+QV3?Q~j4E+kfn(P7bOm zi=}s+2X2!W2j;l4#6u^(b{9OQ;~$R#lzK6iCuB-Nw%Y|~gL%*}<4I2}I_vNTavoVj zpPjHWuRVWW&r_W1t#fKIY4GaGppCw5S|q1GP4NMCbI(Z8X7K`a7;UfrL6u+pYWeYD zQO=g@Nt#j7pX>HXRCu!00l|DhDz*g0b~aNoRv#mtFwtir&r<{!gFKbItkQHmnjNd@ z=Iwo%GEpZfU~G9f8KO8;RNo`ru6|>2Ns-T$MHqMfDyS`a71Mv zmxP6GK}{6^@bV`fhg)18D1FtS2xUPVbg}O9k0s*XJ(GK9EPZ-rH-mo5pi7S;v2l1w z67d=Xs^oz66EI=wI<9c>r7{DFF9BFiPX4`Q4E(Q=E`ZP5-v>G;d>qqL+JASw({ITP z@zXl~O{R#pF-L4@zQ;x}h6n%-1(u-2A3z@th({h8?sni2x*4bX*AlQehaRz&?cQMg zFX;f&J#T_>L0o>DM=S@G;DdLx+`=LUI(bB13!wM88l)c10z`Kw-pl@C*7x>LBV_e^ z^v`G{-e0J6ma&?x280DarhBv%Pfcbc_C3TrveML-Ii_ggv7h1JaLj+dkVsT^6FfNjpjM<%NpO-#MiUC+IM*XzezNHk6Cqv}22aT(KwNe#65aWy_R zrPL+TA!Cv#T%Fb=)<;Q{VD zsSJRXgnpb@3eIZuIg4Zu7_K`#iZ!l_0}FA%&!abhnJ;uHjmELBWNhY#7!mpIOQb-h zv3sOTcG3WRk-8OmCB}l3XF~GC_Hl5sETJo;J1{AcV!-?EBI=l|6Mg?UQwRE+WuS}u z6wA=XayVUOBMZ9xLp!r|K4IH;bZqkqcc$9~c{hTV^c*TL490HUV4z+}Nz@R#%o{7; zO6b9Gn2M;Zl`(J)Fn_gSes>jOoTh!5?#7$`xEFZ=iUhOfCydKu%|%1gh(YgMkh24I zF$fn<1YUH)IzUGN?fRvRd{h76{y3|%!Krx`uGp;Oj4issS^afq@+QtFt_$J>PpVMQ zesa+nIO+8x-+CV5ugNXH;ZwKP24B1!CKSiMbl5EPew3^n8pV8NVJrQAQ7V zk)btClO^2;|5UG^qfjhLe^Ar0gp`GzMFtVjdmw2J<`zFAoaRx_@G=qNnIp7Qr=>hS zuNnWl9)>c5QMl7Bvhg$dWErAsI^upfF-*@WBX!ya__8yCg}cS-XU9oKwrgVzwCT5j zC%+5<|C-C|OxEQv+5xpKqGGF41hN=keRlZ%o!>^BgWgQ1-;~i5o!>l&O0j?QG~%}b z4@oT5&NkQI#Vxg)ajf$}f&ZS2cw8qV+?-i0&L!eZ3iZI#3Vk23#qL4p~3Yk z4WVQeiJrTf_g&~$6DKWo0TZQfV8=P@U+>G-y&fWd!E0n_Hc7E!@WbW|zG(?o*bUpF z9fmhnO|E$Nv6|_Hz_9~YhnTYbx`F4LOj7dpyCDU6rhIddP6d@NqS<6O$A<=x2XwHA z#|m?A>Vv`FXVVt4d0lrSxMB-)qNK%q$A9e;D4$-e?6+=ML8V)cC$Zc)TPpFbel+Qv zBl++*mmD1s%y0Y1SD#^{KQheDC$vH^XJnmJMXbtH_u)nLo7Gbf+SDDSBly0cw_HMV zu6(=OOoLqRqwE2&SNhwp;(G&L)ZmoUX@0kffPCPglJ!TvH|(jSX61423g(UP3$u4K z;m#!5FY2yp6itRzd6?Y0yg1k2jtW{PonB~@K=$mSwpGCr4$sYo_c&mi3h_cF6+Q6D zyAdVK5#!-UC*PE$F21GMMTL93lsvvXv7GmmJQaF!qIzhhHvoE+)%n=!pl}%|pIS6q zcN6msfyG%{o`$((CQDZ6-k=fJ_ToOs0Xq40`%~E+o*wVkgNsP|y`t}9hv-7n4P|%G zL-X)dck6wE$tz$cQYXzHc)a%EVz5(sL8lo$a=Ap53_mT{YMMQMJpM8k{l+8lm--|w zU~zH!UH@8WqWMuMlVUonQCszu=O~0Kyc0C))`v|lgRHH36K`jqx(Y{V1u@Za+culj zYBlobqrmh@Xg!CtBTGP6Fq@_wM8|x4bND&vbIm^zk}L!+KYOQBcNvSE5AmKdP?sbg z{qOhnvw<=>m*>5J^16-&$vQJ%)^VNCAT&UbuqGJp?UO3ZRaU649)&xF))LS=x{BUx zAJ?vyu8@h;XMX%8c-}cajB3#_fBrdq988bns-U-oM|3lLVTh-EhTmsS5RO8Cn>281 z81W=uS0oQ4WVhOyXVI*0o^CwV(-i~q^kzjh5#_nWSK4<|LsI<3Ej(n zp|4k%i|*mQiugMNSwsWrbdcCM;jRRpfTQdvPk#TiFZbeCKa)hTM*3uhb-K|DmWra{ zL+O~ye~1)Jj0CN1%Z+p0d6A5q9Rv9R}6wpXP*}Nz(YlV z!|ckFIyP}B@vVc$ykFXP_XiMlfxGp__pGpIo`)4&`F2-7m+SXKEfSFj{p0+UzY)AL zo?&3}v$f8j$)!>1{oc{;fsfjHGuXv=jJZ`$Bj$eLT<-#nK2jrc`|p-agMT}&N<0@N$!L65+bwsE9!#;GQw;y_u#n3q71=@oR0=A z)!DYSWFYiZCidu;x#O|DnOpB1q#5N+dpocB|>c`Xe~{lw*MUiPw+ z(D53hQ+kBIHm*vm;>lA}34ifNVjgxjdR`z*_fUDOWxm3ep97={nPWPb|Klm^3c|xx z`(R2mEK6`s0(vy`nusqsnY5B0db?$`8ohFq#@?v8^ z%)r6D!VBRO0?)=VXQ37p8mGGT5OoUMfwJP;CP_b~2uTRa5yt=Hi>00Gvyuk`J>++8 zzcm30M!+DUH6M(mT%gWSNrvBJaiK+x?YBQ%YM4!%5H!5W?}Q!=>l1TPYOKEU;cIao zDBxWQSJWa{VJ_vEhoeW4T>M`XkvVgf-%7qFEBoNRzM;{I1e(O0|5pmWGaU7f^zUhx zOA2nDXHS6wK{A17ooH5^*vh|{n2}DoA$1;BfAyG92VI0AUIx&O#&FfWrCRL6qd4i2 zV?~mYP^GGiX6(8^qs;f!j`~%9+dHvQ z&siPckZ*aWIlecyFIK)Na>{Kwch^;~drKI(?fR~wdmiQ4b>4&NH#!-6-zq+5^jg2T z>GpNE1O6L&el?b)CrAro7m$cmTWNWU-WU^JO?~gI+qRG=&HUQ;KAh@@T&oR`Hws}Z z;+A@pI>Kf-0sDft7daP3!Kli`C+q%aJTIR>~EV$tiQ+ zk5_#@N|C&eHqg8RlS*Q{K*~W5-G)nx+Tdf zlL-#JIK|2SC9~|jtO~6!I*^j9J$yrDu&CL}4I#Egc|+Fo$0#z7c<}8r3n^*T4lBKm zc!0*oiK0dNhQiSQFB?)I%a4$obp+-G!%@7mK!yevu1 z4o-JHYtERvO1DI>fL=5@~0(dWBKlqCD&;SPy-ri@~&w3%%Bpm;XS(3dN*v zOce9yTFu!~(7hMOI@a-)ChVi2&RZ)Pt2FJ8zb=}auw$1t^kuFFHh152B@m(XUm?!A zKE&^DGr097oDb2dGRorLuhULho*+y)Qt)i!Q+3RlILe~pElA#fV)tt3(0XnMGrC;R zTcCWhh*ls{OcsjM06v8ne&nKvX)Jn4aIWNT$Re!fG3=7S;WfdbfmncQoW%6SdvAI_ zsq+C%$M~O!-9p4TgvwnirW|;PmQm=I$SBiRevN}6pP_wSwL=+!{`2})SE2kPs4Q6| z(L1b1PUFDr^I5SDizq!5MUgs%xl=%bP38Z};g_*HLDK0Wg$)Do?8cQVLU$-^IXI3RT{@O*Z-^8UR zH|hSHs0AkF?+~>bh;~tRY0uOi!LI0r&+o=5Ke%R{6~ALEPof>e|HyyCP_4?Vnb3kx z#wg>zN%hqH2dd|@qg6Bcc*0=qy8ivvTP>OZ(nErootKU{#*`Y2B9NPYha5)?Y8X zd);)jMbGOx{Op<3gme&qyZaz#gB}V{QR0(cdgvC6*G9}Ip{RwIbyzQpGP~*c)eOP8`cppQ%$MmEmvcfAcucIG4_df@@!ZoKHh9V32peK zDybxkg(R;`j4TNld=21VF1J-X{tV(gNUag_VJ9LJvcYP>)>GpcjPVg$stdS&2_d`jN$rLPLIGfad+>Td?e zWve8=My%m&MVfv~oyBJ8deMkOoVk~i>JKRS2+21T8txozg6AsZtZTog5IyxE*Ev3) znclnn5RFBx{C+(Y>?s+V_6Wc_p#K3|u_6wj28%fk*k$?a#J{y_43e;po@k{hZ|=xj zu`IP^kb2uBWOd<^ihH9(hEnYhN)Mn`+-Q|oG)!gW=&GKzWxz~^>hbMO?xkG*t+HtU zhi8>=bISDZ3Bvt<;|lL5eZkSfqesB)?Pr{KXW^?{S1lBK!Pc(OTWQ~>=V3D*p*b5btHLvI<*j7R zr+l0o=REhdJzG9(iv0QxxBtAtLWJ>|^tjj@GZ&>rdM&nY@0E~xRzQ4 zqmw`gpfzRL+V~E(ntjg0$!^NP(g9-p<)l^L<2=%c;S@K5 zEdio8e5>IrZB8y@FlX!K`s&LyztMn!^7=#<+3}sHV*-8?*MWBsYl2Eajnb5grRwzB z-Cc(N9eQ-pol_?26bMt)_|QU@R(_%y5y)HOk3TO!n%mA>T`et+y2Tz=EQIBG?&|2j z!TBWrisfli@|_MHs{CauZI(shA>TK8R|~0xDZp96_9kP}!Jr1UgACoN%Jn&dTIj#c z{a)KKN^-xAQSJ#?40zp;I|fUf&tF`T+`0Gd(v0#G6Qu(HSH{KNdq`L0ZeeGNX!aZT z#SmINJOM(Fkr?S4nPwCFvNw#M-?LeD45Q`><<13sKa1DCpEu;#Hpy+e5+BWXd*-)T zm`?rVwA@D;@y%`KFo8=Zi+-6mAp;`yR0q7`*ut6Lv&R?HZ!a0NJSaY%o@t7o?@RH@ zZ1VTeZq-yC;_1KDzPZ0q1fbQlg&BX~Ix?^`afDoSj`8ercfVz9)lr5oFVj!%L8D{) z@p+((WwtWDI^o2d*bvi?F{@?chPYfPL$Cfk{UkZ*aj4z1UI+C|H^=#kUy)Mql%%Px zd=J7TRV2#nG;78%*sP)idAMDL`SqLTbph&_Ni35i>8F^`Z3nzdeAMXW$qD(5t@ZC1 z%Z-bH{>&^W365lE!Ze(m{YlVS zdWPyx=VO;0EV{B2fNx`^x4Aedr5(i9y7v=?>L46Z#L%?aTYrgqWP9;(6R*~{L}ZPB zNDfnxNU4|zDpe~vLWTcIO`3l@EBmJ$2M9$u?Z z0yvQaS!vT5-+MzgQYz_0BKpE)y1)OJ^TW-r^}p$-#ip9KcrRs5Rs^i``cs^}tWYTN z-pq^hw3oQ_AhrgAl_zdbWrGt2(pH%x5*9AI?tS{pp-L!!EykuVpR)aX!5+R1jC`Ml z|2yff!){}GyB*%R_ol>bDEL2fBKI<*zx)Ez%57)z#{)(wL$Q5Qwmqi7TVK{zrA&;c zcn^yWIv;YzrUPdFIZ0`>b{Jc>#9rn0MS^f=n-AhTeBnp zA`&YwZ*AjNlwQn|O;S%4f&l#U89C+hT2s&euCa?4|{Kt2O6iZWS&PpYl0%wHL)90i?C zaH-q1TZkF0lWqPoG*fX{sDT_tu#_QLx_2B;Qkee;zgN{mQ&jo(±(XCxA1E<;wf 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

    ji+d>`Ik;%-HmiDh@vDpw`qgcr;0Fb&@?A%T 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

    nAP7jkbOfUI5vm!N4??rd6 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 literal 0 HcmV?d00001 diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/profile.png b/docs/paying-for-lit/minting-capacity-credit/assets/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e0378282de10d91a185947690a43be9598f4b5 GIT binary patch literal 273649 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 z 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ϧ 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 G)&B?c_vuFf literal 0 HcmV?d00001 diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/selecting-datil-test.png b/docs/paying-for-lit/minting-capacity-credit/assets/selecting-datil-test.png new file mode 100644 index 0000000000000000000000000000000000000000..70ae71bfa653decff0bd25c77e2d3fa40b5f5984 GIT binary patch literal 219505 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

    tMXQk68fUBUNDu!=-c?lVrLDfND(o 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

    KiHS>~WsY)V`!21^ogaNc(hAPdj74-=Y35Pwi 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 %H@#@Gq@6&z;SHve)rBTY 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 ru;IeSPx9QZf6o0+%IMy90&nl7i(oZ Date: Fri, 9 Aug 2024 19:04:38 -1000 Subject: [PATCH 490/627] Init other pages --- docs/paying-for-lit/capacity-credit-intro.md | 3 +- docs/paying-for-lit/delegating-credit.md | 143 +++++++++++++++- .../minting-capacity-credit/via-contract.md | 6 + .../minting-capacity-credit/via-relayer.md | 1 - docs/paying-for-lit/overview.md | 43 +++-- docs/paying-for-lit/usage-examples.md | 1 - .../using-delegated-auth-sig.md | 162 ++++++++++++++++++ sidebars.js | 3 +- 8 files changed, 337 insertions(+), 25 deletions(-) delete mode 100644 docs/paying-for-lit/minting-capacity-credit/via-relayer.md delete mode 100644 docs/paying-for-lit/usage-examples.md create mode 100644 docs/paying-for-lit/using-delegated-auth-sig.md diff --git a/docs/paying-for-lit/capacity-credit-intro.md b/docs/paying-for-lit/capacity-credit-intro.md index 11b5c3d8..4c9fa219 100644 --- a/docs/paying-for-lit/capacity-credit-intro.md +++ b/docs/paying-for-lit/capacity-credit-intro.md @@ -6,10 +6,9 @@ Capacity Credits are how you pay for usage of the Lit network. They allow you to For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). ::: -Capacity credits are NFT tokens on the [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain, and can be minted by making a transaction directly to the NFT contract, using the Lit Relayer, or by using the Lit Explorer. You can learn more about minting Capacity Credits via a specific method by going to these pages: +Capacity credits are NFT tokens on the [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain, and can be minted by making a transaction directly to the NFT contract, or by using the Lit Explorer. You can learn more about minting Capacity Credits via a specific method by going to these pages: - [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) - [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) -- [Minting via the Lit Relayer](./minting-capacity-credit/via-relayer.md) After minting a Capacity Credit, you'll want to learn [how to delegate usage](./delegating-credit.md) of it to either your users, or yourself via a session. diff --git a/docs/paying-for-lit/delegating-credit.md b/docs/paying-for-lit/delegating-credit.md index ee3de2da..d99fc92e 100644 --- a/docs/paying-for-lit/delegating-credit.md +++ b/docs/paying-for-lit/delegating-credit.md @@ -1 +1,142 @@ -# Delegating Credits \ No newline at end of file +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Delegating a Credit + +To use a Capacity Credit to pay for usage of the Lit network, you need to create a *Capacity Delegation Auth Sig*. This Auth Sig is used as proof you have authorization to use a specific Capacity Credit to pay for requests to the Lit network like: signing using a PKP, decrypting data, and executing a Lit Action. + +:::info +To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). + +For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). +::: + +As we'll see later in the guide, these Auth Sigs are scoped to specific addresses and will be used to delegate usage of the credit to both yourself and your users to pay for network usage. + +The following code will demonstrate how to produce the Capacity Delegation Auth Sig. + +:::info +The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/delegateCapacityCredit.ts). +::: + +## Prerequisites + +Before continuing, you'll need to have minted a Capacity Credit. This can be done by following these guides: + +- [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) +- [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) + +## Setup + +### Installing the Required Dependencies + +This guide makes use of the following packages and are required to use the following code. You can install the dependencies from NPM using NPM or Yarn: + + + + +```bash +npm install \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +```ts +import ethers from "ethers"; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +:::note +The address corresponding to `process.env.ETHEREUM_PRIVATE_KEY` **needs** to be the owner of the Capacity Credit. This wallet will be used to produce a [ERC-5573 SIWE](https://eips.ethereum.org/EIPS/eip-5573) message that authorizes usage of the credit later in the guide. +::: + +### Instantiating a `LitNodeClient` Client + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilTest, + debug: false, +}); +await litNodeClient.connect(); +``` + +You can learn more about the `@lit-protocol/lit-node-client` package and what is offers using the [API reference docs](https://v6-api-doc-lit-js-sdk.vercel.app/modules/lit_node_client_src.html). + +## Generating the Capacity Delegation Auth Sig + +```ts +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + dAppOwnerWallet: ethersSigner, + capacityTokenId, + delegateeAddresses: [delegateeAddress], + uses: "1", + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes + }); +``` + +### Parameters + +#### `dAppOwnerWallet` + +This parameter is a [SignerLike](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.SignerLike.html) object (for this guide it's an instance of `ethers.Wallet`) that will be used to sign the ERC-5573 SIWE message that authorizes `delegateeAddresses` to use the Capacity Credit. The Ethereum address of the signer **must** own the Capacity Credit to delegate usage of it. + +#### `capacityTokenId` + +This parameter is the token ID of the Capacity Credit you're delegating usage of. + +#### `delegateeAddresses` + +This is an array of Ethereum address that you're authorizing usage of the Capacity Credit to. If you're trying to use the Capacity Credit to pay for your own network usage, you would add your address in this array. + +#### `uses` + +This parameter sets the total number of times the Auth Sig can be used to pay for network usage across all addresses listed in `delegateeAddresses`. Once the total `uses` is exhausted, the Auth Sig becomes invalid for payment by any delegated address. For example, if `uses` is set to `10` and one delegated address consumes all `10` uses, the Auth Sig can no longer be used for payment by any other delegated addresses. + +#### `expiration` + +This parameter sets a time limit, represented as a UTC timestamp in seconds, for the Auth Sig. It specifies when the Auth Sig will become invalid and can no longer be used. + +In the above code, this Auth Sig is being set to expire `10 minutes` after it's created. + +### Return Value + +Calling `litNodeClient.createCapacityDelegationAuthSig` will create a ERC-5573 SIWE message and sign it using `dAppOwnerWallet`. The object returned by this function contains the Capacity Delegation Auth Sig that can be used to pay for requests to the Lit network. + +## Summary + +:::info +The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/delegateCapacityCredit.ts). +::: + +After running the above code, you will have created a Capacity Delegation Auth Sig that authorizes use of a specific Capacity Credit to a specific set of addresses with restrictions. For an example of using the Auth Sig, go [here](./using-delegated-credit.md). diff --git a/docs/paying-for-lit/minting-capacity-credit/via-contract.md b/docs/paying-for-lit/minting-capacity-credit/via-contract.md index a29ed00f..579e6670 100644 --- a/docs/paying-for-lit/minting-capacity-credit/via-contract.md +++ b/docs/paying-for-lit/minting-capacity-credit/via-contract.md @@ -7,6 +7,8 @@ Capacity Credits can be minted by making requests to the NFT contract that is de :::info To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). + +The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/mintCapacityCredit.ts). ::: ## Prerequisites @@ -131,4 +133,8 @@ You will use either `capacityTokenId` or `capacityTokenIdStr` to identify the Ca ## Summary +:::info +The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/mintCapacityCredit.ts). +::: + After running the above code, you will have minted a new Capacity Credit that can be used to pay for usage of the Lit network. To learn more about how to use this credit for payment, please go [here](../delegating-credit.md). diff --git a/docs/paying-for-lit/minting-capacity-credit/via-relayer.md b/docs/paying-for-lit/minting-capacity-credit/via-relayer.md deleted file mode 100644 index 9fa11a3f..00000000 --- a/docs/paying-for-lit/minting-capacity-credit/via-relayer.md +++ /dev/null @@ -1 +0,0 @@ -# Via the Lit Relayer \ No newline at end of file diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index e2d4d7d9..4284fb38 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -12,33 +12,40 @@ Currently requests requiring payment of Lit tokens is done only using the `testL ### General Lit Network Usage -| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | -|---------------------------------------|------------------|----------------------------------|------------------|--------------| -| Connecting to a Lit Network | ❌ | n/a | n/a | ❌ | -| Generating Session Signatures | ❌ | n/a | n/a | ❌ | -| Reading Data from Lit Contracts | ❌ | n/a | n/a | ❌ | -| Lit Action Execution | ✅ | ❌ | Capacity Credits | ❌ | -| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Test Tokens | ✅ | -| Adding / Removing Payment Delegation Payees | ✅ | ✅ | Lit Test Tokens | ✅ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | +|---------------------------------------------|------------------|----------------------------------|------------------|--------------| +| Connecting to a Lit Network | ❌ | n/a | n/a | ❌ | +| Generating Session Signatures | ❌ | n/a | n/a | ❌ | +| Reading Data from Lit Contracts | ❌ | n/a | n/a | ❌ | +| Lit Action Execution | ✅ | ❌ | Capacity Credits | ❌ | +| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Test Tokens | ✅ | +| Adding / Removing Payment Delegation Payees | ✅ | ✅ | Lit Test Tokens | ✅ | + +### Capacity Credits + +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | +|---------------------|------------------|----------------------------------|-----------------|--------------| +| Minting a Credit | ✅ | ❌ | Lit Test Tokens | ✅ | +| Delegating a Credit | ❌ | n/a | n/a | ❌ | ### PKP Usage -| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | -|---------------------------------------|------------------|----------------------------------|------------------|--------------| -| Minting a PKP | ✅ | ✅ | Lit Test Tokens | ✅ | -| Adding / Removing PKP Auth Methods | ✅ | ✅ | Lit Test Tokens | ✅ | -| Signing with a PKP | ✅ | ❌ | Capacity Credits | ❌ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | +|------------------------------------|------------------|----------------------------------|------------------|--------------| +| Minting a PKP | ✅ | ✅ | Lit Test Tokens | ✅ | +| Adding / Removing PKP Auth Methods | ✅ | ✅ | Lit Test Tokens | ✅ | +| Signing with a PKP | ✅ | ❌ | Capacity Credits | ❌ | ### Encrypting Data -| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | -|---------------------------------------|------------------|----------------------------------|------------------|--------------| -| Encrypting Data | ❌ | n/a | n/a | ❌ | -| Decrypting Data | ✅ | ❌ | Capacity Credits | ❌ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | +|-----------------|------------------|----------------------------------|------------------|--------------| +| Encrypting Data | ❌ | n/a | n/a | ❌ | +| Decrypting Data | ✅ | ❌ | Capacity Credits | ❌ | ### Wrapped Keys Usage -| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | |----------------------------------------|------------------|----------------------------------|--------------------------------------|--------------| | Generating a Wrapped Key | ✅ | ❌ | Lit Test Tokens | ✅ | | Importing Wrapped Key | ❌ | n/a | n/a | ❌ | diff --git a/docs/paying-for-lit/usage-examples.md b/docs/paying-for-lit/usage-examples.md deleted file mode 100644 index 14c97ab2..00000000 --- a/docs/paying-for-lit/usage-examples.md +++ /dev/null @@ -1 +0,0 @@ -# Usage Examples \ No newline at end of file diff --git a/docs/paying-for-lit/using-delegated-auth-sig.md b/docs/paying-for-lit/using-delegated-auth-sig.md new file mode 100644 index 00000000..55198183 --- /dev/null +++ b/docs/paying-for-lit/using-delegated-auth-sig.md @@ -0,0 +1,162 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Using a Delegation Auth Sig to Make Requests + +When making requests to the Lit network, you must provide [Session Signatures](../sdk/authentication/session-sigs/intro.md). When making requests to the network that require payment, you must also attach a *Capacity Delegation Auth Signature* to your Session Signatures. This Auth Sig tells the Lit network which Capacity Credit to use for paying for your network usage, and also acts as proof that you have permission to use the Capacity Credit for payment. + +:::info +To learn more about what a Capacity Credit is, and how they're used, go [here](../capacity-credit-intro.md). + +To learn about how to obtain a Capacity Delegation Auth Signature, go [here](./delegating-credit.md). + +For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). +::: + +The following code will demonstrate executing a Lit Action, one of the types of requests that requires payment, using Session Signatures that contain a Capacity Delegation Auth Signature. + +:::info +The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/getSessionSigsWithCapacityCreditAuthSig.ts). +::: + +## Prerequisites + +Before continuing, you should have an understanding of: + +- [How to obtain a Capacity Delegation Auth Signature](./delegating-credit.md) +- [How to generate Session Signatures](../sdk/authentication/session-sigs/get-session-sigs.md) +- How to execute a [Lit Action](../sdk/serverless-signing/overview) + +## Setup + +### Installing the Required Dependencies + +This guide makes use of the following packages and are required to use the following code. You can install the dependencies from NPM using NPM or Yarn: + + + + +```bash +npm install \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +@lit-protocol/auth-helpers \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +@lit-protocol/auth-helpers \ +ethers@v5 +``` + + + + +### Instantiating an Ethers Signer + +```ts +import ethers from "ethers"; +import { LIT_RPC } from "@lit-protocol/constants"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +:::note +The address corresponding to `process.env.ETHEREUM_PRIVATE_KEY` **needs** to have been included in the `delegateeAddresses` for the Capacity Delegation Auth Signature used in this guide. +::: + +### Instantiating a `LitNodeClient` Client + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilTest, + debug: false, +}); +await litNodeClient.connect(); +``` + +You can learn more about the `@lit-protocol/lit-node-client` package and what is offers using the [API reference docs](https://v6-api-doc-lit-js-sdk.vercel.app/modules/lit_node_client_src.html). + +### Generating Session Sigs with the Delegation Auth Sig + +:::info +For more information on how the `getSessionSigs` works and it's parameters, please go [here](../sdk/authentication/session-sigs/get-session-sigs.md). +::: + +```ts +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + capabilityAuthSigs: [capacityDelegationAuthSig], + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + authNeededCallback: async ({ + resourceAbilityRequests, + expiration, + uri, + }) => { + const toSign = await createSiweMessageWithRecaps({ + uri: uri!, + expiration: expiration!, + resources: resourceAbilityRequests!, + walletAddress: ethersSigner.address, + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient, + }); + + return await generateAuthSig({ + signer: ethersSigner, + toSign, + }); + }, +}); +``` + +This line from the above code is how we're specifying the Capacity Delegation Auth Signature (that's delegating credit usage to `ethersSigner.address`) to pay for our request later in this guide: + +```ts +capabilityAuthSigs: [capacityDelegationAuthSig] +``` + +## Making a Request + +After executing the above code, you will now have Session Signatures that contain a Capacity Delegation Auth Signature. These Session Signatures can be used to make any requests to the Lit network that require payment. + +Here is an example of using the Session Signatures to execute a simple Lit Action: + +```ts +await litNodeClient.executeJs({ + sessionSigs, + code: `(() => console.log("It works!"))();`, +}); +``` + +## Summary + +:::info +The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/getSessionSigsWithCapacityCreditAuthSig.ts). +::: + +This guide has demonstrated how to use a Capacity Delegation Auth Signature to generate Session Signatures, and use those Session Signature to make a request to the Lit network that requires payment. diff --git a/sidebars.js b/sidebars.js index 57ad54f9..1679262c 100644 --- a/sidebars.js +++ b/sidebars.js @@ -137,11 +137,10 @@ const sidebars = { items: [ 'paying-for-lit/minting-capacity-credit/via-contract', 'paying-for-lit/minting-capacity-credit/via-explorer', - 'paying-for-lit/minting-capacity-credit/via-relayer', ], }, 'paying-for-lit/delegating-credit', - 'paying-for-lit/usage-examples', + 'paying-for-lit/using-delegated-auth-sig', ], }, 'paying-for-lit/lit-relayer', From 07b59ab1f515eba6ed79c71223564994c0fe3200 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 19:08:33 -1000 Subject: [PATCH 491/627] Fix links --- docs/paying-for-lit/delegating-credit.md | 4 ++-- docs/paying-for-lit/using-delegated-auth-sig.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/paying-for-lit/delegating-credit.md b/docs/paying-for-lit/delegating-credit.md index d99fc92e..625912d3 100644 --- a/docs/paying-for-lit/delegating-credit.md +++ b/docs/paying-for-lit/delegating-credit.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; To use a Capacity Credit to pay for usage of the Lit network, you need to create a *Capacity Delegation Auth Sig*. This Auth Sig is used as proof you have authorization to use a specific Capacity Credit to pay for requests to the Lit network like: signing using a PKP, decrypting data, and executing a Lit Action. :::info -To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). +To learn more about what a Capacity Credit is, and how they're used, please go [here](./capacity-credit-intro.md). For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). ::: @@ -139,4 +139,4 @@ Calling `litNodeClient.createCapacityDelegationAuthSig` will create a ERC-5573 S The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/delegateCapacityCredit.ts). ::: -After running the above code, you will have created a Capacity Delegation Auth Sig that authorizes use of a specific Capacity Credit to a specific set of addresses with restrictions. For an example of using the Auth Sig, go [here](./using-delegated-credit.md). +After running the above code, you will have created a Capacity Delegation Auth Sig that authorizes use of a specific Capacity Credit to a specific set of addresses with restrictions. For an example of using the Auth Sig, go [here](./using-delegated-auth-sig.md). diff --git a/docs/paying-for-lit/using-delegated-auth-sig.md b/docs/paying-for-lit/using-delegated-auth-sig.md index 55198183..1b46238b 100644 --- a/docs/paying-for-lit/using-delegated-auth-sig.md +++ b/docs/paying-for-lit/using-delegated-auth-sig.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; When making requests to the Lit network, you must provide [Session Signatures](../sdk/authentication/session-sigs/intro.md). When making requests to the network that require payment, you must also attach a *Capacity Delegation Auth Signature* to your Session Signatures. This Auth Sig tells the Lit network which Capacity Credit to use for paying for your network usage, and also acts as proof that you have permission to use the Capacity Credit for payment. :::info -To learn more about what a Capacity Credit is, and how they're used, go [here](../capacity-credit-intro.md). +To learn more about what a Capacity Credit is, and how they're used, go [here](./capacity-credit-intro.md). To learn about how to obtain a Capacity Delegation Auth Signature, go [here](./delegating-credit.md). From 0d6211017325649729e087a7d4c38954b9d14aa1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 19:15:46 -1000 Subject: [PATCH 492/627] Update title --- docs/paying-for-lit/minting-capacity-credit/via-contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paying-for-lit/minting-capacity-credit/via-contract.md b/docs/paying-for-lit/minting-capacity-credit/via-contract.md index 579e6670..99a97ccf 100644 --- a/docs/paying-for-lit/minting-capacity-credit/via-contract.md +++ b/docs/paying-for-lit/minting-capacity-credit/via-contract.md @@ -1,7 +1,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Via the Lit Contract +# Via the Lit Contracts SDK Capacity Credits can be minted by making requests to the NFT contract that is deployed on the [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain. The following code will demonstrate how to connect to Chronicle Yellowstone via the Lit RPC URL, and send a transaction to the blockchain to mint a new Capacity Credit. From d74becc893e65c52ba97a241d6c74ce34ea91c0f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 19:19:00 -1000 Subject: [PATCH 493/627] Add to sentence --- docs/paying-for-lit/capacity-credit-intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paying-for-lit/capacity-credit-intro.md b/docs/paying-for-lit/capacity-credit-intro.md index 4c9fa219..ff17921b 100644 --- a/docs/paying-for-lit/capacity-credit-intro.md +++ b/docs/paying-for-lit/capacity-credit-intro.md @@ -11,4 +11,4 @@ Capacity credits are NFT tokens on the [Chronicle Yellowstone](../connecting-to- - [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) - [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) -After minting a Capacity Credit, you'll want to learn [how to delegate usage](./delegating-credit.md) of it to either your users, or yourself via a session. +After minting a Capacity Credit, you'll want to learn [how to delegate usage](./delegating-credit.md) of it to either your users, or yourself via a Capacity Delegation Auth Sig. From ffceeeaa93c6a0c3f4fdf4f8782d558ec9824f0f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 19:22:58 -1000 Subject: [PATCH 494/627] Compress images --- .../assets/confirmation-notification.png | Bin 30458 -> 9398 bytes .../assets/connecting-wallet.png | Bin 284946 -> 60982 bytes .../assets/lit-explorer.png | Bin 279373 -> 53895 bytes .../assets/minting-credit.png | Bin 276758 -> 42517 bytes .../assets/profile.png | Bin 273649 -> 66232 bytes .../assets/selecting-datil-test.png | Bin 219505 -> 46912 bytes .../assets/sign-tx.png | Bin 146022 -> 41099 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/confirmation-notification.png b/docs/paying-for-lit/minting-capacity-credit/assets/confirmation-notification.png index a934078efc3652c0c8b4822f4429c7e9310ee5ee..6755c766cf5c3075908753584a7e27c24060cade 100644 GIT binary patch delta 8955 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 M;+uGhsGiUN0LXQB3IG5A literal 30458 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 diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/connecting-wallet.png b/docs/paying-for-lit/minting-capacity-credit/assets/connecting-wallet.png index 401749d608622cef218b3b0febad8172da96d78f..951c8c2763c4b5487338e3b23d711fb59c2a628b 100644 GIT binary patch literal 60982 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 literal 284946 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

    Ime02D-h(D+HL?x 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

    haQ(|}#poW9f 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%0Dk&L`~{_5x#&ti-RPBl#_)Fg4igtsj3 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¬ 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 F{T~x{bz}el diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/lit-explorer.png b/docs/paying-for-lit/minting-capacity-credit/assets/lit-explorer.png index f08a3d31c967fcc01c3f3efc9136136d057af19d..ec9fc13890f77d5ce71c71cc909576e39cc6934b 100644 GIT binary patch literal 53895 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 literal 279373 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

    {i<(61gqS9rC2Ot>gv<4 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 W)#B`u6Cw-1za6ld!L_YU$Nmp|sO#PU diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/minting-credit.png b/docs/paying-for-lit/minting-capacity-credit/assets/minting-credit.png index 9a74d4bc3192f5e37703a89cb5bd4372151f1b63..ae23f0b680751491bd2eb3ad21075a2a47b33603 100644 GIT binary patch literal 42517 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 literal 276758 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

    M>tBPE7gGPt= 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±(XCxA1E<;wf zJ69bSC71gs8g1PsSVR+&UCkaIZFd1YMMaTu9f~N#ysO^n(9_e;3N9r$VsYM)qBUI6 zG4K>AJw0@Qhkgp*RU}H0lmLF-Z;WIZTD2Z@{9(@cF{r!6`A3k0LSCIT>Pcd!seah} zJ;PDo;z`8IZHGuW;A`xbqnm#}8~M~_jp5l&l=>iV6>efe3J4;$b3A^vCKat11U!)n z*5Q{`nU|E|$a(RA-pmdCZRHAQbm7N<#fv7S|KQxkduw&zzld?!0jj{}QlO!0n&j>^ zO;VX>v{xlvl*$Q($3qdvtdk)WASW)j9fWp>cRx9pJFzO}5i9z;IOFiV7~S31lTgNf zkcn!e8yUF?gJr4w38CkYU)!mdD~qj9?l0br(4G}YJIJ3DPo(RB1-rD(4JuBuvMv&(1Vz7mZ&;(y7g0~B%NmhY|q z2O0I)e^W;NG&U2bCK_Sleqd_Qw5Y9yt`Oe4C*o@%(Ut*z{AIlnn)KIJ|E~8pZ@^k? zO*UFK@b|=6fz61P@=m1xUuf2KwEmtuWv};Ab$fJ))UY}KAytGzT}85PN?^Cvvl1_F z+-nTQJK+BXhO&b9pHtM4@SOG1oQ`)XbX9w*`>y-J^mqphk;rmIKsR%zP*^(V<&IZ93OMuTTuiGs?=rJ8 zJg0KrY$X_&6W*#BdjJx~wqr%%zF)iswt~ev>=H}S%E8d^%K>}0_1Jv=xKKJjmzzd} z&*c@5)02QZBAger-Cqf)2ZKu49a#QgXANGz@vdm7FTwao5b&^M`T&2&WEY|1Pp}5_ z!39IWh3NKuw&ohV=UHN|eL8P-wMeSOU%wPPb{}=85!>OpP7o-r3t>}|ddM(1Sat7F z?WOhQdJ>BDcgab%H?)6&_R>A#G-V$?cGyeBwej*QQL+a!k#7!DLTfz}EIMM7c6H?g z&drsnNrn^Qm2)M0NWvjBR$oC?FeV($+l$e^HI~A4QtxA;JhiSgcZ6AUp-i3F6Hl`b zTUyp38M+-#3ze4#0nvYO)`n7X1E|r52Qo{nYPl_{bS1vGkkOyj`+n7QG1a} zM9wlEHFtW9EA074O4to*Gi?z)ndd_|a59cvps|rCz zZ<*3iJsN1j37q_Ad{EA^V55yNfSlqwof#9kDmY!?v_E!wvE!F)`mZpiY9Qgjq2N1T zTyYO2VJ=Sl#U=elM|DOUhmQ381^RXguIrv=@H$Y;pTs5Z;Uv+cCqk5%UxV~0nd6kd zo;W@Z;BbwxPfzmr`<=%{f{R`T-M0I;GfAl`CM`4@7M;L4IAc71LnoD!(l??bUS8WA z5Y)JN6K&B4w)Ij*wSL6kqxmbi23&iWPit;cryjh8A)xkU*vfqTi-17*jaXLu zC7^Vy7S1SnFFI1Lt_!s5V~EI9D49jxEo=C&zF5G4$^xTfK;HjFXWg4-0M&@{qJW%+Q^)u2oW|`4zmiYkFZ$1z&Pd1u(Kn z!)Go#zDCmDwm`S9g#%J>g}H2C@()mk%M)ZF*hl1LW{-AwEF@<>|Kkn_eA*lW-`n}p zp8=^=^Gzmd37s_MKLw|62C0ge4Q^w{tU@*dE`pb8voG(}Kf~De&Pflgd?ss3U(z&O zuWy!qm)FC3Qvc*2FB-09v^cNM6`o_Zce#0}d^m(PvsCkbZu*Yz2K_&r;t8Z0UE)=K z8M)FN(T#vBGbN@d%iQO$Ix-htCPe&A--@U z{zz&{IG_|aW4Ym_^|w?!R}{)n7Z|LX^=;y$vT@i`@3lK|VZcVU+Q0CNp)NTJ+47z; zmbDvH3kieu_;+&uN5h$~+86gJ%w59W-AfdtQOqGi#{pFUe-XY(z>2V6vWks;mWqV^ z?g@9ExG3JigXbE?nVB|IO1-)od@pYjLL##CPXn=|8RX5Mpnviu&*@4Ra9)tI%*yqU zv#;}@&#ul1BxoY^ioBDvbO(^i8j`@Ze=<9F(gQ_46d6Ff)$|Y?^Sdr`{vcNGJC6^m zR%gRXN$)6=MEtQ!u|Ck%+K45Tyw;=zY=ADWIS(II;Qo(#eiAJWB)nNclTz|6FQDR| z?h<92u96-K!rE|Kb=4I*MnO{c)9#iFm$WJ+BO7sA;~#Mo_CI*{l`oXtO}S!z)T!>E zIOE7xPhkA(_^wxdOo+)64*3YBSq=ujOgT3h;Q2bs$9!J*FzoPCGf}>v? zV*WaaJ;mwPN<~-8Bp@%Bg@J2q!RBeKPDm`=g0j4Ns=CF;q#I=q=ib@@GlFG zVU}%fe8!jDOTKS${oBV@8tQ!YN{{mtv;kDfiz`0^eyS{c)Ew!ylj3GuC&wW&pvK7> zIH?OEUDeQK=;q3~=Kn`+l-I?nO2xl#rvKJPiT#^4>c1Y5S1k}l^tF(Ob3Hk^>qq=n za#zcz80YU1Ii2;OhJuVjKrY)%V6Z2s5J;w2Top!0jhXzuI|$HFRDeat7nW8BTUC^Z zkt}mG$H=;v#a%xm$~NX#Bnr|q+-xi&a<)GJS-EbE5mppmp^vkE>j%+3PcuZtGN ziEN^9Rjm-2|8thF#pg(roadhw%`u(&UGafRIEcS~wb<~mg7JmgfT5(>!dr0|@o=&V zw!@$#1#O~`8IX`0*@44l-dMbttj(+HbVCw2 zMIVCLZtGa)r#MJ~$G*M_Y-K5BhLB*qdI^uEL+TjxL9{{2Fv%vFzmv zlXdTpi8i7(d%uU=q+quoG6q++Fab5R3xY~sy2GM{43e`Z_4)p|O6zvQra9zmP4h)F zZnnYO*qavhH@r6g@;ZI??yPG+cMoG~o7YN0YmIFA4uII~2L4C!Wj=T|54_Bn$0|Me ziRM$cq0o~pB7u5!51l8srd2{VaRuptbw#hq2w#UU|BcMb5Q(B1EFv!rxKL#@P}{%U z^ArEHu}D2jk{-TPJUci&hoz)WwZiMT z=)BK~m~L0C-d6$8VP!G$Tq=YFnfwZ~Xn0m*`)2DUeFbn#BI_(RzqEa`?2WO|-=h!i zlARlBsUBc;mA?U4632T zcv@flHOb)f^i*sNqw&)$j(*|i(<{&*j*m`iz;?yJwF>C}-=S&`Ua&&*$vay0cYA;m zsMIKDrJi-N>fM&R^xikGg8E7yH6+E~rE}L$XMTmb(x=xSB;XzaE_vWi3i^$~0~*-% zo=sFjDsYexg_7QtYTwG6D2N?_RCP4VzcQ7wINeRC4b0xZ897_m0x30y(3_Dn^rw{Zx7PmmDo}8ACKT*kIjt9#&H9<(pwfF02%R8ZItWNF0jZ&c1ilw#pS#Z)-#Pbp?j85v zy~kjfcRkNqbFMkpvj+Pfu=Man-I?+0d8g>Up|*4(j5EUWJC*W8Q~t`9>H;4{Ilv009jl11;b1iPE%|D6{t% z)8|%BB`dslwNTU^R=Loo3~OI{da)i#hF)!zZub{lMiaol$Z2O0pP+^^R6wcz`n^awtN2R_H$T?6@vI3AqcbOge)n$iGx^AF{zr;%rB?SSW@cE%mO#xENuFliYI6 z-c3!$+SNY9E`*Lp1rN3HKM6NEB4i*^`|D&UeLl31F$`|A#X|Y}AyGXr@ox%$_Kn-L z`B1Rhw&k&h5%IBto9n{_>N5;q(%0p2Ws(qx<_5h%Tj+&}R=viRJGy(el3Q0jq;Hn* zuP*0KMRx^OQpdPxEoE?-*G}B~3}M{?7LQxQ@ZY-CLc(BEquP zCaXFUa{&^NgsnE%(5ap9lvrXl_zYSaZw&34F&`m(_QvNR;hSm4oo(v+Z4?p`Ga0ik zN0Tt)(d=UC(W9U<#SlJWE0+i^{LS`XibW z@-^V?EG=Loo4&7j$4@BlJ@{ct*%4xm1d75PBepjyj$3U#@gL#GDKV*gFWbwZBetV= zog&k|^ZBY3?sS0EMAFZlvu_2KwO(VxROs5?-CUKw`%7p2&NSBsRX;<`Ep6a@u3ms^ zV0JO&*ASh8QjT=j<70SW6UvL^3G$tE@5-$(X87%B-(tNdu;)`utnjJ8XHV6nl;L}H z6`_Uf#u}U4z>*I)U!+qh;zQXlKHIXR?YJNl5d{Pdvpj}tcOz`sRuWf-{)UMj9{ z8$q{bZbEym7U0>^C&$5u-jxLGc;R^ zK7sV3)3xQPWJ_nZQmt}$P9uCByfytu)O2bnw$K0QOz{Db2je%x`02EPwdIe-XwHL| zFJgU^Bv(fr?uBUs$HnV4cdQ~~T0Fx}fD z`PTXfT^rl#hWKeprfnJSW_A+;pD|xEtlH1ekm~3ONBH#;Z3TSd_*IpwuY8gG$yjk- z((-3Aiklz-h_m-AoOaal;?#cEK)d$=*O6X*ugd2%sDfy2Pu^t?yqkOf%ErbM-iNB&=vwgF$WhQ_XIw-9aNK310n%tMHAPS1a~qsCR06-8h#BMsoFiDH&4adtY(A zYHv_6wXx8k#Nz#86;#(>_zPV#9 z&LF--$$Drj`JHbnN?dP3Z?;T`@M3-Y(GniU`V!+g3-*dgLFMz99-5{MwL~&alZ{1? z?mh@hE4s`^AwbXNj<+DoaMjj}Iwv-`u+Vegv}p+48*A z2wQOb(gk?X#2THyk7;uG>;TK<&j{(uH)G8K`t$5lwm7_}Xr>vbnHJ*qHLrgR%3&h; z{HO)B@1aU*k$RTlQhP4i9ds!s;7=4cC{C_1vzeyxWzflg@s%NaWievEdm7b(BS=(E z(j8A~7AbHoz8gN?vRX$J3io=%Z`2&!F?RTD7gw>i>^pQTGsQZ+ulG9lQ7 z(S$_jpw-rki31T3K}GP3RK=GyL%hHjP&?dSW`nHS1_a&;*KN04>D|>H1KY4H#|O)R z!wcBH;w*>4uHG3_!K$v@Mmsg-mm3cQ`CaV$zEo~}Ur*-qwO!^+WM!qN3z}$c!`#UT z#OPr}he}URET^_wsG1phXx`%4XF{NhK%9xB`}T=Ua5OmNGn;J5*5w~VDyAWkxO@5q zIOpw$)A8yH8f_1l1fT28wlHb}`9MAT7i~&+`pF=Z`j7rB=>6LViQY4G)6cYSHK* zl$7B|he{D8DOHe;T<=2CTHnu!xV<5AOdK``E3-hMNFXK%_U<@%^T|N%A6dFrRd#&~ zjgDZ=MBcO4^!U!S+0=^5#IQ5-u97OUCG0W~$*p4+>Ap|-a9(tm;2IXrmOB_-sZ18n zffrBum~{X9pnmA`kIc5kv@c0{pBeQAefPxt@`89rrSdG<(aoz6GW7LUp^n@yzl`1h z^4JTU6oYRRc^r8-l@H;4%bEA$!vjxB;8tqAxaii`2k+Z)Jd8=NSDz3nFScGMn)9JD z;2m0CX}C`O)FW2uk!-REzry=eA`12_LZtz1?VgVOYWvw+1h;d=QbACl&%KnL-ZGgG ze+0HU?_!n=nz&3e4sE&o$<#SC^-jpQ-VUl%O4hnM`31X8B1#l$uuWv zYkC_l*L1^ch5eO%R)PuiS|~(q%tg@0G1v;Zga6_ITRfjt5${4`UheTcB8V<)a7*AB zOx3S#TZct%jwGdT4BZi6P3WXO51#8C<5|fQ<5itPe;lv8)7G>7*c)RREfy%!@m|Pg zs;qi+_r^pPLVmSKbB&UPS5BxB$YV-;4{OgQ@&-Vq8t*fGEtbd5QrON3jp05ss3aaX zN>bdzI~cGB=xi8Ez=lMBkc~Z|ciJo8gR$CeILw)@vIGKE_ep1t{%MsZ28sB15@S|W z|KM&tKOzcp?RMNLj_N`Ic`Gox)~DAF*XSu}<`N(tm>Pb>odsiM3$fh;cLb3e7mAVr zmBdPywT=8ur}W@0p{Gh)&P}F8hUTj;;LSZ2gqQH0M~#Z3av5cg!Dn6kjSUy!^2QIUOAul1w<*_U zZ`n_C+3x2JkuNK;QQa2G%FA)T0e5B9p7UvPYVx@=7wjlk*o`WH)jTMS7)13c*FI)N z6U{F6t?)1wZg8@osg0_=#$Ku2JM^B|2I0m0AT}3-hv~O8uWKFUwtH>2mZq01l z?MjyOkAD%x`TE{iv>3R#Ha_z0J?6d(Q7|TmA}hUx2OWUf9kyWAImwPwHEFh%o zD+3u{0MIk^@0$Al-`3QVaCZMin*{2J+OwQTiTRV@R%d+=fMQGqkr;I_QT%}Y zm|}6!M4-W7)W`B1zcV6x_#F>U^N9w$u^=J-8b@xc1d6k~n{fRXPQ?M0dsI z15(z-*W0-c$z#=C=7fs8c85q^cv@W!)B@5F!}W))XeVozeyrVDNFWR*6w+gzd`_6WAdqT14yv5#u&XkqVu#Vg@HQdpho*JE)Q%f9?t zAO6woq9HqgrJ>8r*r}b1%x`}4+>oT7DVHRj?@_Da>4?FHTg`kiuboqLN|J{A0X}=L za5R0qxtX%&nGORj@;NCphHI3r3rD^{J1oAC=RwF7FA+divI`@EToXlZ5w?8Z+E_^W zCie|>EiC3dK;x{3Axc(*5a+p-jY|mW&XKO4rlX9G56sl}tqY%6autO_1s-7!ib$zl zi&ZesLZSyos2xCj$OIli>(QaERCi<6A=D)Uu*q;&&6#Z3r)u-tVxNlH4Jwx_<;9US znT)#Luf+w)-eWoPq=rq*2rz;YNxLoMIwLeruSaEdovwe%XGc8t?J!3{g}~w@BhOe5 zy6XH4(VPps&hsD!5fnyfIdpAFTh>Z=lU2)=iB!0i(_c$Z^#?D>^QME)@`d>lr?luQ z{mj+F8YkWi$0`bj!vZ02}aI)l}hV-z08}$WNcq5%%R?-N12M4T}1NSgqS}_k0w@&+6uXs!((K? z+g@&CQzxb4EK=~fLLAS#`t2fKNn<~;BT&vba{2s8CcHv;!V>f=`7Aj((?T10)(|Cm zc>SMtR_eE<3@oHT-98Z-GDw;J*~>rvsV%vv`-X-5;`q?qO}v6b9(3#-;ouA!Y(2p= zAIt=xpTvGie;1%>rw#8v%fQs-^JDRb)5y*?NKPmL-Xrs7z-x(%nznj}e^~|1{re1N zj$u&1dm{BS>sNq3L&#N@A$@1NdQZ3ii)$^EdfEBTc(rD(`T!|NUMK;95ZqcNVa)-U ztHR*q(W3CAkD%(9r=J0d=$w4!q>twg*(dKmMYNI&D55o7<131%MfA0=r)$6RXa&|} zCmrr%bwrNtHO0U0Y>AU@cokcBNaDW}=q`DUb$3-bxg`(Ax(22^yfPQl+LlhA+f?l< z?GL=LV2n+|j501~V70AA9NXF7jlVLiUv(GU5QA^<2i+EG6)Sm*g>IJYlA-+i^H7XTaAyceA44jM z-e4s|LEhm<8U-Rw_r2mkVQ;$eXYz(_R_*@gxtj2-gHQ0%%id>&dcQx#=Q2wv04201 zJhqp^;*g^j=&2YH=15HZw(99e2atJ5qdcE98sCfC_4QD2?E3mDE?h1_{ee z0q1~?ujh)U#N)eSH{=QOc!0T(vO-Gnf^He0m_(BS>P5QS7K_Cx$L^Abmu}Gb=*wY- zC+(8POV;|oJm=3L;g8LVZq-9*X}$rlZtk&<8(&o;aymX;&)14~t3(S{sv<>wI}Z4N zaR`f7sU77uy947jh%9kM-v?+Ci@h~A(e_LIe%vJ%&MHR-6lUOO*sgr;LztW57p0=fAG}u$(N|P^5m!k zTtdfX40UNHq^QjdZJTHVh*r$KFqz@L$KLz&r3eXTVDmO z&xi$f!c-eJdzE5KbZy^~{^6)5gV?tEpTByxdkx>;c9c#4da>XnTi~Bj-DoSIPj+_K zZIf7O>y6vziozo%f@famy8sbP)(I^YoY9}x$A_U{_ocTlqvv8eU*`fK^#S)uw~z|7 zUJn%2DZ{wCa(}Muz2-B)LAT9Mn@d|OC?ZYgC;Rz`%M5}?%vFbA&fQ-fuz#hb5fFA$ zP$0R4f}9ZjVq%18A(ILH*X8E-t7M}Qbo|!|v@J12vCNuRFwsd%s70+cU@fIpA&Q!| znAiDg_Gg)KTT4i#+XsCX3I^V~AgdMjJQ}&wH6|^>v-ppbembz#ThTkit@1X!JXy$6 zO9060z{nh4Kf$M`jrh|ytyL{e&O8A?l4tKv*9!; zZA`@|6b#?Pfbs$g6?Uf}8v*98l?10d=J<0>_OOm#Xu_ zRg8wenA&8ATK>+<9t$~qVbRf2wE{^muiRKFCU-2VQnyRd5anOtGM++G8>p=B_tiy| z?*-lsxLeq31QJ}O#nOmunuQ@C7sej}7oZriGk(`bP~-T%01>&Co<tPoCH72$#D{s#*U%r2}u=l8f^YxaA^XulxPco5vhMT{7ijHRiZ88ygFd#-1Z zCUOgF_5*E7OiE|B`i*4}DOwXfZhc{U43qHS^vn0e+p0S|{D3A@9DC#~O$Cy@52kv5Su~ zRIclWm#7?ysG*!h^<9Q+pA^hbr-aMjeVxOKrC#47t zXea`@`LrCnpxy3D-eob=Noy^G;50cQpKbqR@~MJREu9MV1Y8yPhloau3asT?S%sF?mC{)I zT3w@GwN_F(R3|g^EuXp%zj*;8&v|B3e0>CVe3cS((rN+4tN{%2<%bh0D!>Pb zwt9aPZK2R$ ziG`XUoU7WPS-DMpg-pQ#bg`hBNfzSVdo>Y2J1zy@!;>VpYM4HyeU7cgCqwnUGH+)~ z%F0EEwGCEh{Q5-4(dIt=lj0VM*9cG47C$!b`!r&`kM|LR9y%ZM_8-Gt;d#Lb3_oGLi-d|SOlq}9lG{? zd-V;HU%6@P*3&kBgjl(iz-bwIyIHe7O>OF~J)M9G*8%VTf_9Z9;XIxO(K0~i;lY9p z{qL1Z#DyAhX6Q8?D}4P+hdrl1mo0k@&Y2BkO|uVr^X3m7`4Iy2=qE!o0%D}^DcqULp?eVLmc_SI6pUV*+eh98|&j!g& zS~jHrU5)iJ@aIk2;l1w$3R1!-YYpy;%F)>MI0Ztj91pQzsXGva5Yg%_WvMW)D9c|! z`=f9|@ZHxhH}Up$vhQzlaQWZLu1;DpH!)6p9g2AwaI3{WazqjU-j>?6Z!WQ!{* zOIKbxA0+N5GLM|esuf!(Rk?l{g?QLS+XyH#n(*(U07<74;ogRdbazn08bkrj^%Z;W zKF@iw-T6>s&MRvoRc5e)Yyzb7l|hMAMQAA0^>ZcvEtZ^1B10<0JnyiO&fEDOo!S6Y z_AoPNvAb`NC)?zA(!k9V-JIz4J1d+CG#Y!a9gUD=2RZuV|v+n9!Z!z69!GZn|@B8~;H5euKb#fk7Fj%}69^}bq9hR#oN zBT^3iko#@X?Xl_o`d9sSNOu-4xx3Xzmpv@#Wij$v{`r7uz!sNC5i=z?c~|0AZED)c z6i*h4XxZc1%>sEnTl4PPyLzQ*(GJwjfLj3Jd9ZbrKt^{Mwzv5j-e1Oh{gH=?95h-( zE!*P{Mxp}!=M25YFy&*iZAyIH2|b!eLXQk=MrU%ebM$90bxJ+X8Rj5=u+TlVLaU8{ z$PUDlqx`hYC@MbY?@V@c#k(Kw&ICtbD3V7!_L)C{=Jm3yi3tsvdnfpK$q6GdFrH4 z856#3OL36qvd&Z6sp&V@8^l;o{P6UzTy@k_we{FH9C=H(pIEpd5PvbEm8l;9ydL>C zahYOd6T;^h8Six>Axe2rMta|W5mou&R5?&d)k84P$4N%#ou7S?-9S4@eLs3Z3toEn zaGMBFL#u_qQ3{8rcL`+sg4Y4dLpdVr9RIy{L{&Y{R|=OGNy4poy;Fm^KOgq0u-|fA zHvOI!bs`gL!sW__y$i$%J}px>PefJCl%Pw3QzLf&R#6?LlvINs3P*jZUF&h!%>C7K z1Va^UH%H0HjTo*(|6i%9xL;7R?{q6fi9RDGi?3*p!@TF$Jw5l->k_@k7qt=6wnIWue!jl6;^SHZD|G4zH_&Yi1CsP*;W~T8MG# z=r^a8^NvCyCsnG{9iTJtw;ao92KGFQby(HU?Fc~ke^hj=d|+r%I#t1s=_

    ji+d>`Ik;%-HmiDh@vDpw`qgcr;0Fb&@?A%T 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

    nAP7jkbOfUI5vm!N4??rd6 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 diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/profile.png b/docs/paying-for-lit/minting-capacity-credit/assets/profile.png index f3e0378282de10d91a185947690a43be9598f4b5..c899135ee3fff31604b8abfd5e9ea2ea349825fb 100644 GIT binary patch literal 66232 zcmb@tcRZY3w=g{E6}cmb5=0rDm>EP5f=tX1y^}C{8AcsFA(0S-OPkSq^ytx(sH1n$ zqj#crzLER9&$&-|&wKv(=67N5wO3zj@7a4_%ZC?=@+3EDZh}A{68N*HDj?7`FbH%N zbNvz#B2DE`PyBP)ObRIl0u_YZI(~J9*uUVQA}!4dCwtrfvX*p^k5hBKD8{Sta zw2=v~tBoBI3j`8#6(KflOdMY^y4qOVI*7Q6GyTC3A-2!Kd`yggP#mqqnY55E7-i5H z6GlPaN4$@iByKV?GKyhPrXng&<^GMF*b`?mcXYH9;p200ap84=@}e>Mic!otrKhf%G3k|CvtfU!Ijd`J&rriXx;MSgGX>%&S#*xn;}6Rj{lihRjWxuP^7d4ga+0oFH?9G_l1 zN|WJ=(1sT1!HOj~f~7dae0&2=PtRDHgyB4~CnqOj>;cbt<2Cqm)cLbj9({(f`l#_| z>Oza2@!+L70de+^T9ABsZX78E^JDPa$87$}{OM1gDjyvk?H?SLmQ^h-uYUj02osjO z|A31JBDwy1BOy8CEl+o2Q_ITgdPl}u)sObybI0o&JNXWiMy7U~3nwBH2p2bBHg1t; z2yIK(5N0;P2TYGNv`t59Hb+J$n&Xy9$eH&xPN`_Q8e02yclW|%2HgB(7Y7fzTYm9F z%R^Uw$8G03sZ6`GP3gHQu3GAcLs(h zk;(?sBOC7mKJ^TYHPrTwPfVIyJ1O&}>%X!}Nzb;od-HQ>B&)D?W%RJ9yfHL3CmK2Q zt9fU8_i%o3Imi0fT=!meS!>P5g-BciFW1wZ)sxi3;?RhgHz7$GCgX&b_MV>p{(+%^ z&Y4)1;ivM3W!23d-tRmE;ySx}k`2Zpfs9{Mvr;lzHui39^}kkT4i?_=O52Tryxni8Ws%w6XPR!`)+H~ix`};*z`p+2}+Q+7s zlz7bqMrGF2cXo7kkJWAesO*|)+xyYfZD`~7=3UU&H?z+aO@Eeeel2X8U)jn^E05P4 zX>0GSsH`o*P7n9Y3&4>1rFFSqN@8$Xp}|QG&hH|V3W5UTTkD5jdxz;+_!!ywbMS~O zYS^}=td8|BC&uKz6etf8={w#({q=Lr**DtN`Gd8!*GpKLr$?}go&&}wLj9$S7Ro(7 zxYZ5&5v^5FkvHszt^(fF=O*;>v6viQ7rwv*O&iw=1A$JA;ZLR1T!&ZU6wo6Ylswzt-<0uG;ZPv)@L& zx*q~o&2ryU4qvsM-v&8?!+#^{uxcN=qyv)e!H`n~j9{asYP0jIO!+MH|ck-^6HNiX%dglEj} zl~rh+uNj$22R$AAWxW!jdj=W|P2T7wHq((QPzW1-;$q*-Xb3=DpiazqzW&ja>kfZkL1A8Yuo!!{QM7UNqYpW6A4X5`3{|DBn7qj1wwF(nksII7= z9vdlgmup2R$O8)5n*?jvkV*l{>Vwv1#9yI+xRXBiCNe($uF|>4OS>^*E?D%YzvvgCA;`we zGOJ4d;CPIOpc#4-!D=v+aQO*fx9ky>uE!u*L#QV7ed`*YXr8^uWRuNiFkZ)Z>f<=Mck!Mw=>gA6%+_KcL z@4*+kSVjfU*om5<(VJrxd*GO|J4j0QAl9?UYPkLn2RFCFmx0UY=I~qtbkUr}LhuQc zDO%-=?Bg3g;8&jbRCFQ46L3Rs-b0?-;s7I#QyhYK##y>qKzKg^%di?k);1FC4m<_U zgYy8{BczS1fhWU>nlAUVcmfp5F)VnZiC@;tiMTg+kaz!ZN&qj$a z=EplBTkl+3KNmo0LfE#E-Ppt}i3T@Sc#03()>1hq zOPpPOjBo48?YA6rr$uUHpf^+0^9Okj5==ZF8&(Mk50`N-r`j87&j&S@9}|sOo_Z@F zgKnVc+dGk!q)3SN9Lw*2vnj-b&pb4*)SxZ2HC#_;rJo)CW`J=-ujxDiTquQ)>fApQ zvUZSO#f2ZKt{GdE89WgfhoJ8k!d^L)R`zn{N6rNd2D2eWCCz%^fIiJF|J+1E7;bo1 zZ!4;ecffhGDEix0*(BrxN#PAY_6P0GlPjgIupz-)X3pEQcdprbc!=b9{ld~Ji(naG zi+z@!<%_Rc_L9HMlc^aPu)0(|auhFl0R8!iLu0H4PJzTre9AO=AQVFtDNw!7cv1dg zBT$jH$1Dpw@JF=h98EX6dY>_oBZDQIWhC^wgs>4YaG^4MfI3=hdEc`-@6fXZeV@v6 zUtfPMrN^aOCybkiP9u+Cd;jW?P&+Qu==Fd%d{Aid=kSZm6-fqj$ZBOt-j&5+%idg> zgSm^Pew&t=q$3-OU&bQ^1@AGhRl30ucPFRX0+m-rWSm~uZqF`;g#E~O)bcz@O42>) zb!LDK0aq@Kq2>*%U^1DOOI6z@8P%cPD5pcP6D)I@a28;`x$ta%z3AT5=Y#FRuf_96 z1LNZbrx3%%;m5~Dq?t;KF?!q`!A_`-BgvxcIC&Sf0WtHER3x>RE z+K7$6A=j6uai@83N^Vx}1 z+-w*qtB(JOVfWMjmY6eXnkd&x&UPp{woi&$s0h`02te1DwU{<!*Kt8 z}t^IlAZ2fd%KK9+8KnM(Q-Bm~NRf z-F_VE9!51KN?t8=@VUEL7TAmqMN|i%y_6SR+EHpNBR=fVRb{bh?70Mq& zJ|nZ%tU?zWOiWDVx9T@nTn9&hKP ze`jp>E171JG2aY+fL6vEW2Y>UE2s$;H=!%KA-yd#jP>}|qE7a8_N67)SDwA3aKH!v&@SAT zkpqUx8dBETN(iN#)&g~$(DFHZS6$+|%4~F|Xn0rhYIal`vy-qZypSW#GA4!4vV){g zU~i=I-z>PO0x+mgpvH!U!~t^q7Z$LgyO@)`f@EGM#Y3>>4;MDA~6Aeo1Q z3ut40-o$fv^sy%}v{^u&n|!8R+#VA93tz=z@rZmREz~=4P3^GY`G_nMOvcCI8lV5)xW9n+qtB9+t4nPYL~dV-wz9HWU;xB73PJ*jTZ-|`$&u+iC{ zURl6|Tf~>v{Avj5MZ819QMUK6i+c8jMbFfWNqeIfdmcOdy2Q!`r+|Eg*Vd0-3$ zL2JRZCu`sw1k)Tsb^7~zlI996M)68%-80YD%)p3+7`+28NCKGTF0#e8QgM*KwxTr4 zCTFL@_Ltcn*o;&c4nUzLWlsQ$cspHBLA>5wp*;@~>WzcNiZY7Ny{y zAe@ZQBHP4a9WFS)Vdi^UT z77fZ5Z<}#+eJ{yr==${i&LC-?Po7kF(zCDkI3UX2QvNi*zvaw6`+DcGBTpg4+dGs7 zH!sp$Z0=h5VRw@a85ve3x*0s7#-i=ACl)C6A>3SLCS-lAdc7J+Nv4G-ESh;A`;)g{ z_#g?XcI&70J|!GMRkpiPZh~4KPqt(+yS@uw=X+;V9aGqExz4za&tx!oMGq6_9n!0^ z`eX$zhTi->eUL)vb|kz4UmF}cE5`ycXx9(v4K^jbQ!X_dUdQM#mqv4nE)-8!Hyk&G za5l>?6#>Rr^ZPam7Q0#66t{~~5WyLTCCTE^ka9xfPT*(Dx&{Z{QgD$z5W?vI8H#B^ z%?){zdz*eh(~IYhZG_TO4b2vtY<4Wx;K%A8dEENCP%KA#DNNnf?PS32pgB4B2T+Fv z64G}O>GHr{$kn*xHA3Y&!|lMw-mn9dUEK6KeeIF6YvJ?xm{B!j$CpO=z2zPeZF~%7 znEmQjxiWiUYH_r^q9r;WYD~+VQ&85}tu4xSPD(n9sf4dj=k>OxlZm_LL()IV5 z>kvAwF*~bCY57+|nJ+ELgqcGvugZ5QPX9AR2mZ?l6Z^#7s;Y2(c%Hp|!W^Qx1*Te! z5j!?4{(W$|>%6s5NA$Swf{2WF^|}W@yPQgzv}kPt!Q}+SEtzeHeTec{ZSWsM=<`Gn z64E0t1Wow6XHLJGuU65eT4We#&siLPP8kxUVH8OSD*Y0~PXqV0~(~LsI;H9J;W)+7oRF!>)UI#GOzn#iBPkX=lb+xD3il(;?bHO3n6^ z>w{TTUP=c;lu z*uzx!;pKaC^%oD~gs2BM>(n@>^@3Fn){dwqy!Kd}Ea!ZE{mB4TMY*Q3aax1<+K@Q( zW|lk0VVr^4X{Ki7iF3XD4 z_R?z}=@l;QF>hxL!_!6DYc<$2u}wWCoxb0{5x<2TkF*QayP3b^@Avjp^b?^MYo$$T z3Bx5|fmY1HqX3hzHk?|pk#I*E7Vtr|%+TQ42CE1Z#3|V_-zpEpu=Z5JpMZnF4lpz% zcvk+_F0wHxRucbFMR+l73waTO6+n0J_D~&}nXMX~T-y>wL!fxESSVf(-~5Vooy?=gkp~AXMPEr>Y3PY4R20 zwLLWiQ7C$|0PzNanZ_L_ec1w&G2}%HVLxqQfe_SPR2Xe1Dm#Y=T{E^sJSPrW#of-9964YuR~{R>p-$9c zWQC^v|c61@u2Wi~#7LkKH_U$j$R~n+4<} zErNABt#Il`3=GfHOMwE`sys^&UgBSE9P(>wNkDIl4JWKfjrMlta5*IjSHEwB`rq*} z5)~nRld+0~9t^>M7p{H3l(@gd=L>WSwxDu7@503GK;bgb#};T9-Xkjv6rKqv2@z%n zzbk}LgJw4{llEf7^_ukJ5$gr^P`5k9gB>$iyOqB#B_e`-x169uH!nh^Kkg+y!o_hkVnmVO2M6~rD@eMMKF%fZz5vClQ1uuQ&aa!3pT_$HDE3UBkWD>McB zeoMLXWa#p1#6_R~>(jylf^hstpZx8g7oQOWsJlK8)520kuodLS6Je;fZX5xRxcFiK zF`!{m2nImmLO{tZE{DJZGU-6sX#YVgC!)pvLEA+PQ2s${Mj^o$Ue+PN6Jrr@P)jsn z3>%k&&{P3mU^fHLI~79o30Xw8jR=i-CyWS?L~M5;-ra%B?={e0gC<`k1!%OK+wlsegZao2SlvA zJXh8oT!%xfoqJ4JAeN|(Ry1Mw@wvK;0F)SsKTH?_V3Nq|TL9u6EtB8zRn}|$45J?BGQX+!#e8=k%rTVz)7xL`D-KEJolK=Q7zPHMJ@wi(3^fR3-rx4%l8;0Gh z>7Kx`%QQp8ex0U$pf|K)Uma7zH@z--&SG6MdK&HEeUSfd;;>Tl!nd#j-IKhrj6;g1 zGNEX~HSZ5bz~x1BcY~p!H~5;DC>yZBcl;|s!S*2l8eClnwy{5vbT=F9X)JBDFWNBW z-MkQNm~?6D2By1SCnlJ}$!zbLF70KRCt|OBBYnfAg?O0i2VUM_&AptOw4Hv>@Yg+Q z#ups0_o+>{Bz>rGXnWJ@4m<&2WTaB$a9SH^IzE6Z9IERy%QX{MsHlwb81xE8dYKgp zque7GNqOC~3BQ#AFyB3etEK1H(uspPE~2DA4Nc_-uOWb8!6FjcrkL~*(;6i_jGP`x zpBZ`E`U3G@{K1Z6DT5?U#M9*o89$3{q!V8qQJ5y?R>0m4{f!TK1$XkYIZi)*~=;18PLi?0#LJh0g z8S;y$*=@Fhm(*h0HIIoq<^4^XavZTo;2ff_aBD)P< zm-PehG1xsA*FKEEd-OLfpu7b#S+#FlY&gc>3%U^`W46!NIuDL)R*bV@c<$fc?WMC+ zMTtiR!R2zhP{Z3=kT0^d$hlh`DIGzs0@@~QpPwip*!&}9YqZ_sj&oU0ZJ;eY%h6sp zK=%c=e}xiirKJH_q{p+mtTy=zrgf3f(?sUznFJ*SuuCs6AC^AS_|c<6 zlF)JRv^Y-b#$qKnLPCS{8l|88!$^~e!AQK=Mj0-qP!q_*hDx1ll-aQz3q-hoW&pUQ zxgSv!#R(J=L@cva0N9&>+25Rj#+}V+*^ahz;BgMnw-Y%s+Lveu+fzl+;)l0Shk3?Lw&jiXj zpt2Ou&Bebcot_s2fm?@JVcJ4?7`24$L~;bUv+qJ%F?W?2=LIeWFM&Q9EcZ$OFZ>Lk zXg;7K2VBBWs$gzG*)D+UGT{?-s-=H9MS-VLD9CoNCXgz$%O(6fqq;y!04~oAzcx;f zcB(rS%W$7QUhpfG%5!tv+o(P{8H^JfE3s6`&de04^6r_M*SeT9t^-&_b)nul8-Opi zc3&wmPa`DTJ#M(?8)K?kB~rKk>_%WsU(Vpyr$BZKd3Z}S*+tO4WH+iWcvr$a3oI%2 zOD4z*@4=bpE(3V_fepiC>hu1h#k|BVh0c_CCE-7AzG@*Hb&7`V?^r_eJHlQXg_9p~ z{ovq%4RsA$Lh4%YT}MWCetrMZnMcQ5#f9vpscdcLVtbEzli`(^s@F6|rm-(oU8{1Y zBZ!M*44CBXC8V&dO#U6kUVP{!n3Vt|>Aruj~mMWD!p+eoLM zemoK%ed1gZ(4kO6=Rh#2k(msq#B*OA`WRu5OHXHWW0v))bXIhnYgeA^Eu_xcEdTOU zrW%rRArmk~rk8_Vs_?~}uctGJZ&okwXZ%KR*fL-AP!Nn4boyBO0c-)`5_a+3>d%Jr zoSMXYw+0x#5Pi=f#^m!nyQ5G4YRM=bbuA6NEG0N%D-!?d!b?RYtz~!eTX4xcX6XXW zJ@c@Rw|zrV0s%L(rSN^lj;zyhEW~me8Q(L%J0al3HH^d0AtUR}y|FuE>GRLjEb5K; z$5IG;^YilxT;zN3kd^RG7Zq<$4CxXTx!4x(%XNK=(P1&3-pYsy2U}I(WRQMzZRelCy7t zi8ZST%Nz1nmOzKGGB(FHnxUcQ^v;}Yfd^?T3En+i1ton1YZhj=wO zH+uVKH%ou2vZg}4QyL+_QnFOfRK>jTYoo$;m#x0);x7SiX&>;;rHdaJbB!Zw)aw6; zzj#qFj#0&R*Eb-x6$_;1Db6g~#Lw2juw2p(x>3z-p9u1(`B!Zzgc~9;m;+TmhHAaf zqFQ*wV_;1nn{iClAzW?s1K31y(Qy!ulH==nI`ULzcQU}psp`qt$Lj&@NX(>>OzPpj z9FR^fP&D+&>CfsSjV@t_4$fe8ks|7@^wfn~V-Wu7fL+zy@tWQ$V}NhQbK=m$Gyi$Q zo;u(m_Z|x?+O1v-FNJTmDQPp!x8TE_GEQ89`MakK@=NUEN1q<26}|L%$Le4P)?N!54+(WXghYOnz`uK0W07B)N!Gk zzQ|$g2%kczT+!g_)MBk9@JUGYxtDy>@D?aHKcuLG3(W=?XagQ9rjJdWG6{1Z=wq_L zCC1wIPqu%*Lz*PN&j%l5G2y~KcY670-UL0;s~716@35Y(tsT7co)oq5o=VfZTVK~w z*6GqTakQ7aYpFeVY8e)?DI8&~K zwNA>pNN+U5ZqQ7NXavSK_vGzFNLY!^=7J~-aR>4|IfZy1V|lH-yEf#!Y~nUwX{eF! zE~0>UjO4tiVnM+8(mZ@5%vfK*?|ghacId*gOUd*IZ<9jOdBKI}2R5^7;EDd|Rl&%= zF}S>F!+kcNhg|$af316`ySul*Dug|#ptrkw$9!=0Z@PdfYpJ1h4~lBACQY}d@%CSN zcl)K!Yc&pK+k)BiV|KDhv(Cd`9dk@uwY-zz#Yt z+K=l#+ayL-?9)JH-SOt>h}9+=z(Pm#)UO-qsN~~=7^}?_#s2f+N2Rc~TNXWjtmoJy zzSzy(0|HggOg;nYxa|38-NDAP&;W}9n4j;Q8e6>fjLlFUkPJl-^>xLFV7EBq2fJtZ z+Wz!8*ULgGYJ$Q1bHqx^U**NNE<;=vchQW*`W-4&l0T8c|4FF-CdmH`=if+AfPV%G z`6qD_;eTp_{;R(xGy(5*`N_EnY}f1aq<#W$!tcXR2jBkPx#G)zu<>$zZZwjh??ko& z$uu2y{=qOl_5#?qThLdp$eqema(A|qCwDEiQ9jsACj4?stV|W&v1K5&IB>NYA$1R@ znZ5YVW<6p#gY2YP*wU9(N5?{%Qq-#7`SeYiO+MG)OR1l^!x5DcFRFcmyeC0E=nO(f zt@1svv{Gif*g>bbli`91sgC@h=E`JEUQt4>LH-Ud%df(#{|=XagL;DVPQwG6UrUGK zCukMDfeEd_OL52;v8-ih*3Z$@PY0W#o(nm7vU@WWw8md0YQSpgYg1yMc0+q5M?G+z zHiz`pEX|5%ACS&9vZT#>`t}m2CI+mV!d`fb_4q_e0$T>gG0)ZFz_^@>gzJt6FOgxa zN7YSUGxUjs@D4n&pvp&588~7ejta?W1L7)S)N2kZxn(*J;*$v`-(HQCwtK_rvk8w( zT_->4dq*2w-+nUBvc)VqZ|$W5Y*LpS5`rgLtl z;)l#pdhb!$%atm@r?0`fIi5eg-HGA$Q8O#R@AA3 zW{_4qD*st*AU=okv-WZcmiPtu8RN;?B`ZtLiY)al>CYi((5PJu$LHwud>Bdapvo0O z>nlnJIgc}jbg}5aYFpCasguM z!PD)p@%N%W<+>#KSB^YH9tE}K?ClsC-sc=dJ!4y7p8G5N#bml*k*3%nIW)jaZvYi2 z{Eb2FCQJ(%W|E-USe_2gI^2DpD6gS>>Y#I%L77F!{P z$$~V1(Ul^cRZOwwVsoBl7-YncL4w}{+Na-M|CqRNAV6xU%yvc62#KjTAz zR{k}lNx>ZMMBb39U6rTxqJQutLTe-CauQ)(LA&y^JP7m~kJpn|t_Eo2Q{*iRm-&T| zV!JRC7AT+a7uy|c^LJWr%A+5%A|atyzRS&9;Mqo7L=S<19KrxDu2|_n;cg}zaO#!7 zD)GFyK3jE5y5{~~09bn}J%-_G1*HSvge*+lCA?yXn9Bk=tfR`Yk7O40)qyNl4((MEO5~b-6Ulm*1yw7pwYI(*!KCpFOowa6q{>^ zUnH*B{WH4vN@!tNO+oE0+W}O|3hQQ(_|Ae@jM{Uut;KKTd$Y=^FT-6QQ^6MJZ=pPD zX5Lx!;Nc1yH&fldRw=~K;kr$bJ-!WTULC7GwB@H zDYrg~j^C;?n7s}H8K?mk_xht8f|ED&hf?_#VOBk@l@p{1dkR^Bs2?6r96EBtP*6O{ zGzJIG{oz7hWBk2e33m81;-pk1k&UM}Yc%p#7`Qh?0Bc|wgum@jo1=!@osG^6WwDS2 zJn~KPnwm>(^L0f-FV>T54h7lU7JD)^79%Czf{%oo6!3c1ENtq)!_F&M%tF{t!E*nm zJ_E&5$}jm)9Jn`~aoFQgh30}jJ@o=52*j67FqoaY=tnL)E{?B)3E`|T^=`j`CmBsZ z&KZwOb8nT^#QPIB{c*l^K68vV%EZ`9K=V4HFHI*git2Gy9-PMU0qm*>^Yw;gwk2F5BfO*br|jqoM;x=rB4a)X{~T~(0A#HMcSeam^NE3xuKZFJ?-U@isvkn2)?YpJ<5z+rao@K7ZX2 z&Mn1Jk9KQM&JkvNLn*U2sul;n+Sg>jW|zb0a|zf*H`-Hod!?(47M_@`&{FbLKZ4|te>!|Wi^3H-7Gsh zF&GzK*bv1Y+h@vsEYjKH7*MFc@n+u`Ijl_~Ej}ScsKW<%a+@Fv`_}7S?pDlZho62L z0LP@q64Hg6lMD-{-nNBZm0ENUnl*cuarI#OyCYwHo#kGVf%+8b18S{t5cj*VNYHDS?|@c3CQQi;FUyPWKC$xrOF@o|uP6xupA$N)*oJJz2a z<2&v=Fl{E$-`zeFEN1*|@%KXd7FcdRHZR7FlkD`HGvvTlVgLBEA|Wfd6nCTAWyS(* zA}F}jI&m!qM^~ja5jyXr55ElMpo(o;w%9q+QpV9?`&=}~b0gv=<8G~AUa>kXVsd(Z za%4ICT2dbEpRMb*L5U-zbs{IcIf0B*vaT?6=%^Z5Z%!~t{tZkEkEu^z+n{>(NZn6pi#t+hYa%v(wx_x?4NdPQA;3$$ zYwbs*;9V1yxD5FkE)>+GcIgl?DDz1^RgpEY`i6Y48?J9{ucqTnU;K4UIy={}t;XNluFx5%^%`hj=@zlMFHmVdw^Buwi9*x`MoD4LdI+7q55GN6Sp5EiYx~Fu`KpkG&8mirXKHVa?RoA?e6_Fs6U@n*_A8 z!B^Ai8*V0MWzP%EJ~c6(8w&YseR4@xdlZe07%EvV`GzisLTh&0@=v@@+^XX`LyNPf zX{T$LLfoy^yMK3xVHu+2y=OMM6CERf zx=U;jUsL-a!iZNEI2Ph91Ci&2f8c(C6Ke=SM54qqD8XM11gfyu7cj&0vv1tK2&(vu z%BdMgkWyR3OM#wHr3EDo#=rw}^FThfG=jI6cT6D#Ef`{beSgD@651h172JRct0o?j zY&oi5@>6FZT11}^FS6|e5U~*4eaJ`H5wRC16f5X;x*zw|L?wOvSrj`fC^037`@^#u zYhRNp2=0pp2?!*D?ti{51(s#^KOe3OqAN7eO8aSY7v!@~d`W-)8uz@^0YtR!yaM7} z`+qn2e3%IQWBY$U`VZoN`QmSP{XbX}<@p!_1Qds-74a70QrV&kWB^y(BL)Zg7(CbA zXrK9XeDa)lU9kNWo;UE$2oGN#cx283N-Rr*ebnU&#?kSARF9_zJ;~3dX?%7JvG`!Z z+erdS+4N=#PTd5(5A2VkYwB%B=)C)0bdlJNvUXlI1^3cT z6URcrLW5Po05>s~8#;<$<8ZjLO*}E!9;rbpA0Y%mP0*8^s+ZYTR8VZ|pU&~IyL3e~ z+?jZTViXDY{a1$k!{mSE&%ZnHAIbAy9KPvy?nt8V|6l0e&v!c^wfPTmJf=mj(J&Pbar*cN*RlN1NAn#v)2SgRsdTX>b18Fi zMQWV$C)aRloD3Bt{O@T(Wpbw&Vuq~W`Ntrf9|PA+yQF`Q+?pGt61#dUU6}6_Z#}*; zihP^YEri=9i;npmzq)wgmoN;uF+Y)x-C1cB=pA+9;%J%?ifJkj@wnLm8TyQsKOW+q z{$TMABgC37*l+oH7U2*^WM9*Pz|T3y7j%c#S^{`Q;}?t8Z+t}0x~dOGE~P9?5N@-cgH8G9lg0l(Y7;G5zN!C7^vq>q_`z3b0q z(}&ofnLtJ?#}Dkm^9=#LAEVQVQCNY4S25F&Gi&hbLDwr<=W;Cz99)=0qPBq~Ul5>x zs@2bpvNm>CJ%}SbFL2g=-$LZXHj$%Q)3V_Mzy(qZjqE&#|49{2XV8uq-a2>*X5)=p zp9#Ejb~%!8Z)HJ&5m+_ZB&(LUU+YPLyK5c?<`{dqAlA%ARUHQXqPx?b`%40IAsl8c z`f~CUCYWDR9cEY17!fu1vW8K0i74iVW0VlIyzEP&V3pFs168&LHk?|7b%&p9brR2P zTa4MEp_O&?{t3h)P?*&lY)Z3!rSBltBKQGn6hS!~99O<|L;S8%+v;f0Da3_WGl^_s z+h!#5iopK1>B%qFPXs}zcD#d2*17-`N6w@7$(J8G=dtxvK($S?qrWLn$3z8TOZG9i zrZqKJ1K1k3O0;o6nDso6_m6np^-xUn*4iB|e@G_hA~M5ypgKObq0oS?;bql4e7_xn z3q4}xYDcPg$38Zmmg*D`*n1{5)+ny{9{R*ynULDu8GQJ$VfA<-)^qF31r>yO`;(Lo4<>cL-oLF z1!#mirn(Xcv2@}?M#dv$ur8v9s`hHXK+rTKSY08vJCb}r{a{5ZsP%7e zVb`mU8TQ%bG!@NM)C+%oR4>6Y@tIaAh&w!Jq4Lp8ntq%Nv5;S@|H0LclIk$g)OONZ zdV&J?>wZ@?V!~fHRk>Z@e*;(f?UgYTaP3;UH$R8Nuw9Lb23}X+%DUP+0!J6Kg-U2e z`A7n)Znxjhdr2W-5IamvwVR1Remb5I3)L7!nA(UZ#i_+|d8zc`ZzkXW;y+1DGaFMC z1hRvknP_S%-AjinX0Y}}^?Dr5M=ZJ$w=h+IHdI*|Ay^3VnZ{MRg|cOKvHkvGUFnrZ z@u8bS;A+y{JG3_mJ-0ZDi@Bv!pDVDJ-2D{M6O#s`HJ7^lO7;cjRZO6S50yk?{JJnX zo0Xq!=Hc0QTj*-^K7Z_4ERNu+2%a^}E5zzWAl%knTN_Ow#!)8A$B6jh3wDDOV!LBo z5B#?JBE9-lxYnXm@{H)af0@}GKo+ssNksetNtWeVg$dubjxz4vnbI=zZFgQk-cprk zIL@JScAm*Jk~TwIqJuTb8f(L&rT) zlQ0)WgK9(#wL-lqWWKS?g9T6*=lcZpJ2_F&1uF$iuHM`ob%3coYQGjB*+W-V>xbhW zhy@gJZ7bS~=3uL(-x2Ww__%$3^nyh+XVxWMFtBWzSh!Vx1-qnL!_QNME=ySWqlg|E zUq(kZ7@y6vI~EEAM21fr5aPnxViO3EjPN`a@R`OY^29iVkUB(@^F%ISq!soPP! z-G~a|)Su$IU9=;a@$#m9u);}=Z)q*4)7oGo9K!jlUxwbNrrk8->U@^cZ^Z{?`sJDZ zW5TOBtus|)IX@mQGuq1-b``~G=F{k3#I5iGNSA=ol|+gY+AvvL31XesfD?Gnc)~we z0Z&-qb&V!mi6Mm5x~!WNQlB{odlo?lo(~&mWt=va<_dKPIJG$?Fnr%>Nv&aNqbZRu z3a_BE(wThiO5D1_Xs8P{WaV_71HbIVKRK?D}!CBkS zHaIn-hE027{cW>)B@Mt18zZl)Zz(x_r=O-GGpGnc8niGM`2h;`z2Kd4erf8EwtdxX)e73jTN!fj@EgOOO}|@_9LFsqBcY$$4pdg zKgl~&eu?{n<6aD1mg|nC;;dE9Xshf*agZM=*xAWKIJ~DY@43?S!8`1OeGc+xBoBFj zE+-d)6$~)(EO`4dxu*H-UG?YM9I}v&OJ7ZKZHHxI`PsO%`|+HX(?jaG97^Q;%+&=m z$VOuabj$Km_K?|dgp9W14OC$(qQ#iT{q5#+gM{CudyehPLK`jQQz>Z&mkLM{#uqq& zl8=e&=4Fi>Y1uJwej0WBHSB?JDGo76Hn24(c*zSqD=|3!UCZ_%hLE*qg}XI}=Px+m zp2^ZKPZsL_$Y8tCYlfLbvU?{X;`fCPI6n(nW$OyBYTlA3*r8gevdWDLd4MIFA?flj z*?ZM9^94GJ_ckpVcq%SKhD^ZZYZ7=jwzly@y_HFZsQw3Cb%Bi)1l0S=TZXd;!FDC# z)jY=%sx1155eT(`=fat^86U88)s@FHpRLG9kZ#LWvzxU&mCqpwp}{1d%(?VN+C?jo3Z*h7FT)RP%2bF6xx@w}S6|0lnu`oi8v>%h&D z(W@C{+|?!O+vRQ2?YH5gW>HVTm4e=n4qZ~ZEY>vj+Xr3D={t&xy3FOu0{gq;6l=LL zX+v78rW#r;{aYmY>C_z$zuVefV>?hsAJJG1(55|Y`zlZ?p~K)rg^U_hGN_>&%Wvc% z*7ru~4d{1WKR?|hBI71tH_o@B^~1s~zsGgYfsEs=EbG-*&UdL(1TH$O(X~7O`Aqa* zwzcO+r~liD>AyWC{Ob(y-))Bf>lx)g@jf_#-T-~;d`sMr+X+L4E`h!&`ThT}Isbni z_x|I7>3_MC|M!#Df3o8L_~1!Q2s1M?Lv5$(NzMMlLJzb0z2i#HmdwGxga!t~6{w_} zd+oGl-;vlRe6&}Ik^W?H;EYDwcx!afNsy8%ig$aJdhs`(LnqtOHGk7GL1J)@U)BY- z%A5$*I@5QcuS(hV>YmwQE6`Jmx|PQVc38WGN#nSv_%fj5f%vytnloh1X_QX%^{dQE zCsubJp3cP_{g%m>IQd@ed2EC+dUXGAd*I0L>eaPU&z3#kmwLw=1oyQ}(FZljYTFK7 z4-dKNkzaR?n60=;l@1N!JoV4s&h`0LPG6FlW|&)-F2Ld64;1JwlaCc8|8Qe9vySux?AcF^jy99S< zaCdhN?zX(|*>AtyvuF3Z_D9X1nYOB~s(z-s?`J(+HWP>#;hWiHjAe_Q2KA&=skv73 zu`vsw9mz4*Li|KG_v^~QYD{|u8yZZ*__z^MEzTQepNWIEK*n(# z#5KOp|BBV!a;5BP)C+Yleaf}L5U?MhH+2d(a)gzZ{6_Sg&HJwQ&O4Eqg^wQ{nwOVfBb2l>zCg!+X(=Kx6Pd&tH`w)%p=%{RHaCZtuj_+KPiHq$tfPq7l%tUvh z0$#UHV$T<2&&LC)Z$mrVGMm|zEZ~=mpYbC*SLYyXReeQEzFU?i%!-TmJb}J%>Y(Ti z+HrlXfAM%Mn7Je(U`b88WTB?zZ%I8m)X>Brn$9K#eK_w4b051N$jXAtW!Ji}^y z-<{2KAQ%!(tp1I$g`DP6x1#-Fo>DD)0k|Z&PgXsbxlk!#Qq#sqW)Xe3R;ASOn7xA~ zJ(eVxoetq{l8c{O5Axhfr|3}Y@krppOo34TBpPlDmb8U_DdAi(bbIZvL3w|o=Q}%z zG7(Osa!F&Mi$#oh8_{;0z#wDKi;-hkn$*5l%oNB7ciJi+98Hj!&O7XUiLNB#HNMmV z!p@Kk{NP2#SIizPaMJ^%{9pqWH(}YQCNe*xJz@44E6%8Yvm+A#<K84xMYJ6-hWbb|Qfnm1xC?Y}}Jj}wr zeNyhuy1u#buC;7EORX=QP44~DV0CBnHoVq!1*j0Q*JgO3xJ7^om)q#x(@!5PMnQ(k zl?wiz`vc=MJWOt0P8bZELSEP>5}JbssZ=(v4Bq{b>Dx}7)i#KQ>pn&)Y@lgBaBu%D zBQ*ZQR|O*-$_PqR4T9ZkNB?Lj8p>{eG!LS{NJ5Y(1dtz@>8I~tszLYd&lTUCJ_{+! z^q10L3;=782f7w3DFFcM!zMLmSp$=#ldj-z^Z7BAaD1mnA`H;Z+*Yt})>qfQ+tPS< ziABRmFLJ7eI`9fD-Uv)#%rq02&13{zU0GAJA&co{U)2G>FcPQIk%ig)WzJDdNeFL( z|JD#aGq#W^Z!?X*1h5<+fMFtJeHxFlW5kXLO$}TdE>{Sro8JbL|BMmEb+7EzL<4ye zs)D-76^3I>kHzx3b_hDNsMIK3(Lof@4fz$TikYE^Pyh%!Jd5@~Lc!-_!CoC0H!Cce z$3wsHJwlurQ0ER;b^H^=gvopa%xoADOh=5F=}L*a%2IXu@rOvPQc1i&zibF&w@Sys zA_XbnrHoI`RiqAUQaaSU&*Be~L{{JXL0dIft7%M9!?8dC1Zo-m%SDGzwG&^4O>f1< z8Zy+<^)I2eq^`y*e(F+Rh$&9m5a*gW7aQya1xVWRx&{SF$52H}h6SB&c08qn`Rorf ztg!0COH%^ndW`QJvj0GhK|lv*=u#)*orb2!o7_{*ycl4*0odlQJZ8iGDDRwj%ryIx zKpMQ75MJ1Gb)?`bT%`;}4fW3?K=cnNVKaTR*c^zK#AQYS*+j$Lp-hR$y?GzCvey#D z!i0n*22Z1*#3YG-#Pj~)2EZ?C(k0g0&*>#pwS0wUN&x?XHeieGnU4L;q_ORd-NkE) ztLcd5Mh5;W!YL}$@0$CK$oVwEhGzrL+lmBmw)@u_mahvARai?5nb!TZN756K9zeU* z@c)^e1Gn-^eL;7H7Fkei1|uqA5WI`4P465|AF{;W(!m zZm5`cj()4)X1PQ`kXwi9u`n7_X3PW)cb?|^On^7S)~HHg#*8z#f*C0Ju05P5&Ed%m zpL&y)uPMK}u(!ufRyp>kaFnhly9O!HYNF|0u!j6`4ocd7yUmc^`$-QY*sYVIYT`ve za5=jZ=tdcHv?+=-KPA?G1*vOogco&N3q#Z}z^xnY%nOm7c`ald&N=gJT-5BOokoFo zP|DohtrxL(#7pr@EEr%0ZFw(ex5cut# zz}JX?XdG6P6SWdaxexI+%t92L@n0o^RPMi;C{IKml0TK;5xXKOTS zWHB)PJ32uU&S2BLI!2khg3v`O zN7zaDx{3KP9+ks82f1_2B3lxH(akK5B6<##JyuF!k)#uIvBZ8O(U-v;T!1IbB-`ZQ zcq${U4}TDUZ>Sag(CI>U+t-U8JHPOs*>xrW3`lVkV_SE;74IH>{Z~&wW~@7buEsq` zE?EUxP?7+{!6PHn;m4;}Wby65|{8Ia?F}$BJ zfvT{W(-vrQ3v*Fa!4T0C^leKpAEZV!+(mk%4>D_{poS%;tt-F|`0xIhECYM1X;qk%W8PEU?>zNYbX>x!4qAuBx+y4IKjoS|dmoj71fagw zQ_JO0BJYVg+E&2)kTA|#r|!o$LJr{9?DaC!92IUAYg#-#Qs+Z&V1Y^Co}y(QtISvw?%ch*Iv{(GZw9{v#2{aiEA| z`zYr7lV>60V2g+Tr4pc>6(Ndu6DDLDvS@nng7`XrH@y|PHzVrskmaI-2Yh_yS*`&Z zBxJ0KpL|QJ?o7hnhVw5>H-u&&I9x(pNQsgC0z&cNosFgnhal(gH0cx$DF#Z;8iK7{ z`@|LUQw;lPmg_%8ZMc(!R(BEb!^LMPnKADlF~ghQP)k5w0#umgJ~RKDqiUI9yxPkO zPrB50@@w;^Xod7C98rfpOrhmS zu@?Pp_}pXAX2@=r0H%wZ4tg-OU5~Pjb32zno#(o6+=iVDa+U$Lh4)R5wn^hQCW38m3l=3d0yA-P2me(mqAS6 zXX(?!bOU!s{@2pXb(1$W#68`@+UO1?%~MTxR>Af)KFycW9|x$_ssjY#D=wKsm(0Wg z_#y`Z{?$KH?nh{JcM1lojsp)MTr`D`ev+I*ai35N4M?Y)bz)~rqz$G7rnb8@2v;Ce z`)hdlN)7&=rO=?5mUPd=qGHrOX6{%)Q}>|sKR3!DzA#xDyQKZgby$BopNt2ElGpGO zXUdrLvetlMpY=4k+nT@;C>nNpG~;h8mptFco5r)oJ17B>?Ti*%wpk|8nlFFij_0U8 zKN2vU!JD*wTeK#PuzUI0X zvffvts5w4xCwhTm{B&QaLqaw&Rc+}TNN#|9~2 z>4qb8wx#*lcQrawt>ilORuu#uDaODM;Gh6pC=|ZL zJ#3?65ywD=%FWSR<{y8%&X#adX53$`1RDh2dEZMOO_j6MSLk1&4eW$?ahkp{0a)!K zmAIo9WMm8gc}$DBM%kU$i1wky&Z2hT`GN>R;$W}3Z+~XolwAg1F+slL&rG+RdY6TJ zSGJ*$zfUNUxJiv@e}+T~8ip~f(3`!C=LL+BG)Q`2>2beaD2c0z+vC+F;0BxR($ox- z4XefC7RkgGb7Ok*qt7>2Xf^*`znjNT_peSJE=*dp~MdnlV6<3VL(s!qM^a z*faSRRbhZ$y_z3%x+-6Mly&LZ;h4X4yfBuY8LvO;TNxpii2`oe;W^DaSpmp_Mp z!hvc&l#nChCP{qE<=<4H3HIo3+H7YbRI>X15*OW0o0ZA`MVzw1c zVHbs_ly*=d%#|87(D2$pMRSTk|Ar|;1+9PT_>$G*L|YRV;8+8?CFqcLf&w1s=9!=v zb?fMV$9W-aYfQquELfzH9z_8@UJqfP)qM(%$$2=zfbig5p7yyP)2#TL}q|B z5#p2#e;Qnjvc))(_LUo7)f(H^IJzyXo94$pkTnuU6x?@A?^~0$*C=!7&Ycfeu-1Nk z9QAdWMDtO=`*mstV3X;qK~w9 zHsTh$kMSJU3`oy0+Mmh@r5vAQ7_;1)2!9yCwcBZR@B9#?dn}oRjYFzvyub9U!wEX> z@W~@MvD@%N;zh!zw6h_;j#>{SJkJqfjtK`1$cX>l%%rQSKDzsJAjY0@0;AM%@Dq6~ zyT=eQH;wrH{ycZ2Bl~SV=Ur>{W#s0|UDG*=-g@mxU;xCM%Dn^*O>&DpZ`i3F4kS4d ztDNu=ys7nKV6myYvWIV_ zc%IA%w}XOzi%q|GC4X|Fl83GzR?AnD1%anTT3%w9SdW)von;bowGHzX=L&fpCt-i# znhwSz{aV$}%{>TqGs1F}#iNyP*3tLdZ$2-*f^ltG+VepNyOGf))#Q~^N{8(v^Q^9Z z?9yF3xS!>Dx*A0hju3)9tQPwE;SLmxiB;S9x$u}48gHo#)K+>7j-m31?)@mLA1pAweT)%2bw z_#34bY0tkEriIf%=5-_SXLDc#IpA4LN}TtFf7_SLNV zBF=542IXtg%^G>-#H)0|TA664aO#YM-znjesgHvAmm097s!tpmKS&E|Ea`{I!={)P zHz>Qd`ZsrBKcI6D=9$RbWS;D8R-ehQG=ExSULp~YYel_-;0mXr0cv5-sO0z%aVF`M z@oF}yU_c0ngDJs{imd?_SBREEzmPa%F<_bX5|A{}=YsLzPgII2K1&h?038-I(tf>(tp~SB7t%97YB85rLd12pAHeN^TZ$%%2x{=s9iUqH zswhY1Gk%N-?)`QZ?v|zaaaxBvjg?HF#e@4wo47#8#{A7l5GB-gycqcsGfg!u<^Hug z*HrCqhJ)CRr4v+8hr)0HljP<5%86_UEoJbx=eDD=7`+wJbo6Odh~yzI zll!QH4LFNvY*T~bXy@2R%OEa*_lLg5#QcWC|7dxD^$ZM z3>wFESnh>;RLmp&jR8=S)Mrs(f*(ypAO0Gdyn=rN=B`=lDp<^qsOg{USL(^zMrv9x zf&1Jvvl79nwnXa(-)KJ^qNrX~PqWzd%kr89+|?9LXV%GT4cBLro<;seN>+Y51e0(P!$P4$yDBB`J_HMR0|~tCG9CWaL9|lsUq2IM-;)>CcICE1mWLgOnh|DNS@BPL zYJ~HLc$=NFLS zwKyVp7P=0EVV}Qwcv%@6xf7sxb$4X8vX#r?w!>{gSw3gMVzTGnkH* zMe{cBcl*vAmoMn|`-pzL{{Ck`8p@d1OwLdBzhzYX8V{ayFj2KW6HVV0n|GU2!?5W& zY&ToQ{jEN&p?LYY!Sc{--I^nTK-g(9mUyG3S3~X4RA_0%T#nHQ<(aQub0F^o-ZtCC z20jW1Zn63Rji7dVTzp!BY!pW}RNa3{&&BvgLHy7$Wo(6;nZAH5{bK~S)BGgYo!x0S z=~%vY8T}lfY){DI`R=^&j#`yBHkN)2*Q+U!?zZ@FM2};0KCtbG0g$FKY$H2`N~tT? zH0wYFK_+9B(MW6(^cBbXdTNx##p!-R>EutRvo9YN-)_G+P0>- zJQW>Yv*IcC$xA4kuw>C!TmYdK+~E(2els%fpZg>c(7M5oSA?%mxmWC`ML`q_$+?GT zK4=eahsK{JA>ZF0yrasL4U>FFln%MUx-@^}g_6&mG;wv1^hub*VVB9poLof0yy}tj1H}#4#OXV2@9gk5mT-*D!v8RSOm}y)Dg7od>2D=wGgV8cXV#Ztn})>Xv24a%|`q4!g|YO#FIu zsRAzAvTF$r=u`7ZXNOPb$61Kf4(VKTQ%S2dhbF}yFmGr1X%`zo)-FZzR`Xbur-c(B z36*sVu@4|^5}Sl2e#^<|&ijVVl7u&sBWy6#f-XGRr&j zJR{uzo_$_Oi+BGDJ?(!I% z{Dvxwag2;;mlvF{NrTgGrE&sJ$jeCd!Cvui?E56?fvk$9-XlSJ zET+vaKfA~$|8D%Y+D=1}Ur(5Wsc?FE7WBNUNFS^Tw%5)i$TFsTfakFbOi#B9vO*yy z6)%d^zh$n0v`{{NgPo%FYpwbIVah ztsFDcfc@t=*})V(vI{!M!#!cCgtjsPhnzty3m1e@+VcitR4rrB?9a9zbrsX`HO_#o zuAWJ`$-3^BT(+Wi0sty?(SC++YKEBem#9!yT=!T`6N@64?8ryIr9;-hwwg*R&gC6{ zbw{1lj_e>ob!~GEXLtb2(N)ez8I1aH#x6ZkONdux$J*Z)SRW5d2%Zmd>&xGY-R5Id$HF!SvV?HacfTp7T{#}<9 zoKYmf)oBZsrM@|XM2EmS&)1Z*+?|-=mIIZsy<=Hh$MdRpSYbKsW+_+86J&s|KDZ_w z?`{vSL7-kOQ?}Cc9LsKMe=m|v>SzsF49*qaq%ae5B%l4Ktc5`k@^IFS>71>Y&*wwL z)A1;4<9b}@>3#s($X?NHx}5gpw%rGSR8G(x>e^ge;B@uxnHPu9Oi~0 z*$7R)bX?6xF6o#yzj@~3zGO~)er==|7o`2u&B~q5$6;|ZZ{&NrFCw@k+m8FB3E2-k zrma1oKax|sE1xx+;Z=Kj6K+dC7J9YMe6iquP{B2SNn?FY=+2Hoz7RClr)UPf7!hQL zz0m<)^nEx9K*`4GhmTca3oN$>)~%Z^d#yOxv^3%%An4$5W<8Lb)z|h+t8imB&{7&f zmVp`mL&x#<6<8Vef-z5{tKlQFJ6Te!$2xiDNfUfy^E2JNLQ3gbPhu+r;HT)fUwsA+ zC>?n<=3>lE!2Z0lnyO>xWhqrAW>#Dl^L1r~MJjujaLEt%G6aHF%}ZGj_r?9`=2^=k z$0tJ;Dn63Pr@uhpCr}});K`RPTq;eK#qX-ovl@!ge!wXm)qX5}h0mt#9(9I{>URUh zA#eEm?r-#xEx~i`1nX1#PDh3LQCtHVItFMTWcT^4S6!+Mo;M3&<;Esf$E5XdG5J9S zv4TV~19=fsIxK)$fj{Az?3sed2AqxB#cJe7;FAGMO4#A-K(Li&wPmseQC#z1Dqg42 zn&9Qt&?f`ZSw1U_I&_$Kg@`YMcgHKcRCjjb=$0pkhqZXo1Di)wAsA57gtEPP%6k_1 z28u(%i?U@sBRUILdNvv_N6gHrGB#$op-CNUBYqcBmG13elU&_xhtaw*2;luBg2 zp`#2v9(~@o{Z@eHB4#&~maf{Z1fgvIPN>amLKr0a2*>v)U7D=Wrr8v&<}Dx!Qks&I zV%L(gy&lJr3ji!bzKIQ2(N0Rl+PPk|)jt>r;={3~k-yiiJgyjB+D5>3gFSjR;LhpX zBJVpLSmk=y#Ihb;sp1(te4w}$c$AaEmk|M}_?wjyCJE_N|48clL7fkI$|lLGG1JNv zLxljMG55H+WbtP%24e51m-{J7cGP#ptzk&K4a&QxpYjFj$2-gos;g{AXgp5LTKx+x z$Wx1bfmY&seSWDGcIEN)rZOMaXaq+^*zX$W9P^YRsi<@v ztlJDBNsS|M=zCxR6vuyVB+k?5gh=?95%a!Q}2j_#Ib+S+OE zH&}usSx8SYIFWiuiU&}7pwcRpehcp#>*Sq5-2dpr( zH`TD6YAvY1>LbJic@KLey4Kg+pszn1E~J;fbq6pf`%%W|P z299&G2Au!CjsA}zBVP4M0d2(I(RdIcjpJ>p9KyFnv818Jedbi`a;XyCLld@_@>cox z1EK7sI_{1cHvhOyZpCsPpmfuk2LLz4^`v?P(fR7ZdU)y$*cM(^?zV+Q%+9?E__Y^;pfG4;N~LIJ~(~K`eGB`Gz$W5t&%s0@Xe|TKklJ zJJJkTe?HL-6-Wc{iTYO(2wpT;EP)wx`FK($FCN zb=*{5(ax{zlJTQk)m46PE<(^0%*w4I^ZS1L=c8thAAsNUViXPkOA^ zRs5?B|MqP~n=xZ;8upv(Y^W*FPQsPUyFDe>o;SCL(kqSY%*ve@8p<0)&8uhFmGeLD zJk~6OTnJQ`6}CJ3@2U3-wYFWx^#uWyrR}`4WXBgHy+%qtbBe|n5j8h&E!tBfh@nJ^ zKlL0nfkT**o-^%bgOQK1qZ}_-OGXStBd?O-le=4&Z3RLz$VR2L%g>G6Gmi+p-pZwHoD~AL3gzSo2WyMb>a-visAh)G zWQ>g($kV!%*mjg~tB$WMW^rX${WE8io#%HcaqgT~BQy;)OA-gpdYF{I{k~A{*Uv95 ztvpToC*S*=pU2yn5`iu}pXS%D_PkpwypU}@l4{kGgqDWefI4O-m}w( zcdP$T^4`XGAlmx{CW8bp%m)KlK1dN z4ER5m@_TRdf0uun?09!1RmQd(Y1 zqXd@<_gpUneM~f13CrpcJuh5a(AhbQUp(x~`W0O3YJU>dXeyr(L^IE!4+ocianL;M zL3?5FZYV&0Dm=kZ<7{W{2>f-1)NL_Qojt9>e^hU)$_Xj>Rws6x(0FSfmm2%BT_P%1 zP3zS{SmtvQ|7w~T#kjuBItF&~BzqEgKAEL3uL7lLoVvi7TcWD@sqThDQ&6^^- z7BPOCF~D$U@M@SiwJPe|FqE3BrvX9!E|H8FzYRGf1)~FWaha z;g66RRKsaFP~t7cIX-=;V&56!If=Z=1c;xBH0w;u{Jsc86E2sa)2Ni{>X%Df`6LSx zub?2l==-4%alPRuFry+f&Ze1`>G~4Wy`XkF@b0eSEY_l`UK@9Op?v zm%C(y$=qaBW4mE@Zz=7b-wAlC?U5rIcXaOmw|h`{xbb&8r4{|$#)BxRrU2LYs5{Jv zsU`BPK1#$zX@ZRwwgk>WU3#9pX=W|DoMAyO3$nnGr0O9Cpmd0QVPxd z&JUvA3dzkNSpsgh{KBUA%5i1uB+W;IoY$y3SC#uTKC_l&vYLuW7jdY62t&Roz@@Ic zV6pRww`AxV%5+!lVzheFAds0OFqmRZV*+blO2TD=ZogD&U(qLBb%OjU4!XDn%_;2# z)y`Q=0}D^~rY8Xq>OW1MIci0pJ+)BMroSvzx6PKCu*}XW)tq)96Q~XHiJcJ6*txvv z5uh?tG?+3gp3KEqoDLN#WJr5#)Wyt&oO{o6rYI^QPwjDGZ8Q75hnWpz;{2%VX}^KL zoVfdU37S#4W?~8odBU9Gv=++Am(!mCsEDa$yC*I!HG0h+X4mH`2_ljpVFiCRgTe4V zE}yg(rlX=CCdSO>lWpRX6_OVBJRE5!3$@$J(YX-L=tJ_dKbs2?LAIKncB8*O@voat z9iuW7*F}r^_z)$sK~h?WEJc(=$(I^{Y>*?ht~4*uUCz%H9deE7V{|OUY0w|Fe~ryU zi^q5gekMr;5^la@!sGe{=A%Aw#P5mF4p-ot0BDA;(t5P95GtOP-OD7A5~o_wWNv03 zUz}Jx2H)ZBg6UYEI>+RfV(e^be9H%u=N5s|EV|>n%pFf+Afj9rlS0_as|T+mw!<5V zAAujkUs?sI%o9L^c;?!)Y~@jxE(&g%me}s!N{MBbQswz94>o)r7K-~1yOmHf|A{^K z-m*3)Z4%uqlPMu`XewEmytq6##=;+8I1(Q!KjNMrW6#EfZcz^F{n>0D2fo6AMj*V_<(7*34_YsHfVg8n^ff(5jT8skK z-0a32+vc&d{sOJ_*&hVbPcwrkF|kIG2yX}3IduTD?%wiqJEFZU#K+}D2|lYbvAYXYJO32L}m+Ei9D3Ha&)YyVULD9grFJ2 zP=8a>2rIS^_t$eShaoxsr0jv8xbz+T^x+(C0Rl)s+xfbaa580y_xsOi>5o)XcZGDS zjFhi8hNp>)fiv3rdBeOFHBR>I5mBd7$AIie;dXk3nY=Gttdl7K{e3Y|c%}?`Ivvfv zVY*j#bJ^y7{V`www!=LwF}&ihNQGpj_<{JecI})=;$!DD`5Vt<5tyA4*ly>Dll~z4 zt~G65i<4m&23zmGme_!~f7on(f`0pns#0k?zT6`?%j1iGvIoEP_tHh4)kk&QdmB{c zAPiW;2Lkm5Nq%z9PNACORPtx$Nv53`0b9^9pqqrka{;Efkw}#ZaO`!ly^{OtSR%MG zmpoBi%!IE1l5+C2D62p9vz)(-Wn{T?OJmO14(|pzvgu3H=?dcO9R}^TG&XfyOu;{kq~j??wCm^UVeMC5tKP&mY(7z z2Fk8zYc2~aJSG%k-z44%ez=&O-f4da6AOd^BKZ^ct^#eIrzVa+%7K*J(+3w<8uBkX zARCvL(%T*#5nfo$LF>jyI%k$s&elR6|1s~9wW^tFuY|en7Z4E+<<|^+yMHm(QpgOEOqn0Ai_RNhUR1;Y@<0FOT5Y6oqr*OF`R$7p0=kz zYl_(sJbh0d`j^l&1`ik_k*5N2*ICw6ioQM&N&Ewl`_$8KIdv9a;jByL348A?KeeNrP=?qLj*>mWnQpERBI}4qUvw6KeC>2h z3Hf{e>7UifPoWEGrAs#x@eivg&PG!K^t^P(n(g6{EY8^(av%%L>eF8H?BM2A-4A71 zh8iG8nPv})D1hLK_qQ7IeDm5OwbVlo8AN-OeDmxSS23GasnwHY!?Sedy*&$$nSC~X zX%m;dJK+k+4)L{WU zNI<#0{qT$;`A6dQ@Hw`vbY4LRu3KtA>7+%TWC(*8MP8&hU}^$AJOWMv6oW=W!7qw2 zsgTQtQAJ8Cs`&*bH@AcEZQ1{X+w(8KT2<;^Mw!gk0_cHn`$2Wj5 z%ZR8UTH|}zE5a90ImZg;vQ2*;o>86oeY_*{-yZU!f(u+^gcVcd9S4qvrZhkod8h}=Ny7QW$QJ-@Nl|XZE2jnhVzHW#3Z<7UNB=LqdW~(aJWVpPD7b84mqkQTdIO<@ zIrxsEX(7#k$79V4tdVJF`qwZ_LBjH%9S9)u)0nP6X1M1XEKGd|62V%nAW3I2loIxZ zo4qysg+9&cDYt{oQ!#RCszP6)%lxa^I5Dc)NK5`w8B3M=F5jxdB^jqZ&zGaND zwokYvW{V53^|@npLA3Y8yMSOpmAPXh&>`5w7(pn(U%N3+kRp;3Y>G zu(6}o@a&A*%(2mW0Y74XdN!Gl&>{cwvJ)q;gw1W90Hd}0=#mk}IJSJUe;nFE^Sn-Kh3bd#IWGl;Ld z2Im{dH$QuD&Z~~Vx`sx{gTTCxt~%-Nj^%w(Ox(M1+%4Rv9>(<;TNMKG3`CR5>A%k> zq|+xnMh9FusWgLQ?mf-((&~QlaBlYt@VCbo?YCH-exaN!pltil+TIrE(&C zl0knBR8B52R4_V>h2a@&3?Ggp1R%s4IcBkw@>3jdiC zIyi}vJwUY(b~GxO_EDF5nJV`>f7DE=^&mNeS*gandmXQeS2L)u??Fz_0inNU%xo|w zJb;&pTD|!LXqcDDy@seOZ!C(CueHUhN=JAfOaF4eN?Mc=9^~8GDF+Xdr&LM)1V2uD zhN3VH&AEem)M%1u;A&Bh;}x5pEip*0Ja{q~@5BaRVG52?W>3f%^5w&C!<*V~{+!z# z3FG+~=N%}y6%}jW1>%w%)$)jlkH?7PLfoPvtwM-IR8TsnEsWjO6?@~W?i+14NlyW2 zn~#(CA z1{(eLLc`wb#q@9-gx!xYDnC;&EE8v;txF9`!^$fFdT^#U`=&O1SF;|}t)vRqDVZu6 z<(xx=`nB4P^wV7g)*QG5pl zH`D%NF5=ho={V0kA^T;!t()h;Sd-Co@*O=eLzy0INzNL9zr)5Vw$G*d!V<$ zRRAvGerzZ@AkjL&)xPY7uyqg1pcV(HkI*$d7J@k3+}SPP(N0qN;}@MQ*Xget{1zHu zZc7vd7j7ZIR)<+W1fKgdez|l%>-Hj7L*BX2s=AquQSv7+IWkTL70BCcbyCyyJ;o8v z(Ob7>@UTWGXLmh#b&J8j&F7EE>7_*IVgovcJLNuu;-2Obnc%8yWsQd@#^r$DB$vn) zF>%Wc9FzCeD(vyAN7?sWW`a+Uty6;bF`6~lMn!vBiH?NDked&kdj`5AC^=ns$dw$q zJ7C9Nuc@V$m|%?|e(vWK%P=Kx^U_}gLd`av4E4MDwwwLQP5Ab30prQ}bTI?aLys)L zfI6sUDj6SnY$Zn;#;WT$udJ*Dlh>Nr6(d~f7E-^FvCie{jR=h00~r_~E&+G5tYJUJ z`q%T9<$Xr!)a*_M%r+*VPr83LGN30%f7Aln5jqaeaWw0j^R70!i4sW5g7pGDqnbP# z<1y{S54Prd6~O(MRn<6~?%vnRp1C#>GRgVR?BK+xJSoR9>4m5tG1-a0H|mWCwiSB3 zQ{y2YOL8rTzezq2jx$@u&e@aG7fiu8WsKvl+0)KoC&`gC>MUJ_h7Cn+e5Pc%z!!NL z=k6<)ZvET7o6262{@}(MD{r$D+*Y|COq-T#yvQeUAjggJ|;gOB1SMzP$G*fwzi4%mT&c2 z^W^8%2MY!l5kytSwFR(nmY2hDgH&MmiSP>v)2|RR8~|$XEm=XXe(Q7Re)dQ~?6>L1 z;CO$~sYVQ3^)xRXA`^FTeg;Y<2`ci`;DUgj21tJ@z(0*PVOzxTeUA0lQkY!J;5b-6@7WXc?Kzz06rEu zRQaIZIM>w2b`WNr4b1mhzk-8OB9!USH;zg-5=IU_BRk>OkPluru0%mEUS#^UMbb(s zwejcX-mNf{eAj|5>~0))nUVRUlS**MIWPpmyexaFz8QorV5`j`>0sJfQrWZI$&B0Y zN9KiF3LB|7rH&g_L9%QuQ>^b=jaw6!U2g0|3JZXr_ec0s$og9nio;Yt@0`dIqlc5Z z!a0BF?bJ@PRPk4qo){N1dqe~KaW;cE+CPD+??M2$osJJya2IXJITu(PO?g)Ackm$o-r7i+%K zOre|w7^Rpp|Ib2E@6uckE#tA8FBiN$4QyOm%nK!n#AP1MB4jLNBg5JB)5e>ST1l8x z**T$h9g=U!G+XLE2(hkujFUT92O)u4VYI4KDZT%EUy}bAUWTbmwie_*Ve{qq> zzla|pNK0Dj@!&xqww@Lp81Uw-CNSW6lgRc~%7BrB1y(e|`uxJf;YfkKX`l|39KjQd zT4X_RA#7NzM4+SJ0-!4GnHdNAJuYljQ_du!Vr>CznSjwan+ZFV!G3XnObWz@E{3PB zX8y-W!b9qjVd9^CKKcBD(k3Nwx$uUJeD+UJdQA`Dm$cYZ-$DKP8K~s}12#~ZmTK9> zaY?d)XZ3|PnMHUHf!sa2sO*md)i3ot_;rz^IFi3y`%$5_6oS3rO=^Q$7KJo$(T}=O z*>R@WY=;*5A4nV+QD|3x+hl$~ojF?DBvgbd(poyP?US_Y=GFs{(uMMAhHhx5*qROL zJ3ue#=&BQ*xRloZq2<$ZCx<8D8vA5;{;8QP|NTY^Jq)M``$E>VKba{~dlz4!m!#3) zJ*a;JyoLE^e+3|G)-zF5w{417g3ca3c7pu@1C|LU$h$Qr4T)|a?qxz-$q!u3gqY$qpEegp1MOuT{ z>76&2rUq0@WIE0DzeKlVI-JfFUwRw{EERGRF~ok5!{)L$fC$Oe+&|#DCQ>D=Dv5-} zOy%1DAjP9b!!Q#so+7GDWyksny-2wzbLrcsABYGX!GEirD;rKf9GIRH67Q0qEfr+% zHY$UtZTFldT?Q4cmrbvQLeY1xTn(Lm#kzsN5fd%~nkPV#bU!C0_(oJy`YRPXFHG)T zu#UzK8RbcCX$(VKep()V^SN+>5=>x}-N>c@Wx?BBB%xC?MZO(viq~#am0X|vSxpVs z(#Icoj5dYFrzyOtlaXp5yklkIW=>G$$M36d-FC4J`hKJhq}gMkz*_C4^8Ulzzt?U> zuYBP<>}^|te)944;bW=Kk>>CqflSEJERn@&qtc_${HjAo$s_7h(&ze%nTXve;FRud zW=v0v_fL(y%AFqTILV4;^ofqW_R8GxFDkO>Mh+F?e3i0d9%JkE#J1KOrDIfu4vQr} zd38F+d*5VO+`oY1S-(P8CS6S%5WM2U*c(A(sacHLit?x;pS@FeCCHtD1eg-j=uhE1 zb#JqOSLJ^@q>U-1sQ8o!XI)Ki-QJ-8pQ6aryfI_QlwL~JItux+C4Y|)_ z-%18RDz>~IPN!j?jpmQf;v}Wh#4tJM0&K(aJ1eJ;iOLSrhxC8W2%DxXC29Mu*PtiT zO~C&*-rhT^sps1pj-ntcqSBxBcva=_4|CrzH zd|jr^W&+hVo1go0=!b7g?nDRw{#IM<8Zz~s8B3R#Yx>)K1@*n2cXpEog>Sp0#wrb{ zIJ)^bHd!&#%yc78Ua>#^*sdl=IlIv!(3w!ZCF+xMAmmzS5CH21NKdy_qyBU$4q=Gm z99kW(MW9o;kcHYq;)=5)54&a5Me2BKg&|b9Zz;i`aBD@eWGPcbsk_#@#2FwNro}DU zkpQP3=;yPfIkfwq6mAThzRha1y{}&v+?a9lw&=$xKEcF*W$zDa)N)Z#SB-hiNs#cQ z2`aR3>;2~kqa~A`wN`4EPEX576OHZlC*?Wxwl97b|JY8Cb3Cu)s-i=Mu|NNZ1F0-R7M=eYnXjdIHv1T zH03~gGz{f+beR<qn^;iNp4$MlzLZnzud~#KVrnTk9B2FbUN?RR&xZBPZwV7 zm&#tmYK?k+J|S2WBa7*8Tk!uGQtf_hJ8-tRR2t#xis)}Dn08}|!g@b2nNRDFVe4$H zCHKE9;zA;W;XfAYlN?(x1os~5569Y$+Pi0oPPJzloyo=SqzokzKB4VRV1DP=pMTv< z)Vk`&DTZ`t`Q_PX`HN+zDRZyx%gU4dsb+Z(R2%0u_E+q8H;=i-8um#fs;yXUOho37s(i%Rvj zo;{1|d%d<}b@+RRGoi2)6L6Soy&Y}UcNVp?@@Lgtj&~gGkW;p_C*Z)ZN!mD%ie})} zVKni}O-)AqcHEs&avzjI+9il`@~;fxFy@sgqnhZ?JB1SNsJfl-ajrtk=&2`^;S#yl zLtd9zhee-)z0~mX_{RDIsT&fS>sQ`T2ReO!PVi?Y3<}+HGIbTx45Am|NZxwEKn>gKG=bqeC|wCjWCMS z9qA7oiS7QNKC&Te{@`ftirc7Z1*J1j%%B#Ug1{YrGpv+a@Kgq~7R;{wO4;`Pj#J$v z^J?0D?QFFD)zMNj7L9w}1wr$1r8h*v++9|SI@ETaAg{Ptk0@Lrv*;N|!L}UTFC`%Y zGKN)Nvfweu8CSjGoe1{FHElUAg7Y6rJ*4V$8lWlAnaStb)NQdt-l9G}g^R?}s-n4u zJP+H~bW$5MZWCQGzHS>I$hwMh$*UsKWQp%%;Wa6`Dm5d$m378q8ux~Y#_$&Tx6)=3 zt-6?J#;d>Yf8ME%T?@!&UsB)A>Y$rEu~5gkd*Un%XH| zqU+ZHmKIP$*G6~9UAtr-gnauF87(DhPpxR(*LC?)4zc#mrHpFcI&po&PfwQ$X$tM9isW?w;1}J@crwt`CMD+4Xv*!$o8@#nO*Lm zXUB4Y=`)c6L{iC!iQrgxSFjE@>2TRIu1WMnnEPKQ-Ae*Zk~go?V{zbBJ`@LHM_4(k zg1kL*YoW{2f9aLf7qWaBuV8O-Z^ z$UGW-qy!{AQxqOltF?}V5MI&#`ZN#QI3%KOlgFGBF?+)t$o^r`Y}c`ZH=`wH(h}{8e;dJekR1md#u=CDY`t=HsVo&J z+9x+*!L!SRzgoUe=L11+64S>})#iTeB(ApL>tftjh~YOC9>&v4!LShjRnN-SsX|%k zG&-r{4&+#iMI+laUC-j>Mmc}n_4^O_ZM48JaZa1}jnim(Ph+pgpPlv9lD}zz9d_&G z$bL8+S>`_eJ1G6XQREd39HtI0z-7U$GvB@@yEYP|M-d)d3T!mpOUZetmp#%Wqt#e; z8%)Sz=KjaPz$B$gO|U?iLt8OsBoHz*LVooa&x-`YE!SoJyLBR9Bwvu>ufm@aGpat_ zhs${UB#^tg_LKoR%%g28K)y03ABShGnMYeGet#$YP`wPU(7RUSsYriK^sn}q2z}}iWR?mSyil(s$U}AGZtTN z5Imvl8D-N_LnEY|K$BR*qk!v(&y*7xZ`H8T!k7YBNv>tc{RPAm`X9Gx&f} zUX%H+a_TRr2Nd4>Z07<4&xoAkKX4!k-OP^MDxLnNiG|^hfyEEx1LuCfYP7Yay0r#m z6^evwP(NQUwHWZZzBMM z^;Ne3cIB&O3t(ElT5nGa{15f@yu`s)HnUyfwRu;CpV|5!i{CsHzjo)&)7Q2y zLb)F-nycR+5%7Ctlpa~-3mm8hB@zaqh@KQVO0Wxn7u&-f`h~2_nw7NZKK|Uj2P@KFE%+MfyChS0pf#9? zVSuf^G!g{L-_|l`THzj7h5#gf?f~%_FkSzFUYzj%Uv6?H#9**~`{;!6v{5|h`Fpe@ zI~`@ABP1PFK3W^8z)Hvj@(V@yQLRPWH@x8zL~>H1l-a9CwQCqJskQF9fo?r1tU*Yd zU{lLgD~1NT5jw9R)d$)ltS>1|f8jlk2M+1^XJ%LKI@+h9EUh}9aSRxV6N1v%P_xmg z=8>p!erB#xBu(m#4U#ly-K+Z^AB2jgrG5p4f%(5kNuf#z&5;a@36L)<%d64!H z)O7rp6ofD#=p!={-Fu8Ck4GP^z`seAG=JY|Xo6c0Cgkfm8E@h}2Sw^SjN}(Zb}hZKasejd8nhZFL48Gbf2Fy=V+9a& z1AK)5HzdH9cSQ>c)B(uy0g6O`4Dw22fvSL-1N4pm#*hEsRlbx!d9n*8Omw_aq#<8N zJREp-_$?()O+vJA`!H-I`k@?hUCZ#Qi0Hcjeh*9nFvos8*bTT16I zmVfP!)Jn>o-=Utx%pPe5Oj#0fuuE$WJ)4`Rp30s`I=|pbPT2|EusNA{nhbMz)q5sF z`otaakUAFqCgTJTtESMHP~UZ`aypCgz?ymez>h`2c6s4oX!gVfBq|#C#;+tzI*iAs$3&iCN^e3zJaC5xgP(?%8sxu|EC-lpI( zL*eQaRFW?2@}9Jpu5CksbF!|S(=Wxoqe|7CYmJrW&erl%%>C_R~|twW*UerrowCXnY$ z%+4$Vl68;TWA2ADJh5LF`OM(-Ygv`4jJ5USZWZ4C#hIW>rcDyGPJ4 z=hsIl0D$5ZxFi8SnK8*@F5=EYC-`!}oi$&(P10Kit2P)QJht>Se3sTU0Y(gb3tAAl@mxogP`Vjl0Vol0r;e+Eg1^r9Ou^zV-tvv6Wyq{a9Dd`D`{+)E~ zJyx-kQ9TOgp-SDd^BnUHyG1Kfi4Z*;rmmx1b#_}Y02l`^H};VMTOrBQYq7yWP~GL? zW)bRZ`JISjjQ_9RCB2TYG)<-5_L?)OmBe0N0$~*T{w|uY2k}+*#DzudlqJkP_;>3pyrz8ytB0~&Pj)b!w zPiQI zYP-CuR(y=UV*9*X%y$B6KUy0}%U zJhxjlQQmS&d1yX4{;Rui2qo&Ikjmn@UlsxL^a1C*avGxjNO5vKGQ}bJ_5OHYCe2rE z^PZgL8I1-C*)OYKH3+e_Yo$-k*=lVrR1G5XTbq7xxP#%n}mKnFhREFn<1He z>&h(!eymo73cY-)npERNT`n4#TtD&3fEHSM_ADVU-uik~glW$jUp;K9W5Rg{6DYVU+(B`!n%y*J zy?(a#Or=i{JMtiNBf`gy%9+>l(p?*k4=V={Ztx6Bh#{~eEm>(hi|VeMM4Qrf1VyZFMj3~e}+g2>*zKx!z?ROduS6JG+} zX4|C4&t%Kn_Y{rLDAf-7OF@+98+t(l2Z^-RNta25?{MqQ^bMMvZP)&x4w7PK@}ed2 zr*`SH?}?KhuEXiv$3nz%cRlOibZc;`bN}75Ir4v-t^5Y!c2+92L%~`-h6xoJt{if+ z9I|$Xsb3urr|*2;b=T55-YhG!zksoPkA_o;IZ@>&qf^#$aw62*#1olq!2(C5DMDPg zP(7K#Tn-ZaJbSD~v=#GvqJ2vtE-R;n_wn?>D$Zb{MNh}Xlat{4kf6_|%0BOB49oJl zmN@fbq8L`g-i=hdxaA0pURKOS?DleAcGrf()}RyOy-TB^{lPcLBhXU7wt<1qqD*o` z)SdE8`AI%Ps|P6j{4QNTqTzXBO-rQPTFDoB>J;)dC`)%aCASK4j}`B|0Lz$i-SQ`DpTJY(vyE1;hRD$Rvb25`RJD2=@>Yo20&QI)GYCbaRNYp7>6+N2q zl1@f%x$fi@OGI25t2sGV&xq%%eu^(DmBzeAN6)NqK3~%K_0o#v&5hvnJY&^YNh^Ne zT8%$P-Oe3Rt(Yj5H^>c-Y5Ft(!R+HGPL`+HRJAWyMXBIZ;!(zjHcxV|Ogwn4$C!Ii(v zQjMBIXYQ_-j!B*MIqnTJiON(@%T2Vk$yeCm3LABCES~q2!@e}u zD$Xy?yK&3NRcDMRQ;Z1=OT_lU8+I@Qc-a8-*mU$>V#<2 zD?ZfR=5{-$i=o*d9;~qdTdnfVV}dwsw%4twka8Lqwf0UPAH|M6R!7lyu$Zddn(w9C zbG|W2T8`&JaZ~3I8{K+h{)9+a=wqY^j;*wCbqp7#T&>paWzBuQ;qKE`dncUc^y0j4 zGD;xrRPnT%Ye_ykrO+qZ&MOAnxr+O_n_R(!b)yv$So1t(rvE`cw$u>qKu0v~10EU7 z>&evdsedalRy^{#2s=D_&qYnW!T~FXBhaYw5#6QF9GRW93xKbTee#GnTPUPKW8UTe zh9}fE?|)p+zBhX*szfa*Udc^=_8QDv3O_m2b;_o?mc<8!7`ixFQYRviE2a>y*MwdvFbE4o053ilE}Gizu{KwQKQh> z0TGcYI<>h3z@7Ef=6%9rZu7(gTmzZA3#NYmtt@b{^>&;+uFfy9V6$S6>@S`0z|7(k{FJvp^I_h?YOy zK?2L}G{Fb)@#W!ru-?+-bhwtLmJ{FS`Mw0uudzEO<{G+K9Fm9^dF<}rj;69G0{uGd z8SUvK=I?3Mi~ijfi#h|y_d#GW zq{M%?`v;HiB~rlMf}4PIPPz~;<7qfSO$c7;jDEQKXMj5a1Si*4J?%lrMGNVGKA@G! z3ojtY+lk*Csz4xQ7FWX>^jJ_>p6<4xT^&%+`f%aRp^#Pra8Y{uH9QbJD&akuhsofS zpc}XAf9P@(gorka+fdlFzH_rh-vPsoB%45&#ezVO7qv`Fqhgle>l(Uu zKL70bU8!Et{NM%%p^`Cq;w-4L4H3$!{iT+QPVdUh-$Sl8`x1ml`+z_^CUt&7yt}pP z%E|1Eh1Jez!2KS?B3Kj9GT|5GI7JXhnPocfvB3+l97dLW&!UJ8N&F5K8j2JXAp||I zVbUmdh!0IpfOjF7qG35mCT=8vbnwi^cz%7lreUA`E`Box{f7BYnnKr`Sm6#B;A=ms zl+80NB@NE3UCAp%h#)8JN*~cNpDV}8UR~J`qsn<_O#U8H8pAWegxs+!o#_ISSB7T2 zezMq-$&XAxBCVO7P0lx!U96X*39)Lz?HR6FHB(qW?pCQ(=_gaAd6Xq9LGk;lI zE26;N2kv&lkX!F+>OT4BTc&ldnlaAK2yD#kl*J*v^8o}JM7_p{-`A|{Ie97sIpDCO&*_KHYfbx0C=ywsuq>Gu#6 zk^A};J0(Z8KNKaX&@Mvh7o`eRVvkIC-Of%)2^N7+VwQgE7n;AkTB^R7Zxp}uViJMo zVwTK87;b?&Yevl~W!+K3Nhx(s4L|gL^oj!O3}SM*hNO0?l?0gpcTW~AyscCw=m+{> zS!OP&sz?$5lR!o)Z1J~d^)};y5UF0QRJE{}yO4@W*C9{y{K)6<^@)hFgZJFRR}B6n>i#$(pC>p{uh={6e?owngS1?+_0b# z=mSidSr2UR%$>@9wm30`-ppQj zwEk3RmGRW(J(CwoHTi6W$CddO=&>@+f5+l2(>W?S`7Gen1q4!3;lCivM?6NFE(wi2 zxUjnhN;j5DaS|J1L#i`3F5v@N1&2vPxm(yY?ww2X_C5jRU~HuD0#}7RY>*4bKMZJPt;|QyGzFz|If|NgX} z4BJ12*5IMue+pSlAu}BR6gq>4zWiHFppfNn;p4xb&l6GQhb92p4K&>2=L8`yxB~B_ zph&~y(3|WiV6XeYVgh+EiZ%dW;dS?W;b3Z$LE0;9?{O)r0E^&wa|P`MnuA{ouk~jB z>*`qrfOtSJ9#slf`RENXao{5_&m-z3k_u=j$|N6cI2fu`%u5f>drhr2GSg)&jXtL9nNZEt9Qh{F(Khe`(8d)w~CTza1yQuZXNQd32R2gNLPvsE1|kZuA&F7xFMCOU?A9bdiSpPC#?{ z7%u6Qim%$3cl!tk16i3U6{cPAIto$qqq!W#drn=p)MY?BAe*y`poh9eL^&rza`!Xn z&Z=_r-4}>C6y|Uc9!h$4=n5$iU^FL!9RBg5D2g#uy4^i<>}dizeTNyC<6O zn@d1YvT7sUfT)62$JYunHxbN-wFkSCO9Ue+oE7TqCjs4brVzC}Uis@yk6B#YX}>oX zQ7&KW&OBCaGgU8wcP%fNH$rml;Q-6WUdNA*b;%540})fg$e=!`n|_9m*1aB@{;dcws<+O{7Ja&L}SU1D)*o8 zKL5+R``Q*`7H8|AKtD;}M}_Ai)|BVH7aTY%i{3JkE$GVWXuxP}Maqr3^L`hM4OnAj zzw@1i(o8=z_XjuDI#5hbro&m(xmD-eVFN|C{if)Bx$c#9YgRS$D40W+8?Fd?Z174U z=gvqf`#!2poWbi2-kQ2o^9l9Wn%(DdwhrBp#N^qxugS&^$!Fdxs4uG&+32kv5;Xl{ z4`|$7=ws4t@-RQ|YP<9S%LrEqPt3s+pyvJsYg2Br_B~xz)f#wljaU zR_aTY{M}0>4w98q@V=PocZq0x2&GCPckpt;=}V4phuVEzG1WvKyA2m1W)r*7r<&fr zpu3fpM=|J4PIjlo#it)_D!2NfOrld=@J@g?cXy}hi_UTpl=x{|Nt(QRm zM;f%aJ2rupuDokWuf!N^x|g4HHi__sZyn7cARFC?qCEcoAcnU%@$IJG%$y)|!IWLG zWv)g^kiWLCLlJkuU^3L4dmjMHpt+TT0Dk5W= z(lE!6T)KQZ&n2JvBqWU6E{sndXXDY2z5gMN|Dku^ezEIWRLr;9si~>CBu3=rAn|b< z60K;|0v$SA$)4WNxV60N>bdthN%FFao$ll$cG~3v>wK?h25#aW4?Bh8Pd9OFY|>)Z zhL9>VCb;$J-9WA!n3vSZdG5`M@;~UM5>xwOu|jLwYI@EkgndR{qsL^qjc&rp_oD_X z_xB(kovz=9)nOfr`o{Wt4H+g)6(uDlA-#}l6Mb~(C9{PoPE+Sgx=+};uE44>c=4n} zpa5HI;4}4S@q5Nwv&#iUBh*YoY2~G}N^;?Jz7S!gioq_Ni`Ghh6nOZef>{M*XXKG5 z);e~g#Hz!2*5I6aQ{}N_jk>(-ws<5ud{j|gr9QdD=h3l$&*m%Lt!oBs)~75*c9xgjrCu3$$A%EXCTQlzXB1oO0B-5> zl#kr&Ip~^DhnC$c4{a;0DXB#Q+IQZ;-?Q$yUB{+-LV>%weJUn=R0ZX^>PGy{+Y9A& zj#pm>t^U3~s+ClxMq$h>&79Mw4GllK>jZkqd3G?o?v&})XAx}k!c4#>QhA8GW^t0;9LX@4K7Q~R|t3>Ds%VeMnL+BH?F zI4M{&)SFq2tyk+f)8rc46X&xqPBg_e!yu@2?*z~J^IKZ9)9(P>engy4i=2Y-^yi;~ z!*~ATQ>eXJ5s~FnAGd4ITOmRweU0{t0sP&W0RpEjc=+(d3>kJW2rNBF2GmWEaBi0nGgChD$;llpy?lzp{Ok5z3``)Rhc>FqbOo93pt zK|k+M3^xkx#*AEvci8Cv{N0zj6ItY(>G+u6b9t&1%WM^e-hYJ}<}Fz3_J__WAiEFL zUhS73xT)BHmqX%L^v<)CM36%t;RzZ7KNarbHAUQR{M=FQ-zd?l!TwI)MO40PBf)4+ z$Vwz0=CIH!@0Gvd*{O7QiBr^Bb)~MY>*Pdj*Hqcc5poOw0GQv_c~fS%JZ8UxN%hA_ zTz$mJ;@wd(ekv2?>6%5%8e5|j$Y0Y}z%NNdU_`X!`hnF3++Qd0%$$=eZdsgHZRPf7 zN&X1*oWyx}y@!Prg9u2l;bvpc%T>HT&|51cOUC70Tng(fDw3L!)USf^q@~%J-ZRCJ zedcuHsxVTPtT)qyQ%UJ}yS)wWvAacXB9n?dWG0-wgBxO2>&g zC5$g2w074T@12|olG>*Jkr%?tZMar#(NQ%^1BKU*rA5g=K z2&Y|~>b1B{hnj=#%txLV3&YsP?}{u2#t=8zKC9kfMSo8>*qJTwKn!{aHx%7?zRG$! zXiXxlshf$an@<+gnK+&GO5CkD6pBm@=vzujgn2wWwjPk77DQ4v3?Uos8}WL?G-rxu zhAO9st5%7O1>6yXH9KBz6Pyr2gM)p+{c1IyIRQVKWEhr1H163U!fCNOex+tlBiVZ+Hl6;g>my2n zd0fZTkMvvD9hz)bp~}P5yNYj?`6q;P`;hw_H|M^44=$7zVW*$Zy1WhI$#D0KjK!sf zK&(Xi`t<`4%1H*yte4SelP(HlwCu=<5Ow3?w?2n4k79*UqVJ3$hlNhyT5g}a8^1Ff zUb9caxl)Kun-+i95k;b14~2B`W{JHO#})$BVoWGiex|Dh)SsMjznYTs6k6Xu3r8t8WKaM(d$O=g5Yc&q%KG zEYAA%JBfL-xA@R3y@llJ9KqOZ^6Xl^U zCLr#yW`aw0@!$E-R#Yt5fc0#Z0D{w!m~MI04%IBPW3OYE><>3tiv{Z7=3~>j)m?ap z?95o~F?pA`Hii#d#zetimtx&^OmM?sMQtV2Oo!v09|Mw}8TrJzNPNoGWq)qehs85=Evmyp_ermOK;a#!0^CZ~?c?l+a-pYBTmetyU-;vd&+)%SKL0I# zdH`LR3^qJ4UT!son7oR51-OR(3||GZw+IZ5woa3E{w8FH^_h5EN~6$M|)H`}81RR&aY6Y7rI?#n69%=R7B zDsYlT6J9uh)o2XK5X!lJuAZw37S-42e98(H&sR(uIJT&)LYT7|+wwD73*%N9ep%au zcO(?@uo2!G|CvKtqO8WRQ(bj= zKYBvqRMj@w$|gP@K$+C6fIG_($r4-&7m8CE(q^hvSYKenTq=(ho}T6PpA$F4CV8sk z>uC7$>c{#Ixj4Apv0}=|tL(iV-+f`n@46eg6>3|iwXNnoi#?%Lv!btlG|~E4fMGSZ|+Erjk@#_NnxZe?XSiEgoC@6i}aDj@fqEb5K8`A$(~@Vn`-j@1U7YWVMQ;M z3jY>EAQmS;w3pE4@c=@Z!>oZWaBSGLln>qZ9V!%EbExG zv24#(18?6LX{xvQqV+TaR;WZ{(C#OJT;Vi-)em=;_!{+|KEcC55DDSHh@(jRC#yfs z-kQ!oek{{RhWh`XwkboS=i+>2Eg2Uh4taSN|GM{CO29l6heX6nC`utGuwn)G|A~&D7iZGUy z{0q3bNiVK?i{M#Y=IGm~JMZ?oGvDs5of;U;=7^2zJEmOkGVH{V;P}DcI-Mp*{v5&mn9n>Pg*E7b!96m)iZUaOl zfHuFr+v`L)pd|>+<;7k*o{fn{!%9q+qBXr5-~3@2aTI>X*+h$)TrPK&o2ZoLbX+>8 z5H{-F)XuLk*Dv(Qn9!g%W2&Yb^9ThOIq%cbRel>b%IRd2zaek{5?9N%&9=o{PRm2YakRsu=0(Z9(aHCAhK#6 z&t#K;^c1Vp2-w4Yhd|2l@%;qY)DLXMuYt`(ts#cxu*R)}gC?p$#_3#1N@kFHazcZX zn*HkAlkDjPiXtJ!*IQv5r+q!s{(P@2gGL5oU?l+(@rNm~0-u?;#AWpgID3-=M+h|) zdNo~2O>_nL^s#)WF)Zch8wL`hNJ>82IXUx&EIJgdgfCP2L2ner-IBqi&oM0s3+u2- z>9y0X1xlkfIX=_dies;k8oPbwx>()>)rA$Wz&X08OH=HblkRdPNN;Ef7U3H3^%?8a z=%|%vQn{s)Zyrm%2#I>i$J8Y|d>pLuMjB0?TZtxj^Hp{8-R~L4r$+9s&axQ=V`~p- znhwTYyn9?lr67f!lzNjHp^&aAgHqVg#mXc<=LHx{aSf_l`&g#YTp9oP3uSH&XDKCd zt#QEhp1w9-!Rt2@1}na!!ash^Zz&i%ac|YO|A<~=o(meHlFC1*Yeh@Be&pt|6KXR648x_*Td$VQJV#lY!Qa%-_qc>$xWP2Kz zQK9Sh)HYu3_C$N%J`Ev^S{dOzT;h6i2)ZJYQFPhib>!|Xuib=#t-%^F}qizn_pZj#plTH_Iq>ZyYXoAJKVmt*5nPdyvjJT4@#^ zshM!lFQ#gSqlTX-K9TG8e0&1}Yxd`m{NBRf2x&qSt!SQV!ijZj}y@vVvOX#Fw2P&;PS*U-X3{?>tyNwJkA07(Iv^mRuSmoR5aNMdbfkx(yourqYFu9szwJ^G{93*H z{Owb)T%tgP9o$)+bc5_(_3ti?dwzdH{B>!(<`u4Kd}vP0G{n1SCjR4@;!2iS7fVJR zF<4^I(WGgqxDKsuVgiTMQb+kXOCynr<&Gm#*Ox!eSE~$@ofR&Fz}oqw={FJaj&d(x z^)E(==a#qKyg$Q^3{6@QGHePlwR?hG^Zu{cui*iGBdyQi>TjBlBh8bKiWwe(xkgql zWwZSGI5tV}CIWLO3c5i%8HjEYjJ^M5)FwHk zP~^?j!xIuKKUrt6Da1aj-+ED4sbBlsDtJsX*-+BpC7jDoA*x6q2x=pdvL{+Xm~Wu0 z|18awXo~ejg?H^Ya(xxa|MgwM*N^`QO9T!#n^auo7{mbLzUiC>@>bZ~{B85{nYnos z{3$~v8P#r*&FLcrZd-T_C$=;16iILcNB;8@I}!fRMr`lD=4HC-*vzYrTNzF=LrLG__BR?_APwXFHc zyrQ6EOW9zes(Q4CC^gT7_OqY+HyS6Xap3x`GJ%Pg&6y2@uPBY9E1Q>O*||Q!CH%;b4N=GNdN34kczQ{px(2)K3s&}-nTFSs z$vpGpVZ@lrv~cv`XCl6|2`+FyE{ESg!~*^@$a(C`2zFHyb@P0*+B2qkZW$%@X5o-778_rfMdEs!9A-RvboV8E5)5ann8)XVHLE3_J|>*L_1%$xhqAlUb*sr1 zZe&n2X5i6@p^onX|8!lCkLG^BJQ;8&22xBL%lQnRUYNp~%=TC@mKnCNb7P?6ODDTn z57|v)+MBx3GRFSt*DSUARAkxQ;U4jxuYDfazd)^9L~gsexSxBLFB=wK0Q2^`b*X+N ziVzvJ*Z3mf<6CBZL;Lk^95EAmWDZTU)TAdM2Qz zW>+ipsR3l8IxNxAzycRu4>QT=(|!^|iTo1UMYhC2H(%P2wj6JXmoy#p&csgaPBrZ? z_1Ob3RzEc{X$YTkQR-=8P@$wdlAa38z|$f3jhO9bhe$68d_VMHM%?<7$mB^!c{mK0 zJzmj&pd<$cTWo>to;mWOy+v&HgDz9uT+hPI)UY{J6eBhxJQEFUkLuCsY73OBXCCpb zD#`Ix4CJ?tW*#jM*TE2HZq!(L4`jVGg9UNjHrTZM_;$1HrQY(c&cAf;usKsL)2#4p zJ~o@)Clr<;pqbmjV@U$$9`w|$%7NHaUYx`yRTzBj_OxYur}sj}Vp}HO&oO?3BL0R1 zE>L3KeDmqzM+!0|`=oH_ubU&rc*{3_xbK%~rjg>wE^!Yuj8TyX@S6DqzjmZRx*TsB zGv}bK;d+xnZbt79Y|rcxtbOm- z?H0N?iJjyp@SpfpZDzDxRcW~EJ*pBp=lDJ!V5eNWYWfCIHLN5S1tD0C`-NVw8R}Yo zZM=LV{507%ZhPyL@642;(>BiQ?z!)?{;{G@f*;44Bs31}PPSQxoIuD?$U=@}O*{u; zujEq-gozCI12x+(S+3jSTCVK`Ux|0?uAS~c}p@-Fgc^?SLjN4$iuju{J_%n0FJ@5dA^wh7{OnoLMe%DMrL1YWnMRnvvNmfM9} zYzyHJO!2)+yFvna+(?+8$Gf!ZfimyVh9ulR8)AcU_H_Y1*}~*&Ja5YztozrIUzKlY zQXne?DXZ@ukAh|T@tl1tytkyO?t3ywH>!1HZaCDme0@RCAy}lgpk$m{Mza+cFWMXn zCB3aB;`sQ+xxlwzmBTu8RR7)rD{oK{?|`cQGktgD!AK4X{SU#zs0t6H|351_88{M| z8%KM%-*_zwmSCOZGnR;`yOmbJmzm_cYlfGb#$F~sSYf)3k!si6k$Nc>3gekQ%z#eW zf7nha(mrtx7@Zg3sh;IMZe1`jeW0^Tz^nQ2?)-E82CWxg2B61`NQ|BSF%2^H&4cWT zpD&wfTF_^uDScwMA74il7x58$HtYN%+Z|1z4|AGk`)v69MMGuk%+VpS;U0Q+B9-OY z>2+lEn+-EH*YW-{*TtV}{!#wBLS@M-Tp`4cCxn4JzBhk3ZO-HwKIHS6DmF^32J>8R>6h}Xbf z4DqknHYhQeba} z9`fT=-CNz!*qas7`9~QZ`RoGG67_l52eS1a3YGuNGl4ap;N+W^>M%!i;#C9U7vtDf z6V40wwVBD5Oa}4PdVZrp>&7BlZM=9@i3XyXxgf&gDak4txdee~Qe6pAn6E%qcK(m| z{`F`D_KHbvxRl;q4vf+(%H>`jGfjEv(6c$8C&GfQXbqxhEp!5tA@2D~e+WykxyISB zREvC{e8-Yyq59WZmY6!C_;Pz;yoYV-1jzU;yAkTUOJ$z>cdHZ?k@0(DLEls;4tXcQ zq-3J9o46tBy|jDXX~b4E;#J1s1MlhAp#mLHwy?#aF-G-;KLlQGz8mKKX-oQQH``k0 z{c1TV2iAlBq$KdL4yiz&{qcj@Wqq^u)^l2vjgKRIJo%Fti=y3T`eecoi zmKR)$pWtkl(=9$PJimrA&xfg!zuEJeKRk~XC|i z;51}~wQ>5XL#OSL)o$v?BLchT>boV=*Y6J3{he2r7DnjDvh3ryZ?_1Nbk4st$YuN) zOY?FSrWp9gv`tP%1o8Bj|ZWkyu?909LZtsRwb4l^G#{H!T&+}vZM8(5MY!j$+NgT>5d^{(G!0mNU(ifa0#GF|z z&K=pFcuz^-pV~r?pPXr~A|5s=A?)S4F9z8>PfE7}O6qWD7j}z2a^TgAGpkw;5yV3P z34gf7@&HIKM5x29395`Xz-$L0Efn+=WLIPxyK0VN-lR6J5~$De~-~iT+Ca% zKH)p74+lCy-FFr9@n7O;{vE9R8+HOT1jHWx6O{2UtnQzS!k|b~%jck`d&#u+VD55q z?fanbFF7#_wouflz2ytwkLB{c-zJb2O$|^JSF)MbiY?U5zWFyJ$RLLR*)P7DkO>cN zffWGtijHfCG{0 z)DsUQr#JnKOCfGi)xSWX@rIBd^aF&lA4DEF9jR@N5H2%}c^C%-qD1-rJGA=$A+YFw zfvo=;jQ=C#dj-K>4XqwCGN*9*3qGicZhA>8C#Vkr?f_ucO%*QWG(3A5SD_37ZA#10 z6=snnpnJY#54;97dCTRR37{AO96nq3yBi2}>YQeVjfz8u3icRJfj|e`g=VN$W1PS2 zbx_nGIx*82(o3lUdakTvX;0tJ1w{=!`*9oen3Z1$Q_~G!sRBZ-B4{`{<1*nX_B=rJ z-RSQnvriD#yj}pOWt35{U}8ZgIot#>cHx`qy2PWY`>L;l9xflxk(9Q;?ahEdy6UnzUF@oF$iQMj?A!3qP{FoGy(`r~0Ht>jLhrqUg3^l+TBstuLuk@Pq=epk5eXo@_x9p< z@4Mf3?|N;m_ttuA&4M{Ir_DZRCX<~1{%zkGhK{HKNOUPaC#uijn#+*S$F;0Kkqhag z0W^5&v0twx`!%!*=daaYN_KIk*FYSfK9g$;dGvJ2?n1X_(`HYo$C#o`;-vkyz{7%_ zdU2&3;d;BK{&SXfuVdTjB>O$>+{4Kw*81yTtJHayal!3yhDyB##{u#9r6eC;1X|2g zrB`Y52em2SdS$iI38yzX=72D>daA#UK}!w5^(SUH(b-Rlv#O&VGs72Jo>=`Lw5 z2g+y+1EDS&u1ug)#)(@ZjvbJFWbJN9Xjz502WJmlP~_3iZ<`RoC@}UX+^*|xijZtG z6%7=*P>KRz$cLEeRrW>r^2DII3XfqCI>E45bRUo9^nAXbJH>S(pGoDU4Hg}X}wLr$KuZ__O?mM1vrrS1J*w|%t>X3W|C72rGShisJWh=vz*p9 z_I8bmAAC*8&`zhNk-_yU5;S~$R*UV;981)OHKa~7|0S@ByhOKr)uNE$v8-ud=n^WK zPngI_rsnhOcfHbmmG(VfE7}y|S{;aRp7aNnkLdh2%vtwGy#%NpTnGCqq|HD3D3$rR zU%etG4pPa-w;5ziLv^kheQvzHaXQgsQfugLt+=XmeZFs+RZB)wxzAsr1v1q|2caWs5H?B>Lh` zNvNnW1nZ8p&)0NHxxVWr)FFD~>CGDW01iojHV_+Nw%H)sWPznXo8}|?`9GwWzV&vy z4knjcK)c^`#E_#8l6TC9DVD$Goq|jsRZy*6!K>%F`Ian6ZKLxlK8&9%)g}nQi>Ex^ ziwjEhoE*7jy1oV~d-6HEZ&4La*C~IBup?&^9L!Ro>yaSq(?sS?J7%^!1T#Gl^|9nb zJv_Lp26k?_;ACI!`y-tH8NCc6GrLxQS{Lb^J4?1$uXX{sZW0Q&ol08Z1Ne=7)6u`k zXf&hkDlc+#w18!2UNX}|d)5c(t5&9OKEPyoEHyAu@mrx~9!*cpP;AE-Gn6;JP}rQY zp=iG4xs>AOwP%h_IqvZrV58L~Y^fVAF?syN^N--OE-f$S8{@;DDQzaZm2pdv_Ppy%>+PO`nl$RF zw!&C+$XD9x0)MrF8l8F9oq!pmRpeo94)cIaWa0dqk|`9cT+l{xYa7O>+xz&-hQx&L zhzc8GKO^d=N&B1ah^^w;FJD`>-RnrQ;$Pi`Q1oR#t=3fHx=`=-!@4_*8ah@&Uq4(3Jdv^<9H}WK(f_j)C+gJ(%Iw>$q}3>eZ~Y1}QeU zp1t>Qy~1JL2U%vCO)7Q2-L>_v+%60FXq#A=c&0RO>87A_i0q%$FXEUq<%<^)kStGp z7dYa$l37Q)GbN1Y2XX4BwP;que{aQ^x29|(pfS)ah~|TnqJGL&_Pn&++4owSvUJJN zYIe%&Z*RP5az^(BK87graR)}mwfO6VnWM;~6#Ok*S1!{ z>(h@fAJTPwk?GXI+^YK1`8v%yO*q!etM}t%@{aDKECtO(HUEqqz3YQSjl?Fay=s!U zv1~7X#n|Mtd2lmuppfOok9rkG$gg0kIKCWX6>1PT&atu3}v1^N3B_~ zsVk1Ii5_9Gp;o8K&g}Cw<%D@CTgs#bwQ-D(kIv7GEOc7PfW&K7-q7e6iuSHmhP{S~ zbrbf)0uPcYG7kpAB7-gTy|Z}F7acDxP&_D`zFI~y8p>&vJMLcNRwx&C${u($5NK>% z#ZcOnX=W*hIG%Lm-H78|!zKL!l|xt(K{Frer45u<@qj~rtNk>GuU>DIO=KszH$yToMesNAz zcC6$*Ku00DF}COp)L9N8LL@QLP8yh-?#$Znyll%^IxU?UPbJ9F`@M>tP`Jv#APenF zDTx_2F}fD1H1Jxs7}o2Nom4L5w=c>@+wN@9N>8ycX^){`crqz& zD1Q*n#Fs-t?g&LxnEawVdA%eib0^uW-c={tL@;?a^wh%^#aL_LTRCFTwn_hny_UNA z{u#L6O*sdhaFyU?;gkW)(0>qgTNT}UJ!_>RLAj0>u}-7dzm>0#|BH}Mfl1NKiq^g6 z1t*P#;`yt)7Q;jE&$X}5ktL6k^gOb*Bkkn(pKk^y2#jKad=Z`b(4q3GY_L-JpjPPF z;8hm7=FuIA*pDu`57)rlzgfE9sJ zYzp4zt$VU}9voo3C%LXzHrE8(%gMK3CS`)ss_$;i;JeBP-ymAMQvC9c9VGrY{JSIec39S8?&eDvZstYLG5E6&8AVxuF>|%j{>k zsJS7`cQgNpK};#o9=G9@PadJLpuTR6vOLkVKej-bgIiR!!+voj7Z*UsbD*;Pcmx0a zIl+8AZ-{g=(&J8!7{zooMQziDN4}d87=o*rZ%oEmp$f)R!Kfs88GfBKEi>+1uYPsC z(;B5M!clyg%hxDNA?LHk^=WgrWfn(PRm@IP-C$Nr^QEsk^0%|H3>GLCSMB!$1zd#? z!gQxU69${*$-nT|7I%PR_~kvX-Fi%wr$$FG-J2u^Pc9phNv`smVa3U;oCQ7n>O8on ziXA|5Li;pk(hAZrG)MYY#o38m(Ttv@{pLVn)G|57w(M!iKc@3o_MhME(~c7#BTLtw z6}ET`;TFmCsn16?*SUigqt>you43ie1Kd`quMdVp@Tc0Un6bY8_bNEn(`AcT^*;cm zVGx#{qQd5#1ahe6*K0F9%U~-3_xUjV#F(cg_zjMY({aNuWKp-xv17`^>vBxaU38rQ`7k1ovHb-Iwtf8l^y}SwSRfoXC|ilNsfvk z;&)Z47i+D>zAUetFH&Q!{*CIrvvzwNNKWy1oS)6zt+c-n9xIfwHASI86|*l#af>MInntCTTyn{&q7tR9hjByAW?IeL66mEZ8EESKD>t zu5=Ah#MbYh0xT2hYS-l!k?-kx1CS;WHgd4mRCIiT_yN~U7S!9!gjc(n-C3WYdf6Qk zXL$IxlF@x_y`488)Msv~?H+w3i+vxQKwZ}nSoPGnD(J7J_-z=J_J6cPWD z4`-~JEPcK6MC}fly=&3)k*A!SY_d&04c$>*7JO3_eaJdN4n?xaPAyIe(ApG zLT}zw4y$@0HT-v1Ukj(pofwh2qN#2elu6^8932<76{#9|D55A~s)8l-t%G( zPky-vL$wi<+|i}L+E|q}4YhT=f#|>kMY0JeK!j0%XKHSJz5A@@u&&Om{3RRT1*E#JZ{2 zm{;2}m*<2g#(=SX&5bLcT`@s3uBQD%a+8Atli5Ufa<5^=r&lpVWOoq`UVB-}v*D+* zTofNwz0LZn_zQ$qY;h`0C(e2`tH%~+tB!4mxu`tFoMtDrf;Xfzx(!phCx(~h$L($N zwsk2zxjav<8X4v+UzEM6tc^<)RT$Z{#UZ7t1#ZpLSJMhDdX%Fn3y5&2(tulvU!gA% z_P2OL|9#hjSn+nUG~zul#P|h@J-VoGmd0pb`@&2Nda4l}IXHVlG{}ezh6MUs0tEUS zL=5yd`4TIg0{xBe1H#t$H~Dw}UvvJ;;eW&({DRH(k8p{uhJ%AN7%@2x##cSd{t=x=-|C@7Lw!Wrh#_je?)xgwNj0&M41KKdp~p z<6;9g^m9LKp#PLu| zn0s29So4)2ZL{WY1^VMjPru{r%b(#0#K3(b!LAc97~JA55?tSSd1R-$!mkpYkt*i3 zzty^Oxp!brNGtApR!wx8H$aotbh)uW*vNL)(}ozZ-@?%|5Z_h$bGAS;=YJEda1dl~ zAbK@ME8%$~fR)c4?_bl3dtQ%m8al7f&s?f%%t|nOun_J+ZWjEfM7-yu6M#oWQg+7n zAjVRo+xL10o>S31x-E^l|1K1VNb7Y?#Qn6#&$$`9Vr2pzV_gG?e&bl$uecm793CEm z#LZ7GsuY@9h4|;H!ZT~r3%1vjjg2Pn>r@Fe5~&c1-?lXw_hJ4HO)7CANR+szav@su3Gz8I_D%^N-=Ww6DwlrtDjRjX&w zn;g2nE^u*VkWHHjaPW9y%_Dc8X|RVm<=#h_6eksx`0GgLVc!@#zD;?7-^xs-D- z1bY(WPx2&2&#_DwJYeqLVPR!6JSd5m8}G#H=mk()@{o(-0hI%E%YGu{Be$ojXf!mH zeu6C;vFiR##a+eySJSii%o}Ve6)SRbfq;{JwqQ>IF%b=R4nsH8X)WI5h&|)H}rC`~fOgTEETtgVA)C z+@DEzX}sro!+8r7^ zDff(3ba5E62@wqTFwD+7r(K?|p;Muk6AtW2**C|uMTzf-^SWHEB*nzu80An&v{0X9 zABg=h(5l=_l;>6QQsJoU@I8LAFwJ@v`m@9VIwc5}f$jonI)D|rG7LxKqYK^pCqv`Z zx=;9%k$-48<+wb5SyGkQC3M-l52uu%R2i&$g0^?g52_CE0D6 zCEK(!UQu}mp~Yg*a^hEOqQIJB2!n}VnZ_RmAn=0T>&T#ef>OTSX`x`692>x1$xIr2 z>b{EQ}h#mL9wtZe4v_RB}?TC63=1#PGGMjM4AsPEJZAJ-~||`xVg`^Un8bDbXD=0_BF;j00t!G zm%N|lc!yLFHaFg6S;bm69>p4C6lWG%Pr<2*@2;|81g){0N$n-PmzrjWcRe1g!|wb3{e;cREc-VApbO8{ zUn}03r1|Cc@&;cGH#2VdQ&@@walz6{!BO{$Ki#M9PZ;IJ+i1g+|6%2}?6PCPS;5mZ znfJac3|3R4LTGGHjEa=cstZrzJ%pB#wFp@kNl%dP%p^Usmsm6#jW=@Y({SZzV^oUS z7>x=Rqm8|D57^PYJQ*DhgFgEuC`OdMWlZq#1z4RxMZ_As%J_KuUJ!}(GqJ13sWvMw zHyL3tarC5P2hwy?aroj^4B~=dUvqUE+LK|pw4hz#W%95# z$z+p##ofN(A%>(!4@)78_?1kUD~|A_(NWC_YX1AF#}D=L`HhKPZvnLg1t*UY`Kn%v zB7UUE@5V+>Y;%e=rfu1BX~Yj7UNwl^Pyr454tHl{qD#V^E`BKch~A^%IDb}RV+Lmd z(iy&u7VWn;F@ z3~e&~l#jgTgici>NwY=0l)s?!c5l2M>4wuX2PH^-6ne$O$oGSGW0LTrM|=Q2V(Qmy zJKc9Up|R=Lt@({0 zeG*9_%cJ_b%u^?gR?Wa9>2?zoD={_JK3cXGg5Pkead;oWh6fclwWCXtsCW|RE`Jrh z&*K)thrF>`ti1fN@_39?J13>)_uKM-0=@+@=-zl3)P9^pu+U7BH<{#g8fv0y(j~?6 zhiUf`lnM3l|N9h7L1W{X66K5Ro@JOP>2b|SXyena1{k~Ejt?wk2qSq8)b+5+68{jM zUPG=v3?IuRY!rw6X!fUJ@gMx+q*suQ{lNNKxc1OnSr`!7f3VKAIP@K!=4_--oYTs0 z&JF$G3O2AVr2g?4#a7sG02eLScx5#=-uQ7%EIYqYjV9n#F8#<@g)ypBeDLL_K(jdH zKq|_O5*yC$0jJnZ zFc1P(rv-@PzC6Vh;7>Ff{(XeC%pIW8Uh*^h)k+?AsOSZLw|}W2Z@RiiU%1>(>U^eO z$2_qFX03JdqNV_P+Ud(6(*tzg1iibl5zwh=oq<3OqoZ6q?ZZu3p zp<^_5Eneq=FR;|-;>$bO+y5CtzKDleR8Xc=!_W(Ta4(z<>;TWW@O?QCcD?-EhS&}# zUi`{3IsPtb7D~8PA=6>|?KomBJ72>7!;=jX&&O^DM>(_)rzq!(*}pWbFhBEdsGJE> z^%&kal4F`o*?gwp!lu`}lw~d*&y&+OF~MpW{-Ir4P^qpWiDsma>r51AC@wZwr-u#i z1Z<9k;acVFb#o(!l>W>P7HM_c(vGwH36pY%O2WQgrx+Y|XPMRvCFDk}|r zIx)4Gi+Vtqis4um&ttlNDG}|a;1x>4Rv&fh7`{kH8VvQw*EQp!AiFy?uES4{jWwM^ z?Z4S^(2pBy!`9~pldP4^5ilPRDm|V|)^irXyGskd;rCw=YyzL>@8D^FBCvawJOYi9 z{nY0jzQ#TG2r*!?AIikU#PNgiXKD6Zahru8->cJ0R}&ODOSIP8o?Ui{J$;xl6XYkO z5>Z^{%-~Xzy=UaU>6eo!TjL&{^^&q0ro*_j&qWL;d|)QU@QRS zJ-XQM66F?{L}D~bJ>N)FppHwkOAj;F-zXXy4?+`Q??<&I?BW4~zcE(UgItenTOzG} zNLbWeEbwDw^(iOh`e7T~ilxyle#m51n!7-xKnkI$yOfXqghi|fnNVa=_U95#%=aEz zNd}NUe_lezYIV|&J0y|Y@Ia}YF*oxqU3?y}{%F<-7+cjCF=aIK^Z381k4pUKwr zdgrqf);|jG&=q9nv%h?>^hIw@R?HIfjGJNzE=Eb)=zp}f#|(XuN}nGdcNE+(SRhMC zBT$zJW*$y6QPNG{ZLaUxe%tJ@uveR>DH4?B_(uE7n4qn^RmB=X%>sU`b0vfK0R4^> zY~tX`Ay&z4KCQ&tymQYfOHrKK+)J<4-*msd{v>)1v-#~*f9d9Kl62;q{F@x%tf8oz zxSO6aT ze8AG;wOcKG9xMsNzKgyXrDa~g%X7MxuRHPZB|?NiNgf=T7ggSVbKN$7b&%bE7xZ)h zT7Ss8ODaFC{M{iO%f5at%Vo9g0uBg$$lZ}-!Dv^`l?3X+4|U}J2z3XOKheJw+!4xS ze{(tEboar|fo|#j<@5P*aj`u1oeuVqtiQ|Z-{opb3ojY|DaiQ0U6ud4uKy3J$KN&k z|04GITlaT}>HgGflq?9e7sH!w5{Le}ST2uEEIw_2YKnTtsKo?&fBO1qBz6DB(mpv4kK$;D6|3zaxCWo4YS(}+5p*-(W%XP4|I6(TCczF7< z&wABGLGL|YOSe$MSCB4`uMjRgnAq?@%;m=C+8T5|M$34py?&6CjT$~gX-WguAH*ma`lF%*YvGi4~+@lVAOpRq0_rSADynguo@-57WHdwAK zu)TRJRz7N|fxD6fwSLTmuud4egv2JqYhV3kWA_S(#BBr|4%UC>>=VjdIJ^FZbswlf zrrH&yLlEqA+j7xej93zR^Hm^{x8y~d-Y~3CUT0zJ&87b*zO&!Qx5q`0KL^bBD}`**72P@L%|6;kAbX|PFivLs7xGa%Z$>9PcY3U5W~$Y^ z^)FIda;BTT&n{m!OzX22BcNWI&qWD~FZ3lG1ulqqS*;z)iV2b%&-h3B1+F9f_;s;-W*ETP=xAgsWgjLo zpZiC&fMP5SOWDjkVOdkr5T9>3-R+)ii<>0eHXolooAj>Ubk(q5BHtln#dGZI{w~Th zwV|uQo&;U3rdQRhQ=M72KZ|e9?OV%8YZCu6v^qfwll_B%m_cAncSPbCd}rCo8_0zb zV+uEyVVCaq-4e6m>3%(6>Ko$p>0PScw2L_R4hUFfez9sJ9cE02bg8vEu=|!-GwNRJ z)+7f>*IftMw|O@%T>ZL=0%XJ8(EgQ8tRpUjcjYwe&kf)~wi@?VkZ7e5!psbGNdl!* z(bta1&i#R^i{Z+3oe-ETg)+xGKuX=oCwSO#;CKGA^tzgx;y6SdO=aJJAJ_2Uq`#cU zS34jDD&#|wXg#;2dN#ar0jv4gwcHR*dRBNF`SUhp&2}s>?$Xv{ZG0>yBbjARBQbZJ z)v89?bQq2Iw%`1Gy?pzscO&I-!w38Pz_vWeGEVXv)0DaC50~-zigt_ZVl%}Ldj$}= zRP-9DZvk6v^u~Oji9v^*YLst3n*z;#L6QNouk_L`_u>dzaeoQD+ynn6Uq~%)`~0fk zu$vkkw8inQq+?aT4m`Bf88)xb<=Y;l`OpHh^JNgixo_a?-X1z28TKC~vWyVKG+?W5%Zmjt62W~Sj!w`X^cB2LALJjfy z^h>YP9#AhQqQBZyECMoBS={(cT)5M2qZEG7uP$$oCWJQ1zIS@#P_|$K0#aqW? zO#ueL;Ki3TU%rKNxoro#S+7DwoG?NFmA!rT`-9%JUm_ac{^Tut{B{>3b|QzC2xs)v zAH#?D~nf z)dPKSl(Dw%Ia*PuP)#aX;4F{I(IBtQTqPQ;>BK7}12|LLKb@XXjt_PZn_D-UuP0{| ztsB^YiAN|2n~m9w!GSS-Ykv_m?dia++#a~y=E&XHzNO-ROq93muJ4bh|wnOaSNvN0l9KKjn|`~_bt+yBwlJW!U&`0P@X_Lm&8G zO#McpcM+vC=JGk?j+b|_=QaODt12}H>dJENRc1sdk2axT4UYKwpw zmm*Uq3&;5U@=OI%AqeJ*9ba!HX;q_`8OnCnUp2qj# zE?gze-{%nGnI-PR{6=3U2+|**RchZgM%42XU?!;GgB7 zM5rLq1y>BYqk%&f1Fg*BFmdIXs_0mw%T{$PTfs|1lQw@e52KU}KIwWsj+qLQXhKOVrqgguiD$_N`OLwkI_YDt|=}xHrSe?Kb z#zL2HTVPxE3ChHNrv=CVa$q9{c2tN2>u6FdWcUq zBw_G830jSNpWxQO*z(TBdM*|a=z0SX`D!&4K-Op^?H@=W);${YI9h7ajAZf9Ix(*U znp&@6b-O0?yVaV}Pi1)-O%p?Ze*VyMz9Pgy_+D`#qJLb7-C9Y9Ix8fUeBqh$If-$- zW4+0+C5iRw$F{d0Jf;YDGWV!llHs4(Gq_x7$?AuD3wn-?(Z1%|rEOV*8JJcox3#Q% zh8e#_vUM?to)n2Ssb^eI%wJvb$1s7YG{0#xTzn?}{i)%onX@ zs1}ycYkU>T#E~&>w-On_!3(usFVzuXy>J8$TB=zlUYL6XZ(3Nc zxmKgd{1IJF*65Aee2lbz%(x|wwzb}!bn4L`cMO&k%@#-1H&i`c8o!V1n(q|ho-9Q# zDX*+(B;HiE2xFP&{2XM;^H`PTHQ%BR10q!ypbakSs@bOb1eWhBQBT>~61fqb){RtN zoOsLDb6_7(KD$ggZSp;MR~5MLx)W2@cCER{_vhV) zro^m#FQ)Uj6Z$O#7L?WTrxcTNEIiTS+Emk2b-3eUL!ngLOzWDv0rO#ZUP4k{FSVjG zZ)zsMm<8FHD$V13$zXWzB)ZHIjr2emard~ zx~*pev^|&2%WsP8e=>Q)5Vq=eaICqke=z%@dp`swexni1K7+h$nVmdGoorj2ZVt^I zU2QEJPJ_49YMR;HBdM(I4LG;Ne4QDd_*0ur9&naP1idZtZKl2%X>lzQ(uqifYZCg+ z=u+O~@1MxcT-5G(>Y(2Ms%nNb#kART0X~=e8b`lrX4K&OdR>gGTTAl>Rm5AX{jctD zr6GHFO%PBdW6|$OsyxZ6k$d9k$Pjr>^W&WPSii81EY=ox&*aiK~fsM6>{r8`C zdp!VF)kBmfoY<(B#PoRG5Uqyg&YzPsZ5|nQdea)EZkRGxn#-vxfC)w@%upmYN<%%( z6mg9ww>sXin!0^f;~ay;q1So)>NNtsqmw}<`dmCB8(ztBZb8W29oUeA(?}}o_eqnQ z^Fz_{%3ipMpb)z|c;g-d1b$jIhC2Obl}E9XZVI%0gUNw6TGiO)ZVMjJjO8xBO|t|J za-L77US1&L`@Wx3zekW3q*oOA=lIpTW!M63@3hLbGcYO|>yfXYDcnx2LgaYy@o3)2 zR}-N}A{_<<5oha4TxV{xi8z91zu0w^gy14rs#J;)xFJr2DF#PS=7lu{i)oYFbj;Qi z7E}#jsg+pn%Kv2RW&~kJ;4fX}f3iXF-ovn&utb>u*z`PrvVT34>J79Ypdd3b!~*t< z&A(;C-tL^(L?sffU}EYdknd3gN@9;Ua_@!N;qWPwgDP{#Y$A~8r7xJZ+eS5U0ZZIi zXOKy3q+Bjtw*W#k@-kBbQ5NuJ{p_|;f?D7&_2Cl>Cb-k0;N;=QTU-kKflHrakP!k( zH228%KwJt|uN(xw*+Q5Q*cdHfWeQN`lIm`?s2f1;M5%#2FX9#uIr{?-;`yxz0qRv^ zawkMUJo&J>XAyJ15Es~E@2B&OPN1ctc0gMSqHcCk_OZ=0`R(s6N}YeTLJjRIuWs3CdN=(U`XUxow^K*}AVTDiQ58iEdj0fpTZ}-f5woya0sx zUmA71CT)~}n^+(SmNyr`d6U@OWKcq@$y#V7;7Ksz;anS9gE?F#4adldm7==1!EVvWiO!Krh!GLkhV?Eh zyY*dqofY%T2*QoP69A{AVfokAZ?xHJPC{L3!m;03519(nN?Qv*m29Xv?T*9!fd*l1 zrCxX*;wm#v9t273Dt!&8IdMOOVgITDoa}Ku%S35Zk8%ude~uI;kcQO7Mow0U!TQToV_J z4|wxTiEId0A?`G>VQs}U?wBg?wxXwtgi$Nyx}m&{)^b44vqE7}n3qhd_Yk2-Dr-R@ zuDct2x1O7Pf>~m^TH)4d)~pCAGkvV(@lCteX*h{N}&hb}kS*&@GDKThEtdHBewgV&_w(2TUMUO7y!x zbSZ3|5yUbjl4JvimF!wf==u}y*Ko|`+T45Y*Lvx50pRSF0yqaZ`A+LzNX}urbIm5D*ZsW#7J0ML?_T zNN*pDIPL1wJ%1MPL_$Kjf_V+2l#!NJ^H=W6dLr@ZFvcvFuom_{+RW1MM=B~nVu64q zuk9As%LNl6_Tia^(?MHy>`xv$E#kE!u!^IiAXL42 zg3m21OhUtDbk9b8jA%Z-T$?&{aol#Vp|W=RoB|=!E+D@Ci6UwT13u+yNY@-fCJvqV z=iIq0+14-)wFsUNaJ=l6(pleg1_e$s5yGd0tC8ho2yRbOShtYHx!yp}DR8L!B~M?^ zYV{GK<4dRec}Pps6C32PaYz}yL08%`dk%Yndk=UOZ~SV`x-}y2itB|NwcndBBf57! ztx@-^q`Twa$a+HJRJ#!IL!@r}sd7wE`!$mY$oM*ujy^yM^4=n6nI+MkC?*-OEik;T z>WHi=w=I#K?_*7=pm+V_(C$;?X33;b_D$7hgKUZTVaJvZtqd;wTut7?XZD z90)(!pUfi3tY8THv7@6Hylp$t=Unk6h(YYqXVQE;?dPeCUh9{ZNpXM{ERHRJ5%t;B z4pj$5qutr=>Efg4*X$$+W$ow?^qyzv9j}c;kP0LlWAKd;=OnQDC{F|ZzoRo!$pt`S z@Zuzxzhf&u`+)UT679Rzj@b^66aHR+duFgQH4j$H=hk+{B$W3CHnSw@nB4mG6eu!3 z!}Uc|A8mI4!Rqx`r2*0H3ScRSpeONBpx)1HM&CHeU&`)`?+B1LBQYdjWX7o&PFj9I zEF@41wG^+(5>&2JY000-A2nx5_WzO1`m1yY!HFmN^N2*5G~jh&w$+%zj?1}?6SX@E zj8d}4+<=9Hjf99Er?Z!(d&5YMQ!VLz(qK|k65@~y3(>pIWc{>q#924%moAT7FkRSd z@jVb1J|Ff*t=S1Ur#>3NCJr)Mue86eU#h38KdaZSM_goRrqCq@gkNAHPZb}b z2fUbxV~@><73+V$QL^#zROg!al<-vHv~B~$h({1Xkc1IV=s+k(sK~ge>{jwtnMeIx z-I%#ly;xbe#7)osLui(9Ho=cC->anx6bs&4yd}-EEdFQiSr$psF4{HjY9W-4#=YurMrdcE4C zn!RwoP+l#4&vXiPO1sd=GTAcSQn&`GM!KfSQg3p1uXWF2Z(%BBD#J39cZhe(ie+jx z&;H|j4ZYfgT734$OrXwLEK#vZDdG1TiTxP$#OeInsM@yLw;pwuFAiq}c_@|AKBPTK za}?}sB>3d|$hc%BSjpd9jiKRg{O)knsOTrnU8sS3fOcF_&LefhH;IieT;!@!@__mQenIg>j zBE>z)^qYF}GG}Kp=g|1jW%3eF@G#}j`yu8bfMz>U6cJK*3z3K;hhyqC`u2yB27qj( zvDTL6wD#r4U&a0<)7re+E#IsJ_zjLO8z>#yw1qVDw5e;ot+TD4npZ9VnA%D!X<+TG z?YNAhoEsUnjrkhahF826ZnNxqrBhlp1n=UH%y5_q5N5Y)dc7YQLCApJmfE<7u& zNwG+V6pRvdfDU|ON$?WO1_#-oxSY~JsZ*h&s>A17bQ-m2o8etJdP>Mwe9G7_eJ^62 zW2v*7v%<2dWKyKxWiJ>K7!vhN_C$2wbP@Gl_6$dA6S|7%(&^%X;(XtQ$mYwDd|GMJ z-}d(l#KAlxUe-3QG@r{F=_U)GAkO%dRUXi?@rIV3ldpp9gjp!!Q$Ll0;fq6AvQ;-n z7kgcMk%kwG2I=HwN&HC%2|B65U9RiLE4X=XIbVJ>6S-jyJOaE&R=vuL$_>m_%Tvhd z{lRa#!u^C>5%X)HMaQLl+K|aN5n4=@)_nfK7glD|Ap&o8Uidu^f6hAh!B}7~E?JIW z?$%+^@uh<(Yvf0F!*AnUtCgjjTZ8=U)I%48FpEd-kIbYNiv$3#38w0C0=cD<=5?}%qyg)10SfgL9HnTPzHdnPC)@4lU zFGpC9K=_r}1p&IM%BKd~acOC}m$|pD_^z_97YUCNYYzApTWqdoPQRQs5$X~~dQ@Lp zFLT!>HeF4Nj(TC=)?5)E-8+cet^9m_|5@Q{&)3}G@?Zy?76A&!`gMjLr5ZIdwLmpc zVc=8?FFx;KjbcrWvzD{eg9tFjz9W_!p5T9T446A6^k%xlx%bh^wr6>NAKsT zx-|V%a{&t{hf$`10)P5^3*f|CM>$8pJI{BcyX_M;C8Z^K-W4~wHxbL47L?tN2C9GRFQ znMp1a(go}}>9W6BUrcCAkT)C&35KrMJF@YK8&!6?a1Afcpvw>Io>Dy zTwrym%i2=H)!uQD*sPB^IX1P|CFlA&MDr)Zg%WQDX@*d1mp3Ve-VNbZ%|Xgs-SqKm zP=>s*ynM*4;pHTwuLOajBI?Q~UW5%d1V(;D8n&eLf;^PuJDen1aE6=vQTh`Zgs5lS zZ%MM^jdWmI2oY=unZ7$4ngpAV^@W7KjSRKDue!NA=X~|* z6*~tPI~Nx#{0UY^pskaE8>_7&-JeeW?&pn(qmhG!os$K?mgb>f14DqblL#&C!$AM~ z{P~?GZWjL@$=30&*Mh$w`@SW z1aSn}H?KdqAs)0mo^_UTrf>8yjaAtKet3guLWIX@-c^li6YoTx9ok^i$UWQ8A79}3 zbb*gwb~{ulu6Hqq+mL}?RF;Q6EHZ?S1|7XmI3$cK%vT&<8 z5AwgCET4AQn9_D0xmGOs&C64-kIVtLE7euAki2WoH z|6e@)r&BxC0zyGTLhZcTnX1;#?YI#XG|Cb;0AHNwsg4KWb2LCg{e>2bjBc=b5 z(*L_H_#ch?Z|u$gNa_Epl-gf%mYPt6smbxF)tz zpQlmeyUjP?h#HgsFJ?=;Tiwi*Y>=62tH{MeMwC2{WDU~m{3}WjN~91X{)Zo zK}_i{LY{}peJx%;)lk^$N=Djv4_34*47)rPJ$Wm|*UZwe@D;0fcWRy*gc~ z+bkd>*&5imBKF$SrvKhi znH#JX7BV`2Q*sl$x^ZE(B_?fNGb%`)ul<>JMzym{?RZ7ozRO&DthB^c%ze&o;&a9a z*P;G@LO?9v5K-w9O7hTIeXz9PAoc(SFX?Dcn>3SHVGLx##? z7>PIh<$sQ-BkQTr41az%Og72O=+RI_52Y}-E)Rz#e{6H6KJ*X6|SUKE=8fTt`~gc$Har2Ubdnx)=Fv9Eq$d>z3#cJUk>f-0Ws@sMYW)4R897fJ=gmJ zmu|s-!iIi<4~y$rW4`=fK0-g)Z+M3CIm3&qgO|L1I876jdGh32$q|FDLqooSP;)NwbwBU*-C&@ENOT@!L8rB+;tH9Yyx-*= z*crB~Pzbh$vB|AB7f=aWPk*LV)YX%HX5N!%9_YYCYR?vRGwPj_2}^7S|G@KtT8j?0 zA?)=gUc4U?_Wqf6nUU+bR##8@8uJ<8!tnmc{d`dP)ozku;6ET{Yl_Jd+{Y$KV z_^5nTwWPJ0t{;{^vXfugOS*Q+CucV=p{rv8GA?vpJHJcsHrZ}M|HQOL40}F=t;#`u zi9uYFsV#@Y*GZ#4`>PO)smCivEtWD0E=#9u-H+*Iub;<-TR43B{*v!&!NLP2nw*B| z2VU8vYH`{K-Cy6zpy!9$gd1XK=`^W9Z-^Ei5$9L=>*$hs*H%8wS{l>wWD!#4NAvzT z3snAr=OIWoh7pm7qwQ+{b32x7NLA;-y48OTqS&ph7kp`@yrE?Y)xN-KC6tM%m8ytE z*7Go2aD0VNH1lnTe-Ccte8+2zt=~T45c{l>CwrE;bEtCGKd6?VeHg%8x|OvEE<$)U z`u2PG%-DyT*+R%q2>rFfWd$`ptH1#J@-hxX83>+LxW2f$FA;V;y^QEW`p5Ms^{^iC zYxCdzy&k{#Xv z<6^J$vjPj8z|<@e-KI4RvHdxJGD|kik2-T^bqxp#MH!C@@HSC7oT{xC8GtqkSXQ_6q>I+~ftg|K-7nLtySKP|6T!VR0BY(I&WlZ{ zWW_~PvGMu*TU0${xrH@t=7y31XuUWYR*EsU`*QQ5vl$|^VFs`VDlF66{H~=Z*vj>3 z3Nod5%Y+)wP{{159f>#Cr9?Rb<+D?ev+_R(Q(%@<41_jGhjhVZq39E3DW4-dW1 ziVIl@uU|sWQu_v=TI)E_Np5v~^B*=L!Uq=Q-0&&YR7{fY4#S3V&s9_sI&3pTG zM*)ucEoyw3!qdm-JfeVp6<+qQO)AiifodNZ4Wez-%Dy1ZC-9{@>*d&>kv4F6y();( zlbLOr5eQWu9bCF06k}^Y@OwYJFdDA6^_peT&5{8h!19&>I^Wf`s!>Uw)@8# zXtl7l8`pCRAOjNPo$&l||6;9kpH69+TgMBO@y?CEln!B4J4 z?bINSD@ZGS8Y_NqSe-yj5a?CU_6K(e8J@2PzrGpiOKzA3q?YVgGQJQ4_sRSFEZrRD zva<3K6c7rTHozwQP<$O!7`>u>yBy}<-2O$iylU#vw8oq2`gu&ue47`p3`Cu7VJrz* zUR!lUDY4>{ZkSJXA4g=^>o}uy#d#{s!yUV$kxIKh+x@pAfse&*9(CTIzxOd9Y;^|{ z2M)T;>w~Lwj|z_UY!w4l?n&Qb5VrR2tec&2tS@&=>(ER?m;|ZXRtkd>t%|ljd2Tbz z|7G~j2PER6WAlRE9o=O-t3Qa)eD+V20tXsggd?w?sQn$;%X8E4qkq9(DdF>0o10B= zpR3PUR*rfW0ol8Zt$Gj0;E%9*jm=BEz>;2JAi5`p{1?dMp~+l-N4^}$PG}w#Rn6oI zSUxcz8TWylte-&CDO%hcE^~HX04;Xb;0TW;piG*GF~Y3XH;(sxzU;jr-nGPQ9vMWM zBs`6?c!PrgSMYixryq2syVW>nY{$x6j@81;Lam9L{olB56m#TKC}I18y7yTb9NU?Y zV|f1y+fkVEeHBI2B8A$DvpP+z-;xo`C+H{WHu{-(t;nBa;MlSYlI4s|z{hwVe6aj$R~*Y88OWOS%Bmjbe1%qlINmtt zL$iz-40s$9ZIm$x^OgsDJU;EN__gkyk2z3{X}ziR#xCG)Be1r+(ataZ?b|6zKydRQJ6TXRu?YiqQ6{dAaFy*?!801Anfwr^(Msd-dkT_V@WO0Pe5^ z#f9DQ5_3|e;pUIN?TK)>vQo=BPqtgSk>3c6xnOo4k`V*?@kZb19{u263Dbc&Q@*(+ z()cRk4To>4Cq__S=u7JnGYIuh_Tg3^Qa-}1i?ZfNI{efV5Mj=b+#~j{d9bnC|q zt73=IK^|v^A4A{V4wapWMBx_2NKYral&@+WIvm{|TPYW6sq)rikISXo8ySe+clY5i zcpp4&T`$_n;u%TV`|e{(P}>CbdJ&jOs+UDLkZau4Ah0KP8|#0mciNF6aeh*D&2o>F zPt889#CZmJdl$zvBWDA%LG}2fc1D%~o4&5)Ve+ zgDWlR-BeYlE9EKVk%rLfW-V{W^9J4z&={EpLT2fq_!a<9wwwcIWVrS7BvzjGj-pH?qPs=FHhpg5HTY&Dyaq<*8_C3G(HOvfFn0E(EntGU@@@a5%uJ%q$dR6e(i&(3pIipWaNPcUH_QTo^a7>#Iiu@U_qjA*#h|vf9?750?J$0iv`vzny?| z2;|hLTw%AOeyQ!QQ+Lq*8tUN3L&DcjcHRtZ*dIZHIF^AX+tl>h1|(}*ojgq%3r~vD zF5hF(BL@<;mPm(~tmWaDd6U=wcvdfECGQ1{RbQ{#yLqj@e6KDXsCO>+_(qtsV2GRH z|8$UkQlxMktJ0IN^p`EmG-%IAN_EZFk;I(MKVoRZKj0e>A|K}M84@3zl)gss-Yq!> z$=|EDdj_FW;#^ z7Hz;xQrvxIrq2C#nqD_R=6#K(D_2yXHlulPp)gtTw+rnHHj1Aqq#*^7a$cUxaf-a` zM=;V4?Mf*a`(D7>w~)TmMw@AkX})7jo0Oi>^%OrqcNm3ZG-wYlB7H4AQ+HvfeBdqc zWKcLHaJ|R{|D=VuX#GY0t9l+W1D$D>uiR~vAFW^BQI_s$L)#M}N)0s{7lIkPKB15S zWF`6Oh^l`w=Vx4SbKWek68*P1XGC^4bRZo~!kTT|6sk2i+?-E?+hJ^-*|CJDyp>gy zNQ#yR4gk2VDAuxeMueVVJ7UhdN#+zE428D|(%{*fc-GKFS9Fik61YQ{@bH#^9%h)1 z*MQ;lJ`7|IXyBc?UqZWf@GQ@msb@kIzUOExFJs(;p|>pZKSui5z4)d0wGNdxkFG6N zw$QhG=p8snmUmu;ing^E42O8hYBc#jJSa3;5GtPQ#b4q>#}_pTIFf=d7RVC|fw#Wo zTT&Z-?6I!E@XNEc&hQQsVH*y}N2MlW^x>~RIN)gK`YwAeulCXDL%@lbfE;d0(H#sA z?+RBp=L>ut0g{WqjTR3UJM!UPEi7Rme*3L&xID9hJHAeKFL`_VQ!=2swWA37AS=dLDK z;+n~Z_mbm7}^3aOx)z>R%+Mo34$R!Z*ZSiiu)8tZZ)IvN$a)e+oeS@a%e~&=4X#uYH!@ z41O{0Yt^%jU8wc545ff2$Hw8be*UQsP76#kiB7U^*vid`)yka@i z2TQgy%{^*?t{r+|%c+Hzptj0qvKh_$^M;tK&#y2%E0(ByO4XC?|2*MNA)T@G=GcRd zLxnys%U#Ot1;hq$7U$B z2fjS*F{dGXv8=sQ|H>)=B;0 zVm-=)t*M*wlfW$w9U*<*m)BLT-tU9+X37o$0PpZ-Hr_MSU3APx*e|Zh<`;-;BKM2q zvI{XeO3Ff`%TPhdol5JVm(QUG>|`IxDtxAgnBO$i^17QmYp`cx#csp+0(Zjj(5UKI zFGwK}2y42MT2YAoaRM|{1seX7DGGluMOhIl8GlJhywf*5NvDUKzB8!B8YLyo-5N7^ z>!8fWFCWfHaa2rIt7HIdk~nRCl4gb@Q3%BWF02DWJl(npp;e~tv960AQnS=e&7^n%a4QXxmCB;dvkP?0k^ww!yj5N zxYw%Fv^lNeO4i&`22`pLyQ_JCPF+J~{E1ro_%F?|EsVViI-1XlLQ3iiU#Mxg!1nZW zi2XBW0J?g#!5~GlZH2Gd274~T0{Kv-6=K)ioDe?h3jigVPawb4?n7kZ$8cur`w{kt zGFs0r4`x>2G&>snRuIB!D?KLBr!4{!OHXogs*v~x7>>yS7Z#GS%GbYzmEl(bw?6jA z{7%{ti~xRrwTT5Y5e?;~IJ1)oY{$sw1h9Zu@|;Za#pG~|F3zuUwX>efzP^}Fnh5Lt zeA`Enec`qT8J+y=<#c`uKh*;6AYr<3i9umyjCF=mQNYTpNYf9pwulneJUFWE}i$pbfa_|Yu*_#~-h)I@{JYTd3<)^kOxr(E;+ZWN3 z{#y=Ryme8-PgvbNR&KAp^K88RGCvEfMU^Ve?P*iv-)ELaXSIFJNI6~`hwLL)8ar&; z&erY*=RPDBo(zqLYqvF)^56zFi5Db}x9vJJpjTFhAlftDw>0$g9is3YLO z%b5BW|CfI@T#FCwPHzs2*?G4^Wlj8F{R7j*G5`ng;at*QT;&5;)_1AfSVD)b9+wVR zhjqBop2r>yBMQEcy)ZH>VkWzedN}) zqzq6Dwjkpu5oI8*Cx@_74{H(V#wa!SK@G^Ib9%v+({nAOjPmZJjEy?#mHqK*ef-s9 z%e?ze-cEkodKvc`+gYpo!yx{a!?7{%)mQx3#A#ktACIU&Gy3DTkZC#FA}%qu7$SG& zHqFoJ{Oqnv9}#?xE>arn_VzU_7y<34Kk<8Vr!1kCc`yQrjd(5H?=!LwsO=Dr+8+1+ zA=b3r7ZUg1(w35Ds1c|0;1vVj{>ewY*g5MmHnx#;U$QZgG*|c_+~wC z6SRYRsXeTp-2%VP3>;5J@-4f~dV#zo>niSA9eXLyaQxgK0JGmkm>=tAlbgpi&e-u5 zYwe$5 z=yNZeys#0xi>;yiZJ!11`^t$(!3=O~RqMoU>l;kD8mrhFx%?~gv^thj5)at+@`%}$ zFWHJ=SlYRSqeey4FIu;k;I<4lp*~Fh2XDTINR@q=%o}`fj7aYN3Tf|0C!FhunI{TA zMv@IH0xCyb#s*WpgNKJbUpDAq0Ek*us)wiEXVodgrG5cgz;`@6(CrL>0!PecG(xlp z9Dwpd$piGLQ|$hb@HMYO?_LS0P?BBLux|BA$pcn?(nD_2|0v^r3#{D+E?8YU7BX?0 zW4?NPc0?ec*PlER!JGfl;jWj? z`b4zy`jbx{ySbgnSBu=awWcQIgOCo_rgO0D+^pA+acOcJo>Zs3g1MzR>RV0p zo2?+yKw@gI^YSw)50nyipH<9G80cEDR*%E zlQYwug(T`UF)B%tj-F}Ux+XhGJMkH_?!Eg}Hnmt-n_Um-QSYofrzVa+RXIq=4LYOPjfF$@t$KwP?IxT&dS;D1V zOMWV;n~K#XN~#X03${ylW6wAye5QP~BgNr#_S3irQebvmpO#!*IQm`+IbLogPw9RD zybOXCf6$H|V}kP#);7FDore2Yxc8Tnt5WPsyyB~mB=66ATe+aWnnu62Z&)R_KVK#m zV6{MwzlWunnRpypY|Xqi{Nj8S!^~(vK0LRRwc_c+X4i?K zU{Bz=`xa*D-UZCe0v80%{mTuKw^YV-pqzB&WLveAtT@`=6StVp-d>LadLXme(LuO= z!?m+nv7dlHA9cF6!VZ6UmGC!1L9ix+iDAC@tGx+i|Ieczw1(R^nDta=QKHa77Je59F16Ym}T zdIK}=&XX||6}?6lTFbgm<-F=jyDKV`j90!H!$F)`oXrg_GB?Sr{miFeNxjQT>HRQv zZ~OY~5up?pz6blDP6D?N&Uu0d>jOPtHyY(zYW~!eNPR*L^5u`CL{7+Bjupde1EQT< zNIWIpPmB?m7)!Sl#pW4`=*h9s^G*Lm4QHa>N6XFYog6v$;Pu{hc+ha!K4?=$ODSuM z{Wb45!_gxFu{8GUaNELU{Ky@ce9n#<%T5rq+LHJ6X?)$1=RH{I{&o<@bV7lj>eA;Y zPA4MTp#a7CT3WC(`A;MHHptU^K^@jQSE&J5`O_mv7~k&*L!E@i6I=x#cbT;qM7aEZ zr6;;#oHKH(?Q_$&ismh#YXCL7KZCA9N4>dsY8dFnm|&Fa{L#;6=U3l|t+2`~$IP%} z!ugUwzxg14U3e%Wr6tD=YeM`69K>V(96j1AAD`Av@jR`lk=-GY&_QEgK+= zNu|>=HMB3xzm}8DR4y4G72(+pLz-W!F+;x6sAcP%e1bAK3I9ix0lzIF2yb$y29p+H z_Gx_LC#QXI(Q&?Fe3Bo9JH)or19TtcNj?=ma=isEy?6hyLeiVt`Mp{>Q(k{%r1Lrm zH|=b_lW(CrURdmkT9j)MLb#}9H-Dev-7Lt-ROc`S#K3Vx8Rprxce|h0foHP&ta+W@ zk)ep8q`pBk%qadzaaZELf{EBpkbl-*V2W*es}ZuO#CGJ97RlVZ)AKtyT?V**)j2s9&k0VWQnc%SM|d&<|zH`xdJK{a=i^+>tal~eaQQ`8#I(XJ&4#ngRov_k~|UrlIPiKg99O9 zDI@I2>x$K>n~P7%psCw2Luh4S2d(?AATK@nT;>_+Y&j{MAKm45(2mOTbjogC&L?(W z;*Tc3ul*j}x)MscurwlF>&|GIo5PjDPrj)h;y`F#K9w&>u1A8X{Gm+mslM<>f+e7H z^syC!m3DD>NYiX6iH-6geU5&7YXVz4-wfBS9JHH_ zZ9%KJE2n$v z)J4da2{z~KcK(YYIDE9_g{SNGm6@{T$rRD69{vXJcu#j2Q5O+5yjbIUu>wI*tfv`H z%Vp~7zXamv0L3#uoHN&~jbj!ACr=#K1=eq`JYLscvX<@vq0(h6Ib4xjkz?SZ@>kIi z?9zeXQEEoAg=m@2ChJP$byCkmxZn;OK6J#)aD$$#Hgk_sq^F;F=%Y2cZXl6&W^Y|LG%Sws&|gH zigUMZs}uzABS2H{t@@(;Odc4Rb~!HJ(X4g7+j#@-xqZn-Z8n5P%P36WgEPP5rrV>{ z%Ciyj!|8-mukcYJh&%Z1wsV`Ob(B~ZGBT?r>S{lO;@K0Oo9j7}?E^_c@c44U&7FAK z0=Ny@md*lcTQ_WiAx6=GO}G)TCC+0Irhv8ovB)_&h!S@IBp6*%VdkZU1JBux^1yi? z(TRu&YElxoLah8ejEgyHzL>U?It?xJ_|(b|b=JE(wd)<`cP)t)IOzgEx=Hc`dhb?c zP~wQ5_8H_Yxi~gLe!7+{y6@V)^0IhZnmLXgK)!K_3qk5R69)GNDAey=YcHN1!}f$kMRiVc7bJjmkKf)+XF%KSCLeq7BeJjrf`|I9 zQt47QbLo6sr=zijjv^v=xGEWmVG{uK(Ija1RVt6?eZk2$3!j^&ZCo=?NMpHeikbXg zX#ZGB-zarmWu+LRD8Q4dli!9HU6olhljik=>T|H0b zelD7T;32I;d+{f&vvd7K=Ym+r4eBp+DE4l<3t-RfPb9ItcYXH|BTiy(8 zCgRrloTX?{4xhk$piFsK_2N%<*G7FrQT&xfZ*E)JQF6+k1#jz6o{uL6X}3!RZL6#` zd`aeu8~#b$yz!!w&4CNWL;)h=SY}An-`{~-B74(xrW&g7?7%7N$KuBJ zNA;Tt)0vLgJ_Yro~Bt5Jfqvft;~uyKdG^9KnbG<Qhs#maW2VSkz3?O*xtm2|R*ZCR1F6v=2fqbWfM27OwY^Nc3A}}$<2;$oJAXj^;a{qJUSYm^ zSdi^I*)Qu;hwsg#9;&aNF>gx{jm~n+V8gO9XdFHhR2%&#A%$Qb=K0a;%Pqt_a%p!E zQx0BX${j`4w(?Sfy6vI-U@R*4q53M;=y&y%bDXyCn2!ZsM|ta_9aj`@NcOqAZu+q5 zvlV(zp1JlM5xC|~nIGSLp1~<|Q}E=QqpTC*Xg;j*p^ov{V9*tWZtIDPegWLvv~-H1 zSyK<(oH8E^h@jBBE*Pb(M&GXn2iZ&$%&4?JaAN*v$%g(5I_et<}cs zHqVv9)oQVr?T;Kq9Mg3G4R(UWKb7@%X0KB!+ ziR4MudD?BzK=y#l{br+aQTa_l*RhZ1t}jK4%44GS9BUN)`2i^TFlcc;S>{A%a$NM|m-k(W)eUf;1H5$ugX%-6m&Vf4FLLqC^9Kst*c8Dh*qSsa`IS6r=QGbx&MMuhafjHYZEa;7`)@ zh2b}-e8%u_elf-@!$^-C%lbu~TstxG6YuA{g!1)~?J8xSCg#0^*BMabtJyYec?n#- zOGsQNlgwfef)CBC7!MfjQR`x?wLTY5A7-g^x0);{UYqK$e2{GwH@F^=537Cv!gY<` z`v$eo*97j{6vd1xt&y{hRq=DYwixS%rM1JpdOab6wd!0ooOqAi4x7@oK)~=?iIU$X zc3o2cRfXLLbLRCT1qqSM-z+1tYr1%Q95N+0xJpxqry~PfKIm!u)6t|wi|vvi+|=u7 z&q8pPBYGtUEa{3Qi(XMtKA0+*?4psvtue0#YuqC(gt#hAx zcQ~}l3kq+ut3nZJ<88k6DziX}UvWJrjrWH#+@Bu@!*J)HIg!Gy#~b)@6ZM>K%NNqM zab;xnTtFTv!l^#cqQT&{+X?pI8^$)Nm}%nW#406<{oB!GnO-;(Ea$U+>&>5}8JApr6W4@#YRWC1(7s!pc9VuZHy zDig}UI+_zl#oF&uim~m`{=WH}o3M!>xI2?oDqwXj=Bv-ubl2ui{n2iL<*B&Z^+K`q z*=klFzCaw;4RyquPrPwg1JIDPZc?^y2H7yVP!#M392>ka_37A)@RL%_-eGss<+N{m zcfZUmO;RNGPD{o;)H4~a&ZT=Ps9ZgU#nwEAxUYjup7{QV?y}LZMfDi_qWgEa%hBC# z&`U{txt-~FrqM>G$fdYDO4sR1-zpRf2D)aaMm683dvsVh>f{8B$}70>y->WdsPvPy z=@ebJ0YRi8MXtni@PCTax6q)wGA3QT0wBj*MpM)UcboAmR)aidK7BuidoDDhRu6kC z9g)??2MZfVcvpj0c&)fNZYSZAIG<9#i0Ro{h>g1Li?X}D7I;N=uyKqwM0iK^^Rf3q znMCRC>Degm`k0_2SNZpc(xf21b&BI;V}!bw9npNxp^W#*uYQ@A^^tm%J5weV174vl z(kTgAz*%Oum+;aMuU*FsNyn#22e9@^4Ta7iy>xxQP%KSUXlQ@=cUD7d@%@B`DYi|< zXm>cuY;IX#JhtW`ZqiI{z|XjuSz^p+mnoa<;nBBU@5m9T%W%j6*W3V zix#zUTdQC=J8$zidKz!`C?QJJzHC**$3YGpcn2L=5EIp59<3kp9luN$0}dmIJWpNo zJd>ry+Pujvj~ag?cNR5t^OzFDba}Z@>H~Y3$fmOewh0AqE1?J0@9G6@+ckz(pBRrx z)iZzK39`*&u`_jX1*SC*c4?gu^vKA29CaRtld3cFV%7mLI^C17X55cx z@AKd;to`}XvfV{uD*+o1V(pJj&*SwbG|=m}^=^-dg`Oc4JSOIC(V;3M^nUtoT`J>R z9z9G#^kT`q9-5X_hj4tDHXq)G*VSEO_^q!!=ppk(zBlB!XcdI$+268uQ8ucfJI^lU zG=8Vq8J&$OdQtG>_!5_3F;AxqToYCg5G+Ly(r%Er_pcgp5Njns z9z~gxEKQdtJNw=^)ZZS|`&aH3*`jfioIlkI8^b0XP_j`=##gOC!wM_ z;w#o_aCG8@-I++V^sSc)k3c@G{)MvXn}QvDW;oSJlGqd2>=h~Yhuqfuo80zew@|+8 z`c62y4nn2huTYvAy+4SAj@2xk zpn|2x=)h$z-A}#-vaR%obdcPJ3Pyd7#Ct&ibN2cnvaP$%8_8HDgrRU;c0_t&`Oomb zT+GT=N5EsR-$lZ|i%+>GmRY92R~p{8q+(KY>%=-!V0fmx`F9N;5kH;zvyDjIk8k}L z9umbRu3r=TY?kZ{u?xJhx>V7ukmCh-gUx1U9*@S4PnZ+;%kl}EW+@7sptC$rt?vSm zVPhG@I|)6eSXFl{_qk#6Ji0aZ;rF`BrgrWqfD@ya!>&6li9#@{Qs_Z5fg8x^hsd26{wl-SSi) z0vbBAr|^Kr`d_uwRJUmr(+I>ia~0IWp>qwxYfvQB;lk%QS9RQ-lG0vy42hc=T7#! z==h+S*4@C@PG^xVKq$Lyu1nHJk1SBK{q&uX$*|1SSKpLb$N$Kv`ba(fb?(Tk$t!G`{=XrA7?-tf-zoWCAJbW@{{@{b*z4bL|feR|M@D`7?R({9sok)ngwu)uV zjP49RYRdBIo$R_uGn$iBC79ju9yAj7DvMLkf28!DZ9c26D;k7E215`yHwMnKxUM}D z5yywm{G5S3OUtgm2CbJ>@pLrzRpvFalBg`unDU8wk81zc_4GZ=76Es9Ew!|(ec6SI zuXc5~Vf57N@|_si0=xprdHl2aLsk>OUe4;PBL@weJ#*UHnm5H-xe@M}{JZ$L;wCX} zH9g<3pqM30$y@_yUt|e!RNNtt)yVc6KSxc@-&p`I6MOa*d}LB52X_-VD}ATL38-}} zP54tXFim*KIr5Dz1I%;~CyyriMVja4j%rY!9fj85_P>RzF>K}dA-Gu+a!Da*oG=Kf z_|~ONi(VwT&hXJD0v&tXgj(B4T8LrgW2gkA!)OE;qzO{dlk&TLv1f5*V6h86P3Y{G zBl%H7w{1!a;I&k|QW(%%b`544Wg*)%DLxA+-x9uzLWG>%ir_WJX3w#&oqL09|CjxDHQ^lA0Z1`<*G%1)CJQbA2Zw zbHqx$tVe??rA{t?3s~CnQK^Jfc0>VefiKilhYvjgH+$O<%$7yn;%zxWgC7Q1!Qibq zw%;Q4DnCa@6F}ke9IAG_F#XJ4trjaE_rN^d0TEuA^`43vV;Q@bzgas3S;mVg7Y}_% z;l$i^qQac)Jkoi*|5fM*O-o_+PstY1L;CjTdvi3udE99(@sA*wQv+}k1yt8xYXTcHbypvU};{$nV z>^!$sO(Z8%RNT1HZL#$GOc!U{^C^2wycd1Cjj@5(P&vQLGHR;%95utZsC!j2tW=zn zI`gy11eba{;7HM0C3Ctc5_#=?dXDyazH3(Keb8~FfZ<8N{OA?Y^Js@zMx;0-#=r(= z*ygGxvsn?*j7r8(+h&}&>nP74AHAJHuc)^0?OB-&h2m{eNo;{n5{ItW!xrtyt{3}C z3&bDgr@}=)y}S6xgR_#ebgQu)@irp+l|*{?vwReh2YA07@8cx>u#-M6-fw#J_O1Ki z7}bKch$&*&avbPv=Z#$q4mF#VoP3!1)w}7XN@jl!wWq%RRAvpx5j@)!%lRc!Y3Ba) zWnI({v#~n%0b)d?K6W?Q@8)!x>znh}%9n1%}D=WQphmt@EO${$+lP&@47{`5> zMeZzM>T?hc`7{luYD0d>`JR=K>V_R<4Kl$xG9r9wReXS{o$Qdfm_A41Din(b8ScW; zU_LV5ZJj#;7leB7=;A&qD(%l)^=QF}{^SIV1F}V`O;O(eHcRZWBu@?jTxLKg5K{v3 zvXUUoo^7|Yc~%H$!VHymClL;=PbnBGL7S{pjQrb6vz(x#+oGL4Rc7oLm&z6xW{y`2 zB!PV0?GpOa`OEy1x6|D&M1=-*gZR1QoDVb&cgK9ip8B6AGM~231~)p8%$##B`b}(T ziOh!Xo0HCvnj>TAOd`#!5$&qT^4Ea;h5bj4v+!YU4f!&F84W(wtbe4uhn73D67I3X zyr*_pbq#w^rpDHa5aF#E^Y%j$+!s$xF~NW$^8UsXx6p?m~ggt0T4wOv$6I4{(TDI@#aE7PqIxVo`UzPYfY*-zeDOjTG_41mshg zY%{m;c}u2DuPH#sCaGo1_7>|qrVwtrKqE7Z2?>)Y$Zo2bBt2BY`0!auur8hM&JqQl zJBXN1WFoyv@BBQTFv4u#ilgg}@qf{1!9o|^ddv>@%6~7f9LyO%+>#{NsCK2g@-oVb z0IY~2ux~Qk;7IIKPd}tnh%%vQO%hdoAKac8T9-20zDsRDuVPw2O$D4=yhf80iK2lT z$I^QT#T|#$@8Sjtuvc$=gWLv9or!~jo@wXJmR&1V*DWVhk(15rWkMtplvaqs1RO^4 zN3SL^-FNc@;(Y7G+MEWQ60ce;x0Io%yhxWJhpFfodF1d4XS(jRE%NN;c*x&J@%yE6 zmX#sR4OrCnFL&I0{0hVODs6L0J+GqebgM`#&rkZr=@DNZ>kqjf>FzXZ&c2@Yqc(e< z&@I$1?mCXF6G7emJ`=EE`^^J3?9=K$43OK2)KsME>+1S8;~$!eR@vjJ!Ld%c8?8D0 zJ1+3+IPD1rad=Tvc6l}4?}K<*#wKt{&dDgo*WQH~? zFOB{+d))&pmR}F3bag8FTB9|`WLW%jANy(wmXD6kYUAV7T79iw8+InlitO=SqC4fX z4rE{Qxm504xoi>Dx^7j}Z;fL~0>vwI>%Elv$Ga#KPSJQ#Z*X}DNNO#UaQDBslV?_b*$$X4a$(X4Srhgev1^jW{5MS8MQ zPS3g5#uec#D^-N^k{$&!lf91I(P|?~8MM#roxgQ;rQ2He%4Sglo!+8a8_a@kWioA^ zPyG>aOK(OkB_UWzrl!zyByv)GME_yar6q5P_f?=aDRLq8 z>m1#msyop03{%~Mk?|4k>P#lReP3Y3{ZI{C=SwnDjG5LzLe!hy8Ims(_{9^3l1sQ@ z69M6gPUG$&ua^S8@K`1Z&n(xKwAsk(%Z_x{IbBL{bIW5e zWE%5sVH0BnF!JEb1A@8oISPN5Nu1^&eex3E9eud@a66k38D>J$x$HLkj^dzPKdor+ zm=}aV@B-Msz?qL{Qp1}Diz7bA$4*BNbY7$r!cAzjZ67yO-R;`@UG{s9?GOd#Gv`*K zo|b&+GL0SawfD$Lv2#;(+NZJ>A2ICccu~$hos5dw)_%-xlxZr9q0*@QTosz>L$<~R z{{fe~oUWHMw~C>d{xOp;?sFb0_sDj7&~}#jZdOmL)HM@R#%*R`kEKP=q6P8q6PUus zBY<{^A4U6c&8dPl!x~#c#PgG;4?3`oLLSSRxlVD-H<;)@#N1h`LeE1pYIvSnKSgad)hRD(9 z!$>)0z9e?a%<RE#gIhwxu@Z{AJ$RzbzFG5p4@z!IRJkIUr$i@TNr<&pE#2r`txH}t#6 z?>-`Nv>Cm%{z6%`Id51%VmXOS5_KD}ZRV&2Xgv5fCt;VAe%6#S(=i;l-MC!qHfB&o z?>T$xYP7lW*7b$l1BxRkN+JJFJ2?puO)1iD2Xu|(wdbZ!>U-}>N&2a86NP!4w-LDO z0DH1nl&S0OYd&|beacaXF%`~>Q%J3tIU|Y1gA*ReLB*_RFI4ZKFK^59wQJ6fufe+1 zRHdLgq1feJ%q0y-yDK1C+ZU;5iklkYlO9a&X4yX}ThF@NZ0u!`CH95G*)M&^U*pMhAc01l9&)zQD<6lszdG6USRNDD+i6Tj zY*|`j&T}6A((9g`_?VrJ3C+bcG!p{TcHn#6GI2c}>l)}+E$N=Ee04vG^;$+Sn!E}JkX+Z4j^o*3{6QBaX zc0g$$^>jva^JEy{bC}^)+ihm_Wa0J3=$6%kw&TY9P@(+#tktwcQT~y zu3NY-ns9wK?Z+N`BJdHie1-JxDH9rhkYw+CwR){jt@C2Ua|ozDPRl%a=NQj3SyE3+ z2xi^Gv>M@FVz2k8$yrmkUhE#W##?<;i0$q@V;8CMY|5&WzP<^C%F1iU3sBU`kE@y+ zb3!araR=NSpnPifGfrQDBHl=_4hJk6Yk3Z@_WA>(#UnNFC%Wipz%3;6o0y!WOtQ%A zp(FM5iCWL4Nd6Bg*|6x%+YwmP*~KFdTqq()|9oL_@3-F%QCFAq9xgR=6W0`#{t6p5dzI_Z@ zc2RDPkK#Qmp7m`_=o%EbW~J&y-{0L50Cih#i0vAW-`aAqbzINl=i=Q>;flCEG_%}W z$G#6bb&&GAbXr@T4QRbEJ5DjwMo#q&Um}e@l*j*AR%VPd+-V~1q^=@FDlHRuq`1M% z3(8tv>{!rT`Rg+p%7z$O!d_VH|&g;%G6Z{u~_Py)O9C+`}r*|1DA95Nptu0Zl|P%BC(@tj#iu=iKqr;sK_k{Ax6+WP>|jS^z; z;)Fb>oebkb5}{S0;Px|{nJxD~K3(ey==o8&+x8rhO9)nrI|Ei&iXqS&es}YzYFMKU zNqy{Kz$!g1lyTwN@jSVO8$oe0wl?u;ydkYwH$6b zQu`^Z*_nmDB5b2lU^aF{n>itS5wjZgO*zJv%|$aKDAwoIkol`#hZml(ihKZ*(lnsBYl)SjN+YXP0LC`{pdGY|gbtUj(P}|#EO2RZK zkAsPOo0Tf3#yK14ckGS&Fk=vF!F#bza6Opcp0;bBiz;=sYmvyK=GgPPao-;B{Ffln zLoeh-S7cy^m->#Qz41@BIzIB-_5>}CCq2@|zd3bQBE0S`MgJ(M&5+BOctjG~jc^e-u-jPEcBVv3>t>_HPU69Z zX(S6D>dfxy6~0TTTd-L?fb$fIF^^mpoq1Rm(riJ3^y)Yy%-mUmedRm1QaL^8U2`Ho zRUhNCGxpIB{#-Z*joU<~b!$bB6_zCm(fo0#i9L$bMa|D!I2*PfAl2qql*iR(Knkj{ zBpa4_(Wuq(iOe{CHn(}TBm***byMBbYhN)0PCr(^@BjViFjA9$iV<8FpjV?MWiL_I zCZx$k?ubuwcj-3C+AA(@f7M(357)mx51E7m4$WSS&J^Cc%8l@M!f|X`RWThPw>_D4 zVlAK9C@sG&>G>KKgd-0TUA7?Cum+A!b)mYQEuJk@X!nU!o$!kj^A;OSv%2^tCwmrRYXL zMj+0ODpaCbC&$V(+&|;UuBl5IF4MoDX);5x>{R->+mwX@wmSOVwkj6wUUE%6sKz<%?p6Wh(v@%xPEUh#`=;8r7!5Ej(A zIWTyp4jlh8xl9M$=e?M+h+`@efL83!&QeRAw$`aDTbi}bpX-1HofEL@(dY9qk;zS4 zwLi;+d>)Xz9wsRS44~-GMjBngX8iOU^ za|ht|6yqGHrAq)2HiIj`l6>KfsXHyHSpBSZTUpK2AFhhZzq2l-umL!r2bZ*Y@Qw3l zxd-v>wRtRG95FaMB_J_c$@XS%JC139u1-&zC|oDD6H<|=fWyOOG|AkiV-V@Wrj;+B zlI!uxJFyi>x3UpxdY7mP#asR*@!Y_92@L!s6#XvH<~6gH1(8RVua&|sFIqbO?grjv z@~k&qE};uzMA>v(^g~Nyzs=!Lv@E?HVHZM>~h*%QK^Z zDjysJw9jQIo$3lX@&=gSYjxAx;PPqnoZdb%0@z<<9C0qnrq$rNWL3gk17Q@*X>w1fqUmtWJVt$3hdkD7X z+ft7^*y_md<`wIeeSN+lB4de{A9U^F4qAg5FK?wvFqZ3|SX`glvVU}X@GTq4R+~Z* zJvDdGibVoC8r2|+Vc*536BF6VP;GV+kjO10 z^odQ3>Tby>_v= zQTlqq>g#1gkp(em{rbvQEw|ou+OqEfkC?j#9SJlRne=?G_+Ylv+VgJjXV-%e>cVe3 zs^ZU$ve3vw9=Nu)Y8ZTclaG?7s@&aa=k|`w5*Nf_h5Q>SC0nW6eJ4vi^mu9X<9qKO z>yxl zVViJl_T`Is%Ta;@3ta9DpSp+{%q4TD6ci5A5X-OB=HtfhqT_XsY(GzMjs>R9ENw*P znzfo8-!UplzstzCe823J7vNSbiC;@0bCkDakf`aYQk$MUq#1W99oM);Mwoz{0dZqz z@;&@0&;RO(;e}toU=<_(+BZu-#Yxk^5)Y@GL~UcM%_8a?`VPjBDne~ma^GGQ47MGB z7Y8;3!%x)`CtjarH)s%8F2nOG-KB18y}L!V6FMK%Tc(?LXu0f}*O@cC-gxh*%J6BO z!8V6X;fFc99WGwdA(f1Ib$_J8Bkov12h#gy705VTNa|Pq3z55M^0O;2zLNXlycL7A|e7 zmz6j?MT5PSb(NvnZFp9OIN&JQLD>R8b;`iE4`cT~kR!4%&wQukhq(oRqT<~9ag|3v zw;_)7sal3v;B<~)PA`k@WDOwkp$XhF=C#Zeem|@MA?b7&&=%d~zi%~_&Y<=WRQM3j0{QL@2_1r@wJXlFwOD( zU+zk3Or62H1-maYDVE#$?dodPlRDV=r6mm>a(+YbbnczDpM)LNB7Rgil&|t&*jAM9vIJBEJZFtYjs(y8(frq1ix9VPRY?E(u40Hk|c8L&i zM0NW(d$??oUT@lze*G4IV)!8uXi%s2F<}RwB*GEB)g-JF#yiny*%aEn^uC1LS}e*v zzGUYxaBZ0@!cUB@d+~jvYVR^|+tEeNvJ1q$d1C%{ZMphPz2~@A=X({oyUlkC#HnZZ zq0;hDf}&d0#@fsazQP7(t|SQoejKey4qHz=fl$5BQDnbBk)l zA!cH}!=<5|Kd>e^sXw_Yb0sw8hr^p`{{)s)DL6EV`gFCRa0V${=cM3l^o3_5g8Ysn z0t*z8J&lJi3nI@MViB~}1Ud=@P@ubMmd#6({$b>;7ol3G9+hTN7!OY}Aiwl`8V^uC<1B>cf7Vgr~&dv_N%Me>cE&$E}& zGgbFsBsH?KkxdkrhBi34K1|zgVdS|eaTo^2La?sIEW74VZ_?&iQaZajT=)8ZEss!#u?EysiC`0lh!jk#e^IiI)m? zqWmk{zAgziTQs^u)QBd*Frn~!O1=aMA#CS&Miiz`Li9Myk7AQmw8D&ILN0qFEPv&A zv9gzs3{?gIQ;vQaEd8MPF7SMe<`H}M*I@bLRud()S)gVGxWveG{&eRX90Xt99TrjG zB~8J32YwDXf0Wl9T3-!@Yi8U!pDlp#laLCD9rU}2;5$`UlgDKW(cidoPdQ~e4x_uxCWdHAxGiO)b2Npj- zQw4y?9yubH>E`47@M+vr^s5ww{cqoiRfFDo{*fSDqIJBGZ+SdzPRCA4K7r1hiat zd}rj#D{>Fw;HYUQ2j_74lkqH#MaLTgrTcFlP1rRVL>AE?2z5qR-hM2yNI z>%hEW3SY#kkQSwG5)XPdv1icDuH=q5X8$ zD=7DEhff69^51Hx@ycn&Aev)S77%Xz(;jBg@}5Y<_-BU>Y~K&i4gP!f8mviqxy*D* z+Jc7BsgY~@zQl9RFYJ+l238ZnTgRk11@6KE@0L(t-O25=ipg$;#)bVJ9>!@u?M~bC z%Uj(%{I`Xk-4+1xl0p4+v8$(!Is%}?w9*fPj{ai{srSbg@=mub94b}Q@P!^B&n)Rh zxj8-t8=d4zusv4}V~(-IQZu_h{Si+7=NcU?C3#EUb;JCNE*U+ru%lHiaAK;MM|=sVOOwwjuI z?5(4WmJ#2ILGtWLB?;M)PKe59EvUPMtbygZYC;~206p?-*cu?50zD>uyS^bXs_+lQ ztY>Ww@x>iWar@_tkhcJa5M9IkzRzg_XE0vKp+Z53(uvrIk>HIN=IPI~4UuT+E?QKv zH7`CGtitU~Hw4zOM)U! z6Y;;{*Z9NA;<>nf&z}?7CfHmDcp@MnszhS!KRJ^2WwQJQAvqvLn`GV=(zI4i7(Nn( zP>!sXiNu}dPRNd~AQcLesi4&9=pEtp95Y$-kSamxM=5K8Wuo2Gj7rJ?xQ(J{xNeXI zk#G3Sdia9{qSXW>v=u7{K(Rf;m-qobGUykCWTDxh_MV-+zKqp?q;_r^^|2(xI2FNZ z^8wUdMDxj{oZU^CcG&>W;3_KsIy*BHBdWmYFc>|WXQXJ{{Q6!o01v~2K?L1iCFS@w!|1!JO38GwYF)jh^Z` z@hwDn+P;|x*B>QVssQMai4pLfH~gR+vHf%n>;b$TfZM)%4+Jpb=M=;<#&hzv*Z|ZH zqRynwrR{Efq7eX=Z23CXDr$01LJSH8P9132E~tt^VXBJaPtNyi3nWb+Tmg>0;7Zvc z>vwUS3eSDIY2>au^Uwa{ykGym7pE6pLNT%v2livS-No|ShvrM|yNf`-`kZ4$sWCqz z$UhdR_|BeU?>W$T`@dpDk{pAC%9=m!*;Bq{uW=i(K^~@eg7udLsjl0<=hFrl3M(j; ze?98fn)e);aW34fa7m+9)aWR1$AW%JZUL+ZedL-j@S4mn-lAf58?*FLZT~0Qc6z}T z2-_c#RGA zAFA#ePA>|ogXRgx-h3*@KpJ4RLb&4?>V2Q+>4|VoxLaU*J9i|08jN++2y_bRDP-cT>Vs5%}{9ndV3xJn0FYeW%^Oki1(6 zS{~#CR08k*OEGg;D`>U?u`uK0ikj*e-uvL%I^WW0b7af2M`P2&Y zw0u+n; zSrS^7frkz5-^~onkDxVN`P7mw7hF2|fZ3Pr(wJLcPi41Tj*u!!CWyxU$u!l2J zq%W<6yE^f%KsK!wd*5bfSX&fEZbeYeo<{CUu8D}CeNgKjP_aWv_W%jWSoxdMC2*hv zk-T6Nh}Og)IAOW)6{6D!b;n@xB)2*oCN_%Q6n$Ja%!EyKN3H91J3x6;fKlG2;@{q$ zm-Suh=ikrj=7w><#Q`W}f(L-(hWiD_ZRZnTQeC48ak@g3Db4qC+MN}iwe~5lw`E$_ z2Rc$Jxba{VnkR2g$dZE+yBj|^W2pMC(@BLL%G<&=jF>-9Pz-pZv{Qcd+W)suHd`I* zPYpL)Cz_5WUv|CeHl3ZX{9 zhsAs)U{zK{Gotd1AyQ~q{U485>BV4hpe0y3B##bQ=V(N(J%bs%!{cKbB(Kc{YfjaP zU>xp)pB!#{R$iyXSV4P3x8Wmz%raL)b;>fTv>`f8vi;;!r@d&)e2d|&gwB2~_L1#D zX#sY%vv{a~VyZS-p*;T2(E8=+HC?dt_vm}Fzdv%N?kS3n)?Nh(xqvAfuV{F|1KtD? zPQU$@qI(T3HomuI5E>0eiNJO*wKsPHYT@ z72p^OxDZhup8UgN4wnpjuy>-V-Q%Jl>7lNIcN(zzO6KUZg^V~|4jKu&-q_g zEDUOf43qBR3%~tdaDC|&1l(i={TM#4z4@%0;NZOr_os?J!L-C45&J-YTL4Ff4a1T3 z)h9Y6^Oomrn4CmkWeL8|5y^gcXPm?kiX}~ivq4KXq zmO`}0cTK9NdtXL4%1~{Jy-6}VC*~j}-Am_XidUaS312Bw z<*uENMqxb2axo+ynnXvxFmUZFNx@fI2cc^I|P#k8Gn-o&j(JP z2wMQsWnd&pD-m>GAvnkFr#84=vyEus7kD`6qUm@6m`H__;HVhQ-L8iu_YFV_!TWlN z&$OTnvikS0w?r98YEQpM@3OMrNqnyS=aU@%5}!!%f9;B}bKMC1N80xRj(!g8^7=ki~gJ5WSj**?sTY z-=hHbK#G%}sN)RB2svZ>^(=`nAmdV$(vL{P9>;PNt@-mNBT^7<+kmHJBWrZ>+Tij2 z3D7J26HOU2gIbG4&7jJbVt%hg4M0;W^l7vD4PCQj^Mi_kdqlq*(P82xp(~N-f0#45 zbMrpNI$68ISgl+Dr#zmB(fb=~SHR)ag`qx;zW|LS@)EKLj*A|t&Mb2dI0ak630M_cI>thu)gUv+~usl)?J$#6tREjBfWVqrzx+o`vK(0X$9zV_=f3$thU0`URsG-y@zb>i% ztyO>h{<_ItliBd~r>sEQimZ-{4_1p{eM6GMiSL`?MsP^8RQd$2|CtCUVZwRz&!jQx-9@$`hVi!wEqyEf#OWUhGW?Vm;Usl^{dav{?M*x- z>LNjvas4jxFr^O->02ySaEfP~;g`NplhVHWULD{;V5~+AT?d*l2KdMS!2p-1VEa{T zQ*O0VdlHP&NTvK&tRzrXtt&Zw8;K0elT=~{l?;OX>h-?tTpMol*QI1}>x*D~a&b3?{;)bmCpLg*r--n#V`*bT57hVNmmbxKkVsL5mEB10&%#6AzU7jsJ zHNSEh;F>)-bxJ;UwC+NPiW4lJ+ zz4-XFS2Nt_8+25~;k$fX(Y-2ME8!}Lna%Hag9r^TVsKZ_OV*C7rn6o^1pCVy zar8`0!{?JLM9h4Smq0pG5Xe=4B_ESVFAZt-bT=Ndy9EjP!m-8$89^~9QG8{Y^SX{C z=V1E#?&b8@=KyINx66l{no(!*k#5q1d=BS`ofUbp%{eHbotJ$Cn`^+b-BG zq$B$;hPFX|MPJUv>-OWfp-!>W&Y0+z5pl?|>)78$Y3H(`2Yc66wq?DQ-DjT;kIS4= z7F0zJNhZxeAI#qm$WUlb6wEagVyy4qLh$BEQGX)fXu zUh5Gz!k{@Eo&|@hV`}$Gz zOU9tIAM0rhq4uMkXuC=>)n@0$Ul!MoWp*bOcy+key`Moq!2(`ll1tyx{cXW1BgY_$ znbk0+NRHI@ng1NxkMRK?z@-EfQKsh(f*3!(Bd6hE%d)7+O!^WSzMPx~6U$>wy7(7= z1RLyKO~`m?6=Lo>vHiy)|8u$j{@Ln7L8fR1ix|+a`QZ0o_-*p~yb+MX%s%!e{~Fo9 z1o|ric+YlQr@;f<-=_EX_wdV?V2*phTM}|53;2&2{&mhg1S?VRNTzkhrX~J*6@U5F z;;+E$lFaQJ{pZyE@^9gh282DdSk!0OE@6}R4}*jK;0q=)D%IqjL{Z9LX5yDGgBgH{ zS=~!prM_XN&1eLf#=TE?iU0NA!hvmZD54}IIbRFhFw;gtz)W*AE%)CrF)6U1t*m}` z_9JM28U0_r6eIz1ROti$Ad!Ec7z%YHRI0(n*MrjkHhus92*FoIOv-QH(%{-piL?Zg zP`>xM9sb(c;vwm?dtwF#1|)ZPZi*&3i7y2OvK*%0f)^zsJF6=&^jeMuI*O$sp&cC^ z9P36eJlo+B&pRK4VTacoO~1cW*sZ~i{qGa}$`Brt4hq^=cRD>C)tmJcMoa(b!sOIJ zMBTAKiCx0;IWm_1)M-34Htg}Zva*Oww6>=1t$&XxcqARlzOk`KhnSdhs-qOc?1ysl zsuoHY7e$Qi?~i$n$*Fay&FfPFL#uZNZ1h)l9vBGtpo9K)m#Xxb~5$+UCBT)9`W3YRrDteTQuA)ZEaGd`vEwi z<2|6FpnqTda0q4;GO9|9sf)vMhM!WN($PiIG1Q8HVwhRC=zX1-GAJK!mmeFjhCglV z4PkifWwnij{p-kn4QB8P(nxMzc;?zO*0_t-Rf1->1--8K?dRk*opH4hGAxw@((i5v z?7Q?@USZF2)&T{RbhNdVEsA&X6R!SVh)>L5+0n|tgIvsX>l^;W9iy7MjuMitcj}4m zM~|I$5=2!swS$Ru@Fmyow9%Mo8ork7BpbWeXQ0b?!>y zM8kSZIPu-AC;1JO8zU5hjSn4h2Ga`WZoUb;z5KH$}oO-rJho7skfxi!CPR5yxpD!hN6SM^VLTR`jb; zjHKxMIy0|mZ^-Fz;1hJyZ`mP-i^Ep2J?vEV3ztDNkA-}&Lx9PC#7WIl`*0}mrhzaM ze9Os-R4}2_>&dfO9K!7lbh>0lqtZNux~GUP^1$ts8%mP% z?@3LNA_KTJ2H@L9zAq``JnN68{%G|vsI*2n~2lc^%I|DGYm z>Xd~tohqs7EYM`+={QBh8^BJeu}7rg}FyJjsNi-;Krjt zSfRVJVx{|)g71igc~zWLy=+WrgS1AHY4ye2P1pVrJ}QBv@#qVmu=>1bo?=RKD|3Z; zV>~1Jo?;T7H|&kx|HdWhi=9?uR$36CFj>=aSO`>$N6?>(s3qan?`DWOUt&|^}S1l5YE);PyKKnl}fi2ErA{o^nx zFp=+)ONy|m$U%`PsRnn>Uq$|Vh{?VAB3z%M@{%b&%cLnKUUY(I_9YrsBbwC>(FNAS zF?tQ;gxmb_Sx_Jy09W|~%ggIYn^x z#+>-1Z$e9shxBR3qbSJ^!0>%jiF$cA6z6)h0OfC{Xk;wvujzrNT*@GeHv!>FMx7vboopBM6Fk}wmI?_K>r z=lgFzdxZ~fLJE`h3KbV+ihim|@l*Evb6CHACin;;2aD?P!Sghm!+@wyv{A+AobH7! zdXMr#SZ=t16kEV=YspP+uydOP*WQst0ngqfT%txHSYcB6U`^yYjU}_AvOKiSVxpv? zoJ+cMLpl+oxRa$NSG6Y4!t!2=1+5mI4d>sZ5sU;#kW_HdqQBfUfBiCe3t<zHD1k8Rzh{9vuM7aSP!HsC(@o|7#vlBs&y=CwV|l=%yYgi-CZ*kqY9qJEa{ubq zU|NjB;i~f8BXjg$C-Z;A);UZsPTclV{Fj_6=!eF}&Mx-atY&D0{gt}g`=L=zaiL`9 zmQJqT&&~)$L`0zx(GSMQqeH{uA6IZI!}JGde)Tf@dy;3@eat#6>X7gQl7EZ_@SD5e zax=m@)}CdsTxkn^p%4&74{+bxw;sTvv}MY;kKuQuO%3`8kyjb2qPoUPm__n-lu?qyoDz_K85e~%Lh7P|ob330hSbKkvJdrX?eF6# z&HT}AQsrAc!#B9=^*lA!V;-{?T0h_KGrJZ&A{~70_ssA-5sOQMSNHv!@H2ej67+j^ z9iMA;dEWZGyUxI9@3}H{Yr-OGkvR(`;~uap;%%qzLU+*=atrG^<;@4xKw9hiu9KLq zcAhUusWPhgjE?9E*4l1PUPRv6-SQdTk6*?IDKQL_5XYsf)IbM!R&}_VomDxi>wq^u0(ft~))sz=c|4HXkq5XdU$#{wU*M;T9;$qq@30?47%rj+qm3QbVYi(kl z?MQC*?#_leymmdjz3H1Lqp$U@{m-2>ilh{?vm&#~63s~~`OEl=tM1!x!i`qg@}uhG z^`r_#-X|&okl2^oHK{^M+t-%anzD4G+h;<83brF{nsrXgzGdc`56Sr|yPP^o z+*@oYh2I-b&rM^GzURX-k6{xUAqG1?E#vE*dSfq8;_x(!ZN1VpYda;afiy{~7UW^- zWO*DV;Qx;TSGtEy3dz?LdGE{5s9cThZ|*xuFpY;=2xDyZhgctzu}jzvC6C%Sr_Xz$ zXscXZ-iquPssbHXDlj;?+pG@xd)d&(jUYKIlAcv;pT@TLP#;()upFxrOM-U#=38QP7B#SYm5Ntx6 zG%pA4g2)Y<8H0r5)b;ka$j)mHP2KPHF0Rzo!|BneAddE_)z+I2mH2uPuVv)&nybir zmR&Y+|E=QQLCb!U6TBAV{N!m{L{IbA$g{oaW-^3X;k|kPR^bh3a9d`wPHBaC(OsL*9u)$AR3=}w` zS)E9=`KCIs6vLjHCAF9-Uzyf`&kt;?MF{sun&Td`dSgxX&{-W=?$dsbsZX)L3Wz1> zOqYI&ZP_QYyeHivX8t_Q?R8@!br0(8QZ~J+F+%#)rzX&aGWps{DPua46q`ie_Acw% zhY-)r4H+Tj=_E6od_jw@6b9>q`1gD+$`!R58nwnD%SI#5RS7zu1YwtL`?E#G9V|Zcoci=H^%`Vr$WZ3KrmzURk6|k1wT;d9E70rosj1nhuX_`2(4Sz>sOxEF2lFRjn3FidqxuB* zkARzvui_57&~#Y6&<9JMwptw8%sNQ9XEDw~0F3sO!hxptvN_Nrp-Q3$h0_md-s<_S z`6nP2RNv3bPmF0AZ9n^nFXD&5AX~zHpr=G;cd?o4(~q+M)?1K2~(D!fwbG-3wq6eqYXv6@J(d=UlhfEYj24 zQl4gLOIJ)R!tTejVOigYJv*yUT0#F^76;EC@#RssV9c9-VfSTxb7EO<)L;rRceogDS;WZQIB>eW?&tD(5)cM z63^<26xdB01@>|c%!U=8`+AZ7mH*o_eDxsn;8DC`h=Tb$IT;#3<%^}qex~X?oO1rG zyCbNPLg_ju?%wl@_eO?VJy0bk^R7e^GE;(}(rIP4%TqBT;48HXXA~kTYQd(Lhc%d_ zACN8cXxA9|EMPwIL0fC8_9MI0YG3Af?F-XKie4{^m_bFCo9f)8eVF#_E%0%to0axv z{5O$yf34i6VX!AUC(up{6#56WW~TI~*OaH_I;m7y>`#g}WVjP6BfOhwfC;T zI5=}Mvm&Wi-*rdC}TD z->?3}ESc`*ftmeKtR3Q*k~%4Lk4u_OcVE~--!*%EI&Un~8(H~8hwHpLbO1ZJa>ct` zg%Nhp(1l`75@O!q)5?}I3<(i&=R#OhrHqtt<3GGJV%r0jn)hoqo0dchvCrNdV`O4R zyvW78k*stVG;dviMiSrS3d>HNe0iQrT_J>Y8CkWK(_ROYW2tcc7}muVw{nZfO^A|> zDPSd|b3`9>m4Ay&2ym;~6q)MOg3Ba?Jcp&YwoY8?dZWU1qzvo2s+Tw5JWa;*SkOS< zFRLs=EP&#AmEwt?jZ95GFP&YYuRx`_`u5RkmpXS)hNgwrNST|d*&aVXQ;v2A&?Qdf z=toWQCLD8}@_SY$CV&_5J;U^+Oji=^J=XgMTP^T2XC46(zbia6V1oSh+m1=79!pih zi@v_Tl#Q&YxzRqi7K%A^@`VVJl+~L5I*vjgSKG7RJajyLd$m@{J&ivnh!pYs=W`b> zd7t<7f=iFNTwR*luJ7+Q@sv5*tjwhk<^{@-#~}7#hvEYg)@=XBUg4K7;nA1Hrp#C+ zWMte0291soEM=olNV2jNVya3re6UECeCL7do-dMV@8y~WsSfN|o3eGnL9;KNmyMy92mqGbH#_2+8kM~q{YcZL0}+LzwROk|U+LfD zkT;sSy=exuQ)%Y4d14Vx)nds`ccCOw0B_QiX$x&uxt5d{N2CO9E*@`y;o+_d73u7ZquHLgRK=Appg7X9uk+E@b&CdL<8pBXWW=r~D_q z6B6ec9#%G!_+Zom`Mw&C!H~U;QjgXjhIG-=AaZo#VxyBVW7_U+U&BnYClWF2*=@%7 z$_=)qI{xfn>4=NN`rAiA7?a8NC%8Co(PCu%5^EouoO@G2C&!$A+5XgF%|U->g?(Jk zDIQcAoHY2?N;a=u_jv^2(!=_V1)2o4#M0FFixdqj?!WoP0^~Mi>Gnojq3sFPkTb7# zDR|^=^Auw93#G9;zTu2VmS%(Hb`-{-TM%{IgMB$vvodhMa6TGw#i8Y*^LLxCF|ijS z&BiUf^qx!pD*!$@L_x;?4uDlXgxq2!YSh=6-V>|>hyFC;*GI7tCYay>FP-uBzMHH9 zX~X9}G#Zqmp!3xkom5sB?cI$rle_?$9YjDJ^`Km4wCJGgq&!^dF4iPDwHX1!#?gPH zOC-_LX9Z$DI5nQY5`k1FAsC77-B8juhMU3Gy~tw|+8rQGoOOkNF>VE=rMk##J#9eK zcsRo_!!Zx}VEy~3Imug9Q1_t3X-+;sqtI={!OXj9dwU64S_%K*nl6zRv^37TICep^ zp|US~Klu#D7+RraXB)e?G)Z;g(W0#$W0$Z?3clQ>c^%*x#b$oN+^_M_Uv9mq%pLOP z?*3TtZc(3Q>w=*Lgnts(99QbErMUI-vKY+&c+qQU)4IR=S5ihl=k5nd?d;&ys{?0s z8hR?5@4GfH3OBupC7l_aVW7TvJ>^GP^cioU5-TpdcMj}Uqhb{>J;;J?QR`vb+cHi` zt|8`7F-P%`JTL3L(Iae(uvL{e}N(0eQRZ@X+^Wd?Gi;l0fO~5`rI@q-dxA zr61esqrCh6nD7R_v8;i??d=}r&)Z`To=3Y^-%7;9r*SkJnVQli!e6s|Sid=b-B5C2 ziznEwUS!O^>ZdwtRDN$eq+)W_DZ^%ZkYj%(%li|r5gfWj@0G~w%JJO7QAM=4q7Wo8 zNDy8-9lrLxiRV5y=fDaO9W3f8jk6*zZ93q*D!Vo2~1+7aAY-SD|6H2b`X zo4ApvtYy!$ebiM&di8TDBkp*6?+{ffV|kqGaO^T;c1sfhty=JsxmaieABj!CH% zX3sV6ml0(fhO)V@QaZ>5Ym5NpNUs~yEUDVKOQ7hF$otYZV47=hvgEtAh|Kjo61X05 z|K(R-6`$O}MrhZp+(aX*XL7Oqj&SPaXC7BqYV>{%hVAzyr!a;xBd{=`og*655ZXdIs0Ztm;+#_|by4 zc-@F@yrd!uLxm(R!ikDdSFyHxT;oP2jWbe=WtaAF5bpSg%rofQSQhmq)`gywNlmYa zSXv_`Kz6<^u{V$-#+%i5%3E<@a}c&Nk=lRDo-naen0?cC`bD^LuVPx=#t7LCnT`p_ zHlM6=t(Lt}Q6V@{h|XC%t9z^y!5#eN;-!n77qme3IjF$8n2Av%R{|lX=9vb}#@<#H z={f*!GJ^760%EECL3OhC-52d<>HGJ8nIuq0vMF;n2jcbnUAE%dpI7l7RStJJ>AR}S zoB4R1QfXmwL&Uu0rvlW+D+UC1LQYIvOFO`VA1-JGekm-io4Bw7#Lw+PGNs4iX7Ox( zef{;c;lTeY6J)!6&(OE1Li!PT$2@sudCFV>01?My%I7xIcs-W{LN4<*WW+0sV|r}8T9F`pS)WI)AX=z(YQvGT&&#sMm6ya;mkX?X^b*5u!3U8FmPo6rtkLr zz3J}h%nt_29jiBuofv@VKo(KUeaQoZolZ!qsF|^A$*)*LnE;Gonwj(3Zf=cbEa> zgzOc-pf<+Fu(hfl1#v7Z`d39x3r$_=49~Tw5Yubnk!}u(T7_@nn2L-(YjA_d&KIur zT}Sj%FKI%UGb&4Io(%2Xo3Uj>H_WsXh0|rix_mZw4TQ>4Oo=Yp{BlN~(&)m{%ibA* zCHg}06vD{%)DMQEuJQwH#lEKD--Y2ja#$}4_k}hp5lHWf`R%X4gX1&X%zajb%7yOD9O#-oMn>@L&~DE zruJ1_WF#CkyoKO|68pEy>?DB|iHX#0>3x#wIkNv#P8b@sxaD-^?scFeB z>kyxtV&~Khg%T>WEgZNea%8Aql5K2dAa2cJDvYvHYdaGgic74hGi5mUMz!Mq#cKtQI|*P3vw@ z+sO3>Db&4TQGp3d4+=?KcCij`=A`EMS+1`rmMPi?09I7|pwr^0{6=+YFcBisRnfF& z$%E~`ni!XiLimsQ4}Jt!6U)_uoIuN4}N7C+7xo}r{&#Jj+vejE|ia? z?Oz!ve%3H;r?xUtAEjq#n1QOTt$nQA*d7ptAqtPWFzV-w#7*-VVRK2_tmt5KOpxI^ zJmyE)V40Xh&nvY5Itjgiw>LO0oR@wa#=<*+-cKCIv+&zDZ*9b58|$S2Sgy_5 zEGw6*i8?0D4IDM*$mkujDrm%MKAd#H*$MzZa z!0aiYD`}bJ9vSgm1djM4PGL9t+%mPT1$CMaySkc>&h1;*PV)(kk>_~C9oT!$qr0m^ zg%%Qz%v`q6Dw_8T#ytQ@aHGmX&Z@URlzAs7HTA_V5(mPalrq6~)h=}-apj)Vtd7@H z^xeD5qZWZOfobG!p@g~$kUKc3tOod2j{!BA_|ftsKQ{^qDdkKn8|)je8Tbwp$=e^y zg)QK}m{Q6x*eB2nJeOBFA{@Y;A?-jd*#0q)M7gwvsbppEe9{hmi0W8J>BlzTaKBzv z3o`#`PNeR8w3=G4JsUWl7%&t;)A(Mkb`yZ6bj*yzHlz| zlFAb<_Bk(VG$<9-K6##?9}sgtsF!HBnHSaAhkbf0XHF040G1PX@8E(CwOw)nHgvIh z-@0S^!847?EmA_|^dv1ziSEbMq#~*=%w(}#i;)sS*;hj~rkT1lLVBVyIPf`8wjzOD2d?VE zPFPugw>g`3QY$bfVbBylno?I11OR?pD#~{B<377eCvgJ~c|)B?WGUK4@34(s9s@WY zGnA%gUqs+ef#H+Yde>adO8+H%-a*FDr+Led=}_B+imaony}0+bvCh~jel0mdH;ao} z(Le!kK(|$}Uoqtw1p{T&1t#m$gY{~TN3#q0cNKgk#tCllyOqZL^V7^&S)u(iqfh`2 zJp?Bnc&^DDi5n!GWrhdbJ8ZC!W3z3K!#5DFTQu{>oa(C_iTro(^zO5HS}32xKA$sk zrun(lIg97-D?SHG4#NEGPO;QBvWR_iK_mePVW8o#-V~Cmm2>idH{3mVY~_yiLQ(al z8~+Rc<`I9@GjG_ijHD{Ef-6Sqd^pmK4P1V$-%>mwkaFy6;6~u1ep#Fjs$5QErHy&Y zp^~uN$oAv@7fbPMUcUNt)@icB)mX$2SzV;0QM*PMY6^yxw0i&ZXnWVmWPpeDLV%?@j{R1JK;pyPgcZ ze3Qtg_o>X?DIw!+e z*CVuF{9r>Nr~oL>=VAR<^$J>{{|9yfE3O<*0z=N$d%CtBePGXCNj^Y`44g_VKOr~}9pHFvO4Khpl8*6HYI zY<;(1@G7a8)c?PbDzA8iN_}S00qcr@bF64gM=pZ?sHCa^h)Ye}WSDJ^$5H|OUv6?TW1 z3p;%#U2Rj{)-}B~vVfM8WQ*H)JF%juex!bd0u;czaUp(cVO?6>7Q(u&#%mRwcSx8( z>(8FJW}t6!s#5zol~;&I)*srt?+o{j+8?*KiI)u<^7fc-1xNP%oq!4N$2kv06?3Qu zXu!zSa5dW!u}^(Yx;RMlF8{5YyXH6%qdnHrmm{Sb@!1T2103tZ{&))oVQpnU#0E_IXj=Z+Wmr}x;+_B3F!2@~i^0sCNAUmIrGy>05~)&GSV zdN%al_-n^ol|}KfkNtI~KKi>qINlH;R8vu>r$E_JLweBsH*TOlyhAFIiw+YF^F+Q6 zi&?tGtEaM73Gc&+_%f&E_pLg53m`V&?*xc znQ_H#Ck0B|8M$ASFn9Inr^d z$npevrh{9*K4^NDztQ(S+XuE2#rD zN`UsT{k0l#T>Y`*$JeLX!y_OcH>y`-i1vR&7Ib6q+n}B0nwJHX^?_M&8+o)v%^ilI z{R371{gTK1x=U0lD%r5y7mQ)l2Vy|a+hC2n z+mZ#Xl(})1BTfUW!E(aCCIJern2jWkyyk4^;u5^?{KlOxKhQQfXG| zypwmAZC7d*2Yr7TkxjmEVH)4gcAKEu=n_p_|5@B_{E^wMhpIP&c_fR~Y|@jPHx4kx zkv7{_^dB$>sIkz#A_u_RG77 zxFPT@SZ>Dq_Q(U(?QIX!%j!T!OfnrPl9P=aJxRs`nf25vZVobWD(Mwz0PJ-bt`56>^Ee~Ez1=y}ku!k5y!m-Vh- z;9?UYN@d|HW$jo0gd}*7P<*Rfw?( zEaAmEAfAOg>_CBYv0i2oshs)iCRczAaQc=R*V+={O!3L329eHRbC^L-v;DV^1il-$ zY|S_Dz#w?uGYB^hR%ktJH&)b4{Pyi=I+b!}Jm6dQu2dx#I1-=LV4hSCy=-spx}sMR zfUoAy6h_`9e?nQCVO$Xe6Iq}V3dWdt{$odcKy+sfI+}HdZL?zS%V9xnmwFEbFl)Z+*Q% zw8wP-Xb7juxH4t(8DOVrb1j3DMnn&wcmPK=Kfi_}LJ}TIGefeewfI$t-A@eTS zB&=?sDQG_*(b&JQg(uDLXxT2jSsLdmEp@Wl%Yi1NX-1A{&ml&`&V5X_D>u@j>WT1| zJyj%T9oA8?-5E|xn1Kh?;=ta0eIC;>zGL3|m16sQiO6o1!c1!mUlV-;gD%8I$WvFT z0&njMeg~G(a~Xyf{?(aY-v-1OnPu39PE^ViFbn^!k{r-zb*e811p`r%*Dx?>SyNJG z?wWSzp`$<$159bMT+u@29#k&h-z(kQt?HIVIW|7zyt=d+2p{J!KEGa{?aa}eMfi4; z7!Zk#CNMSRa6eTr2F?lPL-rDp2d{Q7=acLUYSO@jBxad5hH7pn?9`~C|nD)||bE((GX=61+zenfw^;EfwU z#GmawWtXf%fGEyoH&QB%92B$wcL9oY;yK>eDyjWh&nRrQ3XC@}eHK^LQf?>LV@Kbf zNXT%RP=3wC<*dodiH)o{EN3#t4E`6x>U$&U6$+rnx^Mqtc6JagmI|TF3HWcF#uW>M zD^~BntN7vDSlyrL`6}5P*~Z_O0vj4NjT9nXPjj{_HM0NQXA97b&tJ}epOs-s5@K3gx^san#aHhEw%Bf+5396Tb$r>;`pf0r;&toO;L4o9 zxVg;#+brN;o1J24vXk^7anegb`2D9aGeqg-Yd-@*0WRPzq0)rRwc9HL^$)Rv&h%1% zR6IP@QtBg6Rv7&l8Wr2kAeGP)kV2516#>~=@Gf_CA?q|@3iZN_`~VF8C5MAN9h5+s z@o!}{L43i3=S)!{wGr4%Ls6EV`i(iR<#G#crwSBiHR(le3O#rNNvp&9%^2El|J<6% z+pYUG;LCK0>s+yEGucWZKZ16l%q1KuoTAIk!(C&LHAtB6Na-?d5IJSsPn)wsF#!w# z@3__a?ngjRD$Vdl1EC~xB1@Q zLR{Zs6DwxE1vU_*QSrUGR=)QhN@xGfLDgDt*v6KfF?fytE!E`8S(Dtsv~KS#vCmF+ zcCTd}#U2e8;1N!SMfOo(UQ*5Sd#hd1=>;}9Y5R!<@F+TV6 zT4k}|vC}ShwV^cz)WEK9Re6`C9?8xXgo-;p!&vH%W4ueoQY%etPUM(>#AtT7T?@>f zQNE;!z7m&xcd|vxw>hkfRoL_%eIFUXS;~H^*FX$&)8EL*-l%6&?#h z;SZ+R$3NHTdwWdxqv}cXS!u4kEQ5BSN`r{+b zfagY!q#VX5ISiOcMrr`NQ#!Xd_R5Ov7$~?De-*X18GP@~KiF!aLrEKW}Jh^|e zFSs7zIN=vKoS$7*>5zoXHnFOh=Wq|7e^n9azbr)wKM@SPyUWbfa}FKYlV2 z9^v%~)}V)svL@RdoLFj6JkSqP4F>0VVKYR)CB3tsZ=bj169b}^G~QdLdmd`M0m>6EjU{Op<~-Ic5fkA_4e6?mggUY|VB z82IZqwK9N>{Il51Th(wnZBQzC#(8r0$A@qFrXO{`0Iieanse#}-5L2jzmM0y+12me zkJ!H%2DUP>Z$eT9Q|foFGfUEyIIY@fIDCfXyt9&Ny>8+4n-Bh1uP2w~s4Zv7=jKoC zWufjhEbkpcN+pukjFR{PzOb(5D@*Z3^IKg1%T9B6UqG&xlwzpzc(MIPN;H8lD%zWW z{OlXOud>_FqMt_DrPhuW#;T(1D>7joe;CHgdnb=zI=de5rridF;OXq_S2up?G%`p^ zOLdX99gE8xnd)`D^YaPWr}%_U{V$xLe~{@7PTx^(v9+^%@E+?&`_Z%Tu>)Pxkvwr*I)M_x1y!>GMypdu`rsDoa~^vZjzS6+lWkQIm*Zw zqhk!_=di@KxcbA!mzF0o*UFM20d>;8p*sCt5@YE&3D18lI4d?an#Q%-rkI#?t7PSIk<2<0(jyV7|Vui0aEmT@D$0_ zI1W7gUTqJ3rKer5?}eUwDpguWrSKZO_YP|gFMDe3o|xg-8G-&X*W z7{I!u0Gm;W{!^R)_qYzY;)sWi-97!U82+y(|37{W^#UA%)KM~8h(A1$!z-WU{?%%8 zwA%kaNs(3rfN@l~WrzGHVbHxJ07v^7{^oDyrRCn$s(*R`{P*uWsDEf^gT71oPx7Wv zz^LZb_a*KBFh}{Nz?d3a{7L`Gndc~AkaOWpU*5ma!*9Oy;T#zPWAX~d|3O&s_i#dw z0}qk!Y=-jh^XPv?!260r!yVGnip=j@M*mWhoB|Xh>Q|)W{;&fbe()7AFpmEhjQ>8F z@Ba{t|1SXlUjY8wa{vFi8!9MKD%_qQI`I@2m!~$8P5^ZOciMe=;s09d|5F48{3E~R z9)PeHZ0uFcU7;5jFi(68?7DqESc=85^{r2Mjxh2^$uAVz z+yi7x3h4PXLfxkl1J$0AHPUGYkL!ve${sP2ih>ckK}~J{=H&K&eJ{YSK=efT2uH1s z0cse~R%C&l3g?ajx~lp(T`NF6&ocAuDEXfXoH=g-6Dji2xo~D`H3O=CoKl<YSp4()~5>lEzP zV+B8#H1=n<)O)_L>fVWp{nvi`yIZa6TY`;0%a%Lc4~g}}oWNMKBxLlkkTW0^+yW>i6!iW)N%;j5t3{bS6Uk}J)Fz*$}67%}y zqrv^-uBJbWlLE1|uGr51ffzINcvelz_2%&7p?J1`Tdx0YY+tXw7ch<)VGdL2=&?l! zSq7_|EW$ml}uxbxP)AL2%+x-FK+|yymS2eIE0K(g1 zMC_JJGvUV7wCGBS`afLr*HQDMe~%dueFyYpO3;;woB}eFlYbh|m92kXqJH3e(;@r$ z;eZmCk_Vpt;i@NBL-o2G58L+zKT{<}!PPC-k0(~Ad{+3wHTSMG-z%|^GEh9p*M`8? z30WO}(9o{ny^cR1N5EQ8=SFEY=|12GXi>0BeSSD~<1^@s>wggchw5GY=X?u!aE~ ztd1+6|2d}gK?~HVcmLlP^~e9w^CUFoOr&F&UlS%9& z?YwU!1?=xcu`f|TjovAWF>KFKQk0HyoyL%G8(X{X{>ivnWCJm49DgZ_nm7493!3!l z+kv#pHWG3BeR3(P{tF}BKCEWiAkWl`R#yp0Sp8tKGF6-x%?YY|>|NK9Q5NDb$>$6* z0kqKTc2qf{jB#U7JvzzMb>8`-*m4p3s$Mj zL|4Ef2w!Vl9>Tn1ulT`b)=kZJcFuN5$kbKA?4A6jbg~Ift9B`a{E*&-FJm{hV&?fo zu5HGL4-0ungp8u6r>9M%OZ%(xxk;XoUBUBP9|`!41LEp(e0X$Dj;0lM&!x*F9kI+@YX-4aiU_3y zM8f%vLh0I(-#^7DUNEs^okzr{w?hO?o63!w%oSv)@bbw$v4?ro^g)PBh4kuA+Qtfm z_M7%SkW)VKGPodOfB0y(&NFGdt&lwYacvGdEguJOC+Fnw=P5JA-#pYvEf*{$iT0vaek*4KM4y>NB)Q4e8vGUN`=vbP8@RM?-R zuPx~5m#^r1_{J0$qO_AbCN%9)Q@e$d5$%| z_z_C_U`~08b2z=T046IWzj=Q{GF_a2PtmhNd;Zw($WY|$hg5P)_>16~FRnef?_(ZB zdFW3|bn7dXca}GxdW>b?SADIxet^qMp^~@gdyMAMH_E3&B*Um=8qT)%Ll?b964;lG zM?cx1$pnv%DdK)&_3y_-Zr17Ra;0xs!-12v%kLC@al^-t_h#2#TF#!ge)P-BlcFNjv~FN+`&|@W^wpiH95_u%$oBxOF2%D0T4bZ|xaV-$ zR!&1>Qf^f&p5hB`Hh8Hlx+1YPG4yqHYAE)-EBKk>qGw%e{zywywBq@n+TiN3L9s() zuqMttn~}P5<)FjeT@%2)i?e5fLyM3#Nq@GtUpE3-*_TP<&6DY`N_nNM<`Ck-% z)xw0iH#s~S_pxe&ms;~RoyOd1HLf{s{AGPwKCAyJYNZ)Bur$CP9<41zk84T{Mo4Wx z(7L0nzAEXdW!joAwyL9S0WBHi@PnHCd01HSN4) z9a;Y+CVq--<&6sMsYfC=IQr=}TbE41V>_qxmlA2ixTTOlB?UQyhgMv+rMfg~%P>&_ zYjD5tG_0*k9dQ5Lbkoh4w&qKSIZMI<QE?nV1`FUbcIKCwJ{aLIrL^pcJyk@E-Z=FGr-14z!03V6(&JDubU#j0nuFIxZmKa ze7QMr%sXZh(6}hN%V82A>AE&frrzCp;8J6mEDnRhH!gjEpppZ$@f*{opu;H$(u!Tr zK3rO3jjzkrC9F9{VR(o{&l5&E@ked$8JCyVJg5;nN}L z+*y%gKc;V3W+G@yL(YI-c4>chVWZAfJbHQd{FPJZk6!=MG&y&>fA03ihT;ZOQ`OhG zrZ4oVKTa_nIsf3w_lPh2H2+evSO2gc!3(+bDjwq=zafk*X$rJkEotcYEzoTEJpIML z+_c_Evi7At9wYK5VElQ|fC9Wx8E(5>o-%B$!^8tTJ*KPE8mFsBT zgP2XYwutcw0(?5E44UTLFpYnet)yW+>!9AOQ~xYX1&(=aNExCutG}BGsRTDv37Khq zFM-xs>VU?Eb!)97q0rvJEL{k6us!Xz7h(rr_yVFFlWrNqDN`d{L7&x5r!O+{%;a&a z&D|tD=51ZGx8{T@!F-KuaiJRA&z2Z(^H0H7OAl`K^nL(!gm}V3_$gu|a$k@YO$-)M zD~u&MnCgv!oaznYcFl&p7#epL^3p1PpP zBA?b<>WpTF!qBj_zX}m=u8qTWR~TNEWcarf^&b49(Uh@<_f_)zm9#S9*;nfdJ7ak5 z+>iHkT5a?vPO_@DtbS9euScz60$6uTx|hzQ2o?zw=hX$)K@_2*67!~`G)vT*G9%deDQuwe*T06aE z+IOaGDx!OHj@U|e#i?#U#ggT-WSx9=e74RCOwrTs0?J-3Hv}!h!K{~#;nLpYPaSB63M~*peYNh|OxR1GE&*fTf+R*D#D4sLRp9A4pFO~LK zL;EyHy9N>!4#J9wo@08ddwaaQw{KoNg&OjNm<4dtG?&wMKstheAjMDWf;sp|>Wv#p@9{g(R(r6$l$gK{2 zKG4e@xLt3iC4vayF?7Xm9`lJ+kWkc!b7;*E@S7oSMh$#|ys*ukzgp5_9S5R(;KUGn z+&u?8gV8>dFLWpUC?h?6Y8mfE(xM|11b5c#__^R(7he^)Xbp`_uE+D6*J@1@M~Oj0 zUUZKI6dQ3HrjHS|k{at>7&O!nO}Z1%(p~~zFZ$(cCn-io9%sFi<-0#UAV^o$VCL_! z;j8h*ObjUn{n)~@m2<=8;gR`S`VAev{6R0S#1Qjgy=&g7>(cL_vuY)mI6@*38CXwI zfBZD98V3Q6i(&N5y(6h^}OHa=FGZgPLZ$qnM@)G@@MOBKwnH;xoNFAXd^ha?fyKo=c#=E|Us&Tc)7lE%-O9y% zYB2PlnrA`};Zz3{FThx)FHk_*B3^VATLrk75c3JXsfz~VggIQR)4yYquMD?0%Gwcb z#XOW3XVp_oq-_J|`PFMM<^h5qns#66yNu{3bY!X;gI;Wh$0@Lay|4qp4wKJ@yf35{ zcR!-tC>CnXZ&$dB8I;d^7@Jysrj3Ixktc){Gfi7odwZATq58)Zw^jX5_r$nQkoE)g zL_hz!vUZ<+S7`-d!b3hN>=!aZ!c+qPex=46p; z&-j*dp}*y-uQMhq;EAJK;$GtxD&lzJ>VVG>I1U41axpxD3<-4BT@ng<$;!-!>C16z z{JNpWzj|%gn4gP{z(?RLTC?A4<+qqT76-rVV&}~|wfDZyO(sb1xj)q*GKJyWH`|14 z^88@4-xI@h%k4HTgg1I!{cFL!RV5h%vtpC#R+~L8J@=MHzI1o7yTWuEjqF!uE=nHs zM0|B@Ix&xU4Tu=EK=p$kS{Upzt03v?g>;Ft_FOc7ZMQPc4ZrIsvcx*&G-G>Rh>0jW z^9{q*Y2MQ&9IzSK{={<>e$S3rn=E~zY&03wwLwhcK^V%IEKBI<{_-1I`{9ev{I z#7g*j{BVv1WsT$x;#MaiFeC+E&t!%j(5}!KK0&<1Y{P{aw%NiTJc%I)Js>e^ywm>4#m1CLxq3JTE0$RV-wS5C_Z7_yF1Y*fhQx%t|=Ed&HbgU0@2f z)!*T~EP`-KzUe26eRb@UPT;_CqL#iwn`qhgr0!qEze5<03P|^R|Jb;Jp+3JrXgAz;ei8QkP zEmqB(E@^xX6LZDpbyyM z(*0CePVJ2;-=Jhr9i-(7M%#H*#N8Ip_yX$9&MOSJC#fMpx)>T3=8Dae~qu@R->mQqF zrST@75C;UnZFD@{E9{F%4DufZERnHTZ4j!d@qEUlYjwq~&hny>1xpVUmo(Iyey4o- z?AmxLx{tDfGJ4N(p(d>$J67v1(XQ^DYo_dWE;tWU*}N4GqRhz;cv3W)w!^G1$dI== zh08*=rl;=0ux`4?h`uX{_tBH@t$01~JJ*45%A?ic-GnaOb#2*txm=K@oyR|R4;3ZT zeD0=D+8Ok{t3|G7O@c?vD|`tP1Ege1`p-Zf9Kd)D9<$5}8K_=y8+~plzQ>N4SJR6` zSO_$k`(3{K8@thjWTh?6sK<8||8P~QJ9*207GUeSNG z0lkav8r?v6q}R^`xxEKbcd!GJ;7-KcL0;ZhT~L>%EG=c~$B1b3Cg)zEVDd`%c>X-G zhh^JHTeSEu3<7B<{7UfE9rE{M8n$=ZE~TUlM=SxNe?FOlZ05}%(c&3NnJH=!BiUQ8 z?i3+gmYg4M#x`_y%4RrYFjesOu0%9_V&i7WGF5(QSH*2-N)R_5RT**?ZtoZ0*sHnV zKO3hOm2@plPh@Pqzgd_V%bHDX5Wnx@s&pg!RqMi$Ko`y!6;@XzMS212qOau0tB9qR zK+=YV&qn-)J%8dvs(6~-^W5OA$x-UTT+0R26v=&q()PY-%u)v)RN1_OhP9nJW}rBb znlg+H_MPmO_LdRR8=eCo(FjwJgs#CzWvO{+ArItUI$Acwe2G(c~wyE z39sD+ePP&Fcm;|Yf~LC#0QSUa?9)j`nkz-j|3g;r3Ky(FzK4>%3v#AB3eM4N+8i}= zQ%)8e)ey7NeO|md*dUq~w7#xoc9UcvsrGT3eZ%g24C9LF0nYI;Ao`hfxjemaJ|wPW zTVgAZJnbFcH2YY?s!-t6D~ucx9(WP*iouMt?e=L56h_*Pa|vj)Sw#o;Jb>vJVP!n@op z^5{IFiJC7GyReqvv=PI1>(>|3Cq!heV9-XK8bb=;o9gq; zWmR7HiHLZ)p*BN!*Si!(Oot*)hc5B-v5J=EG4cD=5Q}N|Tu$cUQH!P=?8j#CPV*RG z9xMb~IYG&L!I8&EM+@2rAeT(ln(WD6G0LAB5>2};BaxQN?KSCAZ7%wGO*eV??m)8j zuC2&W*m4!7D#W~^X=m?d?+9BQubyV4BhJAlXoUC4By0`^o2yhg^m1l>&-IVRM zjKdZS594L_QO=Bi}E;qz8Q?< zymfcBqD#bN2D$5fyb=@_r%3J(aR)7p?0Q-MTII{=u3&Xd#r%8W{$9e@xqiol-H#WC z4h|9LgW8wCtB~~G7eTvTJB^?2xe+N&=Pc0B3CZDJ7A9#l+-UNuS#KD>BLmmdI!IkW zp5*hsT2su4EBREAeWs=GadCK;Xp(B<9W2phkjK?o%}_~OgY`hlAk~CTeTji3FG81k zD!i)-Wf=5=;HQJ+uNQrJMyI8s_V1%Q#yc)syl)dHG{zGNfWK)jkB%_0Tm3J5XJe4 zW&eYt0kDV*e0%eQWvf8vr`=tBEcrA)3!u)cHF%01A{;Q7?y(oHTU@nPFR}j=kbgre zSWy@;OMO1N4NCC=F%#pmSvl29ZdY{AmvFuKDJ=apIWV>%Lim*S*yjRwL}0_VwOu<( zg@JFRl*o!QeL5TOc3No=%1)h86C7V_xbT{4)iu8932F~EFNJa54r0J$d8}EK6Svbj z=?)H_akp*VPdxhB-EmSF=$FG%sDS2mfdtdd(Dsgqo9?U}sh^3h`1_ts`s70&D zM{K!Hirx~vqZ#G%s&Ha;iqHoqooA(M0dG02ul=U_c=B*t^1~)55IXLQ8taVi#PoUG zVB*=wMGYK<8!lUMmMdNfo;|v>JU5ewvbzrhZrPu})gV#5`_&htFpEj+!?x!(Qji=24%e(5BjW%5Iyb_{yBy z1oYd=EZqWwro1GFnn)%tClbf9>p1vhI;u_V+6CgXl#@Z09Ia24A4Do9`mE9-!k6uOnBCyN4^;RKUwhH;j)#nca)nSCDsESt0Vz@y2w(&0NR`kNdyRo`-M~^#&cxGH=~hwT_yO~%-E-E~q5oeZB!FzoNrYSH$nS^;_f zg-!cJ1Gs67Fp5Ui232@?Iu0U;6CWY=t^KPGzWH*9Wp+GE_hmu*l4R&=B9w$>=vc5v z47CUT!bEOY!0QaU0by@J&6h>8w6!rzTqKOk-CIL2R-jvP_*ML=Bk(Q7ypybAwfX49 z*H)UV8gCf(W|(}IQwvhO{LVLR*3YpGoz)wUaogJ9wl_LEX5cnGZrczswCr~=hx@3;!haG0Sj*5?> zc5>(BL-E`Xn(IX}Pj?e`3 z?Tfw)puW+>%M2rB%GnEmB^nhg_;Ui@U){vnQgqxWdJQRa@>!Ecj!t17NAQVq3iReR zuuYG)H-7MtPM%5FmjRy9oRK&4tUVY*eZ2h)ADrdGgw|IXc;ablFnOL?NYyyCf!=kp zCa~%(5WG$Errw;*!$)}cBV;x3&Y4eVR`pv|^)!ca=d!W61q8$~BnlumjKyr$H?6?CXjYZ$ zYsrnte#0Za0z~n`6!onPG<$iC41L7NZF5hii>H;nRY6(#2=m~_8&>YcY4phb{d=^Xn% zDa5Wei;X_HAie?4cxyzH8yUN|pyW94{5U+tn$58=g9MiDBBZz8x#~GyeT5_nj4mTF zEXGEUgk34eyHs5}&mC0OT|;e|HIH{_mvLsPg{pwtqCa&tM<+u{*&@~!ht8VHbF8uG zLwiPE;Q1_47-mXUrDD#D`)O#!X%M~Lj62&TR%JmdcBV0#<$DmJu=|aO?Do zaPRH;o3-r5ThGGA9TFON9k(HFv*RwnEeGqFrEafCp0G@zx1@CVhGk|VO4&G^s>*mU zb7`+kTn5);AKny(j8t0TX|4D{GrtS@KlV(}X5|%I$o>$2)MM1EWVVXbz!YZ4x@d5K zQn|N3voQ-VxUb|;-LuWFHFC{8PuPG#HS&x$x*_ti!(s#P)fj_M+Q9mf1=d_X!zJ%n z+t!gZW`RTO`~1i2u%$wSgVQaJ71i$rEcS!8OGF6yAa8dtC?qMag@jXW9RF%;XU zeY4?-Mnsdwp7NE&=o2!o;s-&i3;IZxit&mz1%egWyiWRCLCo%g_I3$k^k>0wi}&> zIRZERC1rIDSO)v*-t?$^SV^u!^ZJ8@u3Yroojfq$c>03qaa9Za#L33&-~{jHz(oMI zD2q1Q5sXV4u@t~;-*$VbeY-I%I{7SV`&e{AE72E-J{xT?j=DxpALw+!00`6Q`9d$Y z#Rz*8ey&=*CezVWO~9TgBp#l@;raoHOYCU@cbC$(lT=)Qxp2B8iwjrA!ePk=79nbB z`(4)-%ofypUmT}+YaV?;EbuqlE~sE+ubGCKdAV_MY8RZPnryc2tp$s^nXI=~q(sJM=R^J&Y35b8>9FA>6Nd9ijEtbQJh1hMRx^?*l@gjS%g6+{bj-Xu|@sX`Z zZr5o)oe8}v8o8{+s#aE5e!k|*Z+Xp!;iiu3ckbAcK4~xCEpyr`oFP2z(Ftu{;~y-! zkE=}z1LhNx7e19Zw(_|FK%86+#Np0{!X{aG_oS6a#c&$Xo+!h3j%y8FQ&|9Z z>rH(ydRei`u1tI9k*m1TLonMu{sG&UhR9vBweF$c3?(3?_K5!WI1%fFc%5dheI*U! zXHAO;r>fr|kF=Ow8d~){dg~!yyzf&1T7*k-lKJnVN!?}T(snWo9IPq~Ezlqq9i@lO z+Kx`GKtiQQNAG>BwC~y$`K!a+rKO>kPMWaa{nX^KKLu&z!Uqx7OAc*}^{-6ch$ray@$+y{E_5e01j}y(X+TAg*7=O-^PRnWR zv!kh-LBh^nc!Qyv*UlVq$E4H1&RFIRvTuQ$@eys}TG^cd1^dZ;d1IFY9pXrAcIJEU^V=TvVGR8RmmBU0 zln=V`;Q?f2@59ifYe6N;@T+&nd6b|N4}E5)x40lOE1}T+o``+(rB$0gvxk=o9WNVt z_1&1{loN=a?Qe@(?Crrd?_`;*wuU(3NU|g|`5<2Ix0u!Z#)ZuH)%W3bqb-NwA!$5} z%0c3V3&1!hM2B~-z@SNOiBsqUEM{WY%wTJ?SFClf3cVc_>|*;|{MF`*fT6IXlw;l{ zJ0==Ll6V(|T_X$fr3ThSvlv&9oK8V6Ns}+MXa!vZmKKQtfXe$D`l71ogBUbYk%ld* zKa+^5W1q^ADi4Pr1kut!;yDbc%V%bjMl`05HqH zy`vgNH&ANLxU-Fazp?xAKFBHJrWK1OLsS}bILpjTZd#6FZd8i)8D*a98iiB%xZHxX zfxJq{<=vaQahm|VI@4@w6AKR?Y1COL%Tjg*3uc>Z%MrJ9nQuL3Y0h0^?M*Y$m=cLz zKs`Sx-j{(MaiqNp#odv)Thn!1e#vn9arHD*YF1J++n{W-e&6ab4dpFQjMgid%CB~I z$R;pCu6kstA;fy4zE5V_TXTE33AhKbq`svYKYky18FbxHOb)FWRQ>F7%_Csl*1Ls- zmZicb%?x>TDmxm8f6UJ$wCs0q8Hf3?SXtyo@fk3*nWeD5=&1GD=jH@J#}eZH@{&-p z>t;!=^Fz1ri9BHKRjsdU?eSjBp{;%ajGC91*ujb5Q-<=QfFL;&&s@ zu$f-WzY!q1loEG>VaP|H#giQBJ?^)*1wpQwevL-=p@!~LQ}#z$N^?)FEia*W$6!WH zVfHzs$?9C5`5W2p6Uz@bje*+b?L!yK#ASXzsFbH` zIG#p%(>-P4GP1knu^ZbLJ@#6N32!-2HmQXR{b!fZBw~GegSF8`pF^-Nspi z@3S<06EUG=-J6bwNYC8Ol*FvmF_qRTKxKd{B$lqzHzLc4vgZm7@&nRt+3g?6FV_iy z5lS9&R+&g=d8V`5K#n?_)Qu)&NOIr;6aDm88%tM(CR^s*Z`7nkQR->(b%%G~0fiHw zv)V^AO<#be5+XP`cS~A4*wAbTdzE6$m>E(^)jP2#wU2X7R<$xhu1Kz~9D>{!{y3%& z_+ozeKyjGws2k_Ohz9QE^OY?sP5?-L?+yhWxoX z;tDmR%jqSMBi%zqYO(aNEd}Q{-n$kKOZ5v_z)B)!k;)u3qs%be{L+cFvr9JS2Vwx>^;6{@DT`e!NxVc zxsK2;QC^LX`K_r9Bc1nkt1SC#Z)BZ0eC^k3h`{u5k^Gc~I8BBuPtAhMky5RF8Mqkh zOhYGIhf|S0TE|fuWr8u4Kps0~1gwDHZzdIQ%^bpU21%h-a@WFFZyYVV01RHA^6oKk z8hk$`w%3Kbobu}cuHP}j-fog4oKDNT!)oIz8dj2lnBk9?uWH}jsFSaDq>XTN1HFD} z?Pr+h+7TP9r>mPXP+q9}CYc%5eSc?T5&vj;D!M37+z@S0(CoCOR(;lvEVXGM!tGZi zW5B=Yr45s-Tg+jJYTh|Xv3I+9%RAqt(w1c0lwUFKKkI(8;XOtMQZWLyk!P>WB_PR( z*4H~c2{Vf99A54DQ{DnWlao})?Xq|tn_sUfPO#dL=0za;OP`I-BC=ZWn&fpzBz|0A!O|vhO}0HDhLFvFr1yv_WBJ zG9}?YgaVY&eFWLH?;06-N+%_x>XzL zt*wb`!iwwlX}u{ugM}$D>k8_P3DZ`qb$Und_L?#-WF zn&N$)Csa!vaWnp4#i`4Us1Y`LgIi7c9W>hwVdu0f=p+z~ILr-}V@8m1&&kJr>j1r{G z<9KBT8}>#PW6sqc&E-R6(n^s^(hIFRIW+SE=xEuq3a`;49fP z#m2g3%0_NIpoi9T!yZH3YW(vLVFbS&Xz1P={u)ahHmrGa9s6Uis+o znO=siEpbiHg7~a;NKt#T>E2>bOeC!=(*v>*#%EnPp?eZtd{i?s`FNP=hgV*2cP6d<`eQqu!;F|t8+Q}@Q zvrKnn^K+8l>IKQA6;P@XT%kpf{;w*p{N|PkPO^)jYa5lF2mO@Gs~4-` zdBdPMho107Q;|Cjk2#=`FojvDX|HPl(vY$QzYXBgL@E+)m_wJB9Qg zr@$;L=8YDAKgHT^%Q9lsA@oCGB6RIG;saY_m=5KzNbjI8i$=Nm;RD8Ea?$3oGuv%YP!efAbh;?xenkJOXfE55vpI zhpM)xkJ`r&PW7ZYo9P$Z%Hsj${vnfaLxI}*az$`6bDUb_BY$>r5K(*}H_ysvp%N)- z)BWqk|3csc2i>pcu2K=6Ll`Ylca~jhGf0NtoduRZN#(z)0K3iqAV|w-FAsY>l^{B& z-t_zlRrt5|aDT;P-9W<=)x=)K9447FQGhbi4+6es(^{ALm;hot0{ou^Bp}Uug24Zy-Ai5O+b`o7SJTt>1?q>-aGX z;P9{4(m(EQ(b=tUX7?7F9@5Wo#cMct7deKQxD>(rFyiNBtWnq`VVnfQ(V8z#G#h&K zBl}PL?aH)FrWcT6s}Za~`Is4@`@J?F=w+(|qjK+jgyZVMZueY?eRHW^Z}ELbLOWt= z!b@|6<}XC+Uw7vtr%J4;uti%LA}?M)UI%MacC6+}-u@;tt_|mE_`I=#zt-lhtD)3% zCEZVGc5$qwLNO(m&85JZkHaOxcvnzb8pW5;aNdBLA}XpZ&BN$ znX1Y5ni<%a9y#VAoV^HbS6i(X0&CxO(~Y04%bm}C+VD0(2pWZrxh4La6&{5wv+nuO z<^ zX|KK0x_Qf|O)8$yxeHV`GoyG~e%feCGJ0oPcck}|cDh|}X%Y9^4i(w+CiL^vJaY{Y)=WMfW4!ugc!X+5hgx-VGiG3|d$e{m&o#;?t)rK)32?ssFY- z@W;7j%Z>wvhmDWzZ)SJ=azH>SJi~V#!4b?aqJvHf6TKSvp z#=jiw;gl8B1BMF!mjw_1x*Ct&vFXqBI#m&^0D@rjO#bhFEK3X+R$`NCUiX7Tf0(>~b=7};HwFw1 z`9}c%t%dxXw*N-}|7G?5=ez$$1n?fcmqCTodu##-2P`qMbe+MLZxLDgpV83SejX`e z`?(NnpR(#N^as2RAkE?M1RE!YV8)))4>&@fQ``hD;jei@zm;|7j%xgkMvK-2&AS`F z5C4hX|HJA(I)9K)U!<&;FJ8`cYQnQxh5$OoNx8l?2IW#qoVwFAfaK1L6ECq)iF=fK zgnn2g`c;>ykYyd?&+g=-jvWR_ZExZd=(-X>bd2SWFnNT zDvHw-Xj0I$7#uP%a&rn+t=8EPJ%E z12CSW<+T>>c_1Cj;OC-PEwn4%BftC!sggneFM0}p91CDV*5!lrt)#ew^A}n>4F|yi zM;z|(IRN>kxw`lpw)rY?QgvWaM+?6A?l6guAuqzqe-a-YI6R;CF%(&1xBX$D_r0N# z?Lei6?iXOern0e_aYLC|d~fgPJ^7yuexS<4yWjk`#6~$)6Lq+nk*Ae))~%zh_5rTj zEe&n;BJK5c8_GN&C48rj$N%&szh*snS93?V&HbgQb?0Z4o1I}tr>M7d&6mg9o^oOF zkLj4NyVYEoRO07!8Tpyd`D@nR!2xGZHZeOBC3lYtV>ZqJ`;|G8f|rIGXyE?^h4@39 zY0sP$cXug$Ql4KXX}RV#z|3YB4_Zs(Nmb}N{jNA{Meudu#W1q* zi>LzLc3^rLhYbARxb(*-{_A@h)R|;fz)QUt?t4&KFxKJI`Jdg?U;Nhq$6!h&)I{jO zRmm47Lc>9~ey%m=fS*4u2E48fC;)TF#9Dt&@dtn-s9Xrl_mgc>{Vhhh-1NUJy7>+m z$f5v$<{3ROR8G<3G%$vZ-t}M4_E+yZsn2Wo?RkOnQ~Q{o&A>Qz@fANXhtA}#VC>U3 ziT42F)cp-{+^FN|*nrpDg)6||5Vq+*aE-qtQX1ezbM^zTcTc#0`IC6Tqd!$>7Y%{Q zbu~f%kp3?u)c+sS{{>aPi_`yw)N5%zYcfq%DN?vRleTO{;~H0HV+AdreN>~-R8kFv zreKqbJ`Q>~Jg(}sjjmMZOPG&PLSyE2F63E<1R+y5Nx9Zyew!bL2%GRD4jm_zL`$yv zl$TE1pR2bdp8I~f(}$V)MRwNGR}m(DwXG%^lNR)LFU;fcr-$QpTSf;)F-aEN#`Yii z6Z5$b0DC{JoiF>EG@2%}Y-9JYFcreGi)46-?IEgzdhJu|`Uy znd{oxCwhyNYZ#4g*^C{I7ndYLpk?;ag$*htx|?eY zO8Hg{^}dbE@t+4`QRTv`UsYcYcg>f&Ov;nds$1MpdES_=95Y5q9}@~~lwuOJUMxAD z-o;)6nj~kCDUotMbAP8{$Ot z&p1pQzKH#%in{L}pn1&lVMpPiJf_A^X^>gojn~?9V>|Kk0u~k?x-pr?r4zz`nz=-i za&tkFZQq=;zj6WCG?FU~!#eG>8y?e?+^E4I))n(y0BXPBw;OTo9<%B~HQ9{v`lMsR z?lj5c&OIKjuA23ANd%$#RV_CPgXnoNzsI6XExxHm^@zhGD9f}ekH+5>FRb!gl1kk- z79OWpVq8bS95WkJt5j6=qV^a=#DFD|+y^I)fJz2ioM8ZS=39q8^~FGuL%8ddMa&@PO#z zNU=rrAcy&iTVmdym3M&I{285BG1--$ACmJP8%8;fbFKaWDD?b21-<%*dG%8p%zX&h z1R-1leY|zGuXN9mYNC9bLlqP?sG3RsT$SGppQq(K3X*K|^AvD3DjZfA&a3MT933`} zo#akye4=p;xq4e^K&%l`e#Cr^w}kG)H;XA-b^2I8f+U) z$9Xq*CFN~~@mj}VM@9I!P^6cUVa*fsjdUJ@))^|J;?czw`s_V?>9i-Uod89 zE0i6vG-9Y^^Kbz;K5tCI3gJ51lw6Qv*4KXf+Mb z>|AX-5YB`88LE93rzc^t=I2`8*%mP0r+>;mnkB=pf)j6eavvBG&mm@&Gwk|>?0v4x zjI!7e2}XK1My@T_f7exI_uuuKxGa63@mQ6Mz46Q~bhWxK610?N(wS^FYmg3?RGS-X z5K?6Gxv_BR*YF#9v-_=yRUaEpCR%GYw7qBx9z-WaE=FJ9KWKz85#oM3G#D0KH8&c? zZzVp1>$=satUtB{B`mZtv5BYqnBR7~{+tTysAmGslQ4(l+4D=D^Tiv)OikCxM~;xk z5d7@NblQFPEO0}p%(UK7T~xJcYU`F<#U4=2*~UjXE81wtW)p+X*Iqaa@8Uw*Tv$rT zEJO46X3G;l?dh!KxPB5#jAuTNlG_pU4p-TRBKX|;ic1$g4CA#Q$yFBl^iD1vUNbo>&Jfd9Xq#??{@p$4}BTUabt9X6( zs?fZ02#e3gOXCHCE|*-_t_)8s3XNYj*RfyZV%nXJP~!b0;AWF>I4t^|&I7^hsoIdY zdx#~g9fJ-fxb=5`?-f(KR~-$(?+r04t1*qa(mPln>F;|%?@CY!o#iZJs!qiycLqR zfF(gC8)tlW6W(_m%_b%@vM)!I@Ae>Hwl%t`ij0sjT3zioB}N}X3ivk&x?RfSXx6Q`eSIKM&%F>f5RCj_a@mzYZ8n-jSZMk%{0`*bXi+`<;p*e;0iGhJA=cYQ${;POPeRh?^$7B*5? z-ts*uuwA;!pnMf==Y}CyLGW;yMhEE3p7Wdv(3Rpx>Am9f`9f}-sus@EIc)Y8ieLXyx$@?h-fBOybBzi!v@_Ku z77jW<%VtJSsq2Znb~941$7g$9J@_=eD*+h2fI6^H*Vu5c<-*Rp+@vvw+BN$x{N8eZ`}(Md)+(#jn>j zHue*B86u)ubldhjN`m^u3(Oq^yRc5SOP$CeMC>;dSXKpy>O{KSlVBGlZ*FI8+qJiy zM0wTE#zi!@Z*P!;b;{Cp?B*H+)> zny%D=)xwVCI_n)2>-9>#>jpYAK@ljnoL!GMBTD$2n^8mQGpXlH~4EWUBwr-b;96Ymu$T zZf$kwk^x(xQs%X%=WlriL3fjHAnE*3`isj91vd1>#tlGwKU@3#`aB9I)O}%Oh!aKk z#&JYg2;z)OKCxp?=e6FLZVq(G%%|y9N%*2S4~aYIz!wf|z4)FUQIDVjN{eNn-Ui)u z?eMJ|oJy?9+x7(|@+|t!lN%4m#MUR9Hbw$s(KDhjJR?dTSV(Wacb~87q>pk2!24K2 zR8@5w=~z3BFloJ;=0+m1a%pLk%z~kvGan;gW>;QvpQG&vlr}6RE(*->TiPz_I3LTR zb7e@z%>FidWQWhXs?U~%^z!WLqMN3p`e-*%10>j^#X6a@$dX7&AWz5jR;paCwpzd0 z7#8TK;8e6WB!1*A@={)FZRIxv;@uIt?k^@9;`htuw4ALskE(5T_)+*7hc37fUiP-^ zRS9J5k)I_mhOh`TWo#fTqe=J-v(jxdONOT5ihQwNoN6z$0>*xtC|Z&EdKT z=W3j4d$Ef$70ixbavUJD$+WmZb1ABcDMBA|-mESiO8q+LfQ=*}72IVjI-HjA-V^ZL z`6Xn!w&oX)`mzlVWo+dLW+)n8FpP!K^QFBsl{iY|JFh7`Bx6`NxHjvMVQU>0FIw8+ zFlvlhEjJiLVONJ!&H6le&`G05za_$KFjVto2>=BET%g7Btm!r`yo5`DmHEQ!rEQtd z!yW02X@ym;lxu9BEsh;m65l3{HOGlM#35Z%fv!qctiG;g zPWs^B@;e&6zdY<(lNzP@ij2FA!3DzQhe{N?d2bVeW_?vLvg_4qE!?O$NvdM+qvM_u zk%iZlk;iiam>v-MTTH029lcr-Z$H!bIkV~lhbLgXYCaC`5Jp^zWPRW}*Ix`5I)*o8 zD#`L~_gV7X4#?*L4Lkng>o4v!4aFn5P-7XctfGnHiQ5bFy~R)q--VSFol7-exYWYS zEcq!{2cz2J!+oA;+YUH%Ji^m1X`RMKSN8eT<8o7g&Iw>_4Ue*j6U1|iC|o^zGV{7E zEh|wptlo`iWIWT>bh5I;t3t!dG$bMuT7$NoT3Qp(Y$Le9+fGbN}IL0xud-bg2&|dCP;%=iXcl^gb1vK4>P+%$7 zYAEv}w1#Pq-%rema_NbA;bT;MXCi;dxxF08PGkBA7{JCF4reV;9v|K8!5a<~_z0U< zm&&Xbo!@gAH#@5w)HR7CMrw8yCnMwglbT09AvTr_hwfvNR#om5Fy-?+(WWEckV@7! zC!R!%idLnX@5-3se%~t~EH<279<%%&)5zul0Y}qg4`1SC)cr|Xol;exPhZBTAyL>M z4!H`d3`(7hleG0WtnA1{-c_ar)wv$0znnJye1gvi+Hw>QmunM~X{flPLedJ=wQfgf zJvK_8?g2X6QO-)@PJt@vi=rQ1acFi{Ln=a(a<}`-B+Yr`W>Ni3YIzRyLscF?X?}r9 zm^Nl>d@5oY#t;^c7%jfbh@XAhiZuf|8ZgF{UsKXqNGjZ!{0)%Qum@T)8S7pu27sJ9 za2rUrZhiaZF$W0HIKS|S5FWPJNEV*_W%k}m8rOE@Tz!mr$dZH4m(WWcEosiYdoG%d zICs!tAv1;fCrfWFbs{VRYtjxX(7+W`u0HU6kmFt!b|+qjpU?P0&6gMXebzHmv}~7i z+MyQT7e(8Y$O5x6XbgGe=Y4qRHvuD&K@;emT$pKgQ`PK7%@a@l411doN{M&tlxrht#ae&BxU#y7VF%4?-8Xh)a*Lt0e=tT=kd{q0kzJKQynUn zjP=JYsi@ecSxve_l~#9FA{rtW0OU#VDpBhY)OO54)bROycZrvUTy3?V-68DSRC_J_ zcF$Jd(+LH>>yzVZI`Al^IA(TT?q^LvrN0j$#Sh!eM_%~F!77)RW%^%52#F_IbLgiTTn^9e^VPfroGd!0D7?-1I=$+Xm5)p!DtEYlSF z`jN8Wt+ucN&#t7{=11O)kpqtH*L?2Z*vYSxNw%r3pg`#yb!ZD>XC+=wrOD8`*Y-#$G#aNf6Kr2Jk?hhpBv4^>cH>ztsWLQ9g-5N&6KV!qu4{?-{zJeR08SILvNRU{5vhW%~L3i>ePY=UyV80mu+gOVssDo+Px6~>Yn zP+y)|#7oB5(b!gfN^x!fx8`u0461)K1B|Vw`ZxH1revAK$7J?IWEX4?iXIHlBs~E2 zt0l7ok!KVuuSuq`cfYp}1gQQAP@r$CB2QJNtXg%UcYx9 zzU?HEPxF9nZ}*nRz;yEc+<72gQtKN0sP9(-S>j;AZcv-D3zT#Vd&-S}b0)1o0Y|+W z)-qfO15XD*>3P#mR|b~)=|iqVQsX!7_I>G=bpIR-x8E%&X|_`YU5`LHM!Hmq@uH1l z!-xmJdI$|b!4s!1P?$>1pOt}PcFnr&&>k}asi}I_@C}cTB&Y_1*a=34%J*tZkKus5 z8F@WEOc@*-{L@ua3j@bRz7b=qdgF;}K+~y|eDBu9NH`ikR(Hma=En*2*{mZB z#aEDZM7g@BsHNWmravfPH0|8l9_!H}Z7kmfu%_`utZDf|JZrKG0M_IE#WRfW@)9#> zD%)?pZ!6cz=q;ZdIy|5SKAX$*S6s1LGH5{0u2sjJ>e) zueo8UiJ(P0GM%uQNpFUU%lMrVOMc^SeGL{FoTpcqm7NMK;YV%U)5s41#7e6SiMKUK z_T1SBd$IAE^=?Yj*0Uzk#+;30Vv@nbiSPi7sEl8G(UMeSa3IjwzUo@EGGS1G8~5s| z5ihW+8oqgtsqD@(1^c_^w%UH!@GjA)nl}rqp-p^ohA#UZt_8R0U zBA2(b%4NLtx}0v?P~7@pyJz28i@ODz-LnBYmx7pTv}iZ(L57=|EU)z$0l1G3k)v9^ zi`wcJ-$pdV1L+!5Ed{$`HXpQJNRY>xX0E*UC6UmN$`DtBJ|=Mg=+dL?A&m7MPa_0* ziZ{lgm^ux|@#8(JIQyUDreZlo--G-O6OG_g;fp052bAJef16a9WXLwEjyv*2`m^D$ zL_WS4EpFW~g)exqMl_wC!-}gY{Sb7|!Fa0K_fw-(rw|=W49I0#4LNcEcFPetM3WC_ zsb-V0yvsv@s8xxytU$ACo7O)VBs=#^L2sML2#Sbc%pO~70Abo9nE*Rx12w$a`AEi; zZMThMV~ji288r#I08HsE!xj#q6{m8a`1LpJOLb|f_LS3&>gNt^4g*8i9$5)yJFNqV zU`ybK!Jt}$K$Oj8OsoZjea&#)KqnJajViO!-;hIWB8Oj446zdA)}c?#d9(W+Sg`o+ zRExpfBbh2ZPoDBs*YAjAw}=1sS>=X++HbJ7eH=OUMC0!#d>;9&Z=Us8njh~#Nif`6 zSc+^O?gp*s=r)ir%B;G4vjI)W66XH0eA++(E;N~fRCmM!@!90e)A}QD?`l}`dg|WF z2#2=~>XdEQ^Q72ws0We1b=PX_jo+Hc#^pQkKsg)>M#O4I_H`{jxWe*26cg&pv0uln z`p5B7IW_PH9OE*vT(Y=rD17yk+auJ)jFAHu(BdUcsWbg!~2C~rnztX3P?b2#5=FAEw0?bZZZh#=0D=N(RCDF7H942&q(RQ z0U69QRr!EBbVP8u*kC|%mx`4#`o){0UY!+7e6=*!An^cYD_{`*eKuFOyuasiO^A$v zq^|w@M-jnl#%``~9`V^D*}WIo@Q%hRB@qS+TPu!k0B%3+==Vfi-w!L+TcKBHb^YB; zL6d<P|+|kw%opuFA0CzKxopM60xqg~7VP)DFdE-z7u# zq4*o_3SR)McJVjs^o;6wxs+VKe8IY41d|2H$XIsqzzyA;@VoWBVmB-7Ab^xqrze{A z(XL&9E0z@y+77Ih6?R*L3z_m^)byJX6~DFZ%ARmeSq51+x#g!aF(BRRXC+h|E+1Eu zhT0go!6Pl^`^hd0Sc|C|$6a##q+aLlyrIInVg2G?Z-nvu?ZbZ%k75uet7FM?-<=dRO{e zovu2OTI?Zx`D-~w8tPZ&dG%T}vNNJLr3fZ+M7^IH{C)JCsTm!h0*l&bjMzQ;njapg z8x}2aKCl~ee_U)5=gv~4`T&{>NXuyEOZFapH$pWeBD^ZaJT~HMrK>FT%r$etY{>z4 zc^|N5e}9{ytcGl?KukCGA??YoxEvKbpNV2~2MHdaB_1IIGpz(UkK?Qz8CCjdu7|D8 z*40+hp<@9BJs8EG26EjJ0P;P8hkNcRK)61+wNQ9VmMS^HayT})hz?Yhg$@EL;12g zs3wvFXk7zJb2RMfIEj(nn?M?OqaSI$%ubZghhOPI^o@0|UJ}=ELcwI0< z%OwN!$=w%JA*(ExPjw8tq<`97pMy^iFzGYAG|Df!%cbeqlD6^bz6^c_XW5*Uv@tZ_ z>zBP|F7&3iON2UcyPEOFg6O*~g*@#>&fX@H#A1;go4##1f3I_F?Wm-+&kuwnpAJAc zl%&CusDR4i#ylsDtAt4wZ?_w^ja^Y?IH{=pRiVV1&L zr~+XQf_oU?%F{V$vqNCi%b?TedlR33-1T>-Q*-vUVwp#NeT(n|hWMc|lYI=)5zz>8%O{TIogD_T zFR99;oE52ym;@ur4I6|ZnwXLlF;i8Rk^3yt*Hy!JZ{>*B@UaYM1eA^3a^2^1WUCtL zk`3U2;dj00fNZOfSzu!U=~{yC4!gJ?f=x+i#BJDyLh#1hJA^6)1~?N-T`M*{*1b1b zG>4^6s7N_#E~^c9k3w3)r*wLDq@8cCA=8FxGDX=TQTXJU>E5)Z%NL2gDQ=tuvtb?o^;l&Sp($vyxNU%&RdL53qQVK6sc z)B)UI#y#9FJ%P7==zbzmiElE;X)YoCt;&Jypx@5zb)AS8a&XY%(Y@;1!z*mug*8EK zY~->%mW{l%4i@i(JVIpy**f?6M-u?LG>Q>q_=XoAqecTKzeNM?d@;&08vkBmrY`EQ zr#XW+kB2ea-(y))^?h6>WbTxUaPR%keu;M*U*igkZ=dv^b$J)h02Z%fV=b&&4({PW@?CoGkPdHM&ka{J}*f-du=Hk{+cRtHUYIAl$irnKCU_ zoA2q-Z|NaGlXkNJm2=P4fW3r&RaRK(H*?H~n0&cKb^%BNikZx)nrEzjjgS7VX54?9 zy8Lz}oAEEp>HL9k(_X+RnR|2)$c7>IjiXDo%jb`s_*0qeP3l1kzIpclR22RPpZ+Q4 z{11Zs+duy)=KSx)uK(20{-NpqM5KR8nEzYP7(lcC3x%^*^JM$<-&C6e%dFq&_j$|- z+t!>4RQ0gb{3#*Nb(RIKUXfDj34pA641dV;Oep@CTnH^g{Oxf{M{F=^1DZFoc2d` zmDl{a1rJ!L9lRp@cVFu42YF`m7U;%GFP!0QA)a}ADeRfi07s0FNbJM^&EMpCDqA$G zJb028&a|Tbr1{Qm&6w7EFHHab56d2Wc(6W2*jnMFdL03Z*A)PiIgkbkuxA3ZtmB? z?0yF7%f%=$`SU#S_9z9g&==9|*IZvn(L%?FK7UK353U%GIZS1Mv7 z4^%;0&!6?o1u#U@-oz$X%Z?;~bVs0&BDN9f9Ho)%{J0;G23Fd&kl?)DjHQ+k(2IwL_{=6JS&f-J& z<#W#@xyN-or##>!cYeths-u5qcG0)@1Jdu8N;#5EF;3d2X&_PUHC7xiBDRHh6j+~7 zvNQQaoN$%rv?-1gyCkx>~<2ZFay z4rNo!YxP`oowX%imD_^^m-b8cCHF(Ve7;{x zRXY1_uTO#AII9ix-chdq!`EB5MfJAp-zrFnga}BB64FTLAfQqM2uOpJNOv=Y2uMkT zG$@U94n1@VNcRlgFyss{4D*ifcR%~L_i;SW{sShCweEG@*L9ws^IoH9bvy)oGY9MN z@1MlV+$KE~SsrAUESNkIFrWJz*UOr65qH;%AOU+hhu1TJ+2ORJ zES5H>rssxJb;ntr3$mlqs5&7GODqs6$`O45Mp}=55zV(vHny*l=?9x$4&b+iqZgeZ zg8`_SWORm5QXxt-X>a;helM7jj07I&{A~p#WOXFP^u9OQ#W@ORqfSeLEnv)^QE7W5 z9UQ+~IhJGuk!H{KYv2yR$m<>vxa=O3D?7PUM1c5xF09Gh2d=Y30g z5_A7RI{wusZ{TQ|-usUo`5jz-=jB{&$*av26N{i%?@}+Pp6CanFU-5Sx+u8fJeTTY zsFQ^t3=J?ffRU8p?L}o^iSEHk)3!;%q@+n|f(UK3T}o{MoJVxPwzQn;VZy%S&U0zh zx%wHH5gAR-&7SRCc5%8L45wwLHum#K56tYpnb#_4pinLkCiC4P?`N%1SfY@qOO(aA zZlqME3(HS_lPcBFZ6n~=Rr~XU61yHbqFa=S<$lp6Y-(SmX|>R>%|zs6{fe4xcvZpj zLw&M4T$9Ly8Yz7op6N341`6t$!$(J!S!Wtm3KHsCQnG2VK|`(Br4kS~ulKc}$YQcC z7N}CV#SCkNvxpj?YvZK?IR2L~vVMNky&cvL8vZt$J;uTN%(5BM^f5sxwTEcZZ4~nQ zZ47Nz>U17yY@DYEUjF)u*y)~wU3O{#*si-pa2Y9a3@-&Rc&UmR2# z^pX1!#m7+q{E^Q=#EH#`bL@8>lq|qKk+iH^)cmL{g+tBY1=q3B{kCNPyP5yYCXDyn zYGnBD_x1dTDdR^mAvgL`tHcoAktAzRe8*yXZV9{<)?iUE(%8=w=P{!%d8xgjd7c$a2@d;R{r6*?+5Dc2rcL(1=m%TuiCPMzf(dKub2uSy1L(^EgxAv ztXs=0trO9HF|){FLw+?f%dWKCwx6F5_q6e%5xUHN49Slw<`;LkrgME2^;|1gv=~x( z(AbUmz}%zY2ADi37(z7HyqxZZbTnO?#jQ&N2 zV}k9_MNv+`_YrVOHWl^Qymm@TB*Z2t5Ts{zIyB6CT56KGW`Jo!E_D0n%y6XeM<5*+ zxaRMB@>IrkZD`LfvG_Zg+*YhF%cA)sI@K718s~mlx|Ju$yoE8TMs-+UdqI6i(q5}V z6gX)5j5audx7#w9_`JoOXJpE&uHe$ir6j(9FeOg%hF`W%oNdVulrfM)qRk>dn8D(dwN$WB) z3eMnnZfx$L!iL_`IqXzoZqE3c3j0S~`+xjo-sKwxkbn?x-i$B@Uk~Y9Wgo1YPfr|( zpXIB}a@_~r>#CR8df{`~`JN(Eq3&=8AIhv3<9`5P;@izRY*;qXG4a13GqTDltod`8 zffp8Z!OqlTBI3-ZzWVg>Ls|hN-j+3q!05m-MZ@?mmXM{C>_CB}#C<}Y?eexxPk?XA zndES<@t6vbNY*W*9IQ;Na0gg2vkd>?3|~!AN_~$P9){jxWRQMFunoDrb`rnMAC-M9 zj#(1?*m2lKHZ6G^>NCiy0!S*UR7)YxV^k*h*Gb|}a}eIni;Yc*alFWA=94i_9nZJ( zf#ntRU!lfw2oV%Km2@7MZr81OV}Dl^V4W^lJJE$JrJkEhO*LRu$p(9t7oMebF2fmY z)N$cb26N>!q`XO;?QfLMG$mwrOZ)R(SH7`XcnyEr+CAjKT1!yFs-frRw5YA{#{L-W z!6*Hb5!xQBlF$p3o$=CKP8tE)I) zz|AiEym?b$SlqOV35c1mmp)aMfo8lGrc>;#5@=ovhGCxE$EW3GOl4=Bve`EV6gw4C= z1;Vb8MK=@5I^n&tW8W)QS1@8N0-vH zga)ESv8lWE1p(X}e@!a0M`LsSIeuGkro9I#N{uyzMzs+f1B*v!F}LdnHR{W4w-uIq z%sI#x25RkH`H{NC%sS5u+12bA9PrMQ-2#g{T0;WC8uj)C0HKiMc=g&BblW3>J`A(X&pKuJhN;Nr7X$j zZ$VD}?a)i2;?Rahg47Nn?zpCCM0>5x{f}%FO2$_3Hu)`U6I$5)BscJ3rb%$ZSo`%j zrYW{V`7pA8f$Kumbo1ZqSu0E|D>}l-W$mLnxA4?;HPy1gfQO_cCm%9Iy8BxS6~qn&e&fr06=O3KL8xt0U=ng5mW;V8j|OG7d2GaCS@z zC8vDT7=`V(xNSVVQAvJ?vX;OI!*QL{LoXP9Ab8eX`80~}kg;otb2X`I=YF=R)S^K@ zDZq#}`cVZ>cTKCpKu6j#vE`34Y*pggFq}z5QnfLi-Xm>1Yc`^~sdH4iTJxDgtkINO zhdF)Tg1>H0@>=+=4MjysE!iGE65ajz5iCs?TI0;50mTkeNlVUduobwD(pU47QQPHA zj>8ov^<#TmdiK$eO}mBsdr2EWhYJ4Bmo&W{~PP4M?cXjTXeDQ;n39DVG!pX3?%SCfl)+sU0Ji zk;7jg(k@(I<>>NoV2)0`WZzltEVLeohX5`2bQI@*B)LhNI=vyFWQz}@lo3(~wXXf5 z(>(2Y^M)W%hrkWwQaOU}19|G`usV>LyJ zWy*klO;s2R()OBIsMk=a0~T|_DlM<)0C{W8#mfu&=)Qv}&M!z?g;oAYiUL>-{&@T z(DhP-{c``OydyQZYY^SWqh@qb_}I+#EH0QdNlP677`Z8@Sl`IH55KNcr4@~H07r-h zg-i3oX?-hWy==f|1?rV{DwFiiseJt=H)v7>#$GQ_<|<%bz=cb|vP)|$)HHR{{#_u< z*_gc0sKsPaCG*FMYHC+L%WsuY7tpX744A6B+<$U}l^`Z^uTD`@n{{A4tlE-6S+_7Ur#Wi-yBKj!D}-=u+Et z_e+nMwPrZKzInh$4gT`m^)Y*YkliD$91PWjdRsJfysq*n?hZG@ z`JyYLRiVa`#LC2d!ELrMSx$_wsa9Y^41IIEYFFSduu<*%KAXgKI$tvMp|kaLg4GQT zV!B|$^aQ(JnuYZU_hvi~)z@sSIeJNx@$;na;DmQIE3(-S?li^n639PWs;k?Ma!ezp z3xEX9IHcLCQNrz7*40jA=YJ=3wbrFuO#8DrELM53AmYBcIa(GNxt~k}c2=nH2i(+U z_QuQto)oq%v)}|qdsQ0Fx?%N~y&CU9d{?*1#je_L0vC9py7g@}gdq*sl#Lz0Twyq| zmq~3P#BpK0s)$s1&p)N*aaR&osM6V;zs3?Ck@~;ia!e_o{a7PS|JL?Av8P&zubtcR zejK}-T$tx+M{&!&0u?@p&eE?Zfe+1g(O$5}1iqf|p>a~;#Pt|y&irb2(Ixj%7&~zQ z*-S<2K`xnn=wv63Q*y0j3duqk!BJ1S`}x`qR@xwj7Aw^M($>ViL!4`Ir(G>;S-!QA zf&hPj0`#g`JJc+${q4oC(^Ks1WZGI7Y)Y`opAr1Z6Migd2{xFneWOYkcyyJr5#GQM z4C^WC^ZrS}*xb)DIu4z80wT;`RID!Ty$|{$;}Ax=2M^JnecB;}+lYu>eD3XkyR7j!*4eZKk zT;14Sp#gq-@k*($>FdTND8H65y%quz>G@wwmwSngA*CaU61}0bde7UrdE8TsJ*fy9 zXWE2(el<>yLx&?j99O|2fn6EP7LV*3=AQY>ec_?l<^y0p()L@^1L=!ri{BIXvP5{n z0;E0R3w}rN7I+(<YrR! z7@je7*sVN?6`bY4XYhMZ_8Qv-kzK(PjY5?cu_w7PaWX7`qd)cTD=Ys$3(flfw$O_6 zacA_rt~lFFzWdWlD#re5L0{%;Ov?Lnkw`cP%FI=$ej#Ww>84uyo$kv=kRo$)nP}39 z7fYcorgKE6&naa?EB#hiLw0J(BPB~nFSALjsTnnLOIwPr+T$DbznY${S+DR|`|<^L z{L`y3IjW$PF4*e#AhrjN6jVs1s@Z7MuNfYdEW9-Q`3C1{pJ^{_2@F*tf6E;5I|ChQ z-+J8(A3!{vk)p%Z#*5E4#={h>H3RFuc-8r*g$(|c@kZ@! zls`1Sy3*sg8f4EYNQ&mC40O)kz>cn2Y04!!b}~8lhfq6c@tVOtx+2R6N*ld2ycE?` zpbGu^-Jg34M=66_84l@G2IO#!_o+ZGmOh*@A)VI-R&S(Rk=~f;H}DL9Mq!c|oz%M9 zv{4x&seXu8+8X`hs*np?iht6}ys%-c{Gt?<4M&Ia69kbReci7}va8^xytbFk2|$D% z7_>PaPgvDrI$AbsxGK(W|B9Uu7_;Wa#(*dLU@Zl^4@`F{gs`l+PuYRM&)Hi9`x}z2 zaOfmj&<Kru{-9N?*2Ie2I|Lm<+sBJ zE~h!vQQB|=w%Fv1|7T4@AOD}$^gBYrn~T}Nk8ROj1i~n+%o%pJL-^Zm#%XB+q!6m) zZLm5~*xPaO1VWbHS3g1a?x?zzxWHY9t zl)0JBR@qrB>{-5Q{DIyJ91Qo_)CI-EMYo%hV;V?IZ|9yr*TUs*>Dt+br(7fYHXl&5 z>eb_l_Lu*fqRi7Ud&IR-)3lzoL)?iwdKk!VR}OJd6xfLYxE{?Hh1#V)XK>!Gdh9~k z#VOWlro941F|NeAj(o}&-N{6d*J)?zZj-h(m^N2Y$S?h?3C-pWLQq*RT zx~On@#q4JE&ibJVFu;@ug zXUw_ww>;_D{NmOk5~OZvRKguodm#)VbOOW6?3)f<-TuhO)DVEuEU~j zcFJbONy%lhYRXGDrkl`R`*3p5`OMToCeW!psq*M=B6#Vyp^UQTIfAWj&YqM7eUs01%$=$o9%59ZK%&CgjBds+39BFHa?pn=6@XpoqyEJ! zxE1}Myh4z&az{n#&3eihMJNH6A4{5P>&aHTD^}>|;PF3cs-{u3UYOQ?LM)T(ah>hf z=EOjD+FH@SIkCQ{(&gd)W`#Tq><)T`AmXCK>bI~j+KLi$u_5XJPe`4(`Bmi4IQj+=e5Ga`JKY0xnco($9g}zEBNIY18=Y2l!>dA@rGC*AE#Cu zB*{SCyQdu?^=Feu(L{;!J$FGSeE{Da`uRfl%~DD>=9sn(pxO6c*&iK@84$6)MJKQ- z+1p&7x#ZwRnRUj%j>=Jqy;L=`UTWZPIqn+XMEPVqc{dnxhXpFU=jO^Fj2yQe|j1t^q1F%HU$HwWtPvstCOq_ZA;`P)6b40h_%Fq5U{4}C8cRi}RKE648X)}`YX+cH^+p&9@ zA3ki5r)Yipz)WONpQ4WwNYVt#H<~--%we&qFW8zb^PvkGG!<)+Iqr9?cYe-(+M9+m zQ%9EN5vY71AAx>xxbY}eBUF5vr6^If#vc?1&^0?fAEh2blg6C9nMksGbTzbV@-NgR zNAUkfP2OwXtKSzQDJ4q$&6&G5r$B}x>|!mK_*UWAW1GbaZ%bn=iZ$ zC)1iIb{izW4p8bYuO!OOWuEMvad1%yLyl$<2>^eU`=gDNIkbF7m)kjkSJK?txQ#an zyc7FdM=lx^==UGxam&0*_45prjSfV^+BO5OHfL8z?^ZkI(ET+lzT`+_3js)8j$74L zuiksmQrfSIvh$RZEpaI78UopnpLZD3OpN3FIJZssWrN2N(^D*YFtCn8TK411qILH} zOXRZM;DNZ4QZUa$+IBZrfpmJyg~<|u8Xlt!gHy_EosamuCE6>6Oj2b`|9_P{j( zNMsZrBq8h9!DdDb<-mh&b@iUl{@T;;Yl#v)A9WWjk5V6SrEl0yRWSARj(uSi?);Wr{Arh&<7xjJ>P$++UFoZQ5`oj~AaVco`a1`pD74dszYeC+q5`YI zja{mBTP`pOR($(w0Q_yCNoifJU}d1_zD-%k=|9+$2KLX|zPEXwuxKJr&38T9aV7lX z>Y$Vfom1P=s@Y<0)35ALq383zV1fT;l`ioKg`DOaK3;eBZ$E=L^>4vsh|;HT-F>bW$s~(VtTuYK_eHK=S!m?$srU zxll)E)RXLH7C)x$MHx@#S%q5-_cgipxxIU_{X5~S>pQ4PAR7CM^RES$Hqtc=bV4?} zrMtL4;sO>K?5xU~u~N?(0MT>#&1G!gRX-f{yOyt~&!f~pJ`-!mN{Nt2Wtl!%YnnFY zIN@!t0}+6n&n-C2T&Oj^svSHW#};|HPvZj4IYVnueaVd`g?Kw+=6bxx@31d~xfjc1TQpOu{L@Vebxc5t0pa`f7rnoDvr(m2NG9ww z1LU+`@74PE_x5R!cK98%C%tw>w*%mrm1m53YY@ZpG-p~>Bb_T zZj!TYV}q%6OwXJWP>2?|JY6YVXG~#OH}zXfj?!k1=ckl+?UeQFYunF&2Fz7fIkztJ z-ZEBiMUpZq`LED5OmZK*)!q-t$s)vGz(FB?*xJB+xhqJrDx63sZrjAar88Ohrd-kN z(P7QA?8O$ra;g1zIJ(}_(l=$9=)6M(&JI<#4EHfW0~JKiL#pUPFMQ8;6pf%uM8`_IRjp}@CbG!2ddN_FK?EX@(=v= zXBDDUn>;~8UvJ1TNEqgL)pJ?{ZU|RYvfu+4Tq`M7mL63NDei}_LonzJ)dbfV?KiZ@ zYdWVBvr(Y=ardjhgy5YYHZJe0@2&-1^hf@z5#v%6r--Xo%KP%2k_&sWvaWjGVelD! zg&O?4&ENcJ&g9YfO4#!k52xyUA#t8t8E$L2_hrBs zGiCj8%3(?lU@q?hFV|Y=&}+5RHVA&5m_SlWot)_PhhO{=zgAHB7yf1wNs5Qce22Bu zNQ9(3eNvH))1HUnF__&^eTfVo{ypIAM0L7OY=Q8xNLyCE2G+D0s)Eq16vKQB+odrp z-31&TeXmKIDb@dVhwjP96E%1A^8Y7z5!>tBS;N6A@_6MtcZ`~}-9tDNuQEtxB|jp0 z*-et4<31z~xEZc&R~rPQ>ZP?NRt<(jo+ORPHcnlN#bg|pshi)YtHass6K@fis%Wh9 zh!xa`YOSK35b(WD)1=6G(g^mb$xWNN>vv!(*(2qlb0?_7K*tI@hT`%&(R$2;Ys(NQrlBQtlbAjxIAWQ$8VpeM9TleNY=Cf<)9;QkDENP}+izK1k#ibxpvG5h&I8#0>8YJopwBKQ2`EPI9(=GJC`9V|n7{?ptQ6eGv)LUBK-|7)!8k}41hn~oT#pt_AO&11IzrZY zUAQ9T8dRVetStwvd64Y$wc&|o)i5$o&uy)Ic~paD{a(c>7NZ#&u54w~MKde9(fT?OU`{7PYc{De!tB7?ne^_8hJn$iCcd|WWZ#D)C>RRf9$p8HWP@hDLq$DO zBs@H+*{uhbnw(TpDs&?$sQf(t>Z-sT35~xB>SjXQRK=uT=DaFK%Kv2WOP!EoLCRFQ z*N;Z+U}lV=uQ7YQt#*p#aKK}55nYL*)o-|v7z1WrCw)UF~7T5oR8tZKH>?Y`~<*{v%nto@TR92*TP zns0J}n`_O%x}U;Iu0 zJ7*8KnD~5DL>8>Oo*B`Hugk`U*oZUt<8_)q<=#TVp9e>FYh_hgi^;HF^X_n z45Of~!R{^2O@DTD$`sq)4u@u--jaOBN>U=Mv7Y@|&m4PGkfk;IqXJf2kA3|6GGvLD z%ut6L-MzJLk4iJ=^~G}?`r|OOY6EkAwW@92wd%oJoidYy%fU{Gg6c9HSRZ%frFZs- z*=IilU1HYfMz`?m3sIP_+528F8JXMZAGCbiPKj(7qf4e(ZMbjR%ZjEY{c zp5er?{lvEEwC2EEAKP@l9!IceGG;p@k$aHQYm1Gt0N+ls8Z#}e-RYFXJE0hj+@m~U zOx8^`LUhO0OnVN8YID`F*5AJ!cUO<4;|Xi9T}^zS#J{UUH`Hf%K>O=txF*(e*<+S) zR*C%zY67O!PX|j$aDd>kgLgRF-=^^xH7cgld+YUW)53n1IM(35R@ncLE~Rb20EPPY zW~-+OsihymUho_s?s^Sws(l8!Ud|lU46Cgnnz+OHBV1o<;8A>Xb-65Dk}-EqYv*a& z7#3^#R~|wD2{Nfj{VPE>9ls?1n>8rozlRg{Edi_Z^Jw{$8#2BqH)PN&6#54IYvFLw z1*Mpzu~jy8R{docrgcrEEvc@DX1>eKQVT{^+uo_z?8Gl9bLUW**Gm@I8h5F&K6!Mt zSL(EMfFUuvQ^I}4@3_g{ajUQiQ7B_3d@ppDxW~(b%jJMbk_QK8T<;`!T5x6>D0dmG|cDDaNX4tuq+B z9{4N=!pR^Bc!bA`?&xT6VcEAj8Z)xM4QU)p4BN0Sj*VD|et3=Ea>~Z243fB0d17Qq zd7wD>#r$G9{dBV8xO3SA=(xQ_Q|Ii*?~#TIs)a|YiSEmYf$oiymj$IyGlZR5Agj$FHxtU{AD(;2zav%TGuOx~0P_=dbX_|0^!QZ|$>bVB%$b8`HU^o8`&uX&dE zix85-kAFS`{)&_-95C!&{c-0vQWL%C@mgARWiMGE%rb{|WD zZPU2D*Rwh!SLv31%@yN}RmVcvQ4*c>r9RAGaP&}MU6I?AbyNGcy?(n{o}Dx%K1w=#ovsN%q86>iIgZahpB;vZdkXg03w+MuT zU2Nh^NRf0khy}ae`<2cR?Rt#Szw`?ehWo~8p-R7bn>J4Or6N*H==t_5As^my!duTO zfSy|~p_#({V~St&qd6UE{CL3MTF%ngi`?(53v_);pm8ju{3JNyn)QpPVGd~fzLE`f zP@B?`g#T%kRUAAU)cDZT5|Qa6&_D9zX5rzKX&MNP-rIUFGSoxd)pQ2^4u<+JrbM6j zGc4-FVC5+Re^V4`tKnOjn-D?rstmY0`!vn%dQSQa!B4-39`}ZoLprY~(7&QA)|(z~ zSXQBA<(45gr*=*PID(F}l4sl(MkqJoaqJhzO&O+!R6iiun* z@c~u){>bC^r3SrTj4_U&#veyYM}HL>tTB@FnEnRoxn*LS%{JPZIr=$Besi;Aa^v}I zP@nLpr}bi0C7FJj_)gzhd5xz?gHy_5cb;O9ftbV~G^qDh;YIq^Nj1gB^z5erBP65g z4syKQoCL44vgMGP_KIHD`CH}X8?EX&C1WT{qtnAH~Q!Un+90R2`s zT{pGL_jp}beTu$w@las1TuC{1@Vxo|G?=b}PO$?|6XwqBMerL{q|=M(WhW3beY=%> z7;GDoqmmN9o#D`sCgc^&%%6-`YyB5GPK)eaG4Kap--QL92OTrbMtc5*uXg8Ah|HQ^ zC#K)k`d^ogW%d^y&Au332S5B6g(pMPj#|rWR zPMtFki7nd*sV!&L*iMoj)49gbf_jx;5xl7-aG}GM*Fi1^{?w{sw1OaLzNW%hSyhmk zlo-$={naSYuL8tqk^*lxWNT^aBuy>c`*XXKiGSa%M7=?bKN_FH$2p366sW(Pz~i9b zH4gLfT#FLGx&i_B$?*DKM)}1q)Za*^?tbV?4n{@kAEnC1%DPYazmY`9=m@!dSGboP zb>}ykIqQb|Y?1zCbm>9!@aVnxf--bO;4f_^zsC1ak3#7bzsq=PGH`9BsQGSR{jusuO?QIO4ObOD4}Y0Bc`G^FwrTV(nD(6FUCagAWLjV{5Aa2jP$MMlR3^5Hy-dcK~e55_bfcv zg|^o0t*loZX15bUT(C_b=jS^C!7uG-Akj)BsHbK!`H}8!Tce3o>`Pfzd~XxhJR6YcfqJVJWd9`>(`%Tvkm=pY{T-cdh3AGWL9TV=vVa zU00KqDYhP3A+<@0G`s;f2>JOA)gA-#BdmaQ?yqp;$tqs9^#nENZv(m5JY;_#!cTL^ zmnRd_eo?}nf}nc`{^U3vdPGe%D^h27LqU2e4O#2r8ge>K(nY(KT~XSO(GZ{hfRum? zZF~^nfGeE5uZ^AaQ&uy5)!U*M%{*nT1C}txjE3CNc}($(gx_KRqXjnAepY3BccD-BD{ah~MVMnN-1l6J`F8#H zU0bG~eC#B`DKq*;QubPOsE^o&AZX^hwEcin)8>|d+g4`M`P{cB!JwI+MoE<p+_K0&oqzpZ&C*Qu8!=KKeFfybQ_ zNq0LLbxqbrvQiI-0wPg=30#h?M^&UapM1?(AAG7SjXJ9ROaq*2g`W1?Uodzr0f;A_ z@f=N`>*gdHdqOp8Py79b`VQV6kej_x3Xj7+Tumn8Hu!BZ_HM;eFF(DHERO7~KJt3H$opA)GycVy z>dASIPg{SS%D0aeQEGFw=B#Y*%v>{?{jLcqnSqR6T{KXl`+GQNT2*^LN!SVzUj9!O zy}s7pPi>iOa}(l4fV(z|cY63Ajv+6x%viqKav_HYM+kpJ`)H@5W{0_Gupz_s0e=%- z{7ifBj>>3;wD5lR+j0NqTN|?kY;CTUO8B4YwO0Z`+CDcGHT%FpFCO97i~m{Gr+cqg zVr*#_Cb+G=_BuWxtp6L2_->M$vW|&WX%fUz=7wx|ab%BgzG)B2e6*Xz$9;uunBjPRCFXKnoq6furx5<6L%e$`OOG&QM?I;JHcGhTbf=m+bN+uhqIDVYh&9LW+Gj1Nb~Y!0%AvH~uq_TcPsHcKc26!-w@~eY*^BOZ z5mGa*wT*>+P}u2-pV(c_$NM^1YXF5|_WR2t@@GmN|H)$}_P{ss82u(Y__9BXw(G?H zwK2dFCb$+9C%Sj2vtIZSGmxkL)p=?pO;U|8=cKQUEXIptQaTz`L@R2?FaZ|7?n!_J zVxDin@upRll!wRy%)q5`Pt=Zq+g?auO-lqF3vEGt+NV++Hy1Y_BWpZqh5>?67$;5z-GHuw=OmO`Kgv~r%BL_cIdtdm|9EOhav~`lJ#bC3_!Yi zbx!e)WT-nw(2ePodpP0{f6nTmk2}E1Cy)-UyXbWjFi(1$_2<;Z{nOEqru!)N7-~1v zYDj}^T0?BM+b8{JAN*{P??xLWXLw!iSt=9pgVAA7Ff{%VW7{j(?^_6-heA6h!~(OP z^J7%teLlF-yY zpaXFmvlc( zE4P^V9JY8zqNfGZ`7*t==P>&54RdjyIProt&6Cs)(_Q}5OrvWh#kIgozYN8*8GrgAxTvrDbD9KKBLK_x?lHs+ zzzXY;(y*Endh4vep4W@XY|}eB>#uul!{cecZZ~i{VkNxLx+m}Ia`U&=5gp1AdAC?E zBwsFdrjs$xJWmybO`*sefOShB5^euAdU~qiD($e(?_PaP#9E@nmZa@=ufL{JGSzW< z*>h&Ixv>Owk&9uvhP%Diu;{TG7Xbt|I`k@B>x0?AC;PzuleT(@0xc;;*}3627_a1A z<@KHMGzHZ(_xxSgtA`3QE6YeKQ2fZD-3I$i4?4zLUreGF-0oPctDl8NSS0A_Gq3?| zQ2b4t3lL7b0Luucz_UL&k#4C3MHisG-EH|KY;{xWV#$7f^R{K$zZ!!6>Fi}5sw6o- zdRWS^7v;-N2-i{U|5(Zrw*8pm{EsI=lXt^-&RFlV@HsT8`9*&t@_9N_kB*e#3ks?B z>+1~bBn%jPUEAcDN0M_k-cP&N5 z`r6ZHHd0h`Mv_Vm9oR<<84nZn*hFIU-C8hK6SrynHqDz2!=e_qSEz!&xD3|CGrNtA z&3fu++P|GLctZ~yFw=5xkSqg~TFNb6s1t_JE5uY^{2PRn|ANr9et*8;d7k333~mr;Ht$-iL!z>YTt!=O5GvX(DhHpK=8qdM-$(Mgy+{3~ML(C#7xHD9j-*U$9j0 zt>Kc{>>&;f>%1c>6}BfO2h05{s9R#43InjZVHj>=LS?IvEH+R|wwSFo*7%B%9-T@` z_tO5=+;g!>Ck~)KqU})aZ|18`>ZBa7oCa$@Pk8Wg(P089<2b%&?X*V0)}51etY~m8 zM#^5Nyl5dY2oJo8H*crf;uW3$XaVW}Xe6<}t&=d6J^Gvd_x@28+Ec)5Cg~e0b+PU$ zJ9t)28*w`S;{Z!J(4Y*_Gp%6DrAtlhxyXm}MUFP<*e69ptD;ec+Ov&Q3cS!ja=1A3 z<1RS=z#*coGE4YdQllx!ES79={S&0xojsCF+d61A~}gx@s8Wi0HsmYoy0bTWCuRe%r%)6QJ|np;yttnn^wgRWO>5towvIE z?WIgNHh+|C5#wml)=Sv@bEGjvCFQp&;p_vj>-)c%$PdbznBS_uAF(f8d;9wubAgde zYd*SfwJHt*Lly@q{+A_ujH|PG(lS&in2d~{^85#cb<=(9Zb{Cz3dr5t|+aWt0Zc6 zZDmxd=8U+sV7{`n=$>6LQmb7~pM zyHs-Z0bu~lCBxtJ>+@==Z}@rNhr7Os%pkmo|rzbEAaKb6Wk>tkCG-($s9iU zU07se+gUD!=k3kK0~zwXWtXCXkfQ9fwC89L{C8Zm$O8Z4nf>pQJ!yo<*&T%+OkZI3 zl1eWoLmo+{;XT8iz@8gAr^Gnx2?0tl27bfbGE40u$xsX;b^)(b-{twdiJfzUCl9I@ zTnL_LKW545CIvbo<@w%@LA@Xu#PVIo*14UAnQyr5svJ ztfcwnbeA1V4a?EuE?~C<=hJ)_&C*XEOucFeQH7mtc86?;dYM}xCikwB{;!0FMzPOMKw#9(UkaVNM`^B0%VHjb3gkM% zCIjRZkC73E$sD8Sc2kmvzNQ!`HeNi8eBBGJo};E8Rg?P0_N^TWL7(f-k!r7-Pjvpx z1EkDh&;PYzLYlK(GbO90e#FSbX=DFa-mEIK%~)<^NSOT6|7R$+z#KlPXrDG&E+ zj1>Rm-E$f-3%z#>s0Pt~TFk)vWGg&ozm;1x`*^L3IGLjRhEdaiJ@quCscNTPp*Vp~ zjL7n-1DloVVw3DFP=kw`*h3eOUj_em`vi^4Y5tr1IaS4m0I)8~SFyBg{nYtMi8V27 zg4O^yW8nk2>j^I|o?j{p)p-}fqD7YSVR{lSO-SL_B+>IGKv6~E9?Lry+$wNIK+Z8; z;^2IHbb3ojlcHada4Z%TdG_({S=?T19{T&9lgN$W;j9&s-IJn54(j^_-B?e2gV(Xt zv@9q%m{hu~MdKm6T-DDA3`XusKDDgG*3=JCX9}Vx&y#jTCLi6@OSHCa-B&-$@ zRc-)48yq*ZyYkJ@x>8Ly?_G8iz*0T zI(y7aW*H#Llt1wHi?v6WaF;OYqSX|^=(7+QHKWTrYP2yv&ZRasQgINtleHfIKO}|E zxZf%ClKbI0cv&`AS;~OP|Ek8_#f|!4KDp%jX?ZV=N`uRv<0eVzCY#PiBFaz=XxZX zw0|)(4r%;dg*a<;-U|EQKsGsVLM&tkiziR>cJpS*Y!3qrJo&VwsEzrW*vd)L@u4cj z65DH7jUqm_+-oVIAbeeiv1p1T@lO_9^v?E6V6=MXYna$H#8MgK=8>_jBD^pP&w?*7k2 zHF1SDH2Jgq^2A6W0t~=bV>AVrlbhAVXf8tk(xI9}E~bHNlHB2a{9qv%1k4@#9@Xsx zw*0R2dxRBo+EWc8$PKjKr`Ws`BypXQsxHIK36#4Ntv1t*ZG{KN32i-NmAEE)t6#~` zB>M6X;wR?WqjJ%FEn&iItG90%LNrHk4$8U(bIlOaSe0V|&@340R7CQ&hHsP z-RDnvUSAIV5Zs(_bifZCG_u|#SCHL~f76-xT{rc>Pi^*?$&VqwgPe=j)y4D2NMZlV z7mw6c`|kCgH^fuB9bfvU)BZdu(~u!<*ilwC>|+T2`c*7^AJJ3SX|s*p>dUR8T3yBz;bN(a9(`PQB)RD`FC~J8D+H#+21sE}J=!wZm;~8(h14E+_Ew7Os~9`=HGEFt-Z!iB-PZ!(MFjT5EH#eQOyO*4&n=+?=hjJW3Mb zXk(r<7BYh%hOr2VmOXNct%JW&K6jM*wbhfcmmyPPRxtAO6ju*DS$ot6@31_%S_dun zd!KJHL0um!dT3(*S24I1zo)eBfW7^;2LIRXUz0hOh%?hYu;iLcU!OYn4bd;Q$KiOA z`R5W5-g!UuPOW3d4>JxImuSj+PnJ4tr5Eu=R7Mgyzon5#JS7eeeIoRwgahmpP0cJE z&G@oKI&m1A6(sfDn!vAi*UNEChGA;1(zV)SH@(*mZ)27|Ka|u>{qIAiu9(yh=XCl#%QEyg@`f^RH~YeKP89* za@g%l&()ytL4TuTjX+1A#MycA2&ajL(shz(WzJpYuNkt1$Fu0chrC-plFs-`7ROnO$TwB zOqnl9Ka4M{>Tu=BIUf(Tp;#D~(1*$0@!aECZ@b>cZJ?4$3}os zZ3=taiw^4Ou3{INbn~%ZX}1^(WM6Gf!Z6(8kR%!rFWjZ6=S1DmNL}{t|L?Xgs4repNTaNiCk8@*4gUP3}yMh|Hx2!Z-7)`uA!3 z-T7v2Gn+-JF>!K&9RhI7f+?F;L~xi{#dM*}1-rzE8*ZI2>>h$88lc6x;3NKmn{I+} zrWrolT~1~ON#OMFxpa+yA+4u7-sWlJhLj+Tr2}$U86+w4xuHd#d%gD3v|0%N*Suql zutz_sJtp!S(;`E+N#mjTwLitV@_6v%7cS9&hiQ27Fj_&sp4whH%TFSl4c`aJ!ak3Z zg?^?Q0icFh-5Fu1=thekhZU;5(Xx+=HTcfk6In|`sPU z+OI`d1GGE4dk@WX+(5>GalRhN@wW5m3vcD#L`&xg)7PCa|4_q*QvxUHjs$?p)gX5F zfbI`wRdo?gRj@DMr4)!^6nVJ{oIVo`Kg{^n= z@uMa_hba*fcMU%YY5B^FFPMHJy|4lmbS4$7tON7Y#puv$r%%3v)#5q1CR$6N`hcm9 zo1a9o01pY;7=tRJh1+#Y9p<&w!cGIE<-NN!_2jm4xHCINxB0~^D>3CdP@JtIh!hy@ z&&o4Fr2;cS@%=QI(i7hbg>`09O*@DuT&R(K_(R#V?j|4^Amp0u@^1^;qfakvuEpdW*EiOo{@} zI~#ROJBgDL!OORk4%J7hR;tezax1o-pP`MpQ$AT>w>7s;urKo$4;XuGwU#|%f-qX# zpJymRMR&$(+BnzxuGawW6%aTyjQG~ zS?_s=pqemj9-%uq`DSNAr zc$fp~HL3h4O8DA8eIfWH!#W+O?Cb_P%)nbn+$_IUUYyB0eny0H_qkAy(*9TJx2phG zX0;;5^h(<%!w>zFNoLc{hvTKs$Y8xG!c997g#G?2!Ik6S43xX~ zNB(uZYC85vRLs=%6s+hh2;l+5VyHXr*<3PfvKF47M70kj+{z{D&o=$3cCql=4sW^8 z+&tkISQ8ce{it^k2a4Y%ZUXEGA4(o|{UZO^03N#xUmxc!qRyxn!VzOnLH{|esK&>% zal9=}ju%viUcyMLI>ka1&Kb~@P3ueb2x9>bhq`?B_G?eE`PH(YUDD=3nzS=kKRdsB zfICGAZ56aWZoj6&D5?P}?pyi_^`>KVRi$>JXS3TdzC#keQqJ-yzFB*xG>b``lR_Ux zINhtEU1_g11%q5AMvv0X;KV8<-z|o9oNxsSebAD19LqLK0yxr56K{9ZFt%;^5RsR@!>2e6*E0Eka zI4LChdu+oFku+bjsexD*W+zvrhrGnn7QJ+$U{R;~H22yiy`HXctzN+DefEHjs^j~| z*+z2EgpGMdbc+=ae;=egdd5)^w9i4%$>xINaT^GV05nxv#ebTlDYaxd#I@2b?Z<(hEqpuCe`gv z%GT{6l=3THc5ag;JD1;@pB%V<=#w5BWA$lJR>oO><`0R(ckd=bBzRpv3$YT|RmFA@ z2Vq4WJjgi{k0-%b?Xr9_fm3ii7DBez(T59L^}I`!`8ih7Ab&7!L?B8c;|&NwEf9N$ z)y}n0>46U~s<{-xflVpq`Ci#U{D0^NFA*tCro~1~LC!5s0Iup7gI66>XV=F^5qW7H z4O&D24%7ZMVI3)(QoWAxr@LHACu=-s_GjxEC3^?7QDLd0ipO@G`x*! zQKc3Lu#aE^HK%m~1yiwiK`ZvqEvl|vkh)x(68NtkICU-*M_B@#4e&0tvWcqF3qD=- zuFmNASNnj7b(jIHoUutqW8^zyVtuuDYjtcq15j;f zv~Pd#HtMfs##m(8X0EDvE=CfzF@&B4WRAnO^Na-Q-3Q|dSZbisB1}`=tb@^cQpoX|h3vYBSFXVK`+%$yBcj-UW4F9{6UjHK68h0ksp+nnU5`3LYrv z;C@3u>?9{B3fC^Uw7Z;c+OCW_n&6JW05%Zo^UGYe^^0#6clJFf^>h5S`h@g*mHvxh z^vK7AzTVh(OPxe7+N>523x#3~_g_3P8**%I%{C7(TfRpD%^lMKh6bOq{XA_0-X7U^ z*7czSyGY5J%g@#+KMSR+3V{W`>hy$93~rX0%Z%W~)Irl{k1!v>;@3SN!AfO|il=g# zD&}XyfImb0P{MnJ0u-xO4A5UgSJnr{wA{}@5lZ0#;|;2j4&?YWq@OEHafLd*;hmXF(J=oAFl1<9!E_zMKG zUxbwB<0b_gbATp}n&3#Vqn(*)5R9KVlad|^9HQ9LwBxOQGU0ajy%{UlEnOA+6tmgY zygcSWd|e4p-AK~4sZxH_!8uK|?a|n#UbSsNp|>+{WQz#MC*%#@{JDU&1T)Bss*=+SQ6} z0ORP2+p6uNmwQWDgADv|As5?9z-}>%L&bRO?sd0CI`0@QV_@Hi1+@+nF;||yyz(Fb%~lRlHwkp8I?nF zFj?*nwlaU1f!=DlpMaUSS+p*8IcUICegc?*)d3yJ{^T;b5P$+~KDmm{`70W?^f|9p zTPokhrby*>TFvwj(ef8BbGNyQCy*x1!+7Wu-1v^uJYoItMe=5b$bx%YN$rww>$Q=P zWIg_e7(i)s0|H3F`hICP)lckPepd0uYZGDpMU~=&7!#@`IEZg8Etq{)n~kC$B{vxJ zQt>_$NBqr-;uCrOeqZlV5@9gUirKo}o6a8EkjAZ7C*}LMR6gdt(wGb{2wW(>k@QJu z6IX_Yq1*bn0)QUii-d)~x;QHRo|CWA_SIJWExQE|Ay(lLxCa{Z;S zPS18-4rn_n{<@1F`DU|kRe#@fyTZ$stvS8bhBn_>bzyHewv6Umn?J|gR4k5F$&_Nye^Q19vjrcN{X^mq#3e-Z27Dr2dWM(UEt7$$V5bKN z4bzMol{_)revMshwzYYuDk$e$lNuP2emo50XkNhSL7j?7TRT^BbiOuD`^}Z5@m5sS7Ee*SS6L9`m zS7i@ME;#Ozy^RTh^G(4?TjiEfpK=9S$eN7K&>i;B zF1X}}%T?k@?{dx0XckAN;ur7GB3J5AzaJ=ux#r$3J7lFe4Tp_#WLR^2Bp{44mqZtA5;gQV3$c3QQq zi)+IKD?q+^X96|Km%SgJf^~-?P_2UW1l%B&B&Cw3?8wI8@-)O5PLJbwi3Ill$q;_I zO4A+cmBriu4S_dpc-BFK+J;wm)iMAvag+wI>}#r7LzleAYgwriyRLXF^bk%2YyWl= ze{u46i8%Mmw(bx9H0#5y0qca#$2Qy#^;wXbs$62e@}Sw)aOe4 zw=|G3D6d(@wrnYC5xIva*4s+&kXVZqSV9H|i;zTE=!;@J1D_U=_?bQSo9>dd>7f`h zN@JAzmUz=dj311Hi*j~!WLpt4eb)z+0_^Xfv=+teCLM^wR=IzuYFL&`Noc{_dRXNV zQ$F78nzKh!P&_2m-E6WR;&8jaIV(N zZQS;c9+HC|p>fv$d+0!SsHQ9c(1mo@2<-!duUf7k`pju)_kmD{osfZ^Eu~rkOdFyP zZRe5Is=EbaMIGe3A{t zVrkO>y?RYOfVGOFYD$^N7zRAzXz!`l#arouID@CIzY+wl(HBCz~Q6Y{$1#KbDl>W%XY+%iCxeFTF2~3aRznWth z;ZarO`BG9Xkm-BB`Un}5aoD5yy2LNzfcuCC>Bp4lpn1S?;gzdhGB|rBsI4!3@&MO& zT|r*=^(z`26TN%8U)z(MKZ8swVM6uQ!N+K$%L6yo5t)?tdKOfs+|b~SpK$E4m~v+6 zN`kbj?##e6q<1}-)Rzw*|1m=95jA@=KO5mn#KRzSMKEvd@v~;zT-9pBj zQX6$JP#0^A%z8hhvF$81%sTqk(_oVoCPpk_%8KRri$!D*me&+e;+d*0XZ1OB$<*30 zy9Q*u1|kpRw94hZJr353B`%I#sxAgyk1l&IweHNaxuSPpn}jE{E9dmKdI@{i9tK+R z3{gySuzY}KJ1Sp^2~8ICuvpj>N+=QhHmOm8%^yMK+C{3o@&4i?4QU=1I>jP^i)1D{ zo6+ZO<0Z_ip%stAM5VMZqQ8+YLw=X~a`+3WuWp#MH;-Sc0b)doruum2Cfk^-Bnv^f zq<-5bnt=N2%aZ`T@FJ!Yt@9tvnJHM5AkEg1myJv+<_OG6VbdYDjV%dI=_Y>fmXa<9 zyQ{&`CC>t<-DaKI=yM9oRWB|-yR;bl0B~{{1bj$4GxyP477%!gO2Au`Px;6C&!9AB zg{OF2n$OT(-Zve`OQbf+DAg(g{gduE_Br<#j6jnB8K2Xd;OHs;Npc9c{&eyMF?uq$ zjf8ov6!i)LTj+=W%(9K(uTiZsZcFXmMKSXQ?Qo#q8i*Mt_bOpo4elkzjH+(JTd|h= zmqj+FtpYSfSS2x{%}-)AK2ZPQv__#x`yl*hRR>Q5{V}V9R1~;KiyEAtFgF)~i|q60NoC%&1JuDqrQGxEjFGJkz~@op{u zXWs#*gA4F6I19oqT2It^)1FQRfyO-SbL3K?3AvCCDC-0JDmv;eYM$7LVI#UHG!g@wFiLH9!5VCVx|REI^I}F z!t`FBZNr|TaG6_fZ^i3Yi@<$SEA^x>%A+79Q*m!fSPodbi#r}laYIt!H!xw+ z*)hyRG`Iov67;dFw>p+G1auxg?y>LZxF7a%`0_Fw^qp4Ee|>VAR#2MX@5=DocirR@ zs+p|KSYMxegFE~JP{sefY_E?;__HO+v^F~hMx92|ASEKfhtR>VMk!q3uAOER&8gBU z_Z9EnG4}XG?SE;yGj_=Ns*F7>0LIyWWSz zI}#4YLvKMoZM3SfL;GO)gen;A!@D-&(Uj!H$l4#1gx?M1 z4@RnI@rlrI;Zc!URPVWz)E%a4{L-AQlZT|@oIQJq=9J6K<@tfgd?q{X$iNn~dwDNaZ~(y8Njwq;U(WNl5!kINs-95#Qv`zGHt;I_VN0KH!TcKwTvO z(YBa2FC1L8omF(dIw(FJ4G)Rk@9*pxQa;Ib8nUwFH*FFL3>(~!qYhNA6n*J-G;eCu zJIrnIX!DZNo`J}l=NnI6YfF>l9ftsm9G2(_i^;bC`T43b{oV0ND&$5D zrU$!2ar3F{uOm}@Rvl1o*>YoyQS4Iho79mCsIMRP?A16+Ops^iy!sBHSw)_#vP;50 z*7x`qls#%5Ff+$7YE9q|NcMk1+MgjT@xlP8gSbsP=LndHh3{f@cF-CqhdTu{{((l6%Me3$F%ToE1 zp48*=NX-d>s09ajge2~L<6w?;K#8T-Krx#ME*?WZ#OputiB?mhT@?Ozsx7!$+DCUlsXgy2gt`Ns)J+0IzIW2!R9GRE@M!-S4 zrw?X-RL6sk1PcYQ8$ph3_YRYU$CbwX33dABHOIy*2y~-T@ns9(2%lvA`p;sgm9(PE z2tyFdq*(`2y7aMB%B{f|`I{ZjYKt?UFNC}r>=1{6H*&hU7X}xFSjM+8q}`KN=eII7O1(-)=cMGt42lC#T2Kh%F*t~HGR zLclp4X3UkL=VCrt7|fpxsNaaKw?s%EcCn(F$5VW7kKM_#U;mIRT}DUO95?bhC~P+G z^^Kq^xJFenrl9yz|Af=Z&UPr1J{rT)`Cy5xYJ0ej0U1;P2SP-!k=|&F>OI2I@C1y# zKfYo%?3u}j#0delZx#HtulsL&1}{q)bB zew)S+Dyvr}ldh3b=VnN3QI2v$p+(S%VE{FY``8M!1w$u4-O^9t3~-$)mfH^>I4IQV zTCf_Pz@TYM$XsL)$!;96u5h;~?Y)T?7AD4xR-Mhje&U(d2@BYsho!CYST)*8gKcoS zXjQ^xXizb9L%+rQ>V;z{Ybv*gZb)pgS!mx!Q@J?AE%3TcOzQk^Q%E14L#<`9JsE%G zlgx2IWHJEvZQ#Ejis{po@J{)NTt+R*uIP4`s&2W3kjqY;)r1ar>j2%`VZ9zCImL?4 zX*HplE1jGZqUy;aw?ZE?R$L1+xJvG}M?Z*&(wT!zESJVZRxo)7!=>&(xYEX*k=|g4 zScYD_H(gL#2$&;&XDdGmb(r4Zou}ZgLspU zE|w(eeXoK4huZ1&MtA|wS%OO_^L(iYCmx4`XFFfHuAWRnd!;I$nHGKK^X@Ki)6BeT zbNR0x9+A)T9=F$w!B^*#7JA+ZmZ-+Lbh=7QE|_!Ut^0xC?Bh>s{j@mccCh=>Z z>u*UrJ|oAuFtxqXJKWg#wPvUYSq2g@Npg5?59i{qiuyjrYg=@y@CLU|`zvY}J%QMi zvn8waw%8t0vB`|OhXLM&#a9DKH`CRvXul2#VLwnLH@W_r-Zcb%7Fs zI=xaHKY#rZ&+_}TT|DL|+^hL} zic06@_gm{{n*)=B;KH-&)XvR{4XUmF@eL@oSYs)ic&hX-`v;lp8ziWivWpxg5yOcq z-#`z- zQDus7mEq&r&oYODYXqM=h5NE-8VgiHj`u6aQz9x28la@#Oa_CN3%nnH_kd@SHjP?* zUOJOHX>8H-tWunySA$hwGM~#s=4N%V-4kD;X(dspcyQ8mw7{VIn<(F4mw1>|fV7(m z-d;G-%FzM#2Dmu-xb;y8owLeimE@9T4ddoupv75x0vBx<^=b9&0ulUxslVGopi@*P z^ldv}l_jX~j{bw&Y!P`j6BtzHa^FoeD?m)dt7BpCG8<H;{d<5-lO)+>}ZtMo;I<=eiW=isB!@zUKHgZa}YE5}QJ^?QELiAToeQ=GOyYDdCh zl8SnTcSvZd%23Tf;{*!Vg|_Bwnaulw4e#)QyVBGi3r4}^$(s%-k%Q@LFnh$S;s}iH zyLStx*KgQhu`4^sCu2*Mlv^%0K>Mgz9qXh$%NrYL}PQjpL`*FUwq z{wbbXFNILwQ(dI~t$1@FRVRvEmfXB}&e?9{R`fiR>bbhRR?T~n#H$<98l*@D+q4uR0}D8F{G-+)HC z7h}!dTNT4kT`qC3KY>s?pZ@RxAa5IMzzqqMIqscnNW?NW=|I|6TNP|v*i7im;(N%? zCSCHjf~g2y4jt;?|LH5Y^Jjg}{L1v&NW{Za(SHej8JwNSQ#ql|lTM}xnhy4JEk>tp z(`{M7rYlk{B_@)?-+wdeL}U|nbu5^@M_fuJac~#bz|JwdP~Op!<2Jddnr?Hb@&3uq zKEC?h&Tg6gMSLgu%z#8xgdAS|qp3_>AEC$FA67E^qDl#Vcd87yz2T3a0pgP7bI33O zTk9GXTd&lX)#O(IaNkNyktH53dyoQd2 zML)9_b*Z!yLOTIumdbn*#nFJL7K!Z%KKlTJqyU_Xw`NP4xw7dw&R14?S?dBx>t3ZP z^G1+8ibl6~Y@2W#M%~=Okmf`^)Hi&YGw6toPUcL@JatHBwnqs^LE^}VbTas}>_v%B zahH$x*MDR%BF!;>l_65d*9xO(TyD`iIqS|CrjO{+s}yp|TT6p54CE(b5|z3Adf2F( zn;K92cA)JQ`hG4pT+mS%B&o(MH?=V7@YDpq+dYjfI<=UXJ#@jXTl^F8m$oZnm6rc-`@n7m4-^5dFXuOgQoVvs`% zvAFT1i4d&If^~UHw|}gX{BADD{?c3|eD2$M37xIryYSo;5mXMu?Sm~;v?)-MgVpm^ z9pmQD^Wk1|I5f8#V9*$c7*%>-xf@4vcuv8XFSZuZmYq9uC-Q&%Jh+cmPij3?{gogY zV@vac@I$*#*Yh~Ahf8tn`R-(fB!xQl`cjR`_MC!mwopq_A>*8(VZ;t%H2NlS=4cAL z905L2(2#nIg_wt4Ecm{_T1c(Q1S^rRgR1ex+e&9I$OR`Jw@Ies(ZXVB;hhb8BJ*V} zuBm1xDaU&AywYZ*IAQG~8MI5iEjA#TR%fNQb*RZ1?FIInrOEgV!ILc}gG_g6lX=9tNk-3^c}~oPLSI}gXslh-IG`RRfYkNlPWO=z^Q`bqhH8?Si3X0 z`Tj#Lp9AB5iAQgT84Od@r_gmL1(XXmmu^BUjrUQpa84J2;YnkJo$EhQ^ai8tH)t(c zssvwmEEGEqkVa7}2y>hEd{2Hjd4tD&>-?st=gbt*k2SkypF?789ZQ*z2t9Z(o{q-* z{v^<9xpor6hjKA9)5dYL9ee8t%l=iQ^iX@Y1cpTNRT8Zw>zgK*wr{mN0gd3eCbh$f zbJ;hGuP8wU2^=HVkqFzDT{V^tr<>-B*3^R$=z(^h-j=`$f2QsM#4;* zX687tOewvdg7k{f6lh$-*;w1_toL|mhH0FTHfil^_r;0cA(>tdNuB74&S-x0E>urO z=ZdsYF3J{NxMpf4UIjn;IzHyNeM#rinFbwvq`IPwZ!c`Wt#`Z$A(y-iSiuU4cCt{5 zg_&_$YP$OLY4!v&PZ{ zGo6y9md-;u%%`neVu0xc#u}VuFypPq<^c5>WEL}2xhK!^zkgh4p2MpbOc>W0GB>7D z`bh?nYjz9c6HsBOnqd`9RV+(4Ud$RFtCyf@|3eF)#*Ezeg=eBNopA*%@SA0RK@hB{^Ag98KYjw+>GC!`o$yBad8tFaztOaMYMPYaF zxeta@sLb%BV1eBi&C@3Ef-^ByyOti~lWoP5*&{Z?05P0PM?HYOj=oLc zU_nT=SetBXrS(wO;pe%%;#O+iRB^TCxEFLl6JiSPHfB*vZOmH*?HU-l`i`lSv*E@N ztii$jmyqd%hO=07>jv}2AEI|er4Z_46G=EWYw!jG)yQE+sQ4}d9;YilQ|&Wdet`%ej~Ea^Q;0$S)JO2- zgj0Wa!r6c2gsFaQr`H)R0>jwO=Om0HVfX2S+^<%>+rU53!J{eMdFvvrX(TOtmvdRp z1gzz{e0IOeQ}~?T2Q$#n3o-h$zwcDj#Wrnj{S-Dcx&nsV{Jv&rfgGfYyIPHWw|ff+ zByUUHK&}MIbsDE$b`yMo+h?o)v~2kGVyS9Ob6tsbz#8H6&o?Q3JrBSMUaWVK!b|AL zIXH>V+XU*dr{xqj6moH*QR+w56)1gvbNNppj#AzjEen%V;ie?9*NOjjRtlq^b8#>x zHk&%A^EKA0KVL(YcthC5j~~spt3p`f7^-d8gnWh#F<wljAKAC?XmH*Pg_~YXIeN_Iq8vl6y+p7F+RsKub_Q%Ef zfAXjhtasV{hce?o>y5twVVEg?>2ZFVbjJeo>$s zF{Z2@qaPP78y*V=QJtFv;zQ5>Jq+QuHsSxE5{Qct9#0z)m`SpJQ97pg~36f}{HV);AF;g5g+&(Fi{_p#+`bBu{Mo*0y>jm^(bN=fe&{5aZqEW1Fl5V#Jd8F3(R$Fqj zWkdHpNSoaS(WfIWtCBU6D%o~E!X2piB@et;2T=q~&V{w?MXK>sgx;i@khvh36qq>A z24$~@t=y`)74MyIaMM>bP9ZU;{bb>DTWfJFZA#O0YOz!s0(dq`o1Vh&p1iyAUwii> zb|}He(<kGTOE1`8(n4zC$hcBJRbKr)wcGX zERC;P`S)JyH95;DYOKqyiw195Tk760j8@1%0#TwKMBoaJnr3Wc$!8K2avmYa-iqID zc`NPrO(<55R>~PB7z4uzBUz$*2U>lB(e5{A7S{SQEhh{66U89I;5$+6u?NeUve+9b z?12i*zUc)(Zxn|@CPX=kPF%J?sYUe*ETbKxdSQ^~Ro9hb-g|4jrKYy+3b}NCGE2^4 zrKLKJ^+V28&#YD)eZ7Mb(#TTF?F>W8uxK|V!T9Qe$^M-VvXtqUm%c6G`Z_WR92%(V z!)2a#U$Z6CgdL2BzO^bP>W)zZRb6jC!@bXQD`<+wl4bRK_N0rgX%FlLDm4L(FCuG1 zmIo&Dj3&-$_HH*GPQQ1d0pkk-9CvdhS^`e*KaRm6+yCk(xv^Ti|5UkiusN2hhWL{X z{rg)E`dd^&VrX$>g$*mcDv2nqtMEB;&oMi_J_sT*q1QENAd({4sP19Rd>I%5c-epp zs20k58s*2=Ngx?0(g4e~VKhja_ zH5N_@X{ zIVbXOZK!LQ^t?}a!|Yjpj?XHeO4J=`*o0Qtya)&L8lGJjp|igaGnckw%<2pnPa_eE zT0*8XyTd!(NU2UXF7Y%Shssu^C>utlx=j09)E5Gti5j}%6N?w~(+EzHc6b32a4LpV*rYU_&9VYR%X_Zy*6Xwoe|n)~f)t6G zG;;=7^VPhAF{#2B5$90x*%Sr#R(UgqmpZPD<&V8iN42mH4dC0qYO+^dWhI+WHpe=e zuMXG{0;?>XaDS4QUVNb@5qxurfQL8iaWR3#g24}>2)ig#V$Lie^j+i?f3iYS|39n{ z7SuMAZUmng(hGPzJUwrbhsthr^^jdBnAR*sE?2FI}ib2SQCe-7lj#8SsmnKBy7z+R=5(@qw+)P=`5MXmH<&xnc* z#>Xhdv4_j{AmPM{BIv2igqMGwGT%!GRxDMnecO{wVSipGP< zA1RuF4Z=Z(Rx%DtBgRT()~GbI-(6UPzH5%~0n{C8uiABolI+UCG9)kFEYx zSc5;S7MII)bbb<@BYmRSUkFoCr+%aOeD--<@kyHd0`{zqO&X8%rBQT4|f* z3K>aNdQ-HQiOk$v8|D+GQsPYvrM5nNZh(p^e&u~pEQeb0Jj#&T5CE<*t2>-(3H_4J zGqBRRZlc)2ckR=0x8a=k9!H zq-9@o%j!x*v=b7oAM93{ZvCnttF+m0=XTsI*9o+2avc2(KeH(n=S@v2CKH zC;slxq_`#(YcS#o`jTU($X#ZfS>W68%6z|M?Xq(Ki3$g=mfJ(Fy&Q)7<73m#3=!k2 zDy(5^wT{Lz$p4hl}cWhChwz_M#!ZJ6ljMtYB#FS*skO!)9#P<(^L93g#TD7SFN!_ ztZ+Ywh`e-ho}6J&%sth*Y#2@!kXos3z2brO5M=fr=wE``;PXJ+qw4Aln+R0Jo<>=1 zVGtJXmrfDLfj|Ny7Ft#CpYZ0&M9m5EWg28!`M%eUu3^Wz&X8Uw?vJC3pS6fyF<~he zsYx9g5R~cEO6rC@MlGNPh?RG4rrexmOYCFczMWphXld1#K(>@$>WU!V^J;NzSe{|< z^{^iaa59=7Y0C>f}s7Kf_q1U_KL>cub&ZiYFLa#1+Tzyz`5D-E_ z>p(l6GZi$dd>n82y+k@g76WnWf{XGxKcxCKr+L6s?M}IU&uc7?F+Pq{ zHj}ZKE1p`V9$BfXF&u`77YxbyjS0Pyp~1|-(C?Z*`4dH%b0Z3LjCQ@E93$kj(K38+ z+mGv(^IF8%+gu@|)h*yb*ywsysh?xgJMlKDfWCX!QczbZE^vW|g|gFV*#revI5`oZ zZ%i&*E+-vp9`W2IE-QQO4ew6WR*ealX!uf2R1F0ddd@U+Pc-Y$#d5+@eSFrvQZ!lZ zL;E>jU>0M(8DoiHn@M2~`@oTx6NGVsaE9fr#O^cKda;i(7^QwSuBB9OF`eDuIad){ zs>p=&Bj;J&rgoo6GGMNd;^?E?NAL?sK>m&H10nFLL9XK&ALWQlx9@!$h<;?4JofuZ z@S9GKFzFU^)$V@+x1yI;ZH^Tr5BhiIS=p=Otow&M&a>_5++0reJS);_>ZI`XP`W9^ zI=rLmHqgdT9d778U)iCQ?)>^IScwW2yQ18zZ-`FQXu5A|QQEC)(bDPu*SKQA{bHk} zwf*sk4Z`<@%;m%5uk#(|4aNJJdwGlYcVp;JwY=7;+ zAy0P5>uKwZZuagRPkuFQl@}-5KW6w%aCjd_>Q+A_6_+jE<^IwSd2Q0L%oQaKFshUy zM5Kj>acC0U-das7b6C$?g(BgikrF9#N^K6t^M;R5vlit`u;oeymbTWrF7rCY#(jl0 z+!y+Bz+2yD47$iU{n4*NhxU%kZzC`5s;SdF6kV)LmH%G2g;_!=MR`y zv+mzo>$<*cErA1<9*K*jLDdp#Zj@D`Q$m?B+hvH_xrdhx)ELz7KLzYn#vsyEGWZro z>Gg^CmkB;gPoq!6@;;%tD3D~vy6P2!U;{69eNxoBMm8#~n<^VJ85UtS*o-C-XpSA> z&!ZUG*ParFRSSP~){*a4saBl)TI;p+TK(wasj*g-2s`JXt0g98KXTocjE)?~*S-`m zhgJV$2=i2EotTSIz2#iJlEo)5wqS`DyUlQ%*!@SHwiS(rQY}ajP`CGkgjK)zbby5V zRCL!{&=YCZq>%Z8l;y+-k-e)$*jh>GiG2u$PMML55 z*fucXm``W_#FEqTvDSPn(gc0WFW_P8xNQb+J{^4qtdj}RuPl0TAoN+CQp8W*nP9N$ z#PL~MpR;O3r4PtoHS=q@`@sB*9Xd}~Vld;>(F zeavz^0oa$8X{sC9E#flCCz?8Kk5Ih~{!_W+Ar$Jggko=qnao(kvfO344ILd4X(Fr| z?LdZNH$77PmDB&n*x=lyi8|%?KmJg`|bk9`8IfcXzQbakao3eJk&s_@*H% z$|V|{kt-gepBjsFnf)m|M?3EmXEHVrm`~3#-Y?s+<}Rj>c;_+x>7KT}2=cU5#Ueno%oQT?3t!UET`6Yo9T zevvAlA$D5bL`M+(;ozI-v)@a54f}2u{d%fn-ud?MFH_U9WJw5fok~V3wi26t4(u&U#qUR+;F=-xLiRp(Nv`1HCSd+ zRm3JTS}V}!nooXsvDj%bvVl*dY=(i0!#$*%;(bFcvgfpKCX?_yTmvUZ^wBJ~Kq(PR zL2ZIi@{3rrlE2jy)6dWn`>=z6Y~Mn^Nf}0ccEoy*s{o$Xo(@>K=_I=WdTE<>04b zJLZIzhqDZKe0qf_X+7==Z*t6O(KNAVoYq$X)J%tk+Lrw}Q=8SX_c;XRM^n41&`+=1 zb(L=1jtCrmmC=pM)%s45$~6kI5RGqZ;I7HL^zvo>%04~~ZVju@-Lva~9N8`(Q@a)sWMl$i67&sp7O@WlL-KsB)uB)9RvWw@*JrB zzh}r73d|%|L`GXu91j3l!FJ`DJ zMq2MeWmqvXHhLO3D%#`E?kVgwzzud*Fr6$uw}gY`+5M=yzr(gw1u|ukzg8GOR$X}| zt5xc%PJ=ZDUeOaIz)pg@3x>`AyRW)xK=ntSCWnq_%j#@gsCPeFq75BR{tPMt z;b5$~u^SF{H|_+5ZHehW%1{MSwVi56lJMIm0nobYRL~PRG<_WTJ0xtAaxsuiw?&U= zuou^K^T63*?sn{5tXpWj6SVkVOpeS;)CwuT?|`M3U6>~<+@k0QMJ@Q?TiBIGho`CT zw*aAD1!nmCA(jGyV~NO)>a$*llf;a}{Fh6~Hr09;j6|>KAB~Q=3zt3FNKPzJ#xhSM zveVa6bn-MB`Wu%S((hUsg?EMkg=+Xro3dO#JQ&94#oNQNVU)qClfA#f+ONgAz`7gP^2kGyvjvElL}SykItYqxG?eYo57F zr^=>^qHLZdhlB6(nJ-xzef5!^95lwoMyDa~Fsx1!>EqT*T|Su>CI=xH^1g#!jnqVu zBL3&C#%J)UaJzCt;n^n7;sy#sC!4Y%li_YXZ~IF--}iRsG51QvV`?)i7CtJ?@?UwI zHM!tXo=2Tgm~$*Psy+i$Dpj{8$pBAkYE6uhXu$J$?+m0e_+Odm|K0KqbOcb{)3Iohg%L*iyh=vB3}5O8+d7u-nS|n79$!|zyXn&jir$XYIWN~HkqLT* z*e*in$Yi$^bLc`bU#XZQ`0T!YWzCqy-cv?9-uWd>S%<8$M3Q24?{%gDb3D!X-Jk{( z_BQI3xq5heE+1|Cf!=?%yUdE<)z4qEEsnc+u81Xx)oyi$%<)C5I;0R()sU{{Q;U(> zrO7->y^3z8y*kO$a}Ez#`5yatZ&Y!leA9P^ONyFdkat@ppk~)n^|dq7i?Tg>=r+bH+6kpiKfN~6O6xW=Tc%@Hi>1H!R zC3$FWrq58cG~YwK~5)3@Nz$( zR@mcLxmPf*mD;rC>UO5vOQs5$wwmvBL&u=DJt`t^JTIDKFFJj{0))to7ETSDPWNsQ zT~xv4cR%Q?n}U^2yKf7ZpRF+Da$c0_zA{se3lCiE>e$v3gvs@I$S zpw-tfZ_;NrZNhrfua*{4GTY`b{v@7sqjRF#e8XZdZ8nZYQabJ9BT%7eZHM1RCNW5} zX$x;RzOBND!S*ReeL-0v>q^#RbcpJ;1I%DHr}Qx=DNCf);3?SXt98F_RjAYWJ8E6t zXutm0Rp~tyMNk&F@oWY%hq2XY$n&mdySfupri+mh$|!G5)NMZycy+DOAX|oUNxztH z%@1*aX&MN+=l&kb?x`%tJHjte%-b6|x_XNcov&;f&%5l2)mPKgc6ox4NFM`ZRx+O0 z^!o1{3835juon3<<8-8WBu3a(tIQohNA;2I%_NdC+|&kxVK%H`emO>nhTwg>Uc-kz z4<6RRpG4RdYY(9Q{q)8k1(Zo(?CLf>E0gH#XE$$$<$gCLGlY~|;&+75B-2FI@H_V6 zbOn1A#0k15ZoLGTwLZ-H?*vTMEjC*Fy$v&8>@>Jf>daf{v$!2xR4SD8&f!hlb>;@T zsaQ;+Z|udgwmID=*K%)kw<<0~xoWbcfn@`yojBNQ56TP`9V?Zy1y*&}>oQUV4miiO z4K^yQ@)?L%_Tt_?Kh?1v9GGV+taaIfP*oNg)@3u)O8e?vgZqeBIu`Ll^jIO^DGuLK zmlgd;8>8_4hZ>%w)XX)|?0g<+#-0SXZvv##1X>$6&yEFDE~lGU)2|L~Fp170K+vPm zD5AnZ^TDW)^NNiWdJo3HHy+pKOY(M0ENXIutZX7M*VH!=c&PO;whYj2GmcB#$%7Kc zKP_2A70L|bX+=Qai%~uSM9B?t4K6+Pdx>zVZs77V{rG3kQ*Y&}85mdfw%t<$-fB@Q zzLc7ZkDv3OLMby#I<-TgiCb^ptSplQy?Gx?^rR#`SR=9-z|%f&Y5~@(z5W_trYK z6p`xBx;t6mlGSKMy+wF=^mkeZBSmuaW|Z{Vjr-A*y0#_qD?vA^oy-mo@z@+;YX67p zu+1BuN<5{*jz>RFUOQ*H)%PXBZI2~*0^oXkYL~5X)%<_S4F|-(nruY(`B+`#aV0Tz z?4P|~3?#rw;3iyOH<#O7qHhPg0gF*=atdOJ16gpBm8iOPuI@d%C=Ln!(ohQm4F_KN9Qx` z)_`eDnqp=!=n5;VqW#DmuF0vO6T;&efbZc+=RyuFPLQ_OIhHY=`)UT^Z+dX7j68ZZ z@#i79&?0$H_KIKsDeT;Z*#@wOYJ;Xg`d-L7z8_e^$`=;}ocHK|ElX*pz1R|UM))`V z?lTj$v2+x2SxvJu-V^=>9eq92UD!^XG|$97d;2uj7$VV@k~zS4c^o9M5W3n+jc3%?173=R~A+;5IZo}-y zu?V5r?LZBd!cy1x^A_=_Ou3m&>S-zHykGL0P3JuU!W(SGi?F4fe)ua1+Dw(q*NXD| zCH))=|10VDw<0wda2sO6b(x0XE^WQEkzvhXsa{{-98YBbK371ZS||Zmd}{7x*>f`e z)amRqRup%5Iu0eJ@0s!vk5LqHMEZ$^rg^n+F!F1>iv9X>#e+O`^>?B`#xJ>9+b1yB zHpQ^U>ESBy9{n}h6!k99kurSh;C}4HV3LsOD7qNEyi&aFW(e4vTD3=e8-UrXn<6wB zM&b48WP1!T=Q=mEsgmCXE2HRUey&vjyuHYB1o6J8*d-6)sal(MIdaQJTY+8ju|*tn z6?Ssz_j7unRzOryo$<9E*v#);Ft;n`WR14rd_7u~`HnqK_^w(`Nsfi@BNHn!4syL$_B*gl4@+PH8Np~JmX{veOY`yq~ z5RH6>4WTLR#in-(voibFFZkM#5Dt=k-#5Oo(Qf;az0Vc0xYR=?gOZIWUXRHtP9hdzkzF z=_|Wm^jd^P90GnD(*Ge$cy#hRVpyQ+8k zU_f_F>9vOFhQIX_X0TBTF*~jIqQ7HjcP{}}{3X8ezHg+E)%%7J^5%%TYi z-#|mO7M>E8c>PYKSEK>PEwc)S_VLS<-E84c;SHW!i`wR#VPiTWt$rI&yMqX45z60L zgRSjX?XTEA{}4QiI@wSX69m>@toU7KnZzRXN*yehMwLZ9c1N9bpR%Kwl+(+DN9@IX z@5~rg7a3~jLpeu20&m8Js0md6E2-{5(TuP@_ZX{3AgN0A<+Es9d}F-J9>BkE?DIR- z<4C!t3DAvJtryRLt#Vu48Mq`5$YEbW-c9aAm=^x+a<1-Y4w8QE+nOH!BVDxVxovnj z=x{n-?k|*MwR!EzdTunlIGH?0q&V*5Cmk=%HTXp#hF@qiR!+$lY^3TPOU7&up9*3$`fM}cx;6*&O}p@X_mHqXML8)}sBr~Q zc{;}EwspbWUdZ>_E}CfP129vt`1rH!bvk*7c8A6?L>pNlDVeB3#aLlWz9>AePo$o+ z(!o&aF@q%?MinG98+UV=Vr(ikFOdpQP8v&gSwps2>`NSmp$bf3mA z?RyyIAH$_SRsRVsWKU>BQ5EVBQ~d#-ag)M_SCD|mqlL;y9cF7~&@E;i{^1J!V$j>W znYGPlmPhfXbb_8NHk-t3P6)*K4t40*J2Ov1tUGXwmWzV`QJ)If339w-yHc6x+aa++ zZo@BE`$i^Seef=Jdn84l&|grjTLg)4BXsChqA5dcxu^k>PoIvu`8kxgEJoKyYX#TA zALVbE!C40G<6ivGBf^7cU=es#mT0AYbf+80XR)%Q6|m=2`IP~#rds% zl`z&ab#WB~N_69s5Y)x+qcj0idQYyyMCYx25)yOm*SlJ-JN539Sf1wuhGatf?swI7 z@@ae|+MsqEv^tBiyo)B=6(&0|j}=07g{VG2b(P(9A1Zf?FjO$>I~XoJiTCY|I1Q&l zAx~hWFsA&#rq|F7+Qf$YeFKs5KkxnIiXmUb5kVY{d`j5K@f2Od9Y>?#eG&8Mm2217 zGgB}0M4Ureony|mGCUbW%J4X+obd87n~?%1B=-hE)->L6H#r>^An(W+i~< zFkg3H@vjOQu1V}iK&-tPLS?x57*V7v25%Y=GTqOsO0-I72jUvxgj*=XaKIPS%L-#G z%kae&I!y(4Xu;jv&h}RZ3>MDBU`#3Kg{C2-cc`aV9BNoQ&CLN|WQ4W95e zGF({4TZx*M)BGWUEm{C8VeOT>$9s+e$!?{>)@A!nE7w))h>_UL-?0L%1mz5~I#GCj z?8E7AQ!VyPncf4ZoR=wX`68QFJNv^Hbx)%ETn_p{jpqz|Qdne6(<`Nsw)J?SgI|nq zG+!(Kuk^%|4=UcwqHj$6B~x5kgqQlG{lC^a^+*j0IjB!fTSvW%&Q0hk8wnySI46|NWa`2FoS^Fz_E2_YM3;B@8c&?))wYncIqsm(D~76GyB zchjQnsy@lrE)}2uWsQUQsgI62}=0zO%_$^7RYZljpU(u{+VkA)iHG>cE3T%ycm38bt)c) zHsDIw+^1_dTU%F2{cmA6WP#OKDQe^KY=$>(l|b96#(2WmYt z6*?mG*!qWOo{p_QaRVf~fL>whDaIx{v5`1FG=Digp2)YR*K5{Ud%Zt~nU_fu#vSbZ zN;05BzZvJ#YKP2|55@zBS>`9vR=D&})(RXhvvDhQPYBuHICh1HbUdrhcIv+gN=v9T zqFA{3=^BHM$TmpX{FX`;c@?u%L7Wh$l_F@5&c=EB;?MzDv%B#AibTZY<8xezrrVxc zv;&)SN>2NF057{ZoR@g5eavtKbV0C1S8*F6DOytuuP<1sQE9NrGG%OJ{>*A(Zvf_S zji1ke;5=g@6LJj95ViA?0W&qIc^AtDG)EM2>Rq;ZLxM9IN^7HLli6%Z>G}Gq3~jF}rb} zfb~yD7|F-3kGm?fE8H-eNcmk8I`jSz#_Y=W>kCqu#A${vU?-h6!QL%VlUUHf0OjUV z|G90~TtzVRdX0qCET_t-;BNp_NUJf-+Sv0&0}Up=NlfUIEg|B__8Z#P(SZv!0TLxn zGuccHan^abfsDpYY$I;$^8AS*z93Ez1~qZJWi< z($+S?;9@CPe5kJvr#(c3$L-bQoWGV!b>CZ->{rSvaC3(&<2Gg5~-W-^Kuy$Ft44P*MMr>|m(czZucb_>-pKtYg~8e_^(@o(qJ3 zT{y3|NwYUjXN?56)c)B%7N=;Q9R0y0t)MV5J#4YN>fhBqAw5bSWBUTOL@c<1H<&+( z211#Unt3}Z_of(C%Ta|}DjvrClRRSZBTtORUOv9h;IK>BZ_wi)15DZW$2HVVzUPPP zIA9upJLVMJG=g(2t9*E3*E$_>9!~kxqFby0a_=$963G>36CALvd`}#{H@g-12j{gz zkBJD`JCFB&M1rdBn`BcHC+K7cX=iRCS=K1o9E*e7H7h7POB0H}>CHKR0&rxyNd(EW z2k{*~ti|b0x);k{BJK~Zf42pLDwjPDKvpx=HO{0PGuYN$IsEb9=5=e5gZYu1^0u` z4nHVr4r#+f69&D$#7{!w*8I6IKAlNL88El%3xl>^oL>@OD&JWQrZQKV)h)(v{>ad$ z@ICvr^YXU?LE^2S*)#BC^|V9HhThrR%c5>Fb3_<**%|*u5qmzn*sUdkyKxQXzU@ zAK{zq8A?ZN>NO!e_L}Y7!TsYDg zzZrZ#8XmUJEtW+m*RIDT9ZR0P;`gY3@5g9#|CQZbgoQ=9APuqBp>8sFfQg%PU%(0&CWMp__-eZ13`2mTN@+h|L}YGLT9)#k$wJ zp!j?5K4?46nPW_zvjV!5v=SM9?*+^pJ^sorYsT64TIo3O=hxF^2NBaNfS{c^;;JZr z&fZ40dCJzjz6dCSdvPl}GVX~Sjz z(iy{l7^f^E-P_9H-rEvd?Rnq-66D{*>vJ4RBq4I(Z+_=}&Cd}klS(K3k6vb{gGL^U zSXArgB}vJcU=jAq%)l91Z!Hti=0AB`t};QWZ#`Vz6b)Xd$l1nL#zj!N(J>{}_)a36 zT`*l9=Tt>CoCrspe;? zf&S*J0hGmGR32@b-Ppv<0uhfUK5%;O?Ge1^>6fxbvHTiscoaXn4?;A%pAE(_$g3mO z&7nMMefgCODzG8(Eso84k(rV0>ln;>+CaX{>{<>-$sA$k_Ru$-L{-b2!5c^M@duu#a6suNox)p$y z+Zxj}cALQnE0dF7_s1O6{362Uh}3rQ0&j;04E}>~uKtNts#nUzWquYCfcn~zRk_T> z^Sr3JDw(~RXIXC&iFl~XcY2+jwwciJ1`@XOTn?x8sq22PlSqN{Inu?W8OGM)A41)J z;ko_EKCd5%+^JsNXooxU%Wajb2!%b~`UNlZAnjpdm)W%Vq5EKpM@5W8qPWc1Gh>iz zY|Lr5I~qcpp#lsr$Bc5STC_VM{51SJoRXOk4-KC-*|M3+QgA8jx@4xPJAG%dZm+lsnl*ex^EK1zPLNfQbifIa}(rbIY zT8lK(2@u!GC5xaPr=wnt$LfgEPBbUHh(kRB6u)nsVjsSHuVg>9@BDK~D_1l!gdg0F zy7qB(eP3bNZanMLzoGZ=gyyh&^R}NR{c=p-_&Y|jg=xFn;0I)R-Yf111Pd&&+bktI z-F&l~Ju?gq?Ca6_))ZZ>nB|B-aLr-P#%faAK`RHnIom@U1xY{ios+AocI_Qz=~78{ z8>KeAV7Hm8zuXGC@x-!%ath+-y+wSgSfg+X(C?bI2XxApp#H%o` zY!hUp=MjK%0NBsp#wbCUPgd#W1u5UAVO#%sk76&p;Epg8BmO%}fp^96=bRMIdii7< zDR!+f7**j9EG|TVs)SRI@41U@H1aT)UGh_LycryJ;YXyhB)Z?lIpZ&lR(-y4TRsR| zO+Z7fZn6Lb z%z@5H4C%;|#lhCB(#_8RSuaqlzzu$hG?KVHc_w6P+zFCs+ltwrrA4!jTfGqM;+1O* zYO%9Mo$cCMC5zPRxR_8TBf z=FS1HIAWD%84@jC^e^VU47Hc(juo!4s|hhs_7_`CAt(jarA$mm{(7YydFU%v%Q+&* zZ>$1i;a+Ije6(zPub%5=e%sU=q<#AQ@J|o#nmh9hI-Vap+pUjN0KyP0fR}Wp!E;q- zJ!9{A6|z^1c!)PoY}2hl^G(c9o5MdN>?CV`dTKbN8YN4>37VaN;A`KsSR%0*wna-- z27az=zd3sH87;Bv!Gfo)XmzuA^E8zS?)J`M#I&=zE9eLZ@8cf%3}_lXWptcD;kz5@ zbg4rh73>}++w^MzP`H0S@CUJBZvK7LWKvE4bHnUn%=5#|6`(uQ*Ld>}Yd8<4pH{I@ zVH~o$3CKTfdfEU67(R@OiCT~n1J>?xhuxqrEq8KpsxI%BJ;A;=!P~~uh}bOGsDI`Q zCQR)jBW<7GU;wVf6u_S;o(66L;#@%xfr|>mhzu;oIjRF)oE1h#XoV?$8mL$*ySXnw zJ!G&gKLM**@^vv|TEmOf z`fIsYja7-F*ueh)mu$SBucd;RiQGvz*X8lv_WzzO0t1*vOj=A!+&>qSt078G>4b6D)Lj)4SKT#u078v(%jwgqB2GXbA4^lb zwR$CW&&_r3b9E!%_huyq9gVfCQt1m0cuRcHg{V|^nXj2mhBus#iU>}esA9(!JZqxM zZPNeirmWH>wtv8hESimNJD46 zKS;`eYV%2j*-c5UoAe>u5bCV`lc)o}u3Mu>h1KUv1KD=^pdRQVlR@3UDro-?8m0Zd zJ4W;{dX768X0$KS+jAtFwQAshQxO*&n;L#>a-usgm)3jpanTYj0w~s_r*t%7`Be{! z>gP*8T_Q(kcE!cx)-LWHT{dq3fvDu&d$Gs6y2zaTP(P8_mX}-nw0@QhqmB!72g?dV zG#(6HPW-MSaY7hmJZ3nOp-X%R$_zD3)bweX=Y=FRuK`zL>$rH1=a zGra0kkvS?0h0>9jwb)0smv@v~*X~v;GB}j@*qZo-a=8@Qxku^G2J|SM*Sp35bi6eF z=iz?W#xD#NI|{L)Yoqale=+25$LD+`L~B9#BRc&uop}T)m7j0|8UnUnZK(yn6*b~a z+!$@$gGvt2S;@!h-#*R>;WvXLALIN7=d09ilqcxx-@ds`sPvmClavJy;YF$>dPv_>o^c`z+ zAF*s-ak%BP?4I|*4M?TVNn}zjZybEU%wUMGU|TenMn9~< z&X0LavRmhv`@wl@H+gfNp2(~~5JdGPP#(t-IkMzP9G=(Vm*vIfx&Pdhu4u-DFZ8~s zDGn?QM63P8tRAYKGTxz-X2NVQqqwQ5cQRF&pbEuk* zQSr^$+4j`(Sa6pv?YKTi%p}e%OW}f~=NybOKHUzYQp%;{E7qsd`>1Q)r3@o0WMo`* zc3pYR2iTMS@{C>jXihrKx%jIl(W!~z)m!yeAHQBle?P0LnkuN%_61hf?~%x4+Zj=R z&^G9Xv~6#rFxMAF%5A*y_sRT0%H#YKD^vS-nBELqR z;x4^Lh-UUV&is;?{96S;+hvWy+*LW1*Lr(=R$thZl_;bM+1X4PqWQN6Lk5wvc}=$M z^?e+u8x8L-dlP*rQ!&To@UQIr+_s|+i;6#<3W9#Ytk10{4_KEwXs71Y6A=nD{33~I zV~KahhY8Pd`fviCJg0i{6z%;Jq{nwio}O6I93&_2Xyw1Yk1!`M>HaOq4vB@jP8H0^ z?KPHvI3FS*q}Q)es+!jSqcMVxPd|+`3~lg1G%!AhU6`hgL^UecTxf5-<0ecT)_{EL zC*tLVmy%BI;urU$yUgwC3Y3DG6f_OILUCV=%B;regqIek(ZfwtmRj9fxkv9c^ZIby zai`f_OKs*cc*l6`=<%%RZEkkMPYiJ$C6-2M*>KtWP5fjhfJe@ez<0`} zrz1{yV#Hy;D3&@7`@}@h@W5@G5(bW*n!Y$7w?7@;7q{rRJQr-JZY?zx@~1Fga5hvo ztAm(vGs#=SruX0%ef_-Ip}rCRsg7U*kg4ZN&*gBn@|sCStd?)V*mb| zu+V->b8B_t;wx_+!aAKJE9V}R=K};jU->F;H82QRzLd?aOkmmB$4ejizw@yAI?gSW z>J}<<=@$kn8NUQqDWsg34`27a2Df_k2yWdKZc7*7Ke>;T!Qy!#z7aLfO~HERQtL4$ zyy3UvC)K@`J7b~(*3c}q_Zc^G-wQI}mxnS6xk&LtiXKP{++ui+SnO{jVwXl83|X}8 z+VSzG$49xg*ji-3?f;6=zu}7Y{NHilpGhQPxzx z#ObC_4lmwwL*NF!m4WxnsH&m zPb)HNKK*RYTk=|F#xE*pxt+Qcn{*M%5c7X%Zc1FToYVh3!&!oM3CxXL9}jae%Uf6c zByDY0%SdRU8I@gmov&=lYppUoYZ6AtJ1}Hkc zySUmg#qM!H$<-JArrn@&(n&-zkrY4(O!AREUzjJ_R>lVdldP}h2C?|-lP3x%MB#%s znyH}@(%AS7nXMgi8FZjpo3~+4o+sd^@tHzPnoAhtOA0n2p-rG32q{aM*N4T6l|~x^ zE8m`&{#yCCX#$J3)7QJXGF7p}8w0Lx9p3uPuDbAcMIY1J`rWDJOgGyF1FuV;AB5@f z3ZElHsJP}PlSeklg5bLE)&Q>RT5O4b*xJd2l<`|M;OW)+q+k0QR(s^OXs{k8x!b>qNxoZajg!~h z6b_W%)-xV#sI5EYsw^IljWo+RYxd)0YzBp55_5e5Q3@K-W*Npb2JK|pWSX4)x zLmvCnAC_MnWwZ02a{BVQ#+HGJNTUJkuA~iN` zw;5WJ)=c1A`Lf|@>g)v#1$N-IG-39&Hr7rf*>UMG;iTxdh7U)wHG(u$b zFI{M#B-)FGwc89Zl`!W@0mHGfjM&U z@~vEz)ge3KF7bI=Dyu5JeY|>3Fx-%W!7|g$3)&Q)WvQ)yp+9@4Qb$$%l0BPyrFY1A z>BvGVZOXgkvJ2WGSMQNE-45!~C2HrDME_~Mq|#!~yW-r>77II)6Elqx*0feG9S`v1 zGWzjewIV7NZs=R7eb-1BcL{2fcKrox{zuML*!i%lnq64bFXoa+>OZk%Q!%W+oTiUJ zUrPIVnY&ElwrRUCG-fl^OV1>xZK&PGrVUGypkl{&+pq% z6Y{x|;dz^eDH)EZNQg_m^(U8RH0GF0?M>TbAGD!gq`9%G zBVJXwsU8~NPY>E&KD^NNbB)@m9$(`f4T(fpq3?n2WP*& zsV^xkp>G(|WcF3aI%-$tL1`?KVUJT{nBOU?=0P15qVo|a!Znhd5 z+NHQHz-Mkb_GP<#{s`aqW{`Dxn~n*2`&dWG)Uf<>7Rzp?@-`dO{I*79hRw%K22xFp zD!Cc9&Ho#|KqUWQL{fH{DY-Mdw>XEI9UMkEhYaGB0RjElL>o1OW0x%hS&|6$rznci zm@v^gYqnyOpq+RPgZA%a zmXcJ5KP^409i-`gD>MPKbRqg;>#w=unuW`GuBX4u_oreoFM-r>vY%_BS?TqoOk#tN zOO>XLjJ}aNGamTsOA01U9@t3sVI4e^SeN6g>a0=z;+FZg_Ke@u(8h6>6=sP&B_x38 zE;=M;eCwtAdNjQ*$GG(hG`F+gSzRvNDLZsf9F^QG%*Y_D{ZDHNL9~Lk3}^MxMt|*b zrrZPzNie2gBgEI&V)k=O$7RpfRKGC!**?xj+2{;Vr+)X<+uay3sciT#!Byw97PH%L z{c~noGbV7x;j<1I5B~~9`E>uS!`P4MP>};6YZ|;{hXK;_jA=yPJS`;>4$cN)z2#BZ z3yg+&jmrh)!TbA{{obzpFL&Kzb%f?to{2o}WNAD9=|a6#fOU+ERa`S=1z0k(X*a5k zoj+Gp5Ko0`-!C6IJMfd756KlN5Dcij!K8;1w5OPVOmk&L;^^8K#kH z7SoHrNKykuba8XEpZ1HZHo}hO?8~#z2GW zS78pfhF?^E$ktgbU46GuM+2IyXj5p=WYNu4iqr>g^Wb(l;VZH{ePc z(`*}I83hOtcH-K-m51B24PNujz2tU|D)agFu~YqWrKNA0`N|?aQvB~mkC(ysnPyUH zuKFVjPCMm@Iq`A+3N3toq8~$<%E;q*49PQF6Lf73(9#jFylR4=98|c84x*&fQ?W;C z`L3v%$i~%vvBR8A^pS?-e9>`XO4L8*pRxS;|6?pCaFoI(5ckEoxF_9&WC`er*5ZXJ zY8gR7k##ikP)M>#^GMV~@Z(%y@MhjAn`7N1IqY}`3Tjt9Y(pHng7Ua(CoiX(R+4m& zpgo55&bOc8&da*m;DICuduLI=Fmp80TsJJO$q8E3T!m||;!k2M z8A~CBqBkDdgx6MgC7RKs%3`LJS~<67>`b8LciFIl8&{JjqcHViG#`)_O_Jt)8pVa(n zod5>O>_7!8uvPy1qpH#mQzcP*oD#5F16rKyo|le3n>9v%va0(U@9UZK4!I@1Df|$q zOoL3vN*r60d)*Yfp+l|YuEEj@a9e6*?6RFXQY*E7SMY*MFPAf&V^_ym3O#l{jJasf zA;$h2h8(l7vJIlqjvghy|BYgjTH3cK**~sZyvt=%5lPtAQYwe=}14 zvuHeqK1(jn??KXKKk^)UZ2fH;w<}hTxrEnD*TKNTKd#E|mx^m$EA4j$GPZH0;(};uy82b<|y+p~sO8vLp1v)dO2)ZS72;<00Ga6&( zHHN5y-Ay8}4X;~vKa#V)w7Fy&PmHI(tN1EDdwYydurE&3ZNB;G%I$l#dNes`wR*m? z{`DTvyByCK=42p;R6`?9YA2fPl!%x+P6=!26|(S}nzx`1Hq-4fM+OQ@ebc4d!v++W zWqAs_s>5l*`Z!J-k3f~M!4~<>)BS{}RA;jyd?IsnY;QIQw$7XKy+5ZmrMBb#0xZmZ zC*c27N7_z*%HmR60}(sFooPo{p#B6bb}C``X~qu-eyB!01QgV`U6i?_E7k*TPJ6q{ zZAL`Mo3dedAlToMQ?6Ma+q$M*{gF=pO7rRa#F&^e%o-?_jjChr$`h0(60d`(F?NSOK^G*_9(wD>OY*L-k zew!mf%)OG%zi;LrvQ(CX;61^tnzt*-Kwjh^h#kwv#P(CGkd8oYxNVFKN-krdV_mc7?Q_pX((0CeetMu*dh4)b!akgQ_ zEzKBoq|MPEJyG!S^~qhG)9Fic&8XoF(xyylGQVaadF>|SHlKF4m>prs4Ms|@AGuDO zUU@F6F;3Qr{XZZorL|`6YzLx-O4uGlQOKUj2Q-J%S*m-&I@^;O^^Y-NKF`xjA7|xB z%t`GIYjXaJ!fXeiy*?iKQ$Mg1C{6i`rEX4!U!;XGzq?=z*4~dguP~50<(hQY0*lxDfaW+8G4;1!seGxRwo_U%RWFGrRhI`v!TMc@NhecJp=vf!1xQ$P; zHB{de-)KZdW9i#Rxxg%Le_p!ouat= zgvh`T$|FCP6R|}tKFQ;JYqzLyKl&q@0M_4eI8z662;GWRk6U`lF6NWH897#bo@BwjosdI$Lto!k*Veka(sH3+pe9$2T^fn|)A3{0ay(Y9 zo!E>0vo_a0X9xFdDee&9NM?Fy{i?@)3+x-W_dHBx_bk$h4R#|kG0<$%aJ~c|pYdS> zfq8hem1k_34t-9Sn)29Y-S)4BU05~5hcX@W=FaVo;@HmYw2nQ0)8sE$DpFXw*&YTh z;m2Jhf+02pf@JPb)mOke34dSXKm(#UZt!92f!i;SsICGC(zN;aB5U=sq3A&em3IgF;wO$UANS8PA zx~f@zK&kl%wCvb3@47QwX`_~WOjm+$_jIz@JRWI*>qMElWS$kAouv9xZ`j;&#_ZH^ z1b2J6RK{E!yqvF3EV$?ILNVoqT3F?w9ae%*?(Oz&KRb*gTmB#R-ZQMpZEG7{7DPZn zML?oQ+fxbx6oTcKtaIJrMD2Np@$YiNyzu$+U~vf zw|(Dr{+vJO?0;NbSDxgVbCi4B;~sPF+(>>{82ShHY8FCQ z@@t--&ASvW))fO$G6O1B2~x2VJ^t^P&g(0o{Glet*s_2y8rGVNcER)`8L(SDy|R^p zRzosV;!2prc{wIBXNs;Uq zFZlLPuy9MIiG$4(mRBrX;PAE}I2HOK^2x?0pqR)2v9x1AO>d?W4Ult}CHr zv7Mt$Uy^_gXH#e2(hK9Tpz#uta@_7jLO#C6Bcr=jLAMdKcY@qWSJfc}rtxBy#2&sRnm4`}@;toV{7z2FAT!7@6tXH25H zLH>mwpCP3F*jB6PbrJMfW~P2_(0GOXaRa*wP$&)&RR`n>bzhx=A3XtBY(>$>q7Ox3 zJ)k(&oCGe77W@0IUC22mIFnGuIiWu27ceH*P;}fmiLcQ43aPZn&0S60K^?Z~XvT+{ zsL3k^3~bEn@rr<-xy+>$)hv_|kAxM15eqxCUCz0ts03e1x|O1cnurAy-J8w7}mlRelwa>^!Mi8oqqa6#gC)L)G5129wo z44zT_CxvO=~Qe}v!D@o7f-{F+ghbY$(5SrPvuaW%7V>Ae3#;f9`MXO zxtn7qbP(i$w}a*@>o%aHAdb#c6?QCnB+2WOG)il?<&8)ysMquDa|eC-(V@a1r4P5| zRq)-h9O-7Z>|N?INzBmAg?A~o&iM%*DO2*Wf(lqT2&$MH{hJkVEkl`Zia|{Iay0le(*~8zTFG@hJn&N2M0> zQm%5}GS~Ljp=Z-19Akz`<5~A%#&B%!q>CRcRV9G|^Gwi4`OQ6LdJorE22_#E*mpK| zfA(8wdMaeP>}2%m55p+5U(vv{hjR*C6rRHOqWZ?*c zQfAYw_ZgqX6NTb)yAqR6bB>+0YjAcMMiv_|P2`ODTKSmJl^m&o89)=%HXBU=W%Bsh zSIWD|Rj5Qx^JWSTw#oA+@gi_xk zlt&!jGP#TC>r&MHwdb3zecvAX`6O4>mO9d6@t0Jt(~TJnj-zZw4K}A?8wrl-m776tXXh3*r06_U~Toy0ffb6>=kbS`xD8Xf)!qN2s& z^o>9H@Aj7TM|wG`pcR-sA4ya@vX!YP&%+9vYvq+SaFwPA!o^V+IIkr9qH<=ymX{t_ z*6Fj>nS~yYyyTq^4@0}c*wUWM+{yQumVS1_jhnSJ+>NL& zi;bAp`!2qi_9#BfhQjIQpei7)?s$6^6FRVhi)-H3$8##){QE zrBg1_BP5v;Xpzk}ctKJ`kCQb!rZ3r&XH+j~g+oLGDEc=b0SlkPm2;zb;vteA-@m@& zuZ@8n9c?S~2uq?JlAEBA`$4o>qSdf*(2^JU>opBdP0@yM3l7>+{62Nx!icFqjqyE# z#qt$b2(5cfBXZht;M!B5XCjue>$l9~Ey}{t*E`1A#IHZ$X6pnUa0cjL-t?vXU`YIv zRR+hn4j<`7O5SZT$-YVkj22y%+bs?bZoI_@A-EK`j@h3*+X@YB!MMy4jA^!skTXY3 zMen*3_R-+JUd46Jnq^D6L;f#APjcNO;kYT|`y(Q58dWWY`9NEv*@s8B%zk(Pbe771 zvf-0ylAR&As-)s6n@Y0v#GvXKsMq~i1`N0D;1}q{RlmeC??`Ci#iK?WeaGBJz6u0) z!tR+s;D}D>j*heS_YyDX)Vo7kEeF%MO2_H}AtIbgW$OMUF36ARa%4w=5_jriZxVMf zIZcc*q-lz{q4nKyr9P}lx$nnf_79Kj+J#z%J;O3^i)JN;Fq5sY|H)=SkfU>GD|VnE zJ|G8`EwD5WZ`Rgmnb&%lDRMhHYVOO1w7mTIBldfmg)~W#jMim#qYc@_^s;HD-6JH@ zf_9PnK|t|FJ(@@MTy`zZRo3AmY$C{C1i6G6(wJVnDO#wQ&%`1GRMCdybUbUc43~LJ zrXqt%9;`$tIR(G-agG#c+i=p4d%D(cF;YLXgG!&1RaVnlri|^$H8$1ct!+ex423@? zSHblLA#@4yIbZy`*5-CNFP2tbEzV)Gt}AqBF{Mo)GCZ5T{+_h}Tz2Di%%Xz< zuJkI$HD=Myk(x4~KOUSwks=yP5>A)0=*BN^eyMQZbLm#-JDxwJCGp~@_+)dmDloHt%X+DkC`>l?R0tb4J`@5Li*Vs=#$nY{N2j!85byf-15*@~GN5c2DI@Mzr z3~D;{HP`yhwsY&s@zqxJc5^pu(=A=;5L+Eg`JqZ$j%2aw7wGRsQz}v`3s!zhwf}*j zEf}8o)EjVpzh|kJxLO8n=ZYyT$luZ*UMR}D_i=Z76%sSf+{+Jk3p}WGXPjS?z|J$M z=P><%Gar@MB}09*yFjT^Ntr466|9rhwhl&>h2YiqM4361AUq%XwzMKws3CmS+p$a= z=YQBRN-}CfINa}Zg)ta*0WI7jZJb>v1$8QcJgN8Ad!^GW0@V0fV#$TRQ|}@DOL>|0>*zo8=z%OMQ)%Zf2*coVkXSqygd?Y47b&P zdSSS+Aa2bEWb8R=Yt%=CKXcBBwj#;jdEX;TuxK*WKJTgpq=t6N?r-fp4udr!gBYxw z$r_3yo}-I7W1-L>rcgUqRpsvy>6fj%k0fEpR3FvcZ=9D+{7Xg&yTZ8$DoY`?NG`=G> z^9H8v6!CF;lZe`}q**<8LbNqmsc$gvB zJGUHBb9ERv@Hpeh0Nd{jbV$1S9EjI?;MwB~ zjI1OSU&E_6PN(sFozLM*Mpl#_+SiN^GyC$IqLaZIsfH~%uy42!D`PF*GZbm2n7&08 z!>kc+KtseEP31pea^2at{xoX{@D!>Q{y3X8DbAZlXor<+Q?kdfp_<*n zaGA8@rptd|^+Y+qJ5z95m8D1QRTa*H+i+Rj+=0uMb{Kd0E)Ja?jZXd;3^WTa2dvrn z%qg+D6s|YPg3G*yBS#NYO{N5J`wepH$^cE5%2o5M5kEmY`_9PGSX#$!w2DJ}t8_<5 zU9?ns%UV`?%BscU>2r~E%O8CJ`z=uOY`1YHAvLlt+#(Td9qTMwF`@I~jS|66Wf#A? zvpGSY&QHBZhrUK(*ty~&al2${J7r3ROIc>vI?-g2I zSy=4Nm))Cvx5CA~y6VM-i|4 z22nVOiqWa77Qsl=S0M+!%fsnF*Dc*?CmVkhxAU#|qmeFOXF^HCyBlCxR~MfM?B3=T zg!vUK4@P;oKdEa)?d4Ns5qz+!*QhWHTjtWrQAZEyV%)Z#nA1ZkZq+&<*&$o6KhZwK zPLMV-0)xLVyy2_1LMlnmMx9npt7++Vf3#Q_r%&B0)baPrSV9|)+hnB16&pB1Hx!ZE z1#@fXV;#BVYgPu);#`F^UEde>3|_K^^U{wz=HtENxB6)*-28Fa#xa#L$IDem;z`?4 z$9~)Y0ISGUycQLJrDG5S0Xx zXI&0S+n~a}ty-(JiLFis;zP-NHpZBa>|P2P3{#Cn{L9~Hv~{! zDb2pqvu@3&Y%i8=l?aod5)mq!3Zhn0{YSSnJZ8V-R8WE+>hureqf-Nfn3#u*{rH4o zn`ZR=u*_sCVH@{Arx`Sq5?p!|R6%%6`$3MbDy-93boYxhi$q;Z&WHwv(UzvLLa6nt zoF8q7EWt>EHEd$E(!$k-#(Q{0JGNcdZ*IK~zaPpfxTheGJC*U7VNv6eJc2EQ>F%9I zuSa^C%I&7pPM-ZVc6!F5>fG_Axz_!!wO7aWRwOdD!dp|}eU49W4)^80d#!QndL>}J z==w5Iv|Fh!5|>r+*lBB4eX%bS)g#hzJ+r0`eXG?w?YvHZ(zI>hN{H6^5k!ycKNL>y zkIoL=8EPjUHLG|SVY@k;H`WD_pJjiXPFL^oBpN%J)J)?;imgsz$1bTHrha75((!{n zNhmY25wTt$Yj~(8@i8K8t;dfe&84W?-e22DEbuu)+QXArdVk}}HwxG1ZxHW+%jgBp zKH=hwe}h=^_)x`SSnIe&J0kK8$~)TCu9}+jwORSvG=(tu#=c*&4-;6q($42&t^@6SiyKG=Gq= zcL?#<5jF>3T4Ss0tCAG)fkR&+7aOo#x_Ko9_w)F9Dd;%jCY{(=4z+M*#nQ!EVA*;? z9jei)AO~%*wyUx}GRRzBCa$2S#S75gF9{-Jm=-_PxG3ttrx7}(Y6x5=uJb2=JL;pldgzp@DJ#SyTDMX=9o}w;>g9;+8N|^ z*q!0!ZTSds^IGq%a;o$8Q`O%M#SE;Q)SocBMxbw3#vJgBlNukWuC&L|WKeVfCoUPv6ru`X2Bk6dWvjU{)?EHl2t5wo`Y=3AB2O!aHDra+xP8y03*stx8jA+@jf(L%`< zvVthz`A!}hmyOy_)*|a)Nzd&H&MqoT@D9qi$Py2g)g%v|?HFDiA3LR!rBi<$=GCeT zLSO>$j{Y5P8=snk!jk6aC(D~#C8+wn+}g;kEUe9=4OaYX7hQK6*q5YR7rGL5AhL*V zgsY3MhQqRz_3`V2>6SxQc7vRPXS*2`ehD!>%+>I!&lj2N_gDSsg6|^P9{U*&G+^PyuYB z?$)tGt?vywi|sbUr97~vN&$8zsd#Ta4QS)!1bEjt2^O5}_jsuF^BV*;l2yR13T=*H%@sRojo`OVs&l{C0X0bW$q?+4I%g`HJZVH4AxmPKtFE zCZg7Um2OG{?m;w;)?UWY`tdIkCvM{v`dQZRryQ2+PdV%@mB&>d&;G0Y{TE7^XE_Z3 zwb)Y+&$0S;K~ml7W}B|CI<0!c8fV*{j8vPprMP9VO!2Rk%>nnQT=T$~GEumx2p13Y znUJ(R(!O}6e2n_FgQl|I#g0$Y%=VgF+dwTd;PvR~Wz9LBGUGZPWBq6dasi^|F~*A5 z#R`3d^a{o-!X?>|?a&gbI~;GOU5-lWmjxhd0!|iC@n(adiN))YPK16quEQ9UvGllB z&BH_KTDy|8dE_;Tsjq3ZqtoBvc1GRqshMlqaK*dS+Oaiq;(!h~@Y$_beDp5)mslTW zeXYF2nmzvX^iOT@FKX)_WzRPGsf&Z3Ha*1slsAJ{i7K*IF+2 zIo>n}T}$u1UA9lAaD>4O26xRbW$$I!$?@gYO()7lU*!9g$Y85@bRueNl(kAgP0v?Q zN8m2Vwo1N4roj$OJLF6Siu)9Gf)S8(=r=!O3>ia;wOE3kVciuP2VoX!)*y@_=7Tq# zhLg>8gU_rqKC<3cwY;yaw3E_yx6OCdy8rlt#Zc*y+%r#`r)5nJ3A#Up(blH{j-!t5 zXXvCb6-c?r@_((zPj%`|-b+t)`?XhwH&H9GeurI=8HUQL*Ck#g(>;Vup1~bDKH`Nh zUGdsVMiUObe~`y&b*RQbGwiy%^H2dqzeCG zsVk!O7-Uu1YHI_Uot*(Z@XyhplGml}(QdIor)d4~Ht$G%Y8>38+3i3ew$yB*0Byqe z(PzqgPp>tl+7@L1aLwWJklT|*(TNjgJ4KG>+TDZuJwONa9VbP`jr9ic8pj`1I}rup zc;4n?i7{WOD|p#ob+sC;#;stb?xQ>PoMb;6vig=gnJ4}7h5k@6NGHpjb? z-BbygGW=C9TZ_c~v!4Eoxdk@f|0mN{cb#R^nhRak3$a-#0B$8{C2_WPd64AmKIS@5 zg?s3{4rNQe%!*qZH#d_$#_#lf`h=PZWn2`A-_#>%!e;!D2YDd;V$ZpQ$;wQR?%vaz z8&Hh@z6r-LWChK=`=%`mo8SIJrf&QoFY28`CXc~JxL=A*uo4aV@Reazt?3jFQLz20 zmEZQ44%WSj%*!t2;7J|vtq8c|b98T#!z}G&k=0O<*_#17!|J$O(QNLMc4gm3(>xzf z?Y-`>J>_N7wI~o^I^jz5BHm7)q-=Pn0IkzCL{knuJMyedhjET$G)*kPXap@{&o!q2 zpN(Uc!2`unA-H$E-BzdVxuw5eMTD$Vm|^}^ApCp|RR06umYHt-6hHqjQHkU<1oni+ z;#m@zGK6n;N0)&G)HGIGXcJJ5L*rX(kI&DRVLu^26L-4 z;SBP`l)T16XxO@^`(S(JVU@b-bk8X2-WhM%7g4c<@7H2Z1{a18aVvLpLEl?$5Npgs ze~vkfct&t6S_&E?j)~le30fvVq_2tf3ac?)HGygQ zj)Ni6o_7Z{>YV@;W*8Mj+a^owL<$vaH9z^VfZlDorV^K^_0K$)XWG-FAFp)*Fpq^oAS-dBDMCak4GQqR?>fg|~U%`nihY&Pw#bh#W!dn8Nrq#E<|QTdO!$8KT|KJY5y zNPUtdOd;OXCMvg1azeoQQvh;g2>V%31@qDOgk1R-{q+}jJ@rBMc>kdRP=KfeIE8%q zzR^CiJ=PlC{t*EX_4Vh>*;Zt9kl$>d+*N_L6plCy>>J&=3S3rpxzcQy+{<)Vu{nKE zz4#_`qqJb}>|o9LXI*WzqBRMJ;1xtvx};@yaoM+hCF*MZSRGzHTQg?csRxmu0-I@= zYeamuI2k^9zum%Sun>+|AFGA$u54vBiW9hb{n1P)?P6%^`gjejaBy?&aJvhb`x-v1 z!6%3~?aTC%lz`rc1tpu%^{veDC+iiu5Cr}?Gx&4i=8x_N^^%7rDw1!D!BL$ zR(I_SY@NrxQL~g8snTHk7o_rc1e(?H8JjTaM;6Jil1=6g=6t zRPn9~xuH%iOKqGDQ3;h1f278vE2ANdSQET5l4R$6&4OA7)zeh~&`S~51fOiII7j<5 zq-h>omIJ#Z*0H2k)JPB-yUlysikBO3$v$8Qke zjPhrIG|V-SJm1x-JK+HdMV=iF%O0EKfTm<6LW?0Ez7R5nIv_Rk$T}1Y60?@DVW4YN zJ!+t#!AUG%(QG~7vnIkH5fljPYU7_5mf!fR60bcmxfx=0~JZZ43q_av&*H}NL zKvLm`UMMBe$;iRM5c8#Tn3EuuWH6JYnHxc4eVgKQx6B=9Mjtld5Yzk$u_>Tam}h;^ z*ydui4BxN|!Umy%REM4LKSQe6EO+L0&pw*tk7nXxgqx#3fxI`6d=HzNVeazm2ma;Z zk!IHYQ~BpYPw>h%<%u8rME;E*zt<&8LsnN{Oa?8pcsMf|#q>_*=|l~UOf|V#!x`Q6 zjJ(DW)uXJ+KwtJe=k|`kZ51`YBUN4*3kFx!Q8nZFCdgKTb8Q9jXp1;sy%OJ3Xcs&- zKR^*Fsm1N-FvRJi*4n;zg$M>Tf&xx69g9XN5Iyg7HUrysVwvaxIEd8oLR;1!^eie( z=mukl%dW7AdbvBvfIO>wTqP6aHwYG(BjCEhy2k#w7q(0AQOD zKnC75v!dMX3L*u{gV&=lXGYjhtt%%trA4{Pkk{j2C9q&|!Y2`?0ta;xdGM)5LfyJZ zm)@qDuUBIM4E3nc7#$^G+WAP!GDf!uqA^`!dyeY`skjU<0CgaCT95MQX2_@QAOq-AjVA zl=|k%Me)Uv%ux5`d>4yzQ$(l(fECsVo*=L7<^1m4L*HG@umYrUms~a~&qYJDOr+QH zq*DabnvQDB1o;!*dpKorYQqc~K6k)Yn@#D?*vEso_^xJvJuT72=Vr0-_%_mqlqM zpPusC|3=rNPw=)2Fb;`fh(;H)?vR`uFVhdz(V8pZ9sR>0fxHy* zSd=f6XC=n%V8iG5`JsyVT=n4K@b`$z=8x&arKEL4t5zIG^6r^xb{WsOZjX_D(ut>6 zS~;y_{KeLLH&7wx;i@}*Lw8yB>FSy&KUchkM)79=yV{fb?5%w`L}$(!-fKD@C>|*A ze`uICGa3OmJk6l zeDK=c$}}xIrJ74aS0faX6q6bcM%)Dsda92!008b~Ze*bHaPaBZ%wJVOVsFMCnz>up&xmrc%_-VKHqFO+JogB zr6YZ%jsOV)$zX_;==(79_JcVWsv+- zO*y3#xE7?_@FMhj4F<%$v643VIr@v}UR&aPqw7G)bagM_gLMulpl%vX=#eE_gfP%D zzXVd4i}{hr_M+sV3gf6Y+AbE9Xz18HJYUQ?DcYg>t}11!!ZrU{iGG_Ch?{QswT3*h zGG1*b`NG;!eKmB^doYTy^E^|*;#)wbaDF1lrSJkEpyn1R1FGxNeyjVk^n4a&Z}-1u z6Cx-k>K`}88pGTXa4K9J-Q(!pa3i`x+sj1>A4Rw`1VL&N6%o?HWfSc^jFSfuyYMBS zfjH{Ew>IC7=E%PcvZ=*i*Djv?qym5OC~4?ip9Cz=7uz$Mx1N>dDCuV0WIMe=qMSSQ zJ=ea%Yxr79ZYMJaO(OrI`PG>dpzjs&2O#>qsPK>eTf~cpWWPqn|4M^=qd5CZ(nTz_ zU2E&&Z5pD6{ImDn*&2=ABN3~iOj`+aC216k6j@g{)$HK&A2@3h(Ba@NCgAqtlFeEh zHwN7z?LRW zsD1eE25K~VTyHO@Qoy6#p8Z*QR^cj?ICP=rwu84L_4rJf-alHp$$MT;4q~zW>c9kj z^YNkbim(IMs9 z0+2y=SF{`YHhO>xb#jYt_>aw0x)Th%)({zDmhJm4y zjqxf4A=d23g=?bqpAp@K7{&M}@pCT24z?71xy3a3v*hWqS@i`3_nk+)U~I}g`8F;U z;C`c2j-=_OwnDcy#3MhX&nVJGp+ilx{CqnBS|$UH9zRp_+V@8WlgkRiXO3nS2?Quru0*b0ODN$>?mn%K zY^P*C__Vu(eXb|SirF3H@YIPpGZ+ThAXyo}hUJqY03LkGo~So|VdoLTCBxF1&k{%f zeb0zuP|^v8tWrVRA+D|Qjvp`#PRB7wR`UGp|bRQ;`GTo2?ntn+;E6WchfbJ67Lgad3Cqlpvhhw!<1>U;V~pEA{(E18O#DR!#>$* zYChg$5C?|OG)KZ~3SYbO<>mM_H$M2;=Q2B~3Vr|1V*Y|eZ(ce9^=~fzEoA-6XFi=k znsUH4f65X5r*QZ$oCj=-5Rk?%iToWP{A)CQd*b9R=l-U?{Z|VDh|}Ls(DxYd+km4x z{%2P3uSDz36dBr0^Rr_P6v@Gn;FNU(fuNS zzF2tP&IsK&wr{>-HU%T=3NL=|{`zMi!p`wdTB3WK7s_9Uc5WEcpS_N}@%LZi_3Hld zX&;NOUI)$cA99+N`?uH$QI}a=m-h%zEY$%ano+Z)zuBU%H^`+>7y8>0{;v^R(em^G z`7yVl2cDIbj{B~{RnC-7C;3Z1pLdK_I{XX{p&~n>H+^`3JO)8 z>jpN@N2doME{8I5kpfphcRG=n3e;^(XGr_ZhceftY*2DORdFY#8%hsS{SK1<^||*s zu6)CY&rDTvs)8i)Ecg+Lyfv*PX8g(F>L0;qZ^e(FVw|jOIVT$4Mne9Q?0)y>{fxWi z`9IXgo93be-Z1FG1JB1c>|eu7VF4A*j{D%8DG60P5~gW5+$-O-F>LNSU&Kxk#Bk6I>O-jdcn{=J4n)&hl z#J}AMQjWl8ijDUu4?H^w1=C%YaAub*O2NUo2T9#Rm203Z9^-&Rtmru0hicYh&w1eV z-)zNx$EEU57RUI5d6WWvm3gLRc>2a0CFR?RAdj^v7Fi<3<(f1+c$K-m zw7B*qu+uL68?P&mFeNn|+JF1D}DE3JYyy-c}hGFzQon2;2b{ow3mK>G} zW>B5|kyb77I8pZXClU%};7ZiHs0@6im4^%_p!x033i5yZlEAC1?|GXQoA5ps>P^T> z*FK&DbF@k1()%EaF4It2r5TSz&!zLRVF&XDg$C-5L?ng9VMmnFYHZZ+O!J@KbMlpY zvVlS2v@s7Ud3K|#W89X3VQV4ES98)nd*7G?)?=F8*RIfT5|4fA!XA44aUt^7?-uvp ztk)v;ReQA5QWpO48!n@QS68{$yuNoQ@}`#NwJ)5HEp*Pj#_~6N5Bw_46VUYpC3BAI z-=6)uFAp5L`HC<3IxbA(C%pZ)m;1lp{$?%!OY?Tu%{TwI)&BD<6;HY+|NXiDUELF- z`>!#a_|<=1?Pvb{f6o}od4mx|(m(zn5{pk`9{;*>WerK1cE|FI>?V3+&pX@us$9;E zx1ZjgKYjaHj)bQCraYIThMWdhL0QvVWBYse$X^$Xkz6K;yM6QC&4k3;@iLlq;11-`bOVj1b1=F^7Poxzmvp%NW&-!xOyd#Qi&Zj*%jM}?pUTN-O zUwy?znb#}7{XzZSfu5PN)0k)+aSq=Zzj0J|%;DC1xg&y}dX}*587(y}7`=m(AY;{? ziH{7p)stLz?;?w?so;&2`;+ItzI17?Ryy5T+i?5(gWtUC=ci}Q&L@K(T<`SnymF7+ zg3%kwpLJD*w#Tz+i%B}}G`hkE)?fbv$i}T&DXjr}+9K-#_qacd$7(dNwx>vVE}#hdi&So0m|cDtDf1uU+~^`7le6WLA)kd1ckKWYogSzQn z&*`@5800`|X=<5neuiNkyzgu*w>MjFdb3z}a-E_Rg4Rn?#pApMoYhJt^=h7a`WPeI z0@v^CeTh7{h!8gzmDu{M_n7c%)8DvaX+x}e}2N>wwhM$EwN58g#E?iH?yL&CtLr?#s zUa)rjJ1hjYwh}(DozApm*`MyuM8lJzeKv*TN7djnlX&Xi{8T=bKu5B7Azp{>b`|&Q z8c~%#$FC8r&4B{eUo2ujYNNoXWh9L~l+u3_CIcatmJ+fGICSTX?&}nTTVmQC_>}ql|SE#f;APN*OLW2AwU}Dksw+X5qblxF&nT>;KU)a%m2AhfHeZ^1f4aDcpbZx zfHQRO1M!W|i#nX+PO=xMUV*87w#r}SDWtyr8=s&#jl6Od+}3uDgzY;wrfw~x`FSP6 zY2tzb-?)YKut)l8J4p+&q7)5t-K58Cs+GqIPEkp9RO?#s+ztUctU>> zMglM$2rNhK?Qcv+_q?0((;*r<^Q&o({L{%$vwYx~amQggr<5+$sj4ks5HJjQ6(luO&ySMYyef^~%%1rY z%G9fF-G%O^q-It5mdM$|rC)h>YP)Q5P*u>X_k7>9b?cM1lGQ%~b(&Er@-aURTDiV# z`T}(DHG=cl4Lr7BDJi0F^&AUZKMuJRZH%ez*nkC7M-d;436Zf&T25>qNQO*e>Ny=Y zDuW3`s{!_PCv8bdY}FtKbH}ZJSme-^YZp<)cIg4|$tc+w$(afTX6EYs5kn`MJroWb zlwkKPFjqM-WOU8%{{Gy8?xOa_!Gvxw3cu2E;8L1=?ZxpLoz*BujMGs+DT;c;#IDD8 z{KBu7{rux}DdjuJ{?72sJ5ER^L+u>pWU%g9EpVrl&0{Yh0S_#3q^* zb=c2lOM|E*>=2Ky)=s(X{KwmN1|h~;Jeqg1`0Pdmi$rP}gAf!vP$4`4Gn(fhgEuA( zwURO~En0VK54omzywuUGSRBPzjzco%sU+X<_dHZupXk<}hOF@xs_n0pxNu$k71QF#B0@03mibciZK2Fw zLM6l!^l%NRI0%7B+a_!tQ~66dOll}JaefV8xM+F!<9o*&C%>a=sQYD=k+y%L<*Y|p z!*UwA&t2fy5wg(6Id0Rnu?iN4F4_s%BwvLqDv)&HI?FPCQbe8_8Ji)&zsvVJA?2rG z8`PFGU4SB6-Q8Vg^V?P{?D;T9V;bcxHa z%aP%Ah{PVZ+WYyw?h=Ojt7Jd@GSHD`6Yjmqc{JKg0FBusj^>aAxU{pI<}=onK?kdC zv|3h*OLf3L*`mJd3@A$CPFP>w@bPSZey}Lq8FP!#tZ$V08jp&9l`&5gnOHou5p(kr zx6)3wv~ud(=!=s?c&DyJ|KT}g?-vW$o0!Wk_e7tX9V9l-f@eC5Az@WByISfONa5?R z+?ocMchJ0wOnW|tdKG5!WBxEYZH_Cz-4DzgjjJfrmVGkQaBh*}L%Y~_lA@lLBh#eJ zzG7cN&Gr=sFH9$@3opuaeqN#F(z|As2pqHr=lyys`$gZhTfCHO9<_|*8EnZf|E~_c zU)7{5yZPhcOq0cKw7BbHNX@8;U-iz8@W~| zn(=uZJNeV@jrr9X3{#EOe$V5*K!g(mUvA2gh776|I_;01ir16-mG7QvpBNK=QUt1% zdEH0t@J$$Xiw~8o5Iov&dhFx5*e!oxwWJyISa5HwdXr2{j2|W_hq@RGOS8^}xfzI! zuiy+H^0)^-`H5Y~#UhR3jJp#hC6VTS7(J-GSE%kUULnwF}?>6piQss5^>G_myeuj(Y?~F5B-JN?9a8Qi8P=|8Xt>qwe z;p1U&Dc|{4g%CQrkT}9}UjPlI#5~-l;o3_Ra2saFuhYt;cGYBNr5Vp{%-Geo?X%VZ z+DFSeQ5Khq2u^MH6?b`%c}yK(UM|6+I&qw|Z<}8MvVPvsi=ukX^%57ah$77<-H^91 zV&yAURYylZ%-c z;Ye1gwbFhvO46RL3EyTui21SQW8GJuaY;cnOg4&BEu4;*Ec19R@gcsKDF|Wjy?D6F z5{QJ%40iZ)m1xb4OXweLkM=R+u+_jh=HI7|9;&OWdwsaf+hGzO+KgL@+3DpV^lK=* z*>_4R)XKLge&8!IPZ#4((FCs=5@- zoKFYeB(WjQDux`}L5+?(Ah0H`#_IMZmW2g|nkl6ji(-^hqySGD+X;5$O0?N@Ifsk_ zd^|YjgMWeO)9GsBml;v?-nk&u(FWNJqZ5X4qQ=va*%JjD{LBrjZhOjeYfcirDkTU$?zk~ z9sVpl(kXx`<7kSzQX33!n(Mza7(i-&kTyP(IeOdx@mt}(s$g?4pC3g5I-U@<+qmLm zlaaXlc1nsq_pVyz(d-sYz`bjA>wlt;BAi09bHl{dfTjJkQg=nsOut2{*3}pWUDjV! zMPNI5wZuJ+bFpOsNV`D|L&8Xj-G{$mHRNlA*-N@qXi)~cey?mC!@Y{p8Ieg$itY!j zVgzSrA1@@_bgGvZdCUF-K3kSzR0jV+J%n0aLfBEQEAB7 z=c+3prL_|R(wXZf_)q25-&WB>YHc=jq0dFf20QY>q}=`1r(L*u-H|AI6X3jCF{6&EmelrG^PiuA~Y z$EH$B1}iZ8NTsFtl5$7sU0LM?!hDA-@AOvuGS%vA?KprGW%fScLRCek?@gsloj*9> z?c?zh=|*}O(S-;!t}2^AeYTZ%RtM4BYllR4HK&BH3;F17GDB&nuJRs=%*<(vu;#1G zD_4Dzm^KqU7GZ5B>98hzu4!i+Vg^I3m+_tZ8oT2fu&lhRcrOH$0j$O!8MD&HV7oSA+T; zVn8L$+cdoD{zG1`tdtjZzx@Ko&#h157JwGfY`B-^Y_YPSgT(3?{`HSdFOML07B%!bXwHo;!-ihK*H=?S~i zcp28)sKPeE^h%M+>IeR#-}}xOjG% z$psqN`V}52Vz=9%cr(Fx4EJgp6x3l3a$S%g=Q&v2sT&vf%3D}p-c}t2CCl6q;CV*D zS_QK25a3_JuO!M+w*&Mh-Js3#K&~lDl=(_85!tr9J&A$_>>t~}n?Ezz@Et7HHE}j? zXsSA4iw?|07=9&pvw{3y1Ds3$jI>3C~V4 z%Jj{Tx@C~&2weu5uF^G2rAG%C9gTLi>|_$Be8v6iP?*mTTiXKm&6^Q*@?$(y{Ic#m%jiFlE( zo0Zec^O)nCjhHiV*>@#1>UfWCswNLj&tBTpVU8CJzv{31B!N1l^6{?`p3Pz*uPV^y zX|wQMWK214sx3+EDC(v8^wx{)dHN-wx^3qJFs1#do7hNIfS<{B&}Yd3@K&gA8z#q@ zkZeU@T@%Q5PGUFg8f{e ztoU49wTGFBoau{fRZtR&uYPAFAZKRblYDq9l)*6>^=%)wKAIqf+e$EWr05IKz!1se zWJ4=8`MfZGxX?%|T&-+K4i4q2rSvvMm~Hy=*vmOOi*Qo}o^+7UJ?G1OxQC~ujPD3D zaWl2r%Ete_1?#lX;s0UpEu*4rzqjF^Akv^9DJk6@(zhr`Bi$hb(%nNytCTWystAb0 z$j~kA(9+!@4MPt3UiiD!`~Tj`^L}_fz3aagAFee^uQ>NUcO3iJ`#tW`%$2g!P5Rk>juzi;n_Z69Yj(c@dfl@ zaBluKtUcY&TUnULi`XYsOT}BTl~zBT(#j9KiMCSAQoNzhAgOxVp8*Ctwj#FtmPO?o zyLAc;fjqbj;fNS9lOWJ8Zy5lh@nU6>@6cMjqj4>nYxQ+Vk*+x8>EhGLl?G4^4}rt0 z=ItV3q9C|>ov)AZ`m1tcAlhzuww)_`VTian{bV*%V(-QF21G?g`)s`}C-iJ;ugbNq z;=CE^&$Gdrv7zlF*lCsHLr3A$8!(#vQk;>ic3s8vaCmbZXzJg>y3CrrkcgyxK_7d+ zprv$CsDcAy1b<>g&uBzbrA2?6q_@V1|FqEio)wn!45hMKBIw4^s8x%X=#9Vk)0m zC9|M!Zc%cN4VrmWdoJl=n1Sb|XO!)84{ww_%sEp1)YQaBW)X<96G*_PFPNIpWBk!i zPZR39hbMiSG?B$LyKzJoFaO$r`XPh1k86$9-)gMPlRjZ4&oInT0wUQ%zj^&#S*hkW z>E>AjCdQrvc=q(!IsRQ zXtQ*pk2*?x28e$>m>>u)T##|9y3rdn9n-CSOgBa1FNS<zcB4kK_XH%M7JYmB zyKY7LUZpE#<6E5tw+WH*h1AD{nr|bM@?83OMy{LSGuvZ0p(oMxZ_qf*mXH32NNqWGacNtx9 ze-z&W8qfeBauAD=1ON%@kQ?f|PbC0oZ?bbQ?DMG8)-EnK;XTI!mzIM4 zL8L*Aq@-FY60i0uI#+uF;d8|tc^leRzFAx6aqWZEg-59!^3xk^gX)0f3SR5Z)wL}5 zN%~wAn05(hspL_}aqH$P#SIb3KFKW?vdr?%r~4b0jgYzArKN%JZ~m9io{QgZ^`4sI zBbg3i#Pg=ccP-&f9>+2$6Sl=ljVXuzW>seyLQ@2OyW>-^m6swH!t^V;Wd5!?sqtLK zRLVz7EXYrvoW@Tex2|dH7u07e7x{?ZfNW67%hUtd^2_1;*Sp_K2y~ik0{}>(&rO!1 zhqE>3EE)^}Mvbb8mCFk;QTeX#eA>LB-`cO7GeQVUU&#`+qb~FNYwML-(P=`R_Y>iz z5w7g&bl15AX^JLM&bEE0s-wetteu9>EiBmR^Huq6Ag6D`#eO?yH~mKq?7YWCqrQa2 z9=8c3yx+(bO6>G2HDXEZjPjWFr^ZMy@b;=$kM_q~zBr$|R?958UFQ*YWV2(TvT-_U zbx@g?@wYYOR=eDNoYV+OJY?0fjk`+NX|(vYjOs<=**oya=a}l$zVcTudiq8m<^G3q~-a? zybE&oQM;{@sH40U;U{pD{tn}vD#u05;rA_@7d=X*TGM=ftQ!fwlF{QZ|2xe{t?Lk| z&%VS;G5`DytN2riLZP39BMo9pH&uQeZZgrY&9{^{H~G}A97#iDf+G?D;5(cw`jv!~rF-S+JWBMrM={@m z`0e&jIH-!r)W7dDoXPuXWUhdKi;`OY!^H_*b%Z?@Qhm9s$&whctXG4{J@Gbt6WQZy z+RsrIIhZB=@q9M0xT&?+`1U#Y0(AxV^~vV>@-y1ktiT&x@K5<|gZsR1+`0SlC~sAk zx`u<&sFYN3Gh-qGxf1P7EuX42awzMgvy;4L8_x-tlkk(~*{pM~`L0>f93Mc_!)hl_ z=If#*U1dd-y^3rzm&ebF`@ijKQvcXruTdh8j0{iDNyoM9K+$u>!@%x}=knV!teScI zQu<}9bIaDEE;kvqz^DCiV=AGr;hN*P*$Lwd`ZR|D>K$26g?M)0s8L1IZRy52o^J82 z#+%exH*+o#`0WjcgBzb(co%m8ys2pxJiTSNWelxiuCYvMkB($M*WnF?4xepAducY| zG6LRXv1&11zu&t|(VoICQOxYan8vBc!-Mr>Yx4r8AN4zCqQ51mf4Bfq3Ax0;Yu-ZT zWfrTC<~sTopG3oDsl518omcVE^LsqT#20;FDz#lI6_d#=1V7 zjXq-A$-m>XevQoEPA&DNT~saQq4>-z*WIEvANo@E_{iOsJN%>2ci}yG`2quj92ZsM zl$$I=g#MW40EF2#y8Sr_KLl53^DMk>?7aTG3u#&}M4cRenQW8rR@Wi+SB~lMBv8-s7y+g(r0&!hIR@Xmc7j*NJA-DHWwv-5?p zfc|VH+?}K-fB?h6C1~PxnFO3Ca@$v&#n*>KW}M|;GoO1ox67q+dQ2kiQ_^74uU+q_ zc64;%$H{T<6~CU#XJ@xfV`8zS-=88%81cE3JsI%WEh*MGrgq)dz1 z^!^sOuT2ef#|EuUmkjzdLO#39%vUiP&DQ32TQ3~pi)XkSDQv*vi0&oSIp42hz&kl^ zIHbPC$Ov6jr^w#lqdw&)d+cC;98^a)?V@vT)&x|{Le%R$WIV;Z+`*~tV@@aBX03aU z4Iv2&gUtw=J@Jn;`lFl;Af}L*uZ4h%T=y0@7Wf_~mDuX~0-F~dQUu>1P!^oKA&*1? zsc*gC9DFwOVs}MHtY$Utf-BXdTLpd3{2y3Lf|uNA+v{ zSzanrcNmqDbtWdZk;=$*{?lg7M?Vs$XHs-^+Q#5XT+?bwn;;5h+WO3RkMA_K9$AJVfTqy%=(R>X z(XH3oPUBtvxGA~cK%5rhNvkZ>v-}~=rtbKj9imMR-Dkdf>uF(i9H~Bi!!W}df*+-{ z0ovZxHy@@E1aRQGw}apnv&;3TZWWnZ)!!}@s2-N>Ds!>0P?HqOiR^>KInAD? z3Dx=a)O0c=7~Lv7@0jje9Mm@E@NFIis!om3euxgot=bEvVTV@{Q%=3(c+ALI6P`q| zy_xdR{b6GvXt5?=8nL`g!ezPGjpKXO!vgbgFy*guFyPSjsgx~hk;#f0YQA*#Z(=hP z095dt7qqqz`jH)?YXF8qELV5^blyoHDQQ|FsCo)nDMP;n0x)K-56afbT+w0`+eb&iX{ zqm%E^WcOaMD@-$|Y*K;Zy41k#XLXmkl6;^0xF7hMu^ZyOXCtiUSm} zSC{)tGoFxMW=KsH7LzB&MdO?+N?G}Z7PanuPjhr{tTOylFo|vo1Qv&s2`Ro zxi`h_(i*WHZR3C;dC>xx>C9FU;H`F?(46#f81a?U1<1mf&QzR>>G19lq1M>8r`M-* z413p}zRYW6JMc6!q7O}W`Y535R zl_X9_z3uN)xhYaCALS76Gm|U3tUh`JiT3J<+#(qMjiM!2ED?xP-x{3KnhLg@jB-tQ z=W)9%MQm#z9(}TbY^~{TlXldsT}JW8b$sW`QzwmNlB*Zz$7SW4)akWfL#;G-&^@O) z2kvY!v{AEI^lQo`dRa~Te(MsN=3oDG7T&*=y92gi%RaI!qdu#s-`Kf_sIIY{`NCOX z*`XTsb@gyubxbf8b{S1Bs1Afa77W@9HsMV-;z_O9d*{-(%!oH%5>~75T?1tS4U7-> zudF+8bLa*WXxSX4OjURsAyt$qx7k+nPet*>dB2xK!dD{0%4^N*eJX|3IT9o4EnY|$ zSkxPEZmLW8|0pQN4A$4r;IBa26|{(n=ZrU+<8e12*&8ZQ&bkTZSV2cSa@#z6PC+rBPqamBLj&f%+2%Sv}Ry)F01d<-TU!&`E zkR*wd*OjVUmUTQQjV~D^!AUC$wPtwgP$nlVL{^#Q^FHp$_#8gfeB?XtoG{4K8+I9c zu93A&=qYo>EAxD-zd##l!ppED7FbI7CFWSM1ikp8@=+`?;?DWOq0RSTHX&DVcU9cz zmQjt})&~lpIEUvn5IdsFq|DPfVbgQ|SZ1#3iAqPsB|=TNAw{^%7Lv_F8Zlj|FVKQR zubf68-&zJ#FNmW@BUrwBqEP#{-8fb108X%XNj6cqxXbJqw>MEe*XPn-lp8+2mc}(D zRk_q2e*e_Xy>w;jWK$*di8!zL7J_$YxQkkNbsLnr(bRA3o8ZtB{{xCi;Rt1-uFRX` zb9@r8>`?4--m#4^%DrU7P2XEQ(R8T$UJ%MRK7C`&P1*!6r|*ensox>Ih!LN)0doDv z=lvNM)>7PL<3#=flwezlnA7_;eYgG1&k6{mu*Yk*(c%P!d<>cV+{vTf-2WTe{mhN_ zlI}^w0@#h>V0T2tpT!5LlHgj(oksbt0%-jn?}XSoYuZL@N>s>bJZa1ST~ z)1DqoU?aAYcfbb904`3+zNdk2_WsiPZ4kZLET4r2|fCJ+GhZQIGc~ARuM<8 ztrUBk3t z$^q0gxiQ!=DMo9`Eukq_g=3oy0WD*3U%bu^_o2 zICz=SAK7M_m7Ww)X?VV#f+%aQpV+Efo^tH(y1<$Tdp9z|T{zb^W=X@wtAIjw=#g03 zNSgm?FedH!ocKA3gBY&+I-)EBH2U-@z4yTnPri$Y%}#boQ;ipP;|;iK-p+|x*2>p5Div*L?NBmu$@be<#A9&;3cRx~OQ8u^hFkWJ zsQ7OBn^OW&(^M!>p`uHBazsvT?AVs(5jN7#Gxa{Pb~JnCo?@!7>HEQ)jYwcP@JhTs zK$0eG(t_`L&3T*%#Jtr^5r3HHxn6zlt8y&e!4WeH6P$FN=UyYT5jyEz{gHCGmR_HGTl6GErkdl32Sb6myq#bd>$2K9R_ zW=&tIeH`S-uzxD_^|8m7L{9gT!R&y)nXTB2=tlFQg>c{laLqMGnQv~7lA)1|viu!z z8FJjDj^hRpKZJ|e(HqnzKL>BaL_s_2<1c~J3_Y^ZJ&&T*DdP7L3uL=HqmZ8k;%g`y zoR@6VYEc_w=s!5F#ebkea$})&AMJ28zTFb}xRlhk{J2%sxz=qsSGQZ{N6i_y<=yYM z^t6_>3;4l(ErlLFFTZ5J-ctW)5(`jRBVgE@u76XN3W+KZA8i_kRmAS4f~P_lmMc0s z+;O-@?Z>y%>F_Yupyl>(!GErf?)TLZ94hns`GB+GG8UIh?k7tP>&6p+`^i~Xp&a?& zD1kH%g-t6T17G~~k4Hq%Kyk~bkLFPQpFY2uC|59iF zCs$bN|1Z?plbKAH#+O8FO(Hf*`17ric8ISUDgZYf01IzXdE45Pin=T6cx;eOI;s7R zef}SS;hiYz@1#@dY@P@-Ab8^!vnjXBm1IeECIAfz6qlvhO9p?uU4HrFK)837jLv2e z({k7)ZC^kug@93oLb7peUD?DHgWaHpUu^G={%{p&tPI_aL8= z_B$Qfo}n^V%axDi?MREeVICA zG=5%BV&A(=5uAW-Vo&Gpz)vQ#ecWba@1rh=9z8Y2{DtfM$lU+};Tr=QcbS(Lk<^mP zVeg$OI&g`er+LP68m7C?y`c0G@ge}8u*#v}C$QtlOK+Zvvpja!HEhK)z?O8_lb|?; z_7xZ>VB+hr`uxug_DhdkQ=|lIEX25)D&5Bi?J{;($_|rEU?E!tOzB3i+)D>-U?Jb| z28&R19pJ(^jpTg$yqhD~xwF5lCoUo$-+hlY+&JB2v&*G{BjTlr|=Zl)}9>q zXd|1>y1+e`j@T;{*0GqK`k&~<#63*ChrAV{VBuST8=?QP;I6NviiF0$ zck_UBvD=z?iOP~38^&lTMI@VZSsjgi@5@1{jLP5SF7(lqtlDXTrUFySn!YDJa2=5w zu`66GF+71Gu|X#+Unx;|A`D_8>Zz*VJq-Yf@rg53&mW6m|FZKx1(GTEW~7ND-2;ai z9HT5Z-x@`v7L_g3$lWav`np3qA7khBGhG_8yp>j}ia@w&&0plD3O+$C>5!e-3cwTH zKc1NyQRh9+DE(QU`yXnb#`x;MUBO$KQ%MArh=HSR;?wtn;~;ju)u=oWK3m5|USW*G zY$i-r?bTMFKWA*fh?4mi&3RVx8Jeh9pJ%{=WyQDd*FVz5Uw8h@eDnDsa{lbx^Fp#4 zYOqpw!CbN4B+VYlQfIL$cOn07W?_l|G3~+0=n7w^@x6CQa{!6 zpBJw%|My1!yGH-en!mdz{_)HI>e2tTEy6F7NCDAIt%*vi-N9qS?hvqGBLar7jt-J! zofJsgSVW%L{b+;uw;V3rUmDtV$cB$w$=?y=KRn|v3nG<(fx%e4a9;%XH#YI7TsPQh z5^b0BGVOl;@|%mQ2XB-D;U9F*Q{{RR*JBP7`+xhyzpdEK8~BWE1JKyp9Pw0q;CagS z{#Nq1I1(boq0g}2+tB|$Qc4yuLZYkAR=@E~KfOsn_wAdC?n`d{)>nNMB|~p(1IX2Y zjI$CE2zZ&1%a&nEw7jCnB_KF1{-dbFyqy# z<2_w!EN+Y-<7=$4>3M|GPRpO2Z%6!_5aO56bObJAdmMZT5vI;0KBgMKXkUnoM*A6S zL0;dK#dS!I&&7LgaClean2jPXVe6sBJ=oxt?^u%eIR@~PnJS(5<!l$q3AQoC! zv_NySvrHET&=Grt-ehwyM%S4t!J?SLTh#vgcio;pYGr^f8KPZAgz4$k%%|ry*iFMx zCo+AV^0c5VH_h%3WDN^!?$aDTbL!N%giL$ErCJ$!i(j;^^d-H8D3`sR>_#wlpB+A9 z%mf2htDkqYl;W<0nWUb&;OcG&81%Dld?=rN7>e?vdi;J7B<*V>qCEe>< zz&UE>Y>iFPJ-C;d6L_mmMTgt}ufF%+UzUq6Du_;aa<<^ldd_d&-ZE0kCwoENg(Rz~yj2yE812V6 z;n}2Q751f%yU5k*gE%Alx;Vmw7iB**4k%s^H>X3WMVG$0>I_$ixgmnN?b@4r`}qVp zldoJO%eUWEu?8)?=`=*4FSB)4zy1^n%@SwmCz6X9p=Lbj*%vD6t2!@WaA9!Ux3`jt zhU+|b;7;n^@3OFo@|+fJI!CX|J+y>pT<$M9LU0UK?EL+n3MZg1i#AotD4gs{g|f!X z*D2y<*RK;}*R2v`*Q;T_+;?2(-}T_MpucaCy&z9K!iGILt}`!JqCdujm#U6EbwYSW zyt2m+iVvM~Ii!C+US$p#y}u%z%)rSQ0RiBEJWI%Fr24JZsdnagP;333@iHeMCx?#Y%- zw_^$HC2SSs0mY5V{LN!|wjWH=-#lIFjYI&#(*9L#%v|Zgx5@apFGhI-Nf8}-l@DNL z+!i)k*`HW*x%Kt)tNW_v4jO%ozaqqw2^CxC8NH0H7D%*X3*pHL&;nSkj=GWHc;!N= zgU!Z$2Jjvyj#n6#o6c2FrXggGUWDyy8tu*@JD&w+>B}b|8htU%;tG7_=y)tCd0G|zzVSQ?a>1LTVg$_my?qu!y0#}=^AhnwqTp|6dr842ndR;jG0`J)XE z9VUEPzA-RbZJyWwnyA!!HC!*z9k&z?Pxf(<=pT=1%s?$$h}&~m$zWU8u`1gP9PO5# zq8oIqF~nC{uRUyym-ENvTB&(O3Qp=5 zJ{JZp$A~!d#lDtvxBbKT2%>|n1Z`uxY^Y_Hc%KRHWjrO6UzL$yF==Y%*B6%ci=dm_w- zn+p;~FT=m$QTiAf;gg}g6(V`e99mWU+m=DL0H5r=4*RHamA}17np2m_c*lYKOYQMY zIM5;bXaykhK6CDMHONf=n3C-G?4xYi&(iL{9kB^L%HZA7 z*8{pE9vFiO#2kjJ(4w*9bAlCv>577uzS`Xu0rQiE@cmdgc1|v+R9qgQ8}z(#F7?Jv z2!S}2R|UZvU&MCCQ&sO_Frcw<#cmo^MwI^A4F8s-467_xtXNvVW%tf`>;tRIejO?I5ShU#h zWB-NL@Juu|7!ne+D6qh%ySC;+A9WZ+K;{Lvd)TUoMxy1!(qOqSf^9; z4iP8KJgHqWM1_mNXok9`vMsN`s1PJ(11s?D zpjk86DdknQ|J9+Dz=3D0bZi1YS37e-4aYO!E9ukykDf0S^qH=M38X&Z z5Fc?Qx1_#e{Rjfaa`oiCzUI`B&{!U@(I8Y5O@;TXw_rLP^CaI<6+tdWtaXQ=hSPvR9xe{r+fxX-w zVlC^nn6;)y<-|-D&D#td7Y?n}-Ws|Akj09m!w+u6+RFo#@i-;as6@LD$07jBOw0TV zy^$ip7{HtRm^QP0@KJ00**+Z}W7yZaI>V1!qxD%&xXD!R;?9T0eZlq3c?sqhf78jS z*^>G6PT2m~5qa1kj_6NP>%YU}0hV6sjKNB2!wK0a)TZ8qb z?%ZVh;`y<5-$XShGR{vB z`<;nTd{u9^bey6!iIrsntkqlMwb*R0auRLWd+4@yF06UHu@M-Ua&~cj1wp_f_L(j_ zN>3NfQQ46x%a9UYr9hfAy*J*1#Mb)06-~T#wINX4OauiG&3|_7aaGvwS}aZAzz4Ur za}cP;BlYNi<-i&OtCe?ghb}%%T!s=ZH#nECl^RG(Ozp(~j z0Wf!cz}IQjZtv@0rs|=oYQ)fS5ZseWQ@zn!+4+H}wq(gO7?qFtza7QTUqqDNumpe} ze4wBhYUwYx*&t_i;JD0^2b-FF6eQHO``fW1Etkm))Ixyoxv~G_9$VbYsQtZp* zbe`7g0;3tME@xs099)T3{U_ip29SE)?MxBk65IRSG}|q@d6|@$RUEh5GzKEEL)DZV zMyu|_bzHvyacQpmYNA8e(>aO3oTm=3$0JYcheO1TPFQI{ZjAar#q*mBekGdFIFj?t zxy!T**JIjE#kb8$m6;4*%anOIAGcJ!&DCb(uGK?eB8bk&)@NUsd{Z-~xM^Q=I=AU* zMK7Pd0fEMlvhprv*T0RxKYmdy|9n|)ge`V70r*nWyOxf|Iff2|Z_nxI=xi*cE`dus zP3~PyLw`+!Li4dKK=dU47z`;&SZF&xlr}vePH9my1?qdIW3eyZ=Cpk(V0kY2n~(YV zz!FuHQ5eW`_($42@cH|>3opLkG9O)_DX;~I>(MEP;rS!apE}e$KAMVFQ7$j2ZPn_1ysE8 zZ}jb{sOJx&&relUh6{H%~&*u!%J+_qPGbk8%gXEA*{| zkuN7baH%B^=uGE=(?0PXeaOt0f2k zd7ER@$`(x(-T%d5dF=VG@WwZ3djCS%C1%G{=`qwW6&`*a7W3K^NPs44g;K?kdk&$a z`nJSFMrPKD+;vR$-2bOLDa3PPM@#TXPF(J)=hD;D!-&@4m?GF^Ch#(DHWj-Y=W+wB z6^he&b%W-~No;=gzx-1gKlG{BCxD1eD-@kNjc^H|8BcAmp2eUF3Le@3G`~jbb00r~ zM^U(IJ;|d!w`BjhCw}I9KQ7*|pd3n`x_%eJVmDZ@<~;N|B*AF^q{K839%@WYbS0pd zB!$B`Uox%?wL0Pfct%W`v{yOZ|Br3To1@Qr;EmJBDlQGZR=Q zXF}^$pYTobS_3eEQRpg9Pt*GtB@iA}Wk7zFy#Yo#UWcT4O_n78Slb`M`iCv~zgkiG z|M^0dcyU+q8h8()v3xr&ws60lf2AO4dbxV373)NF?`8W-qb{}D*1@CL!i-h63W1_O z_88LkIa3)4zU0DT46W#p@!5Z|VS+^wWxH;f-sy6fhL4sT7Y&9M9-3!CJ(^_#Q=iruQ~J$L|M9(Vm{kcBThC)^FW884xh3D3z^0~Rb^u-r z*0I)AUgMi^fP4c;>_tOnn~40SGMlr2MxT&r*OhXcF%R?7Uy0I+sG0zdpyw@@OFo@< zzE>+zsB;%#+cnW8{dS=&~5-t>`4r{3mAd$m$_zG@ec5(FQWqC??Sz<+LCGPst&+HJAIf18Ao6K zN9%a|+$vq}QMd!U-48PI?;N=5?GJ2;5u!Mm!yq6J=6~MMq&Bx7`+C?Xscg zSBXgK&F=M3K&^`J$V1@`LGX`2R2xeLdE9VSRr1Z9>#KN-^KiVPVbGunZx7vWl6-6+ zT%L94Nz~3MyVBpvp+w>{nn{D3;HwP_Z)zFL7`*>a=Ft8o zsWX7lRCUi9pkIf0Q6=>Z+`X+h)K_#RZG#CDM+oQw9+9-P$>O6Tybg&o_}Oy)JJ|xH zXW(?ep+S9KBTR8d+1Zn?ELW80U2{Kw3WQreZgVVT5NF&K@$^DDj7gt8(k6}#2Mr54T z$L~tE0lgb4hVWkXSd5alQvTeP;J&Jniz098FW0)LLBhjgiJiM&d@Q6iiL@{n+1^}P zJ_CSI8Nfb33W?2ueqIE}+pkwWkDRNw%Eb9mEyMha!bd$rs)dpD->k3luD#X)KwSjr zyYEd_H4`50qk;s&-!`ybX`#cfkMSq2`__S60ZSD=Wv6^a+0|qK3vm4Ngmii00x*<* z6F_27F-XM_`5XBJig+|dzZpFJ!xKD{LdWL6n;4N}%+jtH=G+A=SvD0%14vxH{dZdQ z!*_nW9WZnqB8|mBmj-y7DXB5Jt2Pl;z%8J_N~0O-va!W;@4X2x+r-H#8D!r;<|+^h zqoiDF5hxH=_RZvLc0c6SMQgp1&2wEXAo~WS7{JEM$IXT?VVryUpQs>iPApg2AJpsQ zM2fBI99w4hWVlDKZT&~-N=c#skvaA&%BxoNvn7e8A9qq@r(S|<(WkctYj@RuGrsvB z0>ID!OvZc%`qKiZ`*L3qeYMh+#Ko=TCx`Z|#Kekt?O8wn?Qbpu@NNN2r!OIWidVY? zATD3X%ei{{J^&IJS`vA_D-#$PkibBo>19_~kDK3a2FL*RIkxR~H@I_M$z6v`i+Bh} zM4x>^)c=yc1_tPBOK-qzKh){BZbb@=g~2$!TV?r27_ZkH<+9-{Jb@iMJb@Em0djFk ze2<4dI`(8(Q<`Mr1_rWo+uI_hD~e1{kDN@OoI2cBdA=sQHXzdgLWU_v!@nM9yH5RK zufIvTPRwCMPRy=HPRw|bgmFn&SCl(X;deUy&;&%VGEpMZ<8@D3`lKn^HM#GtPWdYT zX59aGk+~L0;m|F28B@e_>ZfNc2G<$66roQZ0nNZ8PG*fGk0*jS!&VxTh~!j8h&r@G zvpT@wFRfEBg_v~MD1Y5kgG52MC**1tYgK2Zl?@B6a6ZPh^!D&o9$lfdz(2hGv&%Cf zXb>xv;eDq1W|?!U>FP`>k5E4dJCN6+I2}!q>hu8U31z#GeDka!a2UevC#s_x>P>-g zj5yZ>_6;7E#Px&2=-nSvO#WpIuuym$y{)?&UAsmWkb!*J%2?_-ip;Ux3U9Pc&I1`t zyH6jQK18H`6)q4ob0#-AwBP8KM1xFv8K(VNoKFIBmO13Z>?6a{V)kA|)Xw1akIjYm znudip)wWKRV#i2{Dmz&YC-pPBjpzoGl?J>1=k;r8*b z&boK$MHjm{wkFahm;J!qJedq&q8(vJPvHCq-S`D3_7O^YQ~NPGi4p6X!Zz{os)=f7 zsa|{;fh5@QGb+6l${+t!pJODZ#}IWS#8kvoLU~BuZ5FeI1WUEQb{)+~wB67C;H|8d zh|>=`@o4o!&TN(z7VOtlRqatfZre|lNQ`|&J72{$P)!BR!O6c%BB?e#uS36eWJbiC zz`Fk=E3Ask@P=mG6N!?~b{7mCE~r4&cyy!Pn%BhD5IP?~b@XKY26ERQT=NqDq9{`1 zBVonK!Q9p%T=uYF_aoB?Dq(_q48dcGHw(oG@jGhfh)RXpLcf_XLA6Tz8MA|r&(I$| zyZ*<&H_tE=?=i5*6LYU)e3-h;6#k@J4hv$M+|2smQ;lm2R={v(ia38xtua@vF4Qhz zrN_>#T0^GGnrTtx$(#W$)9uFhg?TM2i;FRsxCY{SEQ;3h4fViUq|@5aTqF3?ABJSW zUWDRkEf;t)V^+VZr~X5kWvE+$UT(w#**Ioi=`3!tR{ct+SyL~sZLDEp@U)ur@uY6Y zKE?gesIAIJQS|2CX_6bqkcCvR4VW@|0rl-|#)hJISY5z)jsgaevI=x9EC`iw;MiMk zvfC0yihq`@V=BhF(xVtUD>5}!P8rtN4*!?X`2k-+{pXnU6pF7GV)d6_+Bld$S}d%CzE@r?>QaDv*@)g{dBea>4r#JXLby*bVQ?oDXQp=TbmQC{W%K zGd_077`N8*zgO^FHId)ydbyG*udrWD@}DI_b9y~Sy`N!L3U-^zNb#d4CtHi}A{w^; z@W_)}G_SJmJ8h1EAHiTz@*ziRYOH0J3mhEujqhK&teTIu`K1d@il`Us)o8yU-1$7E zl*_wfyJg@_+A-Q>-LWE+zQB{8-yNItI16uO@1EO;v_56pY!Is)cA|jRLehkC(bm^zkSq*!R~4UlVtw z$dAIzoy}9@<2n7$OFy%c5D_sLR=c+ElN*|x2E${LRwx@DXB_T(PnHH{*;5{Vc~w`~ zu%nqb+&-`cE2UXC7G1!~)hI#{q?>Ymq#f-1@X_!)lS*s|srfVVU{;HG_M!KGX$!S{ z4N1{2ddH&pWLrIBgxzIompEeP+P$Un0|LSXLS9#74<=%2!=@%NE|-*pF1Gx=?oeKD z5o*{$wt}8>w#Elt-i5#zsGzhH#XEL(=-osvQ`mUiAn5bAD!=Nb4pAbK$zxOO0Lz?$ zPuP&Ej5;IVt|t8{8%|u2xP7;z>3K3MSq9VbTWm~Ejl{f~Hh7Y}nbqG7p5zA;=t8-fP~PCQEz|mW3}I_zjJ`vq@=N4S?H1AHD5Vlpay6k%$yG_*(c=A3Waxevgc~l#Wu%_?bI@|C{l%y z;m)q_)F~La$l!T?Ds-*ByR39Ex5x(CjahH5w9rPEFi;UO)*BQ9IY5maA8DN@GmmRC zbYwpa6CcYReOEGIYb3utW@SQDAJ{f+ym<>lCR7{^DnIhrYi^TbzWUD}{-hEy*0pI3)HRrg zoz0(Q*;*Z9xFR>&$K38L4D|OvCczWKe?8u6mTmiTb~v#))_flP;9kxJjqY~OlM}HJ zxjQYGm;kvW^_CcvR(t#e(( zg7V&6+q@`@OeiM_j!fcmfFwa}535=?{?iO^=;0@L9%+BjiknvxEaQpO=+fI|QS)I; zYa``Gz|!k_6+wJBQ`0cKG516)YQHu!o`1zi*{G(|rKU|fG4=2(Clcs;k3KienNBNx zf5;)QKL46iaZ|NX$T@p+^c#!O_%n(-XJNyyspQ|goZM1*(+JX&kFOD2kQ|-6S@!kz z(%7VNNvyn^^8+bQ%Jb7>cjO8~kJrk#Rw z?M`BaM~5O-6yJC%lJ}@}huzkhL#YXU1ne`XRU2j8P`0MARgI%uO1+ZD{}>lYp`bmQ z`G7DPsXKWyh*HBaD?r97J*lMc9>0IbdFX?Fxjk(X85wM@evqom)~No0b*jdsNSPsGPor(Ny4L{O%gdT77n-Q+(rsQx*P7uC7+0Tseh*g2b4Vh>?!&RJ}_idrH#G zU{hYY9eu%x)}FARqerr0rAM0W5fj+iJ9V!ZmFH=1^Nqe$#VyaS+1rfOI3GXO%p7=m zdb}G4gz~_s)q%-7y!E)wGW9jP;`x3H71F2kM&#X@Vd9*G@+EzPO6F)Alv|9nHU5sn zdVhJE2?agEa4@mMFg-os$TJ_uQrR-_of>9qJ{CL^n>N05F&wxWiM5vbhziZ!2`f=; zrjCBp_t($tv@5LKeFdp7r^pwaw3@8mvX0o<0vHjL)u~q6JQf4B zyzZT-F>!GWJ@tE`6NjIr4=VAe!J3@ad-rYpKeuSZOSUXVmQ(L|-C|4|ep0Ux?MFqG zI4;DM@KKYsny562R%l6{D2kZYsw0jq)7eZAB7?i8pcvu7+^32Gv26rxbTb-K`18u9}i5j8T z>ZyNicSFZccaNU8mwYXsYw2lDWBJnXO-`bXWMXC0KHK35ymD?Y4e{tHvMPD4?j0Pt zaEZx%F9o*ig`39ju^`)8KC^v`osi)N7=Q!D%@Ridji8&a<+S2%o(mQl+J<|vu;lVy^q{%B zM8+Ly7`Z}P8%oiunX@zBV z7@dIqWSOBoxp#Eu(F#d4??~lhw#`Bk6VoGC*C53w>?b2VyV?3AgZWx}#M88awVtES z!=Ga79!>6*9c%uT;7pY>eCDQVRBe&f##4)G3N2zaR%E#VYkuh}^|z=_Slc}=J@blN zK*-_l7w(f=HG<~4`H?%L1%*h4Jb?%ZIH&AjhA_90eu;c3HAP^JjEhKdfi!IXo(LaB_?!R$mZd^%@6#(}B})6m5DgJ7XwVNo1)pIB&3{+FIri|w)CZ=Q}G zRqZPkZ3WL$-yxtzr;mJ33}_lb^Y%LghOoqT%oIpdU*XJ1Yblq|>!qBya(p_WMbUEa zP~*>V2)af*XM#rD2#n#n(I5s_%^b-VH5JW+b!6u1*uGQHp99%9GnhX@>mnbP7i>v% z-XZT61u4D9X!XMk+>&aLW5qD@HTTgfw-k*6y@xY#%S)IQ1|g0i%pdHIJ~&ZPMa^y} z277?E>QGOYS|40+QoFvcx#;e2f23yIxRBw0MmGsg%M1h6CL6s2PGgMYJ2v`8R5nyI zlkZo%IFD~c^8D2&9y4ml3rKo#xYX%>TnFJjvDY2y<3Kf?e%Y8`XRE62T^iCQM?rnj zjZ9wQUJU06AtVc=7^_jJDiW(1R?7*bLb98qG|nBh-uwRP=)UU$kJBFuG2^rJ)7VQu zYlbHpHQj4#KBh{(D~x?Uq*wHui}t$P)LStgoAUOg-Zq8AV9Q{?X6@+LN7g*f?Jb&} zw98d#-}6E6GHP=OM(s+8BGFxbEB{b!Qr+SSH>d#7bNlRv@3=9c2A<0zxJWXnZ`O+e z`!qg(HTnuV2=OsD;ipUlC`nobBAUwiDg3Z=-o+PdooTlpOx2pA!CzqajCeW1%Rf>7>K zo_z6LiNA23>r2h!B>@;cLV_)A!ls>L!v=Fd6QD}R(~jk(8nYR21lgBd8vE#y)4q6Ii9+-j<0|!FVkt=f>d40TlJkHRHi)V=mSyX%iob~kq z>lhxskra5qk-^Ks1E1GVZ@|636<0*lU~Hb#?V>`t=I_JuM2w4&Y0-iGLD(1dF9kln za5OWkE)7sKl(2sn8t&_0zNY4wCpEZt*aiXj_Gj2IWj=tO|KQ)<^0sE*4p8z+LPMM_ z2W;~|Hfa&>Yv0{uWvb3L0u(Y@J4N{RiPfIRdu?i0MO_jy()27K99i3nZAEk$`guux zH{Z#`D6FN7oi10@R(bdil_wn^MR!lu!v{z>KOl0@z@#R8l^b~=y2p0$(vWj)uYGL66am7$2gphBOXExtNG61Pc(GH8z`)3SqIdFbL?VB7nE z!7FH{-kxq0axVXcnNw|w)Kn!wQqLkfYRdVu8&BCwVQAmc77?Sh%B^DfLSSYDwTN#g z7ny(;I!Eo^u5)W*G=_1p_xeio5UQObP_wVQyFY)>Ft4~TvPhJMhSq7ZW)8c5hltUT z&zaUe@O-F`9dx)vv+X(~RM*YIa_c>8WV=vO=`dF#`-FejrapqJl2Z%`u8nO@D4j*t zTt-)xnj9q>KPP&sulRUAYr~kEf6=ZGh|h3Lzb4A}wNXD-FS0-J6`%=#rR0C#KiL(Wp zJ)U}TJoB7QsFYgNe0?m@N%6Pfiy#MjO$Ff&k%x%a!N-}CS)X@Bp1UMfuB%p@&JgjS z%mdy`;McI;4>?pHdevHOkk5(c{|`0cqhHXM0oOo8f1csI>j`hBUK_fS9Pi6$b7vgXh>zMnoZ+??+P3G$S zWPhjwzSSP%Wus6YxAU4)t@PQa%3y*(Enz5 zbvyJDMaNisKzqf4SGZd{}NI6v4z_X$R44Wtr4fDy2Q=_-X_8N>t9Y4~-##6Qw^ zqj{*9E7B;d1LCyLGBoH9N*(ZVO?47mEXRai{FpnPIDvG%*W*+!;7b1BrET)K#t8p{ zpELXjFJ($%XuZ;#Hd%JdWcg!iIqQHs7 z30S2Pk>Q1@{RWKH)RHcjwroUzO-!Sao@JE28oX8SHto->$MLM*te`BwVt6HQC|eBK z9Rrf+dfPaulmz(doDZKCQ`k&c+YoG~ZF*ciC(z?LhP?wkoDf2zu<+`a9; z&l6va=g@uSUGo%Alrg{s?s)GP%{y5D6~cDbGB7$ROU zFHrhU+wuK=a)3YjBIC0eSWW`A!D5_-jf_%4?b4KXTM=YHd+X1*#)hl(Tv2{X$kvMXNM!&U^%( zhw``|To5w;jClB9It#Vw5&%Y5VEZW@{Cme!%agggWhZAMTbyGRt-C%kf3GOix9DE` zqV#0R`kJMh`s>77lzHr}wR(j!KORo|A}Iv==uT(r5qk6TSpq_mnHa zfKP^6Xh1JSBf~_oeXu|IKu^y{M~u6kOmy{u zQ|&oMf!=UB<(;}f4WMg~`m$@fRg}$zQ7%>-{tw2C1{u7?z!L`i9W<=jG0%YJ@?CdB zl{P9i@pk&M&_s5y&!|;vtu!RaE*jJ`6MmLX8p;J46&Wm1!q!Y03osDce9d;_lu7OE z@Ht$pJ+jeCy}w7)-Y>JONAFN@>{4VC@j|tJvQ*$whs&x%KJAuLPA$0#=O;)nDYe2PQM3pyaAqJTJO+`Nlmpjv`}|T1gN1hpBh^W4X>}n@}&A%^fr;jY*r<{T<>qqVhpe5!0yFfUc_1QTSl0 zE(qj0?x10?)V6H}HEu@r+seZQQMAPNqcHs>nOp9M1^fpjoC1*Pu~iq;GeY6&;q`sz z_+wo7UBt^q0n;<$czwH*Wyiv)E}TVw%>oGcz7{@mFz2AA6x41}zN`9CB^nPjsHeTf z_?R;@ff_bn*;U+f6qL?ZX$ep4;3IF(JwUOJpB&CGRz>NHH!0!=l>mzcjcI`tSITs( zu-t`B*1v%dQLv&!8=;_!pw7c*6d$VcloT6yrU@{m$Fq6kx75V_X$mqYI=n(l~ ziFj9&IUq4vwP?YAXMpY8R@*-iWL5*quP zOQr0boEE7D4*kR88i#4+@Ok9t=EISvr~KBZ2Mpq>mjg4mullUr_Hn(ZHl3PpSU~4t zy`RpKK70VCU!IL}?jtZk(Ld_Xi5Y1^q#lf)_QngWp#s6lrWGQqpxYC_ZU3m-c)!!{ zcO1yI-4EWUxLb~;MdKZ%;e0-SPl6(SG}GF2K2ZVTt)`FG)3b_Oo`@kPQbv%c4$gd= zz3KLvYuh+Co|Kh;R9~^J$%J~IU z>0^64F15>`84C?!^XSv^j~HFm<~yy)gU(_fvYa+FO)kXyO&9>(G=^$K#O;}DV?f*} zOGZF~4AJnk+=bJFmNlK*9-rV|e{L8P7wYz$pS*&s2M}l1nX3v_bN29m37lI2GGs?9 z91%`GYN19U(M_XkwVg-FY7^yy&t*HNf?*E zV>|1PIz9Dm87tP4d+sKdXE}Jn*2R26s$7n>(qfpNX;YMQjfw_8yJ$#S?_B zKpOq#oYt&;-x&)GCWmQ~aQJs<|4()OfsWtqet8h8D>|+NX(eQVnKC&J&55rai`~7_ zjhu_?k=*W&iQsB5`_3YSD2d)9Pl8-{^?t*#=({XeJX)EaL!o+KZ<04n6D}iSYl}mA zzM5?Vm~~iGNjMB>3p{r1Gu>xj3kt7ZLi4n`Pbapoe3e&LXeQ?wwZv}bO37l))l>py z4jQi+W6j(4EWY^Xiy$ehz7%TIrmYh{Q4Z+7G(gb@mk%HBUlJm(){{Ed7sXp-ty&v8 z3Yq;Ltw6)@#^dg%_ZiTzd6%hbSPC?Scd}`58@w2>q2tbTlQJFxITtX<2(i9s!FRCZ zV`u0Q`Fgb}qt_;H>P?Fk2LXtGSbckyCk{o-_0tvj z`o(9jI$r3+n@ncX<74CPE5zxrSkrbo3Wx+*P;9&EcwWYH4i6GBKJw1(HE(H=_0i^8 zYHJ+Xk4iJW-x9R>ME^N&TbZdd-!_4BEe=!xGv0oaDjxcxG!eyidJtTC_C&wSTPGtf zxemc+tmcXBdo!_M(&ZDBwf`br^m~wx3M8+cRb+6l06~uY=REr6ZtusBDNbQO=}Gn3 zlFXpEUFSxnI;YtK4SsN4{i2TvNAr?V?CMZ@GzSIkqU!aq7`a1C??KDZ2l3mB?lR}i ziQ8Payr@&i!t2CURE!9!DTOW*FY7utF54mAuVdMTgNz$pVrpzMDCW8OPu}p^kADyC zSdA5>N9E~*U(Dw(-nrersVv(+*>`XJiNk5G=BCwdMRbePJYp1ctcMM7pC4RO_2UXG zI%fWrWz=S-rO`qmhbhXsKw~@#xN6(I*g;owxgOj}+=oRzZ}7`7*PoC+WhY*h-VC$F z;~98L#Mtp*&eR=c#R+zfDi@U2TA-D6{@pH6biu-pwN2Zk!*BP(z1G)>?_r*xST#J|UL?yYQYnTTYvBF^Dk2RlXaCBNCF&_4O(XqE&|H4m5WvZGYU{8ztbS$or2^s&Yt*+@OjUbBI zfXb9Uq276|_#Jyav~=Rc_svK9$?MSXh@Z3`$rFQ!&Ca~*0 zb?msZ(Va8$fpV_M1zNrNO+3dQy>9zrKu~?aT>HZ?TU|JcezO>CzPphHaL$x(r@xQf z+Kx6B-Rc^IQM<0YQKo!gQO?h^=pDU#lW=Vqvj*Z=3PE|l5_qzeAMFk{8Zo05p0xq8 zTLldBS0E-sh8{W|+cn@}lv~KXVci6-0CFbMi#ofe&qJ0v{XqTc|REvEvF) zp||@4;3iLAAE5~+;~B9q@*+rk?@ZWR+%>`$GdJlX%|%`Tdr7P~n&$DC(J^ujX9}_B5pOfP)Ow#M_>;8=(-F{^fSY&)po?+1ne~ip(sCpVLRzElNkI5 zoPN#0HGBKp4I8@5Qr`p54__!rxFWPgPG)vSkaa0lz-3@LxsOx(+AZZAHHw+;&S72~ zZQ4$^qU?q@h2F&Mudpkhl4}}Y;FZVO*NTfZ=>!JOiy9R&SB0~Tu?u?~(VeWv2Tx~t z(Bw+0yU+9_qY%w^Kfbdd6H<@snAwfKOIrt3v@R8k!l!M#Km1^ey^6crJ&rgOf{D&Sc&aHF=P#7nPe5pUZqM$EO?a%GkPgL_d=Cn4`5KOsVLtl%+ zk2MfqWonR#5kw4~G5cwc#Enh;I-aWJDIk4Xc8`S5Q8g~s=3lzG=gjBq3n=E|I9egK z(i_dKqo6)}DxlReGgkSiS=M0D{x}KV-?Hq#VVymz5TH?r$+eU(`uey?ouk6j|CS%l zhGp?cUNDKam)Ta6hf$G5ugA4VX!u+`2`~)%9D75z#?bu3t5l^DJ#9>y?9*5MQjIii z$H&$n!Hv!Cr&zNwJ$1yrA3tO;Bril}uZ1*6_<0yo}0>gmt2)PLk!b#*9waBigU zX+0BJSZ}t6fDp;w+lxQq+2D#tf95BZGkJn!URSdDl3MX>S_ZNstd9&Wy7DokfSPej z|B&JQrDbbz5-V9ml9;NGI~q40nW39ng*&qwE9RZD81lJ)(oA~0q%f2f_t({bw^?w^ z>un)@#jvHfoKIQ5M-$^1-z_QXA?OkI)qY5>m|#In_*hq4l;PxE4p))FVZz^@_rJ)~ z5c*deX>2CVN%5={tcS02KD>_mt(hK=F;7uPc+y z`lP%6P^|Sw0iPfxI<*9asxU1+OYL`=#0qes4XPk38%)Hh@pjpSKaKV@imOyVS&l)J zS8HUH_nwqzitqS+8p13?nwN4>8cA>CMFw5}!RGyO;^d@gMRFtToDD<_+9UGRs#qWJ z>CBa0#84N(gu@h6LdyT44CBwQ)L)~=u;2;%3{q&AxF3F&W`ZgwnBsTa%En4mntjg& z_why@wj91^2MrjKbkmJ9DZkiB-~9Ry!P>u`l|1!ZbSC9+g6FBU|B!9{>#JaS1_>aK zCJfN6^7p*izZIMU=~0)zt(YeI`|#u6#8Zal4tCrJ-%TN>U+K{A3&NyBT@C~f=Kt4j z{+{NMr`E($PkK8h0(Jeh)S=cS@fdaa13HK2vj3-zeo%bfZjrkHib?&oexR1yE|0qW zF|Zo-N`!x%?caZRqm4$yNOv;iKKE-;K^;E+3)JNun5ils{_Sl4PW#_Wi@J++JxW2dgWUX^dUUCz~RrS*T?Xc0Y_Q{GPbWzBzER6l0@CavKi-=qw14*R$M(N|4(_4( z&9%xXd5V@<9TkD4fyk>qFy`edth5m|K{Q>52@QD+%;Hl_voVX$PG2`j{@T0H(7rE9 zYa7wl?i-`q{+RaBY0>~|4@-&r5?FXvS0sMz@jq7(q7oU0Fwb|$EtLSlJpjY?C-5#^?QT6Wpyh7;b2I>^7d7XCB?59}g+PSc0iE|F)FB zS!<|-#<1P7Ad~VFfyC4d^ke!guI=71zh8$5_z%%!Ws8SbQ9(B=8o@I z{ZsYxAOH3lUvPHz_)oGQkX2yb=4GNrh#hyYKe_hT0p#naf8FZQ)DN&C_z?$gr+d~nRl#IzKa{|rlCM4Q zsOx{IHu&QaGex0CMd{{rqtt+DXaxVA!q3yCLF=>owQf`6{dFr3o`CpB)XziW894xS zEB$J#>W?vh7t+vn3t*B?SPkCq>&+E-GyluniTJ)@}N{U^b^8O7xnx%G@MTVR7%v7cvB`xDWpZv?pYVKces^YJc zTyxEs>c2H)?bj_q^_7ho`DvD`;@ZwOCTo}AXWCDz6a6kuOg2>yfBjE;{-rkqv)6d~ z+Z_tMJjmFvD)UXsSYcKjHcrd__)jYgQA&0@1k;%=-+cLTJP)Q`81UKKP_n#t6jf+v zQ0BPsuBE4^>_fbKB2dU)YpQRIp(TZ{$m(DVmGSpeTogYlFf8KkV?zbPX`2v-hqr115r0>`{bqc9P_>2Fz zq$1XlvKudC@wC&4Dgu|jd zCyp3#?G4?@MdV^B6Q)}^t4vsR-X_+uKb@X*%Q?jFL1Ctgw|r_EU#_W{I`rs*5&{5pgX}4K1E8c?NyD>mfpX>g_8fkvdg^Cb@t2{k2ChFrR z71gK7{t~!%j87L~X0c8YH6C6ojj1P5SM>4MAN3Ijt*Y#Vx>Zf*E2)|N@Pwy(0YOiF zylON;de-k=7IOUumy3{CZf}+bPq@&7}2U z;*{Wo%ney+UFwJl&w-JdnL^*SOH;Fp8Xr7K4#=eLoDb~y9#-Hkd5WI-=&ZRXmj8>X z(t(cqmCuYJm1@Gh=<2ZXOQ%+;ClkeF69-G8{@MXl+N~!aK6b^1{)k+iufKXdRcW93 zHuK8sTcU2cfd+@z?OU`*h3C`6ho!G1|EE?SDp1cEyo1J|gQQ|ncJe(n!WU#^m9Kma ztb;!Q*ci`zHeuiPRTPQDl8}Gd3XFzh8riI8c78V&u1(lbac@RL%p}hB?J8)-hbdfT zUxh-eNK-fk3kuRaUnI^|fKLEnz2tKS-*UK;J31YU&CcC;_9psstKf6kwd-<8GE~&^ ziy#C;$UPT>8!V#JO`RJ#-3q5rMKsb0I}m} zk)p@h35yisGCsB=EtH>WC6mVPirtn_x}7E)pE&iHpf<}BU-IU^J2dJLEU;lQGt-za zIT0gHR7I@s=5>R-Zt1j5y5kIrh}})AugDhh-cQ)B-e7Ts7wU9}UHd7WpSg({;2czB z(4!iP_J$kYnU<5dTO3*h>yf}cAXgKK6Gh>Qzcn1rY3-Xq0E|I;?Q0PRN!lifhY&Vp z-6?SIyHxL&8AVQSO@d%gFAu-n6e#6IEg*Opg@qSedtyC+gg_IKT4yKTuC5z!XccIe zWBq%hN}WUh!_bJ;mquaMkEO^XMwEf@V@e7(JQeF}OnWS6TyXo9{WA6?pG*eorOnj< z&ArgMo<~1Lvv2fO`%6K5;D|~*dEn$LJkFDGmbtZh@qtR;KwoIw`dXbzsiUuQ_>tB9 zVeMSZxTAH&eo#Pl3+Qg!J?GQ>cRT2sHQ)LME*yi|3>s&?+6Z^ObLUm zM}%&3N5bxU&uwi}quCr&H#5*YWmWKC1%ih1TVE7*f zg+LW0ZYq+?6Q~ePUma|`Bg-^wD?U^=q+P73FtnXWm)1ap1li1A48mudgGvyGU-!my z;-FP+X+PrDd@$qcjm3Y^$yso%eyb&73}r~VJgFBwjNc!ORxi#ndHL1@2p_rAa?k8D zXX@pqW-`2W`_$H2(EL&c|7kv#&{~yyu2T1>KzsKn(J&hF%EgDI@HnHn!A0CYl_ZZL zEwCGTmQ=8wKs(E&eR6xQxNz8}5$cF=$6{*_T37qp@7|zqMT!IA=vxpyQdA3cJ^lp- z9z!pp{8p`Qzo!>Owd2xwwFhsM1^gQ*`o{r)81bD-8KD#p4$*$bY>L#JE~HsMeCL1LWO#`+90YdRV+FC$M?-ljuy53Hyvf4vZRbVqUm^9`%~~< zs^gAn#^&n7O3hdl9>XmYI1=iSR-gCJSQ1lG7<(|ti76OrbuuK6=>$5Alm%UW_;OOI zDpp?Lat}=UV|%!g!b(Li2}`YYKAGt&f#UVbw8cJ)txs5|Mc~&PvztAm1UQHW9X`N* z_0?+}W6ZPX{AHHEeo^*C0_olA`5ig2rg8VLF}|>KKdUX@L7}Yy?rneQl0F~&pco$i zh@Z2aUQFaUi}MPd9Yj|PK?HR%MH(Wh%9&dIoU{2)HC-9TJ$1&W?%vKpp;u%3<{ZoJ ztaNmvjix=Jy8|5s{VC<=6vg@&Vle6?dWHh|d4q8V)pw%!9nIa=^nJTRC?7`%&1Ub5 z6QwzNuU&|m)=b&i)rCId*fbCvsz8E(A6WvLz4p;!aCy5efCP-oqOAd&Ceux~uj5&@ z6h%kJtu3{0#92??yI)d7R!P8(|r51^}Sn?koesF(tX_3Xl}8E?7LHy9i5o!^pGQt_e7_w1HY zYPPwO4Ab?P>m~Xho5bMPrkm^^ISX!f2vXE07ju*h8}{0H^T32-cWa%4(&%`tIV+-K zA;>4^hGCo6zzP4$>5xZ{om+W@m4Z&L4jFoAwU@e02jcJTh+2l@g1?1veM~g=$e*MI z^etcC5y_Lr;rI6KDYg@nqz^TAYa??D$1X}qJtt&L&!*21&j~kXCr(IOv%*O%({$hW z+a3Fjn8m1`;tf}WOD_w^Gz>SwW`)m(5>FG!pj+u;px8%{EF4gF#p9iYh)-zp{1MiY z*MuE#&<__8*P!YItF@+WySBQJBQM`(P?Wf2IiXnwc3~5^pM6c#XjvzV0eCz6AC_Kl zPm=5=-9%U);_9Vys$4afi`|}*8op}t{F<+W2T8_WW zC7urD9>XA@xb}LqLKSc!YOgA7Ln#h_ablDNjA(mUlevL>cZD5yTPSpqZ&tSdVtnyo zcRTT}`Pos=RHUPC9J!v;Vh;YyRWU4(7{HkxE)@NvpEP5(pK$p2eE5+G;$rW|=0Wo| z;cnBLa>%yZ`L!zV&Ii5HA7^K2e(C|OmutnzJh!lQN|-=%>yQR43{sGpor<%?k23Zw z#*Jp_&G6Giuj?Ty*QL%GT*LKZ+g5|cu>Fwk=RYP*=4Xna!IX8sQEXW!ma&R2jvm+g zGyD&9COG>Kk9{=uhsUNkIhaqR)(T2;q}U(JN~p0Lp3+yFJAb<+6UPRKO(^)W!pX#ZehyQ7;n8usbS!Dz8PCEqGiAT_tWG zo3DQWKm6S3Sq?!Y=#&JcGJ4(62c&C(N4f{~w35J6`LZh2Zx>#)$`#9cwx|Qn!oIVIS#jlBL{n7!8pM6r1hdG_J%oz_~VPEmk_(4L{q=>2DiRmc0kk??3oYVn0BV&*`4@0iA!5- zA5^v7@J8;YcswpkBHsh(=kD%@37W2z6Jj@#$Ff7Rj}JP`@fOTL2P@SC*=z&;2L>4A zw}*FsTXW`@H9%l!T0I_?Xq9VA^)9*4h(Tbm#N@N9`TDEcJFj9;2KGk1T4sy5&f4jg zcZ`3(Q|!$2Xu$i)eqJOpPzN=>&KRvgr%$xl#-CJ7Nx zu4PxiDZzB}2BkvYR(PxrQgh@pyjxRmQVp7CtwAfsQ?~;E)6Cg>z8{HXfrQa|x1|g8 zx1}?$I3Z?tDq7%QqV!A@OH%|Y4ykh|r2BBRo;FjeYAqOI8i#%FFby)b;LI?~vR_Fu z+o?QCAxR)>JySaSC(A6g($xW69F?hp6Q4J&|YnX zsINyI!Fvi*J-9E&jnc|rLec;iOM|Bk%}#5K%4Qz|I?wd>WF?NbOBRgdpG6vgb#Y9h zZ;khtw_W;cNfl>531xgU_=c+YV0$5Uxl>T(wEDcb>E)E?MmWv}Wr`GdWcmyRDM5O?K}RN>UcAFfJ@SfX{`k-|~^41MFS^TWdM0J&k5Yl5gU) z{m~cB7gL7rG1(8AS7z$$a!JHu`wZ5xuwdej>1s~QlSUbI5Q*F;0^95XGjMs~+EjRn zc5yMQt|O68eX!P(u_P>81dRCR(z{&9=aUh5&=gW z6ZhE4mr-giI0~F9YL5#QO^k+3dt`<}khv>_GKfL<|?i7|hKqatNP5 zlAh0=PVBnRFuM(drlDB7XyUhX8InF?Uh3j?ui5n>L(&xyiA)QVGh9O&k4$ROO~^x; zTvap6c7$FI!|gi!l%u-^@nX5zUnYf64cUf%19KG~j({uDQiVhrmyK_K!U~C5YIyTO zj%84D1PH&7>%56DY8kf#cVYkVNk_Ha{slYFYGSKnIS*jAOU$KZ-}7P>iWv7#GB=Kb zk^)Sr_d@%thU*6Ah}iMdGU|33I}eO6&}o&UD@DX%ysC?dmo-aJ9z!p zIpo6>lav82FJFjXq+I*+hz<@~KWGG9FWro21ds-!5;0GS>kb4Cw55;b?T*_C;7U3` zZx|{HejI^cKA3n$x`ix^g(LxkNLG2D5Zpgpr3bqk=PX#a7C~+IOW$rj%FyCEzI1W> z;(vVppvn1+8>^(&cc{&NUT=}>(<{iR4RFM6Z%X_Mvp{y#SGV!Cek;czzCmWHPyM1x zjg_cRD+)@f^X$p&ZUy1i4Ps(oHpR%3bNMrhmxwvn3UD1zWvu!HIciYu6;C>yo*mtz z<(K&UV67VG1Op+8JNX||Ca4K9e@7wm|3o2j77~gDdZ>cf>tak?4#-%vjhb_07QC$o zGs;PtyyTgQdF+44T5q<57?u5z0>6}Z4Zm>PBjtMwocWCC?2oV;gy|gFKV$GOxD z!@RUTHPt0!8)!F_-dr9-%OGJS*f>f~6t8R%srVtT2?|+mwr!h})_Nn6j{m-_1#Z-& zCU`$q91I8B()7+?9cEIJM*UPt(!KqT%ql}Fzgth1Oh*Pk@g!W7zn33TWls@d*AL5( zc`4rP{QjxxY;ucm-?y9T=rqA_mkzqF7PD6G0a>Sjcg$(4Q@nkbS`khDvLHH69W?3( z(W^erNkEx&+DK*@bXMhddwiJR;|2Gx&O;#NxOXe_@U~j<1N8eobR8A1FW(Z50ykWD zUtdJrTk`7yICExqtP;CF-GG5C>oA~Ce5R7DIJ8quK3S2~J8ts!sEl20LCUE=;6)Sc`H zmL>y4j0Ch}+gZ`RR9eu%Ik)?%&`=4m0wCvr>hfa%CqYz|QnxOpad-RmSubqLQknBd z0Ws-5*27qTa5Mj)|0z;48z5!V9+I4iFG_Hr9WA&NhToW<47H`e7MiL|$y~I-XD|V023q)a3e9?9$6HDP8a5@joS*_&_M|UYbmjE)(S4*;f zX|&j#Dte}`1W*HbXvkxm{oZsx)-AH83Y5y#Lw_5(-*?i-~dBDh`H7N(zqBQ8b%#pt* z=zri(^!Rts+e^oZh%|q~F!yAqG+-zQ#^Qhqr!;3XeOw8P7llv2AtL4zFuUcTdV|+2 z?4)>GsYq&%qR^>&BAA-`J(KzV_eMcGX}W%p&lEiIv=@s^RmRP z;M!t;N7i6ZkaTPSvSaV=$1i&)i00WKKq3EI=nuP>Twod)Uf^;WZtJOlXg!x0JA8)+ z1R7LHYTj(ybR_5_8yR)zHYy2~yGKF*H241?Pem2+y zFXvKANB~M*GO6>m08ouJ8cFCgQUBEL^Et2Muj(8`s76oj-GP2H#CGz7T} zkM(0=wm>riqHwMTE7g|>U-yS};?}2^g_7 z1vIAgQlsrS@_rA5`UR1L*7!2naxdm>q9q&IqI93Ooa=Ag&Yj*>{6~^vzevRDo-aWrNQ@k#Z{aYF!5Kz7nf)_vbcGv=w;mB zY_`RqBGwmAJ7DB&C)#Hw1m;SKPB=AUnJ%mf+? z8edDJRdXPc!&W)fAkdW6splxb`w&ySs;5{etXHBO$-t8g>^#blX+1Q?2oJzKzmTI9 zL=EvE2xucp(6}ECh9 zy3*FjgPj!QblTk^s_rDHV1W(U9+D3>jKKV#R5FnY+VX@Qc2xGCgiawT8ZB66s%TzB zvE!olr}ST*Px5NN9H38t7F4Cp*IWOY&Y{|}un3sCXnt$(BsGy=U+sTcFc3C~nk}_K zTVpsRJ)a4dNto3PV*vx(4z{tp4Q5fnr?|#2%id}xGq#{~YD(faUK~m-F0I#mqC;so z?>B^eRKCq}Jw`#xDbXPfk=`3pa|xu#1WMx>gZUAh5zN(>`O0Yy({;1LF=3r@+GpKS z#C;%7ag^wrz&>^3;xlcFr=tV&`7Is;ND@FiKFj!^ax96~8%*6KKGOKi85=GCH4(gV1{ z-m~h&D1*KE!XCs&{CLPI^LB7xeWL{D@`l7)1&C?My)fG7T>(hX&Q@GfhYa}NKPLoe za5vXg7UG6RPyqG^ta$)SbL|R-q=i9@qgX6^9t=7QM2z$3cLN-q%AMNjJ0pD+(b2UW z^Xs$4tRN}B+yA(9agFh`*bVD9WV!^`->UK5F_+7)L8HlR2x0L-u^jdRLjl9`cIyt2 zC+;|z&KsWRWW_>y_;sg85l)`=6WDqsLGME<>U*qh!ognQ{?A#tTQ&wZgY_B9XY(J& zr54(V?H-wY^Fy=3jyn%95eZW;_I6q=Diym_fyx<+F$>AQhzT0M(Fhic(WA&81z5R# z<^AIDNtd}YLLuKadwR>M8>VJTnu81qDze73>5&^>18x8&hUMI6ohkeAzZKL zUWv@QEF%U>dGJ=VYZV6DgsZ=qG2b2@?u%YddTq^to`Uw-@H&_rC8bUabxMq42#Ah~ z6HdF8AXi*!L*edTY^nf3AG#mj;5}a6pn~cE(bINnSfJ|R2{!lrAg539AMGNlMq#^|R=1Aqd^yd`og(F? zIdE;UYd5bgIroKRsrS{URuptytq!2aDcMQ9+GVMF@5|^kL<>AsYY`V-iSCzP)vC!R zpBvdsH1wJ#SRzWy3|pOWXLA%2kDe(rvZ_AH@Sik!JTbXMyx>crosQzPPq2mTKe^97 z&y>U@j(VTvWChVX=ItR98>M1JkbMcmLd9Xf-J@X_s$gHQxpFB+4EqfvwsGQla!Ks+ zI1%G)p^%XF`Wr7^gjlM$CQobZ7P3{R9DDNm3-&B7V!X~%^SWd1_PRU|jRb##a6Go_ z*qh4ue)*r`OvI>yXHZ>!_Am;@UEzWmXO(1CPh~C%zOo#W($8sUfoV{}F&;92L^Dxy z4Kd@|0@bAb{-b;B4f-Fpw&+h=s|iE$ZuFGR`{jWR9<(?tP2T~bH)@+xTv#7r>o+CoMQk;(gNoVSmBL9PwDo9EYdwuzOXkq(EU7;X0^(T^{awzlgD6%g2%`3waaT?J)!Ou z=S3pM2qUkUzQoB9Q&*5FNd0wIT_WSWbp$(qN7@dep~bGvtZ$Ro!rrST@vm6`2UiTb zu0dwWWMacaw5Z;^llDqx<&=gxx7~8kg8zMqHy5W74Ls88TAop=7f%LkeLhMFj-zIR z$&g`kQU#pHp-4yr)0LAbDuFrI)$eG~RSA@>#nl2mobR+5TV+Ip-UMX%UyPSXq#QBj zAed9yb0J8|dw1u!Q4D}X3!+PDuVPLl;Wf7teAY_^U#y|4?uvHo@YqJ1{_YuqLn*Mz0=F&q?qA5 z0d0#=1w0F4Hv*Oh~bN$1Gcf+4;G*Ja{;t$O|aJ2ovL)31;1R4Dr01>>TbOO4eFhxu;Dj?={ zEY*$8C2+%^H6phh$_5BJZumnyN3U1^qsxfM^AGtf_?LX{)TXW>&!@8v3~FuI(uHf> zm=i8(z|LXy^njec?!-8pOTSIR{+3U3N~n^KqW0W|H*WwD`4UUfCXt0JUK!M*v)>j& zQpy`$=7{bcG@Q8E&QXgjW+R@k^_jVnc)fteu|si8xNM$inOFr>wG5ybAfPQx8Q|jBuTCI6b&2e!ykgb^ zB7GnD?rlgFizUt$3zeyZ-2!AmiEKJ1j9deTYugVJ)^+}X7R2CD^Ud3p_SoD7UXIr5 zQPnsXQ-xoo&}ogb$)1m;(GB%al+4l|u7xBc0O~-^MHJ#J6Z67H(=POx1@%O;t!VJG zINL)GSs%$}aov&`YCj|umztr}=;L+fcSv@WUD7mt`yDhE`TYV_6XeG}AstU%?k3xA z&LzN`DR~1=NP$vgTK4dw5O6mX0uC!>#LuXvTiQ$#pJ-@ORi@pl0kVVaT$Bun*4d6;{ zn!l82vu@?V~&~V^A8uDL(B(FI^Z1nsZ0<%fc{) zAe=HQ)A_#b_wie|DA+g~u5rT>#CZXIGQ>Xl;C&qn#;Xb|juMfuUQxeCY~}bhcQk%m zdCkd7TC{Wzod!Gq9$-`ip2<**4!WwDFNf;@vy@YN8N`u4h-g*Ofjm0vqfee+2#NZW zmB2eZ^*}39mMF+_xNMs&GOgkzQFyXv!#Z0v_W2odw^^6|(-}?6c4B?ETyO>~l_G**B19SwaKY(rYRH(Hm~1`eWyk zU#loSSJArBL^oif5%=|oOHraxYNy0HiXoyI-WPGEcE=5|j5iC++d@_@7W3V?-=%T= ztkwQ{tl`p;+o9JC?7#r2I~YA?nXC_-_Am;IkR|!{KZdOj1}esBo-Mey8}LyuaqcsV zjfT*@l#{?B$xOuY)niBA-UeF+zdKmxU9cT@LYwru?WzTw4|s62;fl}NJ7~cwrmkJJ z7uo_cGV^d|*EG439`(SN%)a!}|2$_0N7<%KMY@6a!8~hpbG|r7$E@$uG^v%it{YQY zG;|=#gUe>6t=u_st4vQ!oReCw?@fhpRGn?)GbrL#+S~Au2hTMpdv@iC6^nEFP`6+{dT#GZOxVKNohAA<^HWpu%O{KQ# zpUBt958RX~EK_XhzS0wU3)n{OlGb5=T~Xsnay3_S+x9cNo*cwA!u30SKyiqwoXhub z_DA+{9J8nD9qX=rh5@TcF{{3y8d>t7;lL*ZJ>}6{6wq6Ms1Uy)W6gZWKtDt#Y-_m2jv=D7@t@u1%ceJDoNG z1m%hbAE7HxIs^oYITs&1s`>;L`kKxi81EPBa=v%z;@3uCf!Bt8p_qxH<`&)RODbp$ zI4L*R@sy)_XxQyQNFJ>5R#2|G9=dv$@xmGW}eT!X6WXs+)Cst$>xhQ2cl z!bAJ=aB2{seL>$_BKuvsxD!(8_v4N{y3y`^_2tR+-7asYU9Xr_8;$oaFckn~7l@MH+1(~;PO`jO zZ)0L0L~LmhjgaZm z`KR&wb>a8ilcebNm4ahwD7|!wA&Efe+r_R4?w8@6((1rW^+=-EF zn?V#eibuK7M&92Jz3@Ss_u=WlkvHcMA5W}Zy1{cMnIS!pz9eMl0w*cAMA|yEu(OE5xU(=LAG=W3;lKWQI zUtcGUe?u2*Pr&Ztqqb~jd>X4gwoA~3_r6t~Dq(aR3b1-!ys}(qzmdYiwAF6JZedKd zV-R$4!tPezYote#I2Ob!B6`!@SL1S;jYi)9YU@|`cw(Byd8YY%EU?z^a>`?D)MIOxYDJV8 zoBEYbEF8lf%R67w`{BX0TblEu+ z!Vw=vJ3gDz8MLWw@*1&j7=MWUVDoTmP(xsrM^8ld%H#b5RreY2uP+pF6nJ^${Af+c zZeMsy&RDk?z0Q^V077vm)rDV4T`W^}2s(Q$qtDBsMhv*EKuTvn=3(BKnwdbdzwU6+ zqe~DS128pNgmac_l5?=cBBgB^&2gM*uXY_huJHvL#XjjYIPC8~_8_edhrpRpiHmt5 zD!IM*G#rR}cb`3D<4H6%{YlY9%~9Sjj%l9;T=11B`yKp@O+u4{rhB5zP}Q^jYp+Thm(^# zA;0Ck*B?joG8;LCsPSHB3}f?%gQa+p&hSuyr09iEDyfq^>9-3TRBzqQ4cp}ltLO?^ z!sIXCgT2kwMYT(9OtAUNt!8a=P|=7eGrrq#eYHDy(ZvdwKH@W6N7^oAPIY-_RE)6Z zvEuN2qk(V|IYN2kxm*|_oZne(Z0ZZIpCrx`%|et#Pc>ai681!SPE=8+AysVPmKB0# z_ocdwTAhJ%f~LPnJ=1%(8|RgbiCNRTJ^=~Y2^emkM3lo-V?D9yL(=5q^+QF zC6l#h^zNWm6$!JfVz_{1r*Y6-tQt(w(J<(h_u%*K6GbdSvnR}U0^xL*s*_0hH~nlY z+=ke@J^EMlz+`*TyKFd$5j4!V&fR>ZHrh+M*Pt##CWIafddg5$YTDR3hT*mB(tS^I zPji{=GusxsxzuqUw$}W<-#rYa7}NEb?bIS^8@T6bUf}8uhY5NDJDa9Hhg959tWxRS zyL9~AgI|vP`IgFeO4waHGAdW{tY1sUn~=ekzE?tamp4q#$uO08eEv44wwTZ%#$u5S z9fv+o!9|c|<*-ZLan|Ls)ArqLVTF%iYO3<654ck^mdK$cPd4!&{$l1Ajk7dQ{lz*}gl^o(xX zpc~yL^R_6&Yc>3un(>8ej~Z@!Pd@Odh1Sf12?$?xd)w^(^Gf`>>Sk!y4tLk_M5@mV zJHgy9%b$3`g`_LkszSnh-_eefFj7kAuPfh|(-T1erX4BkwkzKtI!g!^*coIi|MW{m zdd@AM)gW7<@I_8#dZOh@1$d=9>usc9stt#$_?Zc$wXpfl=AjR+WQVO?M_{WXew=_ z70A1Te?uJ%J-ApAqptY8CL6RLd_@b9-&2#;NZeK{JSVd9QI91+QIljbZXs+G#Zzyv zrhl~RRi@NlT?X6Y9UCYShXzh^TmD{+-o!i8s`c5ZOuh;Xq2tu5^XO!eW#|%32}`;1 z<{LPWqgHrZ$a||JqP>tLb>2>$?|5GiZ(gO3Mq{$xCy|UwNJVEAMyftAuf{o_oMr?z zoqNX<4c(lxc{0ePEQw>{8P|?Jn1EfLXPZb?(qm%aKSPdzH_>C<9hTa1|7DKYdB zN3x!;;)u{z#JzoCXAM@YBZgzyS{SBZIp?rF&UIi$l>sqy(bmuVlkol4DO&Xp-(}}?Y z?cXSxb*b7vZFbGKm%qH_p379V*AcRp3|=bP!w?qk8Df7?Yb1{9;bRudoaD!+jz!2g zxL#DLoO7R~s@(s!Kl2H5Vw@7E*3jW3OW;Kg+9MzcKda~*V(^IHUDZvtjjt}dd?bpz zMb216ZYJyEGH3V7GBashqA=8S=lPM)MTiG336xUR31CkdgK zOfCAYL7oo|x54N`Hr|8wwNd;_efy@x>8=}t^xNb{hN~5|wdk#yPvEkCdBozj(Z)VM zobe^dtAE*3>|CYsJ>VF8`shdS^njvQol+!}F`SOVBuh;}wo@XcII6pRp|~Q9y=|vy zFlt1Lw|OrZ{C3W&`L^~0bfYC(-)`YL7Q0hGlHT`DA}A)wk`Ek%jM?`1bg-X`cCdZ{ zFm$=MS#j?ObPdQZ{bgEa7^YU0C1gn9oz5w7-X3|o%#URBEt_pGW4x*8M_tvy!f0=x zhl&g*TgwpBQ|7q-{9rv57)er}6(2TwsWItR2cwc`ql}mvTb@!9n0Kpx{bAh;3k$=B z#*o+q0WMXci}oR*2^MXkJX4pR=dcA*T(hG})O$W=Nt?UHuUdwp?BwqWMJvZkhR2e%1 zf}5Udr3ym!?v&XLts4`_L$qYbz?Cbm$5@bHz)dW7VYfM%?RCuZ=PS0eQ|KKp8RcK7 zy57jZ+0Uw8cmopIz=g1VQniJ=z9L~uPg~2dh%3_Tm?Ih$4$rh3p1VRcCR3`4uof;p zIO~oLtF9!DP+xD(WR@U5jv3=@sQ`tyj+7}75^@ApP~E`KP>*G9_H zA{b|EFVo`g|qzP>+M@^F0yj}6z7I4L3_8Af$M3Z?8xZWN5Voz$;oMz z4~TP0q60Z1h1uvms-3<@ZVsZw+oACspIO~TBC-wAdz1Ht&2Nrzyw z5L(VeQ?%VN-x$u+fiDcQYwAhbcs_es{fUFeG?9ExvO`>da;87olV1J?-6h|?J%bI434!5Vw_q@m86sIE9^)#oVm^mFEXbgiOw@BKFMcI@Tj~?e?9W1S! z<}fLRJ`;>D5YT`6rx<_Gxodp7VE~B(HjuqM;{M^BQqzTs9Ts=#olxB>)6C^y2e0nJ zB)6CN*d)*O>wGZ6P+brGAX z@-N9fDdIv};sa$LNZ*PpAiTZ(R|0t`#jo;zG~S}#85jkec74IGWq|xJ#b=HFi5buC zbOC6;ufU|a`ct{|k+3yn{fT~741({HUrUdy1@J~c^r(&bWobrJI7Tl&*Jcm6MJw0nP^lchDV#2AEVACq$CVXs97sCg!XV^!I z6_8y`=N_bP(Rpt->deeYa?qVMM&dFPm$;(s`Q47DkI+* zmuC9hTVnXDq5TUJI^;y{M z!l9na;XPM4e%8?AKO54Y&>eWR-Es&@zNup-V*k+WU;j*1KAmwp->Lbb;82zdA&|X5 zQsERQ+e}l>Up&V@I&|&z1C3LE{^*jG{Bz{^p?FcSFISj;CZ6?w#M_)lc)52TikDAv z8N>f=#{XR_srIygwj|m$`6+z(@JI4aCFg$9(6#Q2qpwfzDzcDa8U z(f?Sr59gmLYEOpy8{doHxW%XsIfMg`jLO-gfA9I<{)Jxrf9%iFal20Zj~}_@Z5aJ@ zl%D*@P%ORl%@vwSjONveKjMQ*ILkiV%-?+GpH}X#xcJ34i}7WNX=c2ri|;E!Z4%2M zQok2m9ghTVm~S5|TwAv6)HRP8xFc5Mr5WG4UOM1$YDws)gTh0@Bw%Q1*;Obyog|SU zBQ1$+HFK0y7M#E35z6@TvvqDf#_?Tl-W?%nv{vK)AJWAMVTLsYj4V-*TtP$0Sh3}% zL{Hn}ksW77Sqb1O`x{bt(ev7AlGuTr)1_TM(Ni}oje%IvFzLYUTTOVO_cv+4qIobC z1^OgQ7Z2YtDh<_+%&$vEKK|Q){9RQD?lC<@ZSAOdBfLJmIOcey{e~2HRgGN8iFPj( zHq4U{@n9?XpZMtCKE3$(rG9}`$f0h+cwD$VrqB1B5))~tEQ;}Ed1X_3Qp)bJYageg z{sW@Fwf_fjKAc~bYq^T&QJ!se6~25kPHDzlVOg8`j-JhofWd_;AT5jd`GKl>SLsJ>u8$)p|(qXX-ly&HW>O3S4zJ|F_3(aXt`?zs$$>^n!c9;J}6@QcX z<1dHkIRC#rcH!c+IHk}S`kVhYum1AgYv4K83sN`!^3}ijg9oNZk4L`yUTX3)^c>3R z2t23a_w;{z?3vPQ<9m1YL_`0rvA=$&^7{Y4_g@C?|G@X}`1=0@eC6+(weq#&8x>;{ zGez1uN~d|-gBf`{TBGyzzKxc!{d{6)o;tLru5;a^QII9$R=}o4PqQnd-IkvZndj@q z8kYumYtmk4*2V%ZMTE~hVvzpdd-ewed}q$(0j?L4v$a3C%m|3K#T1?z&4teL^ybR3JT$LgvAg;+Q)GSj zsAx`sZb^H)z9##Ux~}fY-ZFg)9(~mdN<~>^MV3R(LbhOtAk19eGk#vr=+&_n#CQ0r z%?)4&#DAgwf7wb1E(Jgh2|9(HJ20D1c-hy3!1mnpNJPb=6bAkoGycu6o_pr|5uJAg{)u`ui*Am6#m*Zz*=_fBt%>z{tjLMPE`& zq(yY-)K9(D1JrS*KFyPOl-uvakTEfKiZgM|Oq02Y(5`p6+Kd3kU)CsPS@z`p8Cn3k zGI*EEsy&5c$r&?hsQx{Zx6WKB+4pc5`$KG%NS$tvWe=d*h#T?zL!y&ZK z z^h*0Smy9g(c=X&OJ_3B#l@$#(fI^l{B?hT#KcRGo2*^=24$w8R6nGgIykc;gbCF!0 zXng>TIgqx~j;qC^hQJ2;?m{@u8zw^kEx=!W)z;~9eG9Zpl0$2&L>#OJ)rWKqNmdmc zQsU_9W7#;g7GT_K=cIAdd%D?5sYZbmFv2;1l#*L1s!bVWn3Lta{6P0vSuVro-@ z9zVI$Ho$_#PyIrU=ucmkTIg%!5PI2C}170smBTsQo+Q}x#O4+U3Rq1h?2akj{+HO~2$GMi5K1rX9Nj!2hPe~qo zc6_M%kGReEvM(tm-Xcc8kWmQfR$64ZDT%Xv7Vs*z=4D}0o6zwDRpb8WW}{G>EZwU5 zxYG4)%T4|*kOq8j-Js06bA3dm=x$cXe3@lH{QmbF8y!21b(>pAq6rTgawb`oO~*dV zTaR6eV>jt)Rvy&S3w%uK)%l|vnB2P@GGda0vFCA{f+|GB6(HlcaaxJo4g*DW zc!R_?4e<^S<*>G`)6KQQ&6-{MCK7HoR!vL8Xl^mXb%fq}Z6o{0Qj228S9hkb9cQ!L z=M61Sgy#qwlHGVJuL%91J3V}WMOfRt@WWhIL>aFaQOWJz`}H4xD09}xVy3`KG}kJ3 zZYXwXJzQ598n0^`Sv2#F4f`K$QX6HP;zs3cd6}+CI8=L*OXB6(wTkPeEh+3?2}E|; zTR8pqbmE{q}tydYDy+FmL%_@N|BAFl%D@ zP*2OS`U3OI61(VK{D8x8x&?13a%Kl@(Pj!RDN*FN5<^m+LbLG13Y<#s94ga<&d$LZW_EWJuq6HKSW`+ja#8ap61pmG63My zVlWFS7t^R9e!=@RdW+sUG}XdEhxY#7AND@uF8`OCalmq}@Y86OlT?#8^8*6$bnW%T zPJ`d=v|i8yIe!IrO2IU(3GM5C6 zKgQ3Jj4UZX8M$H%iR?|&DP|klCuWKCr+b}1lVej(CgL{ku)QIcdHJtqN$?{MJCX4a zaG?_#w|+P|8}7Oc6rJvUTivPfQRj*5s(ENq8DjqG`OtY4ZkmuVZhPst{m!lv3BTb; z?dkf0=}k&x?~>iU^Z?5d-VNssS6|O|KDId6;)|A8x$)D#d&}h497;Ua1q*6o)&{k% znelf`N_N-r0Z$AusM6o;#j6Mb4I_$I*{;85RvIl!18ySBJFovrKmQWjp$00%7A?=# zI6pRO>qBxRnaKEvyDV4Ya^;k}9!?+O<}s zd#G1?WAQ^XqaZ8({V7x}{auDy)5mgeb(wx}9$(R$V<6mo#{KH0vubhiYH{uH9dTwx?Q$l=;2uOOA zstYJ)J;^FAj9&FUDk*7Xj~x&YZZh|&%NR&m z-9GBF@jYek)r)WpKAfc-X4!sCEbPy;&^Jt4UYxOWJUiEH_3~)@cgnVpfi1P5RC&2(75bOr;Gp1-ql1gL46z**d>k`_ z6eEk`$h`txlV(1i2g&+ETpj^5&zX7 zgW3f)(sTGlmu!CeBFeG`nPgz%b>^)sl47=%vRJw0xp-w!B%{8Zcir_n;Y;l) zxtX5=C}#Flxw3D}WhMSHY2`VnTN)*KMf@e9q!Er~+`F_$uIVE!j^v6wBpOBICF1yf zB!<%LTb0P$-$CWdj7lhqo?uy%YZ*pi&&T>3F+RL1cOeF_LJL0mv;1N@OS?wk>Mdy% z{RTUi?q52B@7(LH80?YfU4p#ST_xiiPb4^Hrq!9}Vl|z}b*_g7&ld%dZHV%jALda# z!B4^Po3%lr`_&ZP+1FZk)4;~qkxH<8G5?nkRx|bJn+ykF?;^!uqwO0z_t{#t-13)W zl$q73)utbI+ub}-ecDW@d)DSwIMnB$-OjF)@n_jL1PmZ0Zfm5`vrPE;!Rwa!6mtAi zfp}{f4>yFqw1;MFE)++(T51woJ>OXE*qmtrl!;Y@u|@0*dhd=tk`_^$ynS3~=l1}^ zSCqfIn<;W)Z!%((?x>u!>g<0!N%_fQ4GK(H<@SR?%0l5IKwMScU+~YY2 zyk1D2PzKG8$}QUBiC3iutwXo1 zS1;vBw4ursn_8E_FUB!N{YF(T3A4uWl3l890W7)-kB7ilK76u|2a*a%Vmmw zF_EkIqqz}$HL+URIuyKn2KPyS)Ro#e#lU=G5w*xC=8)t75lTGxTueE0FC{Fos2PrP znHXB+JQ)ew+T@(+rFM!?@53Lhq6V2N1Af5TrrF4n8WKoT=dsF}1~;l)v)x#r#GA=Z z2;6kRQ?blSqT3Qi4#k3NAo%WZHTf}~dg8L+C!V=h)d)2U&ki2+iuneDLOe;8>Yc4v zLEt+`OAs%EoC2y!w^Qx~S%Xc&8G@wAvlU`XO0f%hS~6=G)57gZT~4*wbgyb=u|1yR ze&5)8FQGV8h9R0zQ(eVE?in#AG!Ra+!7<3)0~Xtv15rQ5YWQd=e!2GGi`dL!1oL#( z0>v|gpYES1<9*A=9RwW< zs#1Wapb_64+TqI%n~F%w+QsmShHs%1(v^*o6ig?%wolYu!tL|W-j^c~uqJByjcSJ` z&bhcJ+{ZhwW~ePXaNlTwtkwqKufKxyT2aF==yMDb>^35gR1qFgy?#ZelBTMuKD;kQ z!Gw`dsI>XCji%WJ!x2~MA}e$sC2bj{iDiW;puo9lbs5_o)DEoGRwA=#;YMP{Yc;IB zM$^CnQ`KaTvKEg0-j~qf+-ULs)_F!gg?k0vJP}W17rW&UL$_LAm$6ddHMS(+Y?8*~9$x#3 zQmuUkR4qdofizipGPiiLAqDyvs7GSYw9yHPB+q1`ElGjtw8}S9Wmb_LF2~P3Lp}h8Ly@UK5PN0yVUc1NeJxIC z?f};^PoC2zL-%)WHo%#>PYYQHBfxPB1E>=Afcd3}kK)pR59W zTGss{HoyV=oBjxuoo5r88?ywL7;Er@NDb$JX9l}QbJ7PQQ6=(Q0#4H-I-*Fv1zcjK zPp=mT#THS8JK*fs5iST1#5&!cN8P4+eXcDsz{|`dcT4d$(w!dOlhqF(ONuV-?AaCz zF(VRc5ip&4+IPe~%pAlu60auaaL(>ilx<#)k1^{Zy?pQ^rKA0OO6S!nPOTQ#WmTCo zD8U|++)r}UlA?jYg$om9Ix`7Wd}Qvm@B1kr*?UAVgn4Wi0QwajUf+o1ltL}PYbx$v z$j7Sk7t;xFS)tEWG2hwk5?6+}PF>3mEfg&#$V!tqwo!`YH)zpzNZ}Mn%Epk9=Dj3N zG9OA`C|HKkGd23`4nj*JvG^?Li?tZt(n>hq>D7GJDNYfUFVoPzs}7YD<&`z2+`k6{ zJ$&8W#_EMflXo>NLtAnPP+7;`3O_w@9wkkZ5vW>%kh2xZ8#H*$Y|7n+H-BF{LhlKq zlTArBZMqY}!m#r8YmUb|jA~&(?NgPC`ire>J6>A$GClb@iNbXHS6M@zs)k!yMWrsW zk#@GvaHg7*thu~Ytevei^BJDweHDpCr?=o0rkdaKKiLX-p22@EQ)70b|kAg$xqY<%(d}Mw*3{ z3Wvq4TxY%J>ed6|_Ks2SF z%I&9cde=~Hu>yXqKartJkO36;3SUgD*SLB)iJZLYuTYp>I+X0wfx-_RTDGJg=FY;cEx=jRPutG7!l7jk4o^&l{^xw zSbPGeY|lZBJ{FE;5U*f%4#7G89kG> zSK~$;%T)h+83jD!Hu zvU&qV)^=P@+v-dI`dG5PJD+5+KS1;M6_Slu7SB);gn=x(4_01SrK*bbkB3e+RLIu((OHxd0kD7Am|g@F?y zq&a)F0*{e=y(@b8qqTm&&%yA1^?=@ZVz%aKw=EdQ@%;JWnXgdM0vG9tlh16N90wus zMFpGaLRvw0_6eO+D9UQHS)Z`%+g09AtN@ywlcqQ{H0c_2fjuj{Brn19`?-1u(yn7?aNmrMZc*tAMg;QZ5+F`>{dS|!vVJo@5t7IkPecvBj`}0eYR8= zJ)^Q712b7Ok~q6pKkDJ_#2A;`QUfG$>X4N6?Y!Ob;DHWUA9jC?Iv@;ge}D{o6fth> z9CY*KG>y5Q&XK`~@XNos7qV3-%S!Qb#@(5gFe+jOQ?*}IBJao!mzjrcb=kWZ z5pC8K(!16OxS9S#Vl;tvZyJ|96R>eWdiePQfSw15=T`j{d~_fT5O&s}&(knUM+~|D z#2Y<+Z`@kd0^Z zSS9us20J?K#7vHJfyDwN(0rX=d^qyo$f*Tb#V#j{BXW{&O>B2yEPFZ>P)Aybo%(gz zdh_{o4vZM`e#T}<>OA1clVfm4|bIKzi0^NwpK%7Tb?U^s@G@E z19dl~g9_iYIoGELT4Zw`CfA@X1yXotn827VnU7IZtsFaKd$O#7IbvLL7B4zdJHJ(& zg6q?i*94<18X^u*%IASCK?kC2Js+-BJN%LCyjFM=COGuo%+(!FUff~SV#PYN7eSgY z_pL8{|3Y&%Z?m^U(?%K+TliJ|9V_%{Z^L*d$Z1OFv4}9x6^RxOMO8B=IQE3a_@}!$ zePxfex=M|&+z`XO5X@zA2H&~4^(IX_0G3-ashaml+akxFZ{9t6Mt~W%ax&7UCii)t zqZ$&av%gwnK<7)St&Gq8JPFEe%xAl}t`8*%$?k3GjcfU1BMhYOVjq2_F-#cODbHif zssFO4ClW{iCS$|KJ{Fp6p`W=F37TK(!n*tiwuUrDJ9wm@;fu!2`3QUSJk%`VRBB8) z5jPOQW8-tE;g^a5 zh*`vnTkDH5eA+Sp-EsK7iw6VllX`R?Pp$ok2l0SVIMBPta{!ObL7UKDJkM{#ov}80 z7~RKB!#Uo>PKy8*UI&ns%{fYq5Y%R8ySixSjsxE@sOZy<9VlWx5|&gz5XJ!eYP{Zd zcW{goMDTB&HtwcOp?bBED+`cEjm4yQi>)FnBz3Xm9JD>7&(o)2%LU*C{L5;<=l~{U z4)0`AG|9wYYF<%PyL>mtZp%uY2K9O>4 z+$;OhkKlWpG6u*9Or-{(jOb?d?`unXP{CX}{00Ilbf49*`=d8uZqVOnb!2TOsaeQf zi3l$#9KqezsG6-8g;adc)M*}(FXg9AKk*97mJ@2HQi1-Ir0!zcsFKv|azPM)3ZLZ_|lL z)~8lfB`&D_1ufu6$qK2}WBLB}ipVYZoaKprLLdih@8KKJ`TlO> z(!Rxv!~FdU8IooCf}9sDSaJ5HnG*IJTiyQT8ehHp5V`LCz|g_!!)>q6vCDg9JY9H# z(cLbJ@%kzzRCv*Dl+U>$F@hy=@oFDFY9>fI$Pk^(0!BNA@f-|lER?Dg3Ty6niRUpI ze10KK{R()Z^X9Ew2>pts%f`c@MHT5h=kfYG%^D!Vp-b2`*yr5EDSJB|B-@}19+I@M z-3H$*Zs@mt$5S&IOck3$nQzGwQ-)es&kwaa!rAhKQ+7H53T4HX+|~|KW$ZGv!@8(7 zQgIsR3Ld;{L~7Bgh7~gLgW%QQ_II=6uj=$|jT_CHgM&Bq`2x`1+sL$)wN0^%31GKR z+v=4g$9wq3PDU==C>xYG6((QEcDG*M@B?+)szUl<)$Z_iE`ko*3f>iq+DYqEX+Cq- zOVDv~CxSIdy)AFY?ED_E3AfJN3?={(YTp#d>yV`ia=S-r03iXad!F!Of+HWgf?ca5 z+@gx{y#si;SZ+z3`Q1^}E9>tcEiCsFH;$RPZ@iH6Q=qz+-ou z_jRbJeG`WVdl zM~S<2I$-Q_gG*aq(DBnSwJqOwrL(+4r+2q%Kw(0?i?&EzU?c#gNB@;E>>aWXv8|yd zmaIRtw&L21X=>3B{~qolZHyo0SN4B51n*m4ZQ&Kdr|td)beSRAgE8mKTo~a82YK>e zpWzB~ic;$FOSV;y>N1*&s>fGVowdPeRE&mWe(F;*$3R{Myt7jTY|J&#z5;7zycuQ= z3y7x+aS$KxHCWAVC9LjFjB1FXtF%jOT0B=7Z~Ey1;v30~Tvi0vm|jiyYe|Yg8paNf zX%hjTT4DAuw`XHeU+f$GyK|$p@X#%qNM$E>>S$zHJH-kcI0%ND=WaYUQ!T72VNWU7 z*v6b%KFXTD&~#JAE#!n5V#erA@(y-w#bY0{wmKM@*1utd+R|i!$Ix?5w)Uy!cR)_U zFSonNDbEEsu=V>C#H{J_k{Q1tQzZDsWOUOUcYCSrB1o#~M^Sm;FuqlWqxPzR)uVhV zzI2+3Y_;cFd2&@YZiMJ(VwsLlhlZ>=_^ltSG4*TNg9$J`s@>Q*v(bMt#BU(EjI-a! zs)~X&18~MFpiy%p=M8%9ETVnIY}r^YkvuzaFh@Ni*U;K#yt#=uo2n_nC$L5SccpYJ;YPV$q5 zbB|Ok^r2!Ed&@d&$EuC}ND(|Deaf~TACut*f_2qf-_AI+Oe6!l`xZLQF?1Vf0VjQ1 zg}SL&BEO*6)!lbE5tlkP#Nzv5iR2O2KT4sxV`vO^uKAZG6OpO80Qs=3 zVOS##rI>H*9V0wmb`w-KJGSCboQB#gviH>fHLmaZLe_G;tWPxEt52e}{RfnetJ%eB z*^8Aq79t%CoLz8=ewGh;j_#K1akuCQm{_$FjzN{=V6(vsovhDW-5bY_8?TeM2ayK~ zS>zXdi|&b8SQyP`BVb2em%;n&T{ZHdB^yRGjd;xr7dsoiw@Cn9k|Ki9!dkXh8R6c% z@T$G!Hl3OPgGxDjQVE7avXnPuAmck1IFHfup4Z6(vcb%7;<7PQt+4=4K@M*gW~j@AIPoK|5{P+PUPs{!(*5fKY?@a z)@2kqbWz>1tb~@yYi>%@4;QV#pEVp#tK!VG8+=Wl%lWma7v}~Kam4&6Hu-B2hs`pu zzU8@tD>3s=2Xc1@Gi0j*7U*XO8L0*-@9{Ur2Ml&}C$uDT0SA8KK7nwywuqL~UB^pv zY#wwj?}m!I5LRc{-7c0bmTNwwc@;2FAqsFQcFcN7?WCp5AAyBJ>h-z|gZ+|g5V@$u zZJ+NSr)NGS35~yr(NO$m8mt#YZ&2Ji;;OkksK_-^Wg^IDLy29!FRNPNPkyq@FZbG>NMkF*7gUDmZ=SbetXL_{blZ7nFBDzQnsU$=)byB- zNh#4pKir_k!SW6n$UF4{YgI~%FA3XGC!6AG&r2hA;E^!-8rfQ#H0>JLOJGTheE#k+ zUrjn;h+uB=jRRQy;F$YJkc*i5Ztvy@Ko!%XFiTd&?Lx@mM6{+RGF{?ov^tQZ)>*e1 zmuZDD@M`utI8eu;v% z$&Geao<=nMC?$U|c}TcM{zJIL-51n1f;eiKuY{op>dfbz8jEj9Zni>P7$pwp%TpUc zw+ds&M#If2EDB2fuE=#lz#Z5YTZX@0;U0~)pq1wIS<4~0HD}Ido`@Wm96ej@TB$~J zi{_7VsC61vR;4}cz46orf_7Sr$1e1}=QQEPR74@W(SQSf?&Nuxd|w2tCT4eFw1QC< z%m&L$-tV`?gUifk z+fazE;3AZzeNPANuNDAUl_jx3*@+k=)!Vb<`NlMwE{w;UtG4V~-1H+EnmD+GV6Rpl z%1e4PZ-)w7Mb0Oa`R>6;>oX89?eESu=hrdNdxZ}#J@_^vo2V$MKFK)S&$DO&fbJ7>V)!kP&WxI{sDp?w=Fi|Gyϧ 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 G)&B?c_vuFf diff --git a/docs/paying-for-lit/minting-capacity-credit/assets/selecting-datil-test.png b/docs/paying-for-lit/minting-capacity-credit/assets/selecting-datil-test.png index 70ae71bfa653decff0bd25c77e2d3fa40b5f5984..05a2c60eb3d038b94de6ea79a99e81c29ff9b2c3 100644 GIT binary patch literal 46912 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 njxMyeClZc;HWU;^g1{jqOWo5lV|#%=^z literal 219505 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

    tMXQk68fUBUNDu!=-c?lVrLDfND(o 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

    KiHS>~WsY)V`!21^ogaNc(hAPdj74-=Y35Pwi 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 %H@#@Gq@6&z;SHve)rBTY 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 ru;IeSPx9QZf6o0+%IMy90&nl7i(oZ Date: Mon, 12 Aug 2024 13:40:24 -0700 Subject: [PATCH 495/627] Test deployment --- docs/tools/searchlit.md | 2 +- .../pkps/advanced-topics/auth-methods/custom-auth.md | 4 ++-- .../pkps/advanced-topics/auth-methods/overview.md | 2 +- docs/user-wallets/pkps/advanced-topics/overview.md | 0 .../wrapped-keys/storing-wrapped-key-metadata.md | 2 +- src/pages/state-of-the-network.md | 6 +++--- 6 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 docs/user-wallets/pkps/advanced-topics/overview.md diff --git a/docs/tools/searchlit.md b/docs/tools/searchlit.md index b5976aa3..4daf97fb 100644 --- a/docs/tools/searchlit.md +++ b/docs/tools/searchlit.md @@ -8,7 +8,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; Use the [SearchLit Explorer](https://searchlit.io/) (built by the [Lore](https://www.lorescan.com/new/networks) team) to simplify development on Lit! -With SearchLit, you can view all of the on-chain activity on [Chronicle](../network/rollup.mdx), including your token balances, verified contracts, top addresses, transactions, and more. +With SearchLit, you can view all of the on-chain activity on [Chronicle](../connecting-to-a-lit-network/lit-blockchains/chronicle), including your token balances, verified contracts, top addresses, transactions, and more. SearchLit also supports the creation of custom notifications (based on on-chain events) and an intuitive support interface powered by AI. diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md index e8044799..5084a856 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md @@ -14,7 +14,7 @@ Authentication refers to confirming a users identity. This generally involves r Authorization refers to confirming that a user is allowed to use a PKP. Specifically, it's checking the permissions of a PKP and making sure that the user that was Authenticated is also authorized to use a PKP. -Note: Currently, a [Session Signature](../../authentication/session-sigs/intro.md), is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, a Session Sig will always be required. +Note: Currently, a [Session Signature](../../../../sdk/authentication/session-sigs/intro.md), is **always required** to communicate with the Lit nodes and make a request to the network. It doesn't matter if you are decrypting a piece of data or calling a Lit Action, a Session Sig will always be required. The flow for using an auth method already supported by lit, with custom Authorization, is as follows: @@ -117,7 +117,7 @@ If you use the deployed Lit PKPPermissions contract, then it is important to pic ## Steps to implement both custom authentication and authorization 1. Get your user's identity material. For example, if you were implementing Roblox Oauth, this would be your user's Roblox user id. -2. Get your user a PKP. You can use the open source Lit relayer for this, which is documented [here](../minting/#minting-pkps-using-the-lit-relayer). You can use our hosted relayer or run your own. You will supply the identity material (like their Roblox user id, for example) when minting the PKP. You should hash the identity material before sending it to the relayer, to provide some privacy for your users and prevent people from checking the chain to find your users. Minting a PKP with the relayer will atomically mint a new PKP and create an entry in the PKPPermissions contract to authorize that user to use that PKP. +2. Get your user a PKP. You can use the open source Lit relayer for this, which is documented [here](../../minting/via-contracts#minting-pkps-using-the-lit-relayer). You can use our hosted relayer or run your own. You will supply the identity material (like their Roblox user id, for example) when minting the PKP. You should hash the identity material before sending it to the relayer, to provide some privacy for your users and prevent people from checking the chain to find your users. Minting a PKP with the relayer will atomically mint a new PKP and create an entry in the PKPPermissions contract to authorize that user to use that PKP. 3. Write a Lit Action for your custom authentication and authorization, which is documented further below. ### Writing a Lit Action for custom authentication and authorization diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md index ebe38877..fee8a54a 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md @@ -13,7 +13,7 @@ An authentication method refers to the specific credential (i.e a wallet address Right now, there are two main ways to do auth with Lit Actions. We will dive into these two methods below: 1. [Using Lit Auth Directly](#using-lit-auth-directly) -2. [Custom Auth / Adding new Auth Methods not yet supported by Lit](auth-methods/custom-auth) +2. [Custom Auth / Adding new Auth Methods not yet supported by Lit](./custom-auth) ## Using Lit Auth Directly diff --git a/docs/user-wallets/pkps/advanced-topics/overview.md b/docs/user-wallets/pkps/advanced-topics/overview.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md b/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md index 40d13833..5ca91aa9 100644 --- a/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md @@ -14,7 +14,7 @@ Below we will walk through an implementation of `storeEncryptedKey`. The full co ## Overview of How it Works :::note -The [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) required for this method include the encryption metadata of the private key that will be turned into a Wrapped Key. For more information on how to obtain the encryption metadata, please refer to this guide on [encrypting data using the Lit SDK](../../sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key), and this guide on [Custom Wrapped Keys](http://localhost:3000/sdk/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key). +The [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wrapped_keys_src.StoreEncryptedKeyParams.html) required for this method include the encryption metadata of the private key that will be turned into a Wrapped Key. For more information on how to obtain the encryption metadata, please refer to this guide on [encrypting data using the Lit SDK](../../user-wallets/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key), and this guide on [Custom Wrapped Keys](../../user-wallets/wrapped-keys/custom-wrapped-keys#generating-and-encrypting-a-private-key). ::: 1. The Wrapped Keys SDK will derive the PKP's Ethereum address from the provided PKP Session Signatures diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index ce256ffa..9e1ca85d 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,7 +1,7 @@ :::info -The [Datil-test](connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. +The [Datil-test](../../docs/connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](../../docs/connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. -The [Datil](connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. +The [Datil](../../docs/connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. -Check out the [migration docs](connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. +Check out the [migration docs](../../docs/connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: From 52be7cf6cb335b00f61833d22f8f3cd2b9909334 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 13:45:34 -0700 Subject: [PATCH 496/627] Add the overview back --- docs/user-wallets/pkps/advanced-topics/overview.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/user-wallets/pkps/advanced-topics/overview.md diff --git a/docs/user-wallets/pkps/advanced-topics/overview.md b/docs/user-wallets/pkps/advanced-topics/overview.md new file mode 100644 index 00000000..e69de29b From ac8fea8fb008e498ed86309123734b1ba136ce88 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 14:18:43 -0700 Subject: [PATCH 497/627] More link fixes --- docs/sdk/serverless-signing/overview.md | 2 +- .../pkps/advanced-topics/auth-methods/custom-auth.md | 2 +- docs/user-wallets/pkps/minting/overview.md | 8 ++++---- src/pages/state-of-the-network.md | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 086bb945..651110f1 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -15,7 +15,7 @@ Blockchains like Ethereum have smart contracts that let developers encode logic This logic is encoded using a Lit Action, an immutable JavaScript program that can be "assigned" to the key pairs generated on Lit and used to dictate how they are used. -A simple example would be a Lit Action that checks if a number is prime. To start, you would generate a [Programmable Key Pair](../wallets/intro.md) and assign it to your Lit Action so that it could use it to produce a signature. This signature would only be returned if the conditions defined within your Lit Action were met. In this case, the Lit Action would verify that the input was indeed a prime number. Every Lit node would execute your program independently and provision their key share down to the requesting client. Only after more than two-thirds of these shares have been collected can the complete signature be formed. You can read more about how Lit works [here](../../resources/how-it-works.md). +A simple example would be a Lit Action that checks if a number is prime. To start, you would generate a [Programmable Key Pair](../../user-wallets/pkps/overview.md) and assign it to your Lit Action so that it could use it to produce a signature. This signature would only be returned if the conditions defined within your Lit Action were met. In this case, the Lit Action would verify that the input was indeed a prime number. Every Lit node would execute your program independently and provision their key share down to the requesting client. Only after more than two-thirds of these shares have been collected can the complete signature be formed. You can read more about how Lit works [here](../../resources/how-it-works.md). ## Features and Examples diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md index 5084a856..ee3bf234 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md @@ -28,7 +28,7 @@ Inside of your Lit Actions, there is an object called `Lit.Auth` that will be pr - actionIpfsIds: An array of IPFS IDs that are being called by this Lit Action. This will typically only have a single item, but if you call multiple Lit Actions from inside your Lit Action, they will all be included here. For example, if you have two Lit Actions, A, and B, and A calls B, then the first item in the array will be A and the last item will be B. Therefore, the last item in the array is always the IPFS ID of the Lit Action that is currently running. - authSigAddress: A verified wallet address, if one was passed in. This is the address that was used to sign the AuthSig. -- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](../auth-methods) in the docs and is used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L14) in the PKPPermissions Contract. +- authMethodContexts: An array of auth method contexts. Each entry will contain the following items: `userId`, `appId`, and `authMethodType`. A list of AuthMethodTypes can be found [here](./overview.md) in the docs. Important to note on Authentication Helpers: authorization is not included. This means that a user can present a Google oAuth JWT as an auth method to be resolved and validated by your Lit Action. The Action will then stick the result inside the Lit.Auth object. In this case, the result would be the users verified google account info like their user id, email address, and more. diff --git a/docs/user-wallets/pkps/minting/overview.md b/docs/user-wallets/pkps/minting/overview.md index a90190e4..2a0e9fcc 100644 --- a/docs/user-wallets/pkps/minting/overview.md +++ b/docs/user-wallets/pkps/minting/overview.md @@ -8,9 +8,9 @@ A PKP is represented as an ERC-721 NFT, and the owner of the NFT becomes the des This section will walk you through the process of creating PKPs using the [V3 SDK](../migrations/3.0.0/overview.md). You can mint PKPs using the following methods: -- [Mint via Contracts](minting-methods/mint-via-contracts) -- [Mint via Social or Email/SMS (OTP) ](minting-methods/mint-via-social) -- [Mint via WebAuthn](minting-methods/mint-via-web-authn) -- [Mint via Multiple Auth Methods](minting-methods/mint-via-multiple-auth-methods) +- [Mint via Contracts](./via-contracts.md) +- [Mint via Social or Email/SMS (OTP) ](./via-social.md) +- [Mint via WebAuthn](./via-web-authn.md) +- [Mint via Multiple Auth Methods](./via-multiple-auth-methods.md) diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index 9e1ca85d..5e944497 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,7 +1,7 @@ :::info -The [Datil-test](../../docs/connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](../../docs/connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. +The [Datil-test](/docs/docs/connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](/docs/docs/connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. -The [Datil](../../docs/connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. +The [Datil](/docs/docs/connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. -Check out the [migration docs](../../docs/connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. +Check out the [migration docs](/docs/docs/connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: From 51aaddfd6ee9109e13c96e43592320f79f9b7a63 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 14:45:04 -0700 Subject: [PATCH 498/627] More link fixes --- Ecosystem/projects.md | 2 -- docs/connecting-to-a-lit-network/migrating-to-datil.md | 2 +- docs/sdk/paying-for-lit/payment-delegation-db.md | 6 +++--- .../advanced-topics/auth-methods/add-remove-auth-methods.md | 2 +- .../pkps/advanced-topics/auth-methods/overview.md | 4 ++-- docs/user-wallets/pkps/minting/via-multiple-auth-methods.md | 1 - docs/user-wallets/wrapped-keys/generating-wrapped-key.md | 2 +- src/components/CardSectionsV3/QuickStart.jsx | 6 +++--- 8 files changed, 11 insertions(+), 14 deletions(-) diff --git a/Ecosystem/projects.md b/Ecosystem/projects.md index 4d5b0cda..68f1c874 100644 --- a/Ecosystem/projects.md +++ b/Ecosystem/projects.md @@ -100,5 +100,3 @@ ### E-Commerce - **[Shopify](https://apps.shopify.com/lit-token-access)**: Blockchain-based access control for your online store. -- **[Heirloom DAO](https://www.heirloomdao.com/)**: Subscriptions as NFTs. -- **[Club Goods](https://www.clubgoods.xyz/)**: An e-commerce experiment at the intersection of storytelling, community tokens and physical goods. diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 9c91a023..2f3c28c7 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -30,7 +30,7 @@ If you're migrating from `habanero`, `manzano`, or `cayenne` to any of the Datil ::: -To reduce the friction of re-minting PKPs on Chronicle Yellowstone, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/pkp-migration-script/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. +To reduce the friction of re-minting PKPs on Chronicle Yellowstone, we've written a [migration script](https://github.com/LIT-Protocol/developer-guides-code/tree/master/pkp-migration/nodejs) that will take a list of PKP public keys, fetch their configured Auth Methods and Scopes, and mint new PKPs on a target Lit Network, setting the same Auth Methods and Scopes for each PKP. After re-minting PKPs on Chronicle Yellowstone, your users could use both the old Chronicle based network PKPs and the new Chronicle Yellowstone PKPs with the same auth methods. However, the corresponding Ethereum address for each PKP will be different. Your users may have things tied to the old PKP Ethereum address, like assets, or Account Abstraction wallets that see that PKP as an authorized signer. So the next step is to migrate these items for your users, or notify them they need to migrate to the new Ethereum address themselves. diff --git a/docs/sdk/paying-for-lit/payment-delegation-db.md b/docs/sdk/paying-for-lit/payment-delegation-db.md index 63739ebc..53a8c68a 100644 --- a/docs/sdk/paying-for-lit/payment-delegation-db.md +++ b/docs/sdk/paying-for-lit/payment-delegation-db.md @@ -25,7 +25,7 @@ The Payment Delegation Database is a [smart contract](https://github.com/LIT-Pro - `POST` `/register-payer`: This route is used to register a new `payer` and will have a [Capacity Credit](../capacity-credits.md) minted for it which can be delegated to `payees` to pay for their usage of Lit - `POST` `/add-users`: This route is used to add users (as Ethereum addresses) as `payees` for a specific `payer`. This allows the `payer` to pay for the usage of Lit for each user, without each user having to own a Capacity Credit -Below we will walk through an example of registering a `payer` and adding users as `payees` for a specific `payer`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src). +Below we will walk through an example of registering a `payer` and adding users as `payees` for a specific `payer`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/payment-delegation-db-relayer/nodejs). ## Prerequisites @@ -59,7 +59,7 @@ After successfully registering a `payer` with the Relayer server, you will recei It's also important to note that Lit **never** has access to this secret key and will **not** be able to recover it for you if you loose access to it. Please make sure this secret key is backed up securely, and refrain from leaking this key to unauthorized parties. Whomever has access to the key has the ability to modify the `delegatees` of your Capacity Credit. ::: -A full implementation of the code in this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/registerPayer.ts). +A full implementation of the code in this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/payment-delegation-db-relayer/nodejs/src/registerPayer.ts). To register a new `payer` wallet, you're going to need to decide which Lit network you'd like to use. Currently the Relayer server has two endpoints depending on the Lit network: @@ -164,7 +164,7 @@ Now that we have `payerSecretKey`, we'll use it to add users as `payees` for our Remember that `payerSecretKey` is essentially the private key to your new `payer` wallet and should be handled securely. It **cannot** be recovered by Lit if you loose access to it, and you shouldn't make requests using it in a context like the browser where the end user would have access to it. ::: -A full implementation of this code for this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src/addUsers.ts). +A full implementation of this code for this section can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/payment-delegation-db-relayer/nodejs/src/addUsers.ts). To add users as `payees` for your `payer` wallet, you're going to need the Relayer API URL for the same Lit network you registered your `payer` on: - For `datil`, we'll be making requests to: diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md index 1f48f8f0..c3bdcb35 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md @@ -8,7 +8,7 @@ To write to the blockchain, the `LitContracts` instance must be created with a ` ## Initialize `PKPEthersWallet` -`PKPEthersWallet` must be instantiated with an `AuthSig`, `AuthenticationProps` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../authentication/overview). +`PKPEthersWallet` must be instantiated with an `AuthSig`, `AuthenticationProps` or a `SessionSig` in order to authorize signing requests. To learn how to generate these signatures, refer to the [Authentication section](../../../../sdk/authentication/session-sigs/intro.md). Ideally you would want to pass `AuthenticationProps` as it will update `SessionSigs` for you based on current conditions while retaining the benefits of sessions. diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md index fee8a54a..6c2404ef 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md @@ -37,13 +37,13 @@ Several auth methods are supported by Lit directly. These include methods config | STYTCH_WHATS_APP_OTP | 12 | Stytch Login using the Stytch user's WhatsApp number. This is a one-time password (OTP) sent to the user's WhatsApp account. | | STYTCH_TOTP | 13 | Stytch Login using the Stytch user's TOTP. This is a one-time password (OTP) generated by the user's authenticator app. | -Check out the implementation details within the SDK section [here](auth-methods/lit-auth-methods/add-remove-auth-methods). +Check out the implementation details within the SDK section [here](./add-remove-auth-methods.md). **Note:** When using the `ACTION` Auth Method, it's necessary to convert the IPFS CID from base58 encoding to bytes-like before passing it to the Lit Protocol SDK. You can achieve this conversion using the `getBytesFromMultihash` function provided in the `utils` module of the `contracts-sdk`. ### Auth Method Scopes -Auth methods support scoping, which permits what they can be used for within Lit. These scopes are passed in to the "scopes" array as numbers when adding an auth method, or minting a PKP with PKPHelper. An overview of minting with scopes is provided in this [section](../wallets/minting). The scopes are as follows: +Auth methods support scoping, which permits what they can be used for within Lit. These scopes are passed in to the "scopes" array as numbers when adding an auth method, or minting a PKP with PKPHelper. An overview of minting with scopes is provided in this [section](../../minting/overview). The scopes are as follows: | Scope Name | Scope Number | Description | | ------------------ | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | diff --git a/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md b/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md index cebbc1fc..69e64839 100644 --- a/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md +++ b/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md @@ -164,7 +164,6 @@ async function mintPKPWithMultipleAuthMethods(authMethodGoogle, authMethodSMS) { } ``` -View `Minting a PKP with multiple Auth Methods via LitAuthClient` example in our SDK [here](https://github.com/LIT-Protocol/js-sdk/blob/master/e2e-nodejs/group-pkp-auth-method/test-pkp-auth-method-multiple-auth-method-mint.mjs). ## Using `ContractsSDK` diff --git a/docs/user-wallets/wrapped-keys/generating-wrapped-key.md b/docs/user-wallets/wrapped-keys/generating-wrapped-key.md index a8915a29..cd08293e 100644 --- a/docs/user-wallets/wrapped-keys/generating-wrapped-key.md +++ b/docs/user-wallets/wrapped-keys/generating-wrapped-key.md @@ -135,7 +135,7 @@ Because a PKP can have multiple Wrapped Keys attached to it, this ID is used to Now that we know what the `generatePrivateKey` function does, it's parameters, and it's return values, let's now dig into a complete implementation. -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/generateWrappedKey.ts). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/generateWrappedKey.ts). ### Installing the Required Dependencies diff --git a/src/components/CardSectionsV3/QuickStart.jsx b/src/components/CardSectionsV3/QuickStart.jsx index 8752feb7..6999dc99 100644 --- a/src/components/CardSectionsV3/QuickStart.jsx +++ b/src/components/CardSectionsV3/QuickStart.jsx @@ -10,17 +10,17 @@ export default function QuickStartSection({ title, className }) { ); From 5d409d0a0b23bf7c55553be0676f7f4fc6ec0fe4 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 15:05:58 -0700 Subject: [PATCH 499/627] More link fixes --- docs/concepts/capacity-credits-concept.md | 4 ++-- docs/resources/supported-chains.md | 2 +- docs/sdk/migrations/6.0.0.md | 2 +- docs/user-wallets/overview.md | 2 +- docs/user-wallets/pkps/minting/overview.md | 4 ++-- docs/user-wallets/pkps/quick-start.md | 8 ++++---- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 91d4d25d..7775f4c0 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -8,8 +8,8 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info Currently Rate Limiting is only enabled on `Datil` and `Datil-test`. -See [here](../network/networks/testnet) for a list of test networks. -See [here](../network/networks/mainnet) for a list of mainnet networks. +See [here](../connecting-to-a-lit-network/testnets) for a list of test networks. +See [here](../connecting-to-a-lit-network/mainnets) for a list of mainnet networks. ::: # Overview diff --git a/docs/resources/supported-chains.md b/docs/resources/supported-chains.md index 2cb53d24..e697a504 100644 --- a/docs/resources/supported-chains.md +++ b/docs/resources/supported-chains.md @@ -16,7 +16,7 @@ PKPs rely on the [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature You can learn more about compatible chains [here.](http://ethanfast.com/top-crypto.html) :::note -To sign on any chain not currently supported by Programmable Key Pairs, see [Wrapped Keys](../sdk/wrapped-keys/overview) +To sign on any chain not currently supported by Programmable Key Pairs, see [Wrapped Keys](../user-wallets/wrapped-keys/overview) ::: ## Supported Chains (Access Control & PKP) diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 0169410a..81e7785a 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -285,7 +285,7 @@ const pkpEthersWallet = new PKPEthersWallet({ #### signSessionKey -In the `signSessionKey` parameters, we've added three extra optional arguments for [custom authentication](../wallets/auth-methods/custom-auth.md). These arguments allow you to use your PKP to [conditionally sign](../serverless-signing/conditional-signing.md) (via custom Lit Action code) the session key on the Lit nodes. For context, this function is typically used as the callback function for the `authNeededCallback` parameter of `getSessionSigs`. +In the `signSessionKey` parameters, we've added three extra optional arguments for [custom authentication](../../user-wallets/pkps/advanced-topics/auth-methods/custom-auth). These arguments allow you to use your PKP to [conditionally sign](../serverless-signing/conditional-signing.md) (via custom Lit Action code) the session key on the Lit nodes. For context, this function is typically used as the callback function for the `authNeededCallback` parameter of `getSessionSigs`. For simplicity, we introduced `getPkpSessionSigs`, which uses `signSessionKey` under the hood. diff --git a/docs/user-wallets/overview.md b/docs/user-wallets/overview.md index e435c2a7..c65b55ca 100644 --- a/docs/user-wallets/overview.md +++ b/docs/user-wallets/overview.md @@ -21,7 +21,7 @@ Programmable Key Pairs (PKPs) and Wrapped Keys are both solutions offered by Lit PKPs are ECDSA public/private key pairs created by the Lit network using Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. signing a transaction). -Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a single Lit node's TEE. +Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./wrapped-keys/importing-key) or [storing](./wrapped-keys/storing-wrapped-key-metadata) an existing private key, or can be [generated](./wrapped-keys/generating-wrapped-key) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a single Lit node's TEE. ### PKPs diff --git a/docs/user-wallets/pkps/minting/overview.md b/docs/user-wallets/pkps/minting/overview.md index 2a0e9fcc..1c359f92 100644 --- a/docs/user-wallets/pkps/minting/overview.md +++ b/docs/user-wallets/pkps/minting/overview.md @@ -4,9 +4,9 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; A PKP is a public/private key-pair generated by the Lit Network using Distributed Key Generation (DKG), meaning no one node ever has access to the entire private key. Instead, the private key is stored in shares across the network, where each node holds a single share. In other words, each PKP is functionally a wallet, where the private key lives across the Lit Network. -A PKP is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../authentication/overview) mechanisms to their PKP using Lit Actions. +A PKP is represented as an ERC-721 NFT, and the owner of the NFT becomes the designated “controller” of the Programmable Key Pair. The controller has the ability to assign additional signing logic and [authentication](../../../sdk/authentication/overview) mechanisms to their PKP using Lit Actions. -This section will walk you through the process of creating PKPs using the [V3 SDK](../migrations/3.0.0/overview.md). You can mint PKPs using the following methods: +This section will walk you through the process of creating PKPs. You can mint PKPs using the following methods: - [Mint via Contracts](./via-contracts.md) - [Mint via Social or Email/SMS (OTP) ](./via-social.md) diff --git a/docs/user-wallets/pkps/quick-start.md b/docs/user-wallets/pkps/quick-start.md index b803d975..2f83e1b3 100644 --- a/docs/user-wallets/pkps/quick-start.md +++ b/docs/user-wallets/pkps/quick-start.md @@ -608,9 +608,9 @@ const signatures = await litNodeClient.executeJs({ By now you should have successfully minted a PKP, assigned an auth method and permitted scopes, and used it to sign a message with a Lit Action. If you’d like to learn more about all of the available functionality provided by PKPs, please follow the links below: -1. [Managing PKP Auth Methods](../wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md). -2. [Minting PKPs with Social Auth](../wallets/minting.md). -3. [Running Custom Authentication](../wallets/auth-methods/custom-auth.md). -4. [Connecting PKPs to dApps with WalletConnect](../wallets/walletconnect.md). +1. [Managing PKP Auth Methods](../pkps/advanced-topics/auth-methods/add-remove-auth-methods). +2. [Minting PKPs with Social Auth](../pkps/minting/via-social.md). +3. [Running Custom Authentication](../pkps/advanced-topics/auth-methods/custom-auth.md). +4. [Connecting PKPs to dApps with WalletConnect](../pkps/walletconnect). From 42caef7fd17201dcaf9f52f9dc0bc8ee8fb12f76 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 16:19:52 -0700 Subject: [PATCH 500/627] More fixes --- Ecosystem/projects.md | 3 +-- docs/connecting-to-a-lit-network/migrating-to-datil.md | 2 +- docs/integrations/aa/alchemy-account-kit.md | 2 +- docs/integrations/aa/openfort.md | 2 +- docs/integrations/aa/overview.md | 4 ++-- docs/integrations/storage/irys.md | 2 +- docs/intro/usecases.md | 2 +- docs/intro/what-is-lit-protocol.md | 2 +- docs/network/networks/mainnet.md | 2 +- docs/resources/contracts.md | 4 ++-- docs/sdk/migrations/3.0.0/overview.md | 4 ++-- .../pkps/advanced-topics/auth-methods/overview.md | 2 +- docs/user-wallets/pkps/minting/via-social.md | 2 +- docs/user-wallets/pkps/quick-start.md | 2 +- docs/user-wallets/pkps/walletconnect.md | 4 ++-- docs/user-wallets/wrapped-keys/generating-wrapped-key.md | 4 ++-- docs/user-wallets/wrapped-keys/importing-key.md | 2 +- learningLab/intro-to-lit/prog-signing.md | 2 +- versioned_docs/version-2.0/pkp/walletconnect.md | 2 +- versioned_docs/version-2.0/startHere/usecases.md | 2 +- 20 files changed, 25 insertions(+), 26 deletions(-) diff --git a/Ecosystem/projects.md b/Ecosystem/projects.md index 68f1c874..60f98e8e 100644 --- a/Ecosystem/projects.md +++ b/Ecosystem/projects.md @@ -64,12 +64,11 @@ - **[XMTP Chat App](https://github.com/GeorgeFane/lit-xmtp)** with token gating enabled by Lit Protocol. - **[DAP](https://github.com/dap-cool/protocol)**: An SDK for encrypting and decrypting files with Lit Protocol. - **[DECK](https://usedeck.vercel.app/)**: Private data sharing for Web3. -- **[Cask](https://blog.cask.fi/cask-protocol-integrates-with-lit-protocol-to-attach-private-data-to-nfts-token-gate-content-496b2c5bb995)**: Automated, recurring payments. +- **[Cask](https://caskprotocol.medium.com/cask-protocol-integrates-with-lit-protocol-to-attach-private-data-to-nfts-token-gate-content-496b2c5bb995)**: Automated, recurring payments. - **[AlgoveraAI](https://github.com/AlgoveraAI/streamlit-metamask?ref=spark.litprotocol.com)**: Token-gated Streamlit applications. ### Wallets and Account Abstraction (AA) -- **[Peaze](https://www.peaze.com/)**: Seamless onboarding for Web3. - **[Pimlico](https://docs.pimlico.io/how-to/integrations/lit-protocol)**: An infrastructure platform building the next generation of smart wallets. - **[MagicWallet](https://github.com/DustilDawn/Magic)**: One account, multiple seedless wallets. - **[litu safu](https://ethglobal.com/showcase/litu-safu-m9tja)**: Use a PKP as a signer on a Safe. diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 2f3c28c7..f301aa19 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -15,7 +15,7 @@ Depending on the Lit network you are using, you should migrate to its correspond | ✅ | ✅ | `6.4.0` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | | ✅ | ❌ | `6.4.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | -Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. +Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../sdk/capacity-credits.md); however, `datil-dev` does not. ## Breaking Changes and Important Updates diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 89a16b3e..9392f5ac 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -22,7 +22,7 @@ At completion of this reading you should be able to: [Alchemy's Account Kit](https://www.alchemy.com/account-kit) is a complete toolkit to embed smart accounts in your app with social login, gas abstraction, batch transactions, and more. -[Lit Protocol's AA signer](https://accountkit.alchemy.com/smart-accounts/signers/guides/lit.html) is a complete solution for powering AA with a Lit signer. +[Lit Protocol's AA signer](https://accountkit.alchemy.com/packages/aa-signers/lit-protocol/introduction#lit-signer) is a complete solution for powering AA with a Lit signer. Powered by account abstraction (ERC-4337), Account Kit provides all the tools you need to onboard users with zero friction: diff --git a/docs/integrations/aa/openfort.md b/docs/integrations/aa/openfort.md index 4c5c9680..28603ac9 100644 --- a/docs/integrations/aa/openfort.md +++ b/docs/integrations/aa/openfort.md @@ -62,7 +62,7 @@ If you need a test contract address, use 0x38090d1636069c0ff1Af6bc1737Fb996B7f63 npm run dev ``` -Visit [http://localhost:3000](http://localhost:3000) to start playing with the app. +Once running, visit `http://localhost:3000` to start playing with the app. ## Get support diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md index e4ee4ddf..67a71026 100644 --- a/docs/integrations/aa/overview.md +++ b/docs/integrations/aa/overview.md @@ -23,7 +23,7 @@ How AA enhances user experience: 1. Programmed security - The requirement of additional confirmations in the event of fraud detection such as two-factor authentication, additional signing with a web3 wallet, or confirmation through another smart contract. -2. Social Recovery - In [Why we need wide adoption of social recovery wallets](https://vitalik.ca/general/2021/01/11/recovery.html) by Vitalik Buterin, he writes that a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery with AA can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. +2. Social Recovery - In [Why we need wide adoption of social recovery wallets](https://vitalik.eth.limo/general/2021/01/11/recovery.html) by Vitalik Buterin, he writes that a good wallet design needs to satisfy three key criteria: no single point of failure, low mental overhead, and maximum ease of transacting. Social recovery with AA can look like a multi-signature transaction to approve changing a signing key if an account has been compromised or lost. ## How to use Lit with Account Abstraction (AA) @@ -53,7 +53,7 @@ AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account te | --- | --- | --- | | [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](../aa/alchemy-account-kit.md) | | [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](../aa/pimlico.md) | -| - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://nut.sh/ell/forms/352580/YEk9vu) | +| - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform) | diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index f616286d..50b143a0 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -151,7 +151,7 @@ To use Irys to store data on Arweave, first connect to an [Irys node](https://do :::info This code is configured to MATIC to pay for uploads, and while working with the Irys Devnet, you need to fund your -wallet with [free MUMBAI MATIC Devnet](https://mumbaifaucet.com/) tokens. Alternatively, you could use [any other +wallet with [free MUMBAI MATIC Devnet](https://www.alchemy.com/dapps/mumbai-faucet) tokens. Alternatively, you could use [any other Devnet token](../../resources/supported-chains) supported by Irys. ::: diff --git a/docs/intro/usecases.md b/docs/intro/usecases.md index 6d03d402..3b3a4747 100644 --- a/docs/intro/usecases.md +++ b/docs/intro/usecases.md @@ -32,7 +32,7 @@ Encrypting your data with Lit is simple and a completely [client-side operation] ### Programmable Signing and User Wallets -Interrelated but distinct from Lit’s decentralized encryption capabilities is the ability to generate programmable keys for non-custodial [user onboarding](../sdk/wallets/intro.md) and [serverless signing](../sdk/serverless-signing/overview.md). Some potential use cases include: +Interrelated but distinct from Lit’s decentralized encryption capabilities is the ability to generate programmable keys for non-custodial [user onboarding](../user-wallets/pkps/overview.md) and [serverless signing](../sdk/serverless-signing/overview.md). Some potential use cases include: 1. Event listening and condition-based transaction execution: Automate transactions with condition-based execution, enabling use cases such as on-chain limit orders, recurring payments, and more. [Example](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/). diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index 44ba673e..e02b39cf 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -15,7 +15,7 @@ Lit is a decentralized key management and compute network. Builders of apps, wal The system builds off of contemporary work in applied cryptography, sealed confidential hardware, and peer-to-peer networking to provide the maximum amount of control and privacy to developers. -Developers can use Lit to build apps with [private data](../sdk/access-control/quick-start.md), intuitive [onboarding and wallet management](../sdk/wallets/quick-start.md), and [private, immutable programs](../sdk/serverless-signing/quick-start.md) that run based on the rules you set. +Developers can use Lit to build apps with [private data](../sdk/access-control/quick-start.md), intuitive [onboarding and wallet management](../user-wallets/overview.md), and [private, immutable programs](../sdk/serverless-signing/quick-start.md) that run based on the rules you set. Get started with the [Lit SDK](../sdk/installation.md). diff --git a/docs/network/networks/mainnet.md b/docs/network/networks/mainnet.md index 24e43894..fe344b2b 100644 --- a/docs/network/networks/mainnet.md +++ b/docs/network/networks/mainnet.md @@ -14,7 +14,7 @@ You can set your Lit Network in the [LitNodeClient config of the Lit SDK](../../ | ---- | ----------- | -------------------- | ------------------ | ------ | ----------- | -------------------- | --------------- | | Jalapeno | Centralized alpha network. Persistent, keys will not be deleted. | BLS | Encryption | [Live](https://jalapeno-status.litprotocol.com/) | V1, V2 | Deprecated. Do not build new apps that use this network. | n/a | | Habanero | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions) | Live | V4+ | Deprecated. Do not build new apps that use this network. | [habanero](https://github.com/LIT-Protocol/networks/tree/main/habanero) | -Datil | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil](https://github.com/LIT-Protocol/networks/tree/main/datil) | +Datil | Decentralized mainnet. Persistent, keys will not be deleted. | BLS, ECDSA | Encryption, User Wallets (PKPs), Serverless Signing (Lit Actions), Wrapped Keys | Live | V6+ | Good to use | [datil](https://github.com/LIT-Protocol/networks/tree/main/datil-prod) |

    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 From e4d0ca9f6a686f6d4a0e6507c6939ee20d63512c Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 6 Aug 2024 11:46:54 -0700 Subject: [PATCH 456/627] GSS + new diagram --- .../session-sigs/get-pkp-session-sigs.md | 155 ++++++++++++++++++ .../session-sigs/get-session-sigs.md | 6 +- static/img/SessionSigs.png | Bin 332918 -> 330701 bytes 3 files changed, 158 insertions(+), 3 deletions(-) create mode 100644 docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md diff --git a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md new file mode 100644 index 00000000..be16df08 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md @@ -0,0 +1,155 @@ +--- +sidebar_position: 2 +--- + +import FeedbackComponent from "@site/src/pages/feedback.md"; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Generating SessionSigs: `getPkpSessionSigs` + +This guide covers the `getPkpSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). + +The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific Lit capabilities. + +Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable specific capabilities for your `ethers.Wallet` using the resources you specify in the `AuthSig`. + +## Prerequisites + +Before continuing this guide, you should have an understanding of: +- [Session Signatures](./intro) +- [Lit Resources and Abilities](./resources-and-abilities.md) + +## Parameters and Returns + +To see the parameters and return of `getSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getSessionSigs). + +## Example Implementation + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). + +### Installing the Required Dependencies + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +ethers@v5 +``` + + + + +The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. + +### Instantiating an Ethers Signer +The `ETHEREUM_PRIVATE_KEY` environment variable is required. +```ts +import { LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +### Instantiating a `LitNodeClient` +Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. Because we're executing within a Node.js environment, we use `LocalStorage` from the `node-localstorage` module to store our session keys and metadata. + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; +import { LocalStorage } from "node-localstorage"; + +let litNodeClient: LitNodeClient; + +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, + storageProvider: { + provider: new LocalStorage("./lit_storage.db"), + }, + }); +await litNodeClient.connect(); +``` + +### Generating Session Signatures +In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. + +To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. + +```ts +import { + LitAbility, + LitAccessControlConditionResource, + createSiweMessage, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +const sessionSignatures = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 10 ).toISOString(), // 10 minutes + resourceAbilityRequests: [ + { + resource: new LitAccessControlConditionResource("*"), + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback: async ({ + uri, + expiration, + resourceAbilityRequests, + }) => { + const toSign = await createSiweMessage({ + uri, + expiration, + resources: resourceAbilityRequests, + walletAddress: ethersSigner.address, + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient, + }); + + return await generateAuthSig({ + signer: ethersSigner, + toSign, + }); + }, +}); +``` + + +:::note +The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. +::: + +## Clearing Local Storage + +If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). + +## Summary +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). + +After executing the example implementation above, you will have generated and stored session signatures that allow you to request decrypting data that you satisfied the Access Control Conditions for. + + diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 7c7c7385..7e79b6e7 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -10,9 +10,9 @@ import TabItem from '@theme/TabItem'; This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). -The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific Lit capabilities. +The function uses the session keypair generated by the `LitNodeClient` and invokes a callback function, `authNeededCallback`, to generate an `AuthSig` scoped to specific Lit capabilities and sign it using the session keypair. -Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable specific capabilities for your `ethers.Wallet` using the resources you specify in the `AuthSig`. +Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an Ethereum private key and the `LitNodeClient`. It will enable specific capabilities for your session keypair using the resources you specify in the `AuthSig`. ## Prerequisites @@ -150,6 +150,6 @@ If you want to clear the session key stored in the browser local storage, you ca ## Summary The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). -After executing the example implementation above, you will have generated and stored session signatures that allow you to request decrypting data that you satisfied the Access Control Conditions for. +After executing the example implementation above, you will have generated and stored session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index 5fe7bc7a0c271a4eb958fc2f0e44130f6a777ac7..d66dac32a39eac6609d919d3f804890525c73449 100644 GIT binary patch delta 256779 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�_5DSyduSa3m0>G=DCxh3Nxpicd}YH+ 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 EMp^t(BzP6(!12W9|C{(em2so*!dRYZz7N zsfr$IBIzhw+utoz))F+BcSKQM7glpS)dYqUTyi;%6d!&c-2ZlDXrtb*UXI`l2rr)F zDywB;Dbp5teOzp#AZS~hd7D&Tw{Ko7%+o`V5-d6{0`v_4!Hg>Tt6lnrmmU@8-Bch1 zXeag=_VbRzZ;Q&O>d5)o7p%i=`z`tAdwuMN6KVc)EAK*q{G-U2I8Q$oScGi?vO#`)_4-?t)n*#1QdL2O=ykeFMWy&*5 zy&Or*62*Q%N%r@0~~we$C8q=TQgwheDdmq=QJMMXa4xT8ds72XVw-$FPn$w-|QxJzJqjp;&(V z)1MFLZC_@B`a_};7@%gi*OC5CDD}=$dG+Q?q;9xJGKvb*A=yHdcT#{8hf6z^!Hr7UvT-qW=Ta^Vmy@~lX_u5k(ydtcO}#U?y|J3X7?09Uds z?Ofl7BoNElIm{zU?ZcNOe1AI)_iD9^k=-X=&1VfCCV)M?va0&d*qsqxUZ2?;ZOB*>lR7_aVs$s#PGQLRsbp<4 zM)VV>oayq_#gu@{be-Xv0dOLBzfOW*f9$SorOS3MF6w=oodTeDL!}Q^%iZ*TzSo-k zNTMGxq&E+JYSUoebU(tw+v!5@Ni9dO4+)$XD%X2yyJtc z#Un!f+P#adl%*Oe3wT}>(G_*;8Xp!DC0R$!8v9}cLlQohrV~nb*JFNVpUHi(4Boz- zk%8t~%e$97hlTs7knQd68sK34k)3b%j0#H9a#Fn*5$CP%=lUrgCKvJ zrRjI8_#W2}!XJ|YaR>I z_aA%^suinE>`r2W$&uOU?T7P^c(5BOn&Ul@of;9MA0)*ew^uuXzvg*F{2op=$(Rh9 z=L8z9(@iisL@CgcyvdTk?Cdo)$JbN!T>|`4)Er|N?}J;&a`sb`KUC@V^UG*u%O!sn z7V6vaZsX{u_?|3^y$=OkFSW*fa@g(NFryVsa ziq9GrTl_ooD zOxB7!EUw^ynOg|C#qx3j*{8o`RTe3N9nvN`a}mHMcRm*O5W#JGOKG09qPAxGEKB~TrdY1p`|Ql3^1 zPu_2aIGI@;Xda0#Imb46t8yRYEP9!UK9##AZg2k{5YwGczhG6ZH&!x(DOA$gbPgP<`@zj%+CJ+$2D z&9JkhN_Ag+S#1f(@*KgYcaN9t?87(GFuE|g61LBo(>lP4zR{t#W-Rn@fn#xy`G=G` zJfY@9c`p0+P=By}lm{9*>xkY@r;)zvd=L*1GcYgD+0vh3v(MA$xrT_A;Y1Bs?e!?< zXHCAjO-DV`_-rPoe#+R*WMD#R{geilML((E_P=r_U&>_o#%V5;3fZ0-=qu?H zx;;8pbFw5*OOnh6!gh)U5b7RNe9Xf6b@tBiAW?+zCnObY=Qv#?!VQw%@F<5 zw)e+gw^Y&}{~9(%F{pCOFM>rDKR2zp2yR-m?|$@?Yr|{+K@$N+any|Iw7Sn4bPf~7 z(biGJA8r)IC>u!q0mu7>UCk6rJ_S7e_u|PbK&*TA)PE~X@yX!XUlj~|wx0VIi5V*A z7(Z-gJPY)h(O0T{GIyg|d!}#l5rmO+Sw)dn#it*INr;Q`%{=-d(X{Q<%}>{Wr?=+( z%l|RL0`RYsai?fm+-okULuiozMV0Z>skn_t^gV#s)c@kbk^8wOzx|iKVn`}CTw`BR`qg1)crm`=0)xj`XKmUP_G>3hrJwu{->TSkpYu#m3KA z{FC|BucH#lvzfs%yt&p*BenZoNnxACv2A=5FH=92eUkJ4wqdJ&<|iitFe*my$?K6v zh`0VXU(X!(P9_ik^A&>GDbP%C+Je{Pbh^wz&NMEPQEWgFc|L_t-C~eDP2l@DU*))< zm1M^p^|{^fhtW$~mf8)Mkoy*8h7I}u_j3e(aW9O=yg`n~UlbDX4llzeA2e5&Y=#17 z>4zO|*7Epd9)FKwNo`E;O1wLt6t@}EB=PRS{O<8B>uv%65G+0k zpE~>Xf1vTd#So{+mn3A2EHMsxHT;gD`)|v~_X)`hEdWqV#J65;D(&D6jFH9OKlX#) zs41{#pgiDJbwf;77=V5h@sz&Wgzs){^NkUeZc=jlS8Mnf>hZs&|Hf%e6-;n%j_hhu zx~_n4U~RoT<7%?eGr@Q(58YEv5u3gezrW$SHvN0VvG@twXdjJ@%cY3!@%@|ErerT$ z>^@VZpLMda+}*jVZA-f3s`SxDpK+s2%)S32wHx$r@eUsa)pEHQM;QLOMIKQf^KJ$* z)qBVB{-U2UXW1$L8z(XxC0^op#O2-nl|2&SzxIN$4(iocOJBN(PI?I%*uwmMvv= z##@)q_c6Nsfg#aOEO5B2@pZPRtnc&+>-f=bHSTap|9D&fxC1kC>UQ7xv~C==$L;9c z-E2hb2>1%VbG8-NbNkczHzRG9(<8S@ejA2PngB)T-xaDm2MWz8H#0!w*y?wWL>O6^ zN>fS;eEdnKcYU-fo=UdP}Yp?JyrD z4yOE5TN(Y(I(AkZQv=_JSG?B4SM8dlre@{Wga3mt;wVenTM6irTrfi;DEtw}WbK8; z`WCi;eWQ>2_xvl>Tg0FAEc`+LOXETGOqWz2^P!V!K%O_8UcIod8AwY~bitl4O>^N? zfyYqC8eVb$&yf*cSXt5)EzZvZPjO3=UV%TQq`7i_NuBSfthh%O)Ola!4|!u4E0Np3 z8I5GGC9Zet{FgL2vKz!5W**gN9$}9+G=Nvsz2mOqeSJBq<`+wrG{SD~vSxVZ(s=b{ z8E3cXTDC@*yCU7?PE8FjRg6<;6CmFBk#|9+faI0SE3c-5V{N_Qw&I`n2zT}VfXWc48bKZ zR?L?C$XT2+*-TqXSV!Q0y1bu;54i4p)PtihXdJd5&k`FS2dTaTmQh@{=#N9zxuDl+ zMM)MJtVxdUqte^^YrHSwu%s&mtz{!^#79?tPMz#OJSzo*fl%#(Cj22$AH zV;PN!dZ#~vYk1)&s=~!s>KP<2nuMSnJzv2#D}Kkv5Y|K zZ_+0D;x|WuUWsnMK(6==RgyAZHAW^LDZ*H|urk#eCyV%H>Gs;0wt@ZfV;V27n?{+Y z$k&}%HUXuI$OoHOnu1OU3T#3{H94jC`H>5c-$JcunpA1u+CiOdBdAhqfaA6%QxZqC z5ARJ!f78tG>}-h79tUg6cuO5c4WdWM9$-S%WdL*P{!|JE%(si}t9lWoJhQYHHCX%C zLJ(G{e)6e6-IpNB+#gq9ui;ts#U&E|Xw}W*Rq}S12vy&N|!7MW@jY+MfJY5zt_V*&OYa zfcvyrH6ua~N#(2O8|A;EHpT}hA}ZU#QMQ2|qYQa6^sjqbm^{~Yn(F^sTQc~6#lDE< zsIx%M{#-xl4824d9jr|TPe!L@rQs!rTA~QrUvM*^?2Z3b6*#Uq1rdacn~~r8{w$M} zG8l7*;?ocG^dT&k1MJni@}Ni9k9wrdz8cOqA=~-(_Zv{X+A3WBZ6h(vfQX|>R{Kie z8A_wbU+Wht>YwJa)frmw>=Z8XVK*Sewx&PGGQzaSPbHwT;1vcqySXr!&5s*G+k}2D z(+Tr3?-<7Jo5M3}-ZDf_jkSI&HnS_$tA*_Z9+3p<5O22D94{D6hs3e1hV(TfZH0+n z2ouzV;g@ym0Xd=+0R|+@Tl@s+yK{{X_TI<%T>S;;fF%T*T0?6~54!)0?Gaq!NI7Y} z!JsV&w9J$y4&_GZnv#r$%hI zBctIjyi-El$$S?Zzn~F}w#{(&mj325jc$`3s_~Cw_4;Oaql9Q9;QLv=PP(nlb@9fT zp&$F^@F2EBEN9tedD`&t(jOV^Y{pWcXEEt9>|5Zzm8_#(jBu6YqZtQM@VEdU6qX(cK7At*U>N2))Io7KE`iJ@`QKzT`^n;*k@jb~i}Mr1)Q}rjpE7S;e}R{*b;S390-sA-!=3UAXxR|^9^@MXdlbW9O0HQ6`h*YxjNQ2^k?YSmH z12{M>F2^$pvsEFXxXKrvEqsDi>wha!RCmwYPNiYp4R*it)jW2?_;bN1gOmYA68N8; zY<(s$U=D!4`rm%LOo3j5Q!UoSj`MCwFX%~kWYEgV0`@ySjWk_H(Gn1U6t$@Um#l^% z>u0Xpj3*;VFujR+DN!4I_y<#`UAUZj{chK!?>fJzKk|sob5}|!%NF^7O#8u?gwdS37Lop)8_aS|+R6?A4pOa5q!LPJgyQTWCX4XkSFe&JZrz;!F@l>TaK=u+8 z-)c5}1+R7s^q5xO7L=QQvZ{A{a_kOhQt?GL=h)k(k8&ETS1uoPKZh!=J$`;Sq)8gl(?dy`b1eNV7>&6UKvZ>7>o>5$3OKb!`p9!zNpCS;884(!GT zY+hf!<%DC}@#(Dz0m1UDb<;yefDHZUlkRDYvmZ9v@+r5G7mLFMETfX#PyFAVLp zcKR7kH{?o_6b5R!N=gkqe zS+)u~41J7P^bkW_|J>vtiag|WlaYu|5Ypcc7l1yfodTPa4kd!nif zIjV8!>G5|ZU1)Se|M~S?^MllJ1pcF!@R_5=5Zbpj3V*hKtawFz=Vd8LV9_~y_KUoD z0m^_8u8BWKcG91RCokMdg7`h_TCxm-V@VNaNsot<7r6r%=Yjxr*)ArfCkBKJ2bgQs;B?X~;bXWWTSDJj>bCGegUOOQb6ri&VE)j{m2l8(p#jn1c#Y8^ zbb9gbf-2ov5m*h}#gaB8*<@9#(4`k^uZ#@}9ao_EcJc=;YoEsBld-MAc%usWN}sRF zD72Pp`PSPkpa@O%b)+LkezPPHBhd?>L80Q=8c7@`A*0uvr1pyxIj}uReuPs?9=XKz z(Es2hP%qiJ)~cZ`J}nMo8ue)IIdpINv0>-&`gENW8%xqhaFiO|3OD(XomP19RB6Gi z!p8cwc#mdjskB_-=+N<^i_hNaA7}<;me72F&pI~c+pv?T84Lr9r8RHs`MGUGC$@z2ObTXZBXTQdc z@@b3*oNP9`o$nc>4^v3qcj6gDzgpTd-1pQbID+eTn>!hwoq?RU-rfsRljYn&OJxDL zZbZ>HNON%CA9{7WVk#Y5l}Eh!4Hu`swasxp&o95>{3(^|gVd2lY2@(p`p6sf^ks(~ z$+V2Qr0DLcRQX`NM2H`(^rFjJF*sRT@pTDxkMK&~RH1zxGnQweXw0%xK0;DSQ3pXv zh6*}g_PnX-@fXr`6t|rsc#A_#${2&*olJzmbG9z*_GK9+Dxhr5>Xbu$1JDEkL#po< z1>J($!A~3Sy%dd(Xs?y(;#~CGgPc7YD0yqxKjj*23ZvM5Kp_Gd)8hS-I<{c>`SD82 zq`b-7*2V4l>)t7u1w^I_izPUMVPZ`@dXH*b{2y6GD0Xv|BH?}X5j8@$?7Oas<> zZ(Fg@zFXeDhDKaoH23af@mwQigHP0&_eR7>-NH$LNqHL{twVo`G0g?`N=q>AxI)D~ zRA33PQ}(KK&^e%~7p;O104}tfpB42+XXhTeslJTSkBi%Cb*M}H8rcg$%;!CDjoxv} zPvcerwF~IYuWI@cls3F3+ZUQ-@v*Lx!hSr$rFhGd_z>sEsqduF91q{|L(>Y#>f-`oc?)J2qer_!W0 z570=siuAS4$yYnjF z7o==B`){*6yt-Tu^g3!KF%Eu;QH@ervy$p{@7rR@7E9Z*5K&pk^&Gq9KPle7l#tO+ z&;2SmiX~k7OnC=|6BbhGm#y^7F&8~<)_qZUzxwFkPu#^*^ zBRUyuxq4AsF>iX7@W|)`0bl6)sXc7wTHPYrt}iehK!>gtt>6PHPiQX%uGY9NIH5VZ zulYVl?GO_5V##^ZQlnk3y4lR1!Oofo2@UqJ><}?_o2H{0bRKnc>aB+N)RJ+qRY_@5?nnSr{vN}S{RAA1;B%z+aZ8-q z?dP61N)(IkuinG!=08*bo60%bBUXP*jOSLp`Q7J^S7Kt3TX%_6z`YbQi!S{fi|;es z%x<~ANS;7nhkQ4RWoOH>d3}7?q zd8ESYwL}+O_F3hoVf_PWdTj+qa-(HF+U#@PTfW1{{-yj>i=Z*I)ThT6nd`tRHy{&w z{#PGXK~qku!M#Eg`z`X1F?O@#9Wmfx?8&)db;(IR??Q?t!OEm)ZvnKM2P-x#QYsi5 zR#l2fNH{WfLmiF+=Mc1m2j)Ehfq(4&hkgWt({$d={r1OtAzn@W1ohlv(pF%mA@pmq zle5 z&saU&*97QKt14N|(PT5fKH~@;?f5}Z&DzOv?+u?4Z!+J>UTI+VC|m(xp(x9gHi!d7 zqWc!q!ACq$*w}Qg`eD*arjc@rtBAw#Zxyjat0ej8Y@7D`qy85e)REL8_9^8+` z4|Uw2^zTV8GH*Gse?6ln(cc4J3}kRVi}@Sur;c8Cmjdr%9t#tc&%i=HZx(8@8ETAi zPJ&loTD-g5RI0ViDsW|y9o|LP_fBn*J;6Vq?#ygn#(S1-!F&7+h(T=(cQ4cwh@5yU zKNpEKgnEByTzqXQA$gZB6uL7^#gWWfxnZI2mx}ySIBv=03Rkd?Ug5Iy2=!zU(WvG} z_8yw5`~Y6vX)&Ajio=%soVZHq`a1k_m@mJxkOhZhI>3x6L}5*&9ef5dXxLu+lw-+M z`2p$i^V)|EPkFUiF}$)h@lZ)z^39Y?lf>jqdGoT{Cvu%GRj@##%I?FzdM)e9 z_rFN@U&Hg4zUw(DrNPv&_Ic#8lwGV)$*P00?;W5bJm;vx=cH}KCLGz-r{nM7bhRSe zR6#Oz&JARp6rP* zchy0mjoHlj*l>d@IaF!72U|knR#2yUpbN3BSGXCF19{szj{eXn_Ug%&06Pae*524b z00G4AA&zcgAGsk<0mbxu6Sn7I;NsOT#WNay?E>feX80@pZVwype9_OkLJ;20)wpXu zeyhTd!J7n$ zH^-8kmmjfi7u9v+xnI9sQ)OQJ&W4S;46yB?=AZX!A+Vd0f8=Ks9DnMuQG5Gj{^8ed zkEq=Z=efT|AhRmu7sz7?>nntoYp)W=&wS6Qr##uy8=_WYTFe)o8xdpl-qZ}L3YNWa z?YI1>-5#=lJ`8`A)Su~9xKikKFo)vafk6muH;x(wt5@E}>3k8tl!U(?N!B$KE(I(l z`mt4lPIa#SAfE@rfvE=-E(FSHx?YsV<+~Mv)QE+sm(pi$Ib4!o76JO`tgAB%1<;ZN zbB#r2g{W8B^+lPw?I*mSaaAt7j4AZs_sHE8bg`d(EiJWwXt;1cYyCo9V)`1(>*9Ti zU2M?QfL>K>VBcc0Nn$j}M#U4Nzy_Sy@vh|Or6cnMF``Wd+3HNh=*`dxNqvRBAZHH6 zlX4sT1OWalAgB5Gm9BZOG0Lh3g}@MCE=9ElvoFg;4C-gsuY;@Bu%6f3|BA-mS#aIX ztz%o^mgtucQK#;i=rL}A==H3@JS#e?6FT)>G55yKc}9hU?3f7sv`S1m8{pI5v>Wkl zbm>%2>2nRn%{}KY^d$5vlZ%=RnIPQHoC*B*74K)TZ6bE>LS*ckM9W@g3KQgu*!rpO z$xk26gI+0+vmg~XP$r9N=2E)a05MWBd}h5~*?3qri1z1EiT6&*nV!Nr(QN7kZAvON z^%u#%lSkxXOgD{>1@wYPgXx@RtT&Qj`rEDXuGJ?r#~a=iUHr45|Eoe-4UT*@5c<`4 z_@oRID8S1?Vlw#R;^%XRc6Lz)(T(xiiZ@SGbF*h$;v9m{F+yo$al(w!G>dhfMwTEn zp#(9I1pRP^0I=fzH2pucy?I!YX&XM=Zsn9SV`XV%la-~Vsktk*nNyl(isVY=LWxT* zfEzsRjk#53uDF&PimADwLS?xtZiu*HxdTFqh=Rb6nR(y$_kI6=AOCqA9?$(O=Y3ww zeO>3ZsI%3;o2~(TrXc@lWTv+?zVHsHsVo4rh#M^uZqDpdZ_Ng~ehbfDfS9B0=?_}NNzt{0ts~{~ymNtVfUVdx1`H?uX_S*#^ZLqU zQN^p7GkeUSRq_LbIZerK^7-_ie+*usO1E@BhjgCvz*!aVg7Fy|f=Y>#$!Bg@WB(c; z--3Lv)MdG9C^A}((kI*4H*UhII#ra+oFOpgwPGqEBd07f%Z8m)azjHlOsvjN4K`H1 z4u2|qKC|_D+wXI{4830`Kj_rt1UZxmK`M%xIw6Lo-n`~{SFja#&w9%HS&-OYmB6xtFKso5xE#9_^QF zzQ6S?{)P3*({7I4)RjTYDJ2ih!}&L@oHHQF+K<#}512gDkX<{yCXMCmTou5*&j~b* zp9jmrO(K~$@l}IbzS3A*Em>+}+QS2$_X!r(5OfZ2K$)7`T=)~{;K+BXZ`$yTe+;0X^%Is zwpY`_ulQeIyOqt?l+I+>uPIahz^~nZ)NFX?!R(1HdHT3tvO*|33_NpsS<(0_aRK-Y}xoFJFrg?>rOW z(eF6vqyi0BxqpcD!*Vven0t-|71HU+?SsF7ipxHn9@%B#Nq&$)Z0=m&_8|~Lls7*Y zznfFG^x4)>@oe%WBS*ef&f@bbGOoz%w|-(vbM-~`T~(8}`|VmjYEk|GPEg(Qz~haK zdp3lbOP?g;RpuK#?~uFMI|p{-GJF{}1vm0o&7MNH#sl|t1VFOd>-s2}#vKU-yq5wb`{Yny!rK_kobjMja z_9w~p#hc#xlt+z$|*fkU_(VYnF zeJ0HPg1mUhaSDL>m=wO7 zy)HeO?+LBbJOgvoG4!6rR3@$!nH9=#?w^Akx@T~o?v zsX}~=mRwoz$M~EM2()MY!{(0K7jo;iw1g9yu<)&Drc21L6zil${ts3$PzqZ!lnuEw z+2FSs=F!!q=$QN}kBCg-?9Fkkm>X&;=m8Wg9+Pt8g(;i^5X@G3M2!oKxvDwhc;Czk zvqjm?#5S9I6Ms z#oC1R7;zE8a6sZ!*C?_lF_dcZw3@b?)eNETUV^0zH_K zzfP~ZCBcydZq)Dh$81}eiPZg&ESv>XxxC%#7t!taH9P1omJ6W5jIorn-KIF7LUI1j zNco)-kF~#q5OuYY#twyz%?bO9nWf8lsPj^)(I$@sWc5QEdIa``@VsERc~|mA+H~Wv zZL%rp%TmdbR!?~`j_@hO=dJYtU@Wj`DP9Q4AWv||h;OorqO3*;=Tv(fytT8ryA_vH zyOYmKNlj7tBuDz4T=I^3)*qIWFFe)z_sYaF7Qd{a^=I!9GD{Y^X8$g$ku}$H6WT_T zv4}h0-+=DU<+QYIso%Vuqge5_&3cpFJ9_ONTp02K)I7tsv*FXiK9K`plA7v{*+AWK z^{LihUkaQee!%ld$mE1A{acTc50>o|0O<1pZJS^g@rA`L@U=SBw+a5)jl{v0B*v>4M0G1)kj8jCjIf> zDexkC^Z}2a6psAj&P}(QzEb5mmmjkOqr?prztEqsW4e3YN}?= zJqD2FE_TSd{X{q9R(_F8icj6xlZXQJ(M)3ddF7bS0I3UkDG*b}^{SOm+U5Pb98)RD z!g~Q4ayUwJM0M0XaRYYSu^3GD5~RAVmIzCoj}_~rYodA=OQVu{`K)$z!mq(!Bp=3n z3F)!XNaON^ZYAp0RP~kjkH+-#yX8&*kf^O`JPla^ddk!jnc1qKfeN**SC}c+IkhZb zvf0ev{00)m%G`g|Tk{j&1Y}Xg$P4+R@vMpbb9C<=_x+wO{0?1|=Z$ovNmtKM#_yy9 zb=NU(Qrim=vsxB5^TNv_wgSZMgtDEc)a+RBgrac<>+(8bsel00xcSzv)bTUm4+U4q zmqFDl=7iO+FY-YqZl&TdQt=O$+0`PL&zzZwtY_ilq_sV9%_f8~#!F?EReX16cUl}s zdu$5Y=9}jmOH9rsLeI)&#kNFg{kJUR=84t5z}bxi z=5IE;rDD7MTj4GZfcjLc-IurNzSw3K1jQUp(K=k` zQNTKfDefE7DrW6;xA{UV-qnH6h=st8YM=~vEN^`madP11rBuJO*VZkO7K<0DR^FOb z092q+oYzgzpzWbjy|DJ~MQ-fPKSlR4!Jwv{0U@tV!w5y|hQP&HX1jK1hC?07UYeS% z;+{BE)FYwVZHk`UPh9Pi6I0 zXPYZt^L7JHKqJ)uuKDT2o22yU(Q~sk)X$W?1IN{6sGn);j89xkWQtX%8 zG_O~ZP{h{66e?uS+yz}s!V_}A`j(Tona_pb@=Cw}cwvexU9n1Kr*oFemYgKJLj9|K zMH(6-p<~(HM-Ve#(TT)xiyr+eRg|2k;O1N{xCV)71$bf>}+Mf1Yl8jP7n;yqhxh%2w^e}@mc zvT*6(IJ<0LcErTTw1eDtrm+MqqdECaQ%^JNb3Hrv*%ub*W{-0^p4!>Gz{tsxcVREWS9%IMwsqI_N1s%l@fY~aZgb0C{A(1$VLMPQy)uz)3#%K?*_iN zcGq^BPv|A7hy0c@l?=G+Iv?lpF6|S)?E;04JBdGNm;88^+FDwki%r>!v%{~ZJy@wN z#Vu}KH*5cj)?eY?%H>WlQ`Fr+d0?qyL&nV4F?9Tn{i@BSItRR~KJPZJlSKO?7o6f8 z7V?yM`G`8x)Ohz<^qWLM>q(~RA27J}OqJYMDw6^k{UHH|EqS|A>$UnUE*t~+KGOs2= zbi8-hIbgK;=yAL2S!uy(Y7YsD0|l~3oj7>#Y-4OyKe;^yfX;zW?POEUL$)UQ>+gFe z&Rsg`uj&oJ8}kvbL81Py=dVw9FulymVMU&})$co(JN!9A0xF9JI_{ZPqPQnh9<~1Q z0zUyjv)fB}pQko;$J@|HYk9W6-B*#J`GM#>-MA_0NdD%5>4-#e`hzT1cV6wdyUF;X zmAf@E@=1x|n0%D-po8J@DmuYd-yrLjhT6#cVxZD`(6Fqo{H;lOY4e_TMR=-1XvQk~ zc{{l6JaKnd&sx|qxhBfkZ6IlSierhi{~cL(sNG8|b4J4*Zi!j0Z~E%Q*<6KVUU|mZ$t*dQP#y%p0m7S6MFt67Bck zI`NkD#Bpx)EouByW$}XIM-*p{}C79#yrySCSvRiRzsnn9Y|RBqUZB zuvfS1xt|Me446DJVO@#_6+V*TxJq8>-~-O8i`;N;HS}l9B?wGAG3!lxesTJIO#fHd z^0E1Mj!T7Ne67Vs)Dw>$!{%&2Zrq)7y)J+5kIpN-o8_wQr(F*ec;5W%Phh{t(&ycJ zjY`%XTIl}Du$(mQg00~pCdm&Jr4Wpr!RzC9>mg>EiR%?H?YWCLbY6MO1ii%9r%ifQ zQ(E6)vfe;Wp$o6s4*!@f&?%V&Z%n`Om-WY|*zo@1KJXcSWCY z2)C8B<7kb!MLf5_2UJAu8UPm-SfqO#Zj8Z|LlK8sqiX#5V(s>2i~~R7h6d*DNPiu= z&p^~S)ps#lw>0IeSrZ?R*=Fg9e<4rMOH~LfQKYN0nRdOi1&e3OAI~Hw>LwLj@b1y4 z>`a2!9B%oU^ZL+$6DdiS4}qA-IY_9k*>11L`QIEo~ z<4XA6za9G?9PdW<5=z(~3${dz>StRuijh^>UkGnR_@@sNL zl;U!E1|9YIf}J2({^Q+Liw?uCIP`;{Y>U;5nNPkpZVHk*z(vYDma1sG@;+tEtczd3 zJyqSullA`!$tpFSx79>i=4Qs#3(EIc3oIa0Q&2Q&?^XS{xONJjJtIj?8#Uy_xmf!+B$vAc400`F1$<MTTm5Z=e}E24be${L_Kkk0q&4A58lpL6(84vt(6S0s6lk;3P&hM0 zv1f2zG?N&919|3YR#B)qP?T7%*?)8=f?29~~G+7!UH{uNiUVve7kkmQ- z4tResl;drTR`^U+K*@*V#rM*MqTN_RpK%ZPxB<>A4~eqQSJAJ8mm$TK?mYoYa(JDhIHH2?CNP)YE2Uyi`p_6? z)@FWmlFfcsZ|VGVrM1*{5A-K7J8HwPg=F>{jeMCNqMieJY6Tq{yS9y3>}Mv^?+o%W zn7|Bi0L=2vmlp-wEBfNDv{d9d+$TD9JP5oO>D=Zu5X4^fcwUW{RJPZEh7^jMW3Xqs z>j%$$c9(h4J}a#~qlr324nap8p0`&xIEk(^p_&*u(~v)+3S3=nw36|=kF(?BSe)_G z*Vj<(zTn3a;<`yM;|VC;=kD&*FBGrET)0y`Fx`zd;*tK7mKE!y%8JCa=a0`q=wt8d zW7szeY)Qnz@J%)x4Y_3IhcsvR!`&XSdkJL`+XuSqe^yfEM`XaAfZOg1Jn*k)0rI42 zF`GL$V@e9PV%Mz6zPQL2)d_LrPK9iF!pK@(b-21O#bz)znry?&2u=oUzw9QS+zeP| zOitTcoa>dTiD_Yd1Y4^gjg;IuI~n?mCThz501EcnSO6gvU_w!iU%G42(QA4<*s?w! zM*Ze)mI_0K-`E#WQ|!>&MimEqyTrMIQ}12GeQjyu)k}68J3~+WWjy8k@hQVD*!KPr zo>sl5p@4T0Q8JC+^~t!YF+w?_6krATOAEsryBd z>fbtIn=NQ@)0a4HdWj}bXZPxoAM%B=lZLx;xQqEe_3Dj*bL6u>c8qcF7ZCL2uF>aV z(>SI=1PwiYVs#A^8K*Jgd+HaFCBN(Auq2fIIY}YSmq9=v3NkLIR0& z%iPF!GW!$=-x(<_y_8U!m(J6d#!dzF_$)^c4I9&X_m7Pw-$7w+)qt;yOT9MXt-(pV z9^r`4+CG4yr~}HFGrLu1qQZ>_>E5+z!78lpBQxmS9cNMc<9Fhok~rIR3PhV;%8^t& ze=v}qeMCi^Zt;j>PXRMABxfesrnz7+uvoSA9g%FJT>_3RAXRnz9q7p*nlhDn1@}TR z)r8P0n_1)go;wk$HL&`k!bL7)?iSk54NU_A)Rz{5EdfPazxIroiKKCAJiY#@&VSR2 zM{mP~;$!96r3N$mPd&0XY@bS1pEnSP+VkGUFD|`49e~jFDNcc$j3 zU|xCfi#!`0l8NWC{^r%%-BA;^j_T@;$)3xP=Hq3OXg3aU9*mR(J2n4bKAnK$*Cu^c z9cmNmwL%|v0==Y}=h4z)t$g0fiz|!+GS8qRvEqKcj8jQr?}*S;w80DY;1FEGO$u|> zDg2Mgsc^mk*j=S?b>$&Bn)FyP6-__j`3x-8T3q^Vt{$de;KqmZs{%-K?8o}Cgo{vC zr)jM&s+B@g^qw^jZs(YOlJV$*(LX%;|Dw?jE27qg=%%Yv0qbpxK>}0e-+>xQMN_X= zv&NMgo)(?4mnlbgYv?E<0iPYSGz9Mw+VouD@VHueVS8{Wt*pH!@i|K770DDl#JU54 zoX$VgM~e`kkvBLAWW1BCnT_b0wCA+W{sT`7*R?m*WIa@NBu6H*m^sjPom}TD_w%dJ zx~0aG@yo{oj5vryUkm93T+8<8Pmn%ZJ)b`_@IN>tWq7jb!*D@I`?tU*75UY+2!#%-VrkP7mq^aI5iea|T)kG|z4|%Rk;FE?4;O2;G1)aoI=dO;eOgIa5~1W zs5+2m;3$4oF7G!V^hO|+Zla0yBf$#^c7;*?G{ZfyP($ZpUHWKmxkpk$udKodt}Y1{ z-q1OZtgx;wvZvp%vMLBJClHNfeaZicxki1GEp0%cz@9}jg`s|?Vthj? zP*xZ$rW#$RJ9*x|nW@R01~Iv&Aw%!DS8%^neOs>E?VdOGFg~z_1iFh(Q;{i!j%q}5 zV~a%1en~Le*8^y-wN5?a*%%=d zg1K_MLw?lR9nPG>;n|44@rJY23+1G363>VAIPG&)JfM!WEgYt1p(RxptG1aK3jp2c za1-a8$@U%-P2&_9|2e+Jq1*P>3wPTFC%wk4L9sa|DIZJ?2=xHMFe#8q19=Hqq=DPt zAnBR^l3-Fo3ODXQEkCMPhGbslZnBw;(zx(O7}8Vc)0A=29}~%!aLfE(C)~kL#&wqm> zlyF-yuf0V#)U&GZefJKWds#NBC-A7zdH;c~gyIgr43}BL!Mp_@4BTd^L(8r`_!yS{ zHsYik#u;GfymB?{;db^a4jjifyaa-l8k+642KGT1C3|d^K^d(L9ig#%h3mM*Tvo1a z8T#>hO!>mhZOLIMe_U2K%O{VzySJtfS%)MKudd^&z7aCICCDo3d87f zqx0UbaZhiLK|*4y$)+osh~M9q5no1VWN}I%h-uJ(61v$XXL6*R`{I-#hZMMF*lDG- zu9K6}^S0S`572q62T4=SL-irg<_TeIG)~&>8t_n3(I#P^JQ#9l!bC9=7yLd;{f+8_9*TE@*mf_L}`+q<*u}C)5H6!fvNUH37VI;g- zZFtyuotK|wOVUtp_xfJ72}2m}{q}@pba9ZHk0XuFucllv$E=M3y>i+ECXuWQXeMpl zrY0;#!d?1p#%tpa@#4lK%kQeOJE_R6>m?&$TZly_An8uYzOC!g0C!01`dZK671IOt z+Ag1EVbIosV)T~*$=-&=!Ea}WdSA8cS0#ecEzi%|Dm-<3TR&k?@3w`|32T_|qoY~~ zP?<_jGx*_TV3j>!e4wB^;eRw4Gm~fP-J3#>hLKW|x*!o(;L37}b;!pR#ezLdRrPWi zT8A|+&W?2&bY5a?tf`;WG@aXDfK{C1p_^k4>5_f>_dcOODj+{=i|dwOSRgW>m@N*X zxplpJqBrwH-+6fS)}(r6#?G$`zOqgT^Hg0|0i&=xT)y>SG=fUHj zQM`#A#pE$Cf35B2=dZg}QzIWoXMiG7F~wQC0|MdV4hquKURrwRZ7;ld6>~xLXClN@ z(SoXD(~Q|9+SC3eXP{~r)ov@*2%NFlfY>@z6mwwYq;LW;W~WlZM=%YWYk*Jt#`+tyj0aT zgp9?nt;-+`WcoL!GOv;p&ju1gJCOA{MO`Rw5~6faC&^xWHfsj#L#^>x_i%6C_ThbX z-lv2xGu$rCAp^Yr)A*1UvXkeIP)SD*FD7ZUGuj5E(P28(eueOep{7*og)1qi`Y0Of zYZEfR6YEj^Zou=nTY@(6{;^qeZ*^Ne+mN4^xF$d|)ysr(9Fdq=~|bdL=^ySn{0Ur>T4D#aYG|8yYODW>_H zQsdQA22L?*9&bWb;zyxX+cy$_O=Wr_PpTU^&uzly_nj8~S#1K1-*|(cl@E~J#Nv^ij2?vYMLqw&XBC+Nw{i>|# zG|&`Ovyq`Ltpy@vUO!Y_A(&Go(#a4AOW99Q^rm`Lfo@^i~i5xS$(OdZYFOl>6 zvo{B@w4~-#L#89|M^U``ns;*lPzKPNi#YTqI!>QcssAb<)Q+7ChWhXH4(3kHQO~dM zE;J*mX!dQCS`3I2#CC)de;vr+5J&+mOT1!IP@4kSh)T_?5~sJbr)G1CMnH$79-kC z!%7eh=v^|Es!;*-a62+{^wtUKAN0u z=H4=WLp2NCN<{+G+KOlY4ZKR1+)BPd7Z#&v-+pXK@~5IdQII->1*m6P55KpVe2%8; z+_@lPqQg+qZ2QDGLTqU_`~GAe{R{5#YRL`K*~iP1&7q0yUzQ&9K^r(CfcV z`iyXf(9r2jc}cYVJJmj1C7bJD!r)ViJ14Q zW_bt^gcHXfYNv&p;SKa|$`1HG*>*m#Ro~l>EX;gGXx^cDKOL+22lC%g0 zlrDp8X1?5we7`v!@0)c)fOGP{(_lg_X|C?aK3l2r%<}`wi%Zwz`8DmgL1`D!#u#j_ zK+||{gxj(l#Frfg zh5IqL3-<-d41(|N$Bb`x&S@X61Tw}R#VYBi`jsE{nD?)^y(uh;dSr{EaBc$bgyc`Z zOHBO^*Tp<6_|Jx^_^5IbYVQvHTI=L_$GtSP{(|8RD8{Ze3OecV{bG~vMOU#ev(f?R zRg!;0eRN3oiA2NIW+5xb^D=C&aH+3tOMd#{pTBiAsS|(5D?7u6j{{7n^cSfKIgWhv zcY}H}&|E&K-BSdK0IvXkkV*uT4i@S$IRnz?*?(ye|1=N_72uc512KkJ>-}bsHz|t>R~#9pD&-ExJ>eka$_ysPH$MG7O_V?LI3V`((SLmM z>7MYS%KDku6L_<;acd7oG6&?8T~p)sSI_#M4l^unxe5$&-$p(z%Geume&hSdnvFdn zQ^Rar0`J-zEx6ZOwn|L^XOA8sR;Kl4%px8lIHjosQG89NF6arKpq7xy~7 zbXr6fi9wU$*!=c|2b0^T+uf=!gm}remSfgGX*bREr>8WtW~v-(Y}2zVWL|36khW8W zuZTJXm{uJ8sBCD_Po)ldP`wAx*NJXBokU6Wn^6B?ws-YJb$)pCY_yiu2N@Y~vONhi z9$k7TQV$)#2nvTYvn6iR#zTKpdRJ-hWfKmdSh5;DnYO%0OZ8TUUqYvJ18sh4VE@R| z7HXUOqU=mC~+Tn!eT; zPky22jxQorR6ndvxIuTHHQqCq+ws(l0>|cpaeQ3qVr9hnq2Ot5LqSH{U`{Za_qH2! zA_>^qU#{!hu`>zuzTJ+9g;5!n45_`7@h0qk*~}*tG8Qs=BC+lzf3!OP!`ED%o`w+q%NTv6+!{gZ5t5?GTr zD0XG7x2b9mldR_ru4NwGcL2XNblbjIvuAk4H?}YDDkR=px$yW($m|#Ist;87hff!> za+28-;mB0OTWb}T1D8-71n?dfQ0DSv3$drjYYXvynb)q+-|AdGZdf=3vi4Ve zrOWEp#N z(Q|gjOwb3~;rlx_eSETwc6i}|+AiPRU3=7(3nA;ot2d7AyyWl%>vF^raN->s0cVS3*>g z^=o|siz9(AeJzeA^at|eI(w^bqt~Gkl0l@}LVGzJ0l$+GSk3Y@PA|x_Yr(b%hg!UA z%9^n#p>H)M13Cs990rI!f-29bmx;8_!E|?I7M!)*Q-;hFSE81~(Qi8%1G}rqR)MZZ z>RypbXZu2q>ZpullKD-InrkDX@&wEgQ5`a_t||ddOV$*oEzVUhvs(Y6ufAunuoUpG z8Pj$i7Bh=CEm~6GZo<(6o?|V+R1S$V#c!htZ*w_j;68wNR;23RwfNe#Ze=sH0ln0%~luj42~PUh$Z9z())k8Rer&5M+>`V*+2TL9mHNbBVxE z5Cs@{j1167Io0?0Se`S>OSQ$FuWu#dvd;bJ6+Ea9!4`_f>0sfgNxOh0D z4fxTxip~5#dT9&JBWPh>+16fK6F|>MNGq^HgmMe;f-utvTR1Q|YDJE3V6nWj%G7-7 zGFPZPV-+5j6FtsI=%ck_Goj1+cWFtJf|V6Fkgsd}inE1UdfeFFMt?QkOgdV%Y3e$N zm4~{_kTORTjw*@Lf0M9!1jtmuLi~$Q# z;KA9MZlYsLX%-s7mBtS?>xq@Gmsw4^i44>(*TZQsb7I+qQR#e{>ry$FYoBHPjT-q3 zKhnaEL%3m3zq~?|-Vxn5s1dDOt1Sstp{a_v6!yna2+80mbha3pGU%juJ zgX0M^T_?xG*`^Dr^Tv(sb>j-rklh1(KS*bK2ws#HHXxo38T+fszL`P z>@pI77Z@SU0_W?C8K%d45Z=MZ{ELnCS@m<_Kvm`7*Y2thE4*IuRr4~)q3*$&h`_z` z&xv5Zu@T`w<(e{bL^hlI5XO9Dfoy_y64$7el`eE+t?EUQ>-4l6AxFybq?tm7s7l?Q zww6<)j~NwZ(X4v4?egXX=!%y(cLBJrBi1Td2jOfwPScP*uMnr$3@LUP`b}KmqdyiH7TZuo|q(yQW zLtXh}A%kx7$9$S0q zAChS`8Em=IA95ENkFjYsDlk{00lrxavGjPl(Q>P?*I4VWK=N;y^OKIA`pJ~R_f(Zq zwMGzpt#9^j+_Hme$5&so$@bNO)l@jL2;DS}j;2X(h0ynQlTW7?M z+7fn2hT4-NCZf*>C5dFE4@kZ{tt5NmN_VVD*cqaTu@GsAU9P}-g$LM(!x}Aw;fK2L zbP{2TJ47f$;}tGkewQT@z(a1$Etn0XYKbIvYdBwF3%c1fB&YhA7&Y*g>SD-A)CKzF zkQv<^=Vzp612l>d56k26gGRB9&Q+#C9m<$*zNb0igTSrd8pljAb&=v$RHJ(|Y4B(t zO>D+AUXCP!4S;CB5sGn(Nqdc+cz>R|xEAA1p2b#ElCc~Jw^F%MUq?p;ujxap=^e}n z>DCMRnDDLJWPny5bZF9CCeFfu#kQ7Hg3&3{Kf8yA%bF$|n$08b)a)ALxMlEx8C38Y zak_Y*%4ET`Jx9+xp`Q?YK3+dk;r<(#_#k4m!nPY|Uc4*HNti4yd+zKJZy+$EEW$m{ z4%2Bb@HE!=N~Qjh-~jQ#?!i1Tr?S;JZj?p)8p-#J3n`Ui5s1K}hD;J=$=lli?c2$L zP-d=>XfOu>REk>=nqR0k?h6U~%1%48lv@K|c9(wsktgz85q>;r42dyWYOK`Bm>%{6 z7E;G17nq(pxq>V4#v*n&f4qLYepZU$9OA<|v8yw*vdm{3n^WAYPe(lEH)ozXZ6maPy0ZkBvVfc zoP|A?WQI3X1O5hqBFy=?-as)6fMf2TJw7RE1jHu-1D%t7LLx>l##Sx95|m+V<1j00 z#)A`JuxI^x4U6ZyFArAf-(8vzLJf&%zz*hrL{|GtM!0BUILIr3h71*QZO8%fbC`5MAWFzoj3#y2zyLTRk~-@a zx9raqK?0V9Cxp}Y_K080yGTEwE|CntL*}mm%+wJQ@#Qp2d>IW5@D*{);r*dBkySe;we7OlW;FFW*kXnloamRshD$MZC=qg`fqfq7J zp?fe&i`DF(F zv;u#kL$U?mUb=PG5mpk*W<}<3%F?j~*t9ipF?+|_rd%?0?% z$nrc|H@iWJ<;kcqei7NSej+Qfgp-Q5DoLE5%nLfm^^Wk!;PZVm%_k3?37NZV-X&lv zqdJs>SP^?D5en6;yHSdP{tMSs;+Kxi-mgX>>%(!aoDY3f6L|s!I5np={S5xR+LC5>x0sC;mEiQ5F15P#6l=0YUw30?ZDt0&Q40wr zSevrk03d8SEgh8+*Af4*l4B^iW}5XmU+UDtz;J^*M5B3_6>-@x4abiZ3h$1CfAHD^ z&{?L4c6tC*y;%vy_j0YfoAWMPc%TR2#)EXQ6KZfekKzGG&BE@$Z3R4v1kD*q7;LRX z*xXqmEwlBJ<~O_2$I6*yjCs84!8oZ=L6Eko$nRFwwoG>wr!tl9Vf}h&2U&zNX9BW9 z8V?`7v#p2T2zFm(B)Jk1*^N$8!3%DOcl8dH{K$;#q?;oWA|#c(Qp74<`E2_0RI-)l zE7{QD&A4gr+?m!AuFL??y5TEoPCURZ%SqHm6Y)cf3hG*{Br*H)u>`d~xH-%h`ySM2 zf#R1NzW_1=$9f~iEDqkJyO$|a`e@yU_?xTLD%ZQP=p{7&yJr%uWH?naZ>+~&2~y>b ztzo{E`p+}6zV({uflthftNQ_~3I>&U##ND7-Ij#Sboa=r=3{6mfv4F8VXms7G_z}d zj0J@u0^6Pjkw<3F3-v<^S1cuD!Wvv`ZVJr0f+?Y%YQxvV0KIEjP&O|I#feEId;Kso+CmQRN)Q+)Q}rgDQGo)oF2L<(xmcDytd6iu}NiY>+c;ufH_-BySNIxxFCH zw<>klaMn0QbEZu8YN2cMDC#LCfOQOtd~q4AJN0n5t<}}EtHd&7kX!Pq0?bV zsV4)Ekajl=W4NzteSxh<2szAb93*PDFnqM88z5E zRu$3GDki<1G82gsUHtSohEB7u#4D8T%}C+gXfp|pa31dG>Om3r;~_QkJh&k9_8ctB zlB_h0OXQP|ijC8i^q11c8ZxJEH6JrZ+3n_s+_Z!tC}u#gExcYhyhzMUSL>UFi^dz9 zm)-t^%_1;vs*B+i8w@5(B|(=17rLabtmro=eezDH4*yoEbCrCk6xYO#sB%#+K3G|% z?TKS?LCnUG>UjZ2Z$1%gtJXYwUeA>EC#9x%#zW?#YxyhHPq;{{Y(k7L4GSR<;L9+~AV1v$rE zyn_PH3hyB^##bOEOLwO2X_ZtL(>q9ynzT6R(n+xqf_vIH2qA&MvnXa2cB@AJn%$-H zc1v?5?$D4nfHjD=QUJeit`Ul4Q&29esW|VCvd! ziIg55c@*=uI-}9vMm5XdVLF3A%1`H0&6_2tLE=a8oQP`;E91^H06|g0w^Gmgbh7D4 z=Q~_mqh#aJ$Ubcvp6x_9JMe2Re}}ClPt9S(kF2*1Mcn60j686p>Sb&^Vx1}(DX)JW<9@ z0=*-=Se?i>z3K_8#;z7zH8`ukGA%PMY^yFYiz_uq2zs<-#6_ zs0xy9tbA>ImxuIP84cBxOe&lm0{*;z)bLAHpa=8fVcAHH1jzVfDva20qc&aj!hqmb zxOR<5^0o#))0vbDn`okz$w9%C#|nV+=~Z|0lsm^q_^_8Inm-<@VQ?7DwKqpj)Antc zIBmb&(SJg?wbo9oc&ujqzNV^QEKS{`Uk)UG-nDjawpem$isrOu*M<#0|Kum%2n+}4 zQpX>zC(liw^kD&OZd+D=F5mg+N>Klq)0U{ht@EJXvE)69(@o2yNlD-l%ccSYG3Fvf{=K;L9(t;mVfe4K*y)&Ufed zzPAyleY+H(utdq`S-figN`d<5(ot{Om#N8>EhIdo$Az<4dx7xsyqVZsSQtnM&m_o2 zu_J5&K|P~!-55&BwTC{S6wu*vuDmGYGoVgse-95>ExqFv>ce-p1X_X9gRHz zJ7gVKz@MqA%Tg}uz?!{(^Y_=O+9RI%e7eqODoPi zz)oy_^M%6_pC0)k>NFRD_`?PZ%=bl}K~dctmgUPXYF~C(?m)bxFh%A!{`LvMWt7=f zadNJYz~MfG(n7nwY#O=UCa!^T29Q16<^S9aw((EozLTK~c8aZJUK5p8V$mD6w`w~P zyPzL6v{eSp8^ZoMCwuvum#55`C39PeQ_jKOD_DSUP5Sg42sBG7hp9EgQ@{n2p2-MD zX)LKl_D+H@k0alwG)TX=yTfI}MG8H>j$Zt%z2T?R$$w&~O=g$DC8^>Mh`sccD)1Qk zxW%41i!(PZ!8iG#Fxi_QnKmC{YnOE%v3O#a^FeTnJ+$_1_DO-{OUrwUF~NyF0gE~v z@Fi37VL<;#)?`Qcq1$|@TIAIDx@SlzFjw~1h7EzKxv)&xBYv8kzPJ?C`bt4>=_28` zlU^8>-8E&q%~xRqq$^RK5^d?}J`2w<3Tn25j!T*+9$pK z9)?{?%vxU&8Z4ReWPJJeZ^C(x82E?y#;f;Spnj=V{>1Z^@av#zPd`y!{}|kp5PzXn z`Q*ze#0{hLN33zB=#nI^>&^r?g8$b?^Vv__gM6B6XW)M>HvON^)Zl;eSJ%Ck8!3qe z36cppi`Bt~^lz2#P6RvsOb?5(d?mj3L4O?G8yHX4_>=GoI1-G7n>At$DC2jqoBzF( z_P^Onr3Wc{-)y8f$jfA-QjSdQ`99l5nq;LWp6tX_J8xWa)qcT#O6FG130f>9i-y5J ztSp4Rfi0&z9cc@%tfE|nSO0fC%YSz&7QTlv6RED?|w5p(F6+_UX*;GQ*G=7AraWRgj}}sKDrVk97O5skM9} za_X(VZdp+Xw^Ye;1voM%fGoSpf91veYC78A+31LcYaN66j_RuCan$?|Nu@XJHc<4# z4Y~imn+FUTMafL!wElsoI^kF6Abg4^gQ(zfd8d1Gmf>tU_(?9q<(JejpWFKy6srFE zKfQfos6*|eEC=GeHTOpDs?m?4o0Gg(rani{AWoN8(+7tESc zb79KL1(cK&6@jvpEQQPv1(Do9SyNd81m08j%=3HS&-3T|zUL44aJaYgy|3%KukGBo zXIo+JW*x96^zSBp#yT?DoCmNLqW2BB4WdIl^_?^OfpaG_qfK7qASMla9+!FElX-&w zp6n7C7~6hSdujtWPY#%lXZq}%9t$j^HRj5{`$ zy4rY@6->yyQ&ij68kH$Yv}X$f?CQUp?rtm4?&_y4t?X^m_wxG|-X5pfU0#FfQ~@Uv z)_nrxl->|)2am3)i)S@x<%!~ei;rBw*@tbHidUMdOe!TPMc-e9S>ZReOw(E%G1o_S zz5l?kk1tIOCP@yt`(mACOTO+3L=+*e8lG)?g?DQ?ChqMMXY2q5Np?v{_(D-nr@sp; zY`&k)$1-=TBt0|nx@S6YE7f0h8L^{?e|KN{KIEF1=z?vklj3=2!^oyDxq^?vp~ZG~ z;cNMv@uT$SHo{WW=oPHGtl|<*Pw-@em?Km2_+%u-$?#b(Qyn3>>ZQ{=brbc?+Whax zWhuEF^-^i?aG%DoxBa%=5kQ?GmKUAb6EE-X15gVlY?}3@5pGAF@}jrM*0s()>RY>6 zcKYzF8Cfgdo%&WPHGY$cAM(nOILi605px5oYgzismKKqmS^wuGtPA(LR6)m_PIoyfpdk@0&PWZRhzN zZ<23?HPi1v|MClOJ*t25nK<-%(ywKWIL#mVDT>Fd>NH&a5^?4JSI ze7xwRfS&ges=KZ>U&0!c7k%_glSdn2mH{KDM-XtDj$_b8p8m1Lkb`dZLt%f2Q)Gpg6VfC({xc6|Ih<2COniet_23Nkmnh zP!;~m{TODWUWd|;o1tj2Umz=evBqV}tL;U!bHCIj>&h&H{#%tC+lzlkgiJ?RpPpVB z_z4|6*l*9{j(1^?Nsy3|;cRfP=Jgm%_EM+O5LZ29d-3q)rO3{eLT>i7BL#A8L=xhd zyY2E|`x#1r*-iS;SG^v0RcXA=YnMC2kLTg;LF&|HkbjlL$4Ha+L>xF<_xv8OalQfX ze$#K6^r=I+MeF2xB9RFk^zP9^N5;_}?SJb4_4tS;j7xHfCfrLjrAfTgeUV+HnT%fM z!}5k>tJ4MCdN#Q)7UrK1UEb{LoIyB>)IXH&G(ONP3tULs=y|Z<+F13tscgXexq%Al zVm|LEjz-Wu)xpbQaeI&>bzN}!aH)0#5nY@?$niSv)ys3x57Kbii(y<;b_5HslZbI* z6ni|rsDmGeY@x_o88IWioFBw{UT+=~(^ZU8WRs+;_YYV7Poe6F7*kd;(C}^a4Xeb# z&ma~FA)e{`1Yy!cf(JR%B038a;B-gm0WWLvG_igMotH}IW$~z0n zkDcA_uIuc^+jareogQuE2fr=t(QGS)4{e)kYs7fP*nGYYRFn?+<&9+Pbi)ISsGEb_ zPcI9d7i_%V8|ygHwv4(nsiVpP#a>%iShC$c<~a)`%qg&)uFk&G!_0M>(8D)sw>5|= z0z*jNzPa6!G6)LyIyl%S4&?(`$wt^NI+mS`XB=PeaToXv#cPK@4&y#4RHST93>s~z zu{(EcBd0eDy8KT~mtqFx;U|vB8K&X0ov8J$NV$;r%s@6KlHL1b#*QyIJT|p#=k_NET=$*T{yZZ0JZ5R)x#<2 zVJQa8|3=f?F*(C8@nq^azvBjzz*%XA&`ZUeO3TEFP3490Vz&7txu(XT*KnV6jJz_U z)D6p8MRB^PO7;2^>ii-i2k*!)Brid;Nb)Z~3XgrWJlHw<#Y}zLN}C_n9o-qqCs!N^ z&%Qc*of@AzcX5Vh_-^Rw{Bgi^$o2tE2M0mYd+_6M^aF1nxscevIcUlrfUg0*>H z8MLPpjC4CmwecQ1G*9?4YtyuKWa2tCN!FHK_U_CMG3I9UmBS|sahmCXjBCF!VKj)a zfiMJ5!f>yjB=Yscw~c1_RwyT__tKSTapC6c1-4tXN60R?Ew9)h|NWsPB&&9=;LiZb zo0^KPI-P%&1Brk%{%my$aa5Zb>(3Y4u85i8N-!(b)HzQD<-viK{vodUOjl98TfB3eDt1Lw z7lmnEq!m19&X?Ev2BjuiJ2eB2`cQ*$12L$x<{V60{$_P@XGx?_n7*lpg*NdHpI!}S zlLb$m7*B~oMb1vmo9fy1``CTUDIoljC*Zm{($+`US{eEoe_mGD-&f5NId!;+XK`t> zMGFzn^7xWC(#mqgcv^U5H;v1RTORZ&%Kb=TrHxBJ(|&IZi}CkZ?-4?k{i*CZH?ZXF zBtgDMVU7U~33NMJZL{i$qT>R!c)1LNEB0g>1RG#ej50pP+)*4HpLuHuX-gJ>t@-v3 zgg144jh{@8a45WtC2Me&DE6t|FZ^k+*g;7jHGtJdJ{x<_ZVj&$^ks=%1btHWUiU#& zbR|Oo^HJzWslLG7xy=|%j}P00SwxFt9n;| zB2o-SR}&)m3Xhv+hwc=G!U1PWDsKMsXuwf&^4AlW0s^jha>t3yX2q>#Bg{HlDrP}T z8`(Wb$W4~)6!Y`&c$yPURbI2iESR}$_{b)dk~>J?y($ys#_=`Y#%Hc=$6SGa8mTGg z@>+{{OTLKPiX5)+F0=Pt5l=rbFQ1d?`pSZBG5*wqc(#cd;QAM-?KFz5xOjnPcX~d9 z3nqx{C$%;iZ)J<}4(~j@d3F7xjaG5ixj(TpR2-Oh6g+9ztyWW&!2!-)e^AetSJ}T^ zMF1qx?t&@`B^oZ}ksBYVQTOfPT@tlFwpR3fKR%~kvH_N=xl_(_oUj=oH3W81shf3Z z%}JB*erlxL=4!A>ezAnw+I*V`C~1e^z$xET2L`_t-*!?TH}^ra-VriMCinX65oaxz z<4EV7jAB(W1LC8qe}F=)E?&-@b^xt!en8^frbg=xdEPQEDvB$|pyF$426}cV<&Nd0 z+}N)peR5G6F2@~z(A~rK`%C5Q4w92qJR&n6_J+)^K)N= zE-ZWng%bC&8-1Gsb*;w*%lqFxOJdv#s}&M`a(y8%;R4*CbM+cDy{!H&9UBrx3t{CJ zBcgilNT*~i;E@Dorz*<#u4ph|I=xrWLjj`vUs34FY@?vFRwKMj=6_qn)H&wx3yn^{ z^-6I82p{`dOw+Pv?Z(R3(Du-C+?VqL!ULmm^r!nDhlniiiB#ekPfxD@B_{mr&#p&1 zd?a#nWZWV(XVQ56Mk*rZJ`IwzS;eS0cF*pT=Df5JF-l$bq$EBZz?PCZ^|Ud?7EWpD za`QTtANKaaBR8YFxo)-3^G07)jW=?6-^W*8#KBCKOp&8}0VBi3d|u=?RM6zeCI?r@R4AMkJVUPW|`tEoNnjpRmP9J zo(Os!-?RF5_w~YcC*?Mukmh6}M*lhl*j_s5XCfd9QXVRwGi)~bUEBb5lMJjY9&bBG z4_UwEfIk0_?Kk1L4Jhnm4ms^E=^`~azEU`_iKDGdBW=4KT5vO7?pP!K}tFGpw(DrD@eZ1HixI6ByR$J2bJ)788y_e$rJl6rZ6Y*Bdh=GSw8S}1`R zP${I~)9={zD?3@9{_cccHGE@DW+BR{79Z(@K)*nr8n-c$FnT5kmOgmo;Q=J^P<0!R zRh(S571xr3nEf#wwnVqGTgt-9j{saVLs#dnl>9$C@qAXxz@x?omVG| zBV>AFhdR0&T=jO(BG)}Aw%xB`Dm`4CnqVUS{&OLk+Tw|}H|EHg?yR4u>kFH^+(shj zokm^Ufj(Im@BT}PZBhSAjq_c>yDXYo?-xCmzXWi4FyYvI9y@gZsH1uozG_s^;H-yCu z?>v%f_U@UU$g~Kc-y_7TJgnF`r)M|L>_VBxI7`bN+ED6I1Cu;W0D9xWj4Fz-7yv~f z!4pC2Nkp5Tat^b4AlycAzmIA+PISZ4!V8^L$L2W58gTRFX;B>$H+&(vs%}#lBX#Pd zs2f~A>lFVJ@fz)Q;Ov9-3cyI%z@uC#b5u1of+rf|W+?65_2YZpkJIlE^+4=^$>4t=@kzILwW4@CEoDEh zh?I0X$~%m$-5sFPpuk}kgKI(qePoe-pht1i**t)(0*vmTM}{I(??Kc&pvfgKuD$y( zl%|Y+Wzr6&RH{EE%%x_0I$f<__E8`GXv}VUeLi>QSBTAL^zM0^nh^>ri3vz5{vKM? zwh%TCQImkw4(Bf2rwNE^TWid?5Mext+7Ne+x3*;P+Nut|U*{uPlG ziS3SG@d7%zUrmMo{yNWC-VJN&l|JG{&u3Jdcd@B+dV=NgeR*ETp{I*H==G5BYvt$# z6>QnXGQaf0DdgOw6@TPKn*j&(zKW((4VxGCClWm6PvE!tp@1%Oz{e^pjqC0=CP_-s zIDJcEhdPR}0A#(ol&?h~-%U54lJq8tCb)>Rw}v|gEl@=yH}TutMl1(L%hmHB282jz zOVdeRG|ZhE2O-PZW$#?yk z2~f{yNlmWio+Ggxun}dsDEGhc58=x(M`yxAHiT^LsSf$7x-J*tc*Ak02h43hNeqZP zdJvIOdat<&@;?2VaQ>ZV%@p|KNPcd~^b3CM*IEys=akYcKPggsCSzCqBc`22Jsxrr zVH^2Bq!G&x<0sVwu+gXmCH){K&wPXuC$tzO85q|f(@ipss5Rp71SPmXn>p#Uf3>iy z{jTNSIo@VJ8K7Nd+R1VZj9RlKx3OUsl}B-RXPs$pJI@zK%=_to2%V2)VmV}c$zSM( z>lFs{q?{;!dy4NCufleBtvytUqy%nYJh*T7S?-*dWvwNHC>ZfDJZmqEJ(2RJx3y}p z_t`t`8V17ul50$S<&mte)xkhM4LB0TIZ3DCE~yla$6~_&wHMoI-Pq zb?LAuf0l6`MU>AX@p4`=2LF~tvOlh<`amCnKY;Y1u={;Jj7Gse-r=?qw~MCf=N!_l z{43aQtLT-a#(t8}+ErGrwo^~>Fed6e6pl%*N&|RNn6wy zBQ-Gvje~^Ef&$E#J;M{+U-W`+A)}(52>i+@FEbDl=zDfhb#MF{nMPS#u`?$Y?l{CA_n3>qx z(GB{Hb4N2j1>%s7g*p0!(EWh2>QM#v9DI^TD4SG{+?q}sb^l_1aC}8jo;;69>F-lj z0G2ID;qwpEL?sdRYm>=ejePZj8mW%oO{ggi_YdPgaFkZKXF#0BV6*r{X6(p&Q-fE) zS(Mjvlx5qPvl=A%ZN_~jK2?F?fJzSlGwKlNlZ)wrcNh>)r=rI?nRhVelRs*qbdz)8iAm<%wu9&eViD@AVj7|xer6=t3UEi#7EwFnYFgY zP7}4xK?p^r94zh@;z0$6cRrsaOf4%&e0rm`L8A=?)Ijq+E~dTCzG^ili+lvyw+v0B zX-qGZOjnl_TJyskU3J^ZC)0Dd;xcleeXy+V0T2lu=fLD5L}io~)3l+667+p!|vf7x|S2(Z|kkP%BzYldD*U#kjK zGj(9V>iyMX_d&-2SO*zDM$_J=E}bFIrDEoukC~M=9^L!F?E&iFfIJ(ezWy}ycHh;> zXWpXZ&IB4j8dTj7K(2@)cRL>yLNl;=;C?y34{?aJ{RpjciQh;s@w;2z>viACiX*!y z<86ECHV_f#ovyaadrRGARQUoALGAM!x9z-?pg$OJ7a(lEyYGy>{RVFO)3T#;8Ofq- zd**`VWEN#G9jgnYyDEjwV=%E^Wq|p!LHCAVO7gv2EvHuQgEH~b+7j^MJCrz7`j25q zPz=+hui0Kny|ldajMGtl-E8eik!;$#_PGgfxl+^Ash6IwE)BwbKvJaWIC-V) z&Qn2duu$3jiuFWw2+$q*`)O$Ceq;1fo>M$*Ug8qQv$dvO;-hrv;Ma_+lVsRk zRO5`t(c)l!D->K^&8j|SX%CMnVr*0ttjK7n>5Y_ua7NTfwf0*H4J4Cr1-Ru%WY-s|VOv%q%g z-Ip$b3mM-~>@V&R#gy+<%XFTMPmbn@9sJxc!dD4Se738^fS8FCg~Jp63$lTB(tT*j|awnt8R|R)xGJHgfotBNWX>QBzv*VIpfA=yrONFgh22*AI=)FbD+-L z!l?c6b=9gU`EEM+|N3rL73$Xb<@bk#2i$X}O_}wvQA$ zO|Mw>zsBzn)UBT>uzk6T(7q{Vq%pIkwFZC=ofLCJC%a$H3&&)}8vE3CZ40P(iWf1y zOnG?Xrh2>4wMooQS?W|R*^`ei85<5oayUOIyOJ`t4irB0U{9F+bcNAcM|t2umnp4< zQOw>CA(Jz2VzXOo@iU817ZHrh8Z7z(h5HI&| zy+1HvT1Jwm3kua;#uH2HWA++vHKgQjqL&v|!}{@P^G@;I1^&o(G|CH+DfqV9 zF5~K?hRqaBK;MW3v3P9-&~;WK7$)>kb~W1+usOl~9k%y$#@OsnIKTEn<@& zl?BaR72cLlkGW`19apjhA<(JlHTKv=g6HrA!kwE@K$$po-iz4Va`;x&?)D*a2+Su! zsgYlH@iW2ek3oOLU^)}(bDf})C*-v??1Y38xb4Z+?bj18!HK1|7r)jPV=@P0zaL3( z3P$|w`pxpZ^EHP*>E%}#_bjEy?YToS1aD#yjJO@`?`}4wtsd#)f;KD;v!8nAP@BSt z2?XiSi&;APtf!xJinB#R|wO z&7~XaWM#pckQF5r7@zR}z@G8yxtH z0Us~zZZIIk`VD_tw9sO0*IwiIZEM#Z-`5?A+XQX}FD6W0pv}VT2?mW_Y!3R+ibovE zsC-WLO0@#DB~W9Ru2giK4sQ3zP$6zibMVPd>-Ihe*hC;l+^<(T?s4qz58+;^QAL+4 zMgBfFDY@wN(Vofj@vrXDo~IMmYFmvmDZr$uJ@bfJDW5(D&chctnzbFDGGW~z*>A!ab z{NH-)eeOmxkAfFXFZ>6wvkO3|ZxPQ}RPJ%f=HYy6|Nr(U(ySpK2D;Vuz^k~QhgLJj z_0|~^pqcrYg#tG7+jg+gBH|eXn}J!9Fx795w4B&iLp0A2Gc2=V<@bF(7*dPP2fN+5 zdF&wm=dgHu?zMuMX!tzjT zeb?rW-T$9fe?22#$6{S!89MTT0kGKb0j6P5x!2GEv_+1zHcMCk(<1N*Ym$UC8|7T< z5Gm2lj0YzxBWLxNgH_Kn?isjN12O~upLSc)(;vw4k!E$G|CqifL~Q<@(tY8QNs$H2 zIQtu>`cC}Q?k9K@^sVW`j8VESl)oFj9>Scy4nAW4^RoB(s7~OM0dALvH;ibfh7=g zKNpC&{n4}lYrGAgk-=CNBZ+9~p~=<3wPF4vu96te)g zIh?SwOLo0G*f{U|3*T(}^1pnXsqm0Fv5XTC9BFg1U3#-xJTv+NqSD@cyLIOeMlo(O z*NQ8D2m5bT-`^YNwMo^?y>7=SwHFq?Dkp+xFmE9oo}_%}4EQfy4(@o*vj3*v^+RQo zsmL>vYl!bV8lk!m;*8aw+5gv(g5AAya9J2+o)IA>mCW=*u@vHkTmeYbQzajWvG_CR zyz_5XG5+cGhyUZ5pI%x9_A^Gjukr|)HVawiDVAp0uG(6ce>s9UpQS0SbAHL(T~CBH So_mk`uE6~}YPS7${(k`p9%*U- From 7387ae9f1ff27f592845f750a612c4d4ab8ee699 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 6 Aug 2024 13:15:45 -1000 Subject: [PATCH 457/627] User wallets > PKPs restructures --- .../intro.md => user-wallets/overview.md} | 0 .../auth-methods}/add-remove-auth-methods.md | 0 .../auth-methods/custom-auth.md | 0 .../auth-methods}/email-sms.md | 0 .../advanced-topics/auth-methods/overview.md} | 0 .../auth-methods}/social-login.md | 0 .../auth-methods}/web-authn.md | 0 .../pkps/advanced-topics/overview.md | 0 .../pkps}/claimable-keys/intro.md | 0 .../pkps}/claimable-keys/usage.md | 0 .../pkps/minting/overview.md} | 0 .../pkps/minting/via-contracts.md} | 0 .../minting/via-multiple-auth-methods.md} | 0 .../pkps/minting/via-social.md} | 0 .../pkps/minting/via-web-authn.md} | 0 .../pkps}/quick-start.md | 0 .../pkps}/walletconnect.md | 0 sidebars.js | 77 +++++++++---------- 18 files changed, 38 insertions(+), 39 deletions(-) rename docs/{sdk/wallets/intro.md => user-wallets/overview.md} (100%) rename docs/{sdk/wallets/auth-methods/lit-auth-methods => user-wallets/pkps/advanced-topics/auth-methods}/add-remove-auth-methods.md (100%) rename docs/{sdk/wallets => user-wallets/pkps/advanced-topics}/auth-methods/custom-auth.md (100%) rename docs/{sdk/wallets/auth-methods/lit-auth-methods => user-wallets/pkps/advanced-topics/auth-methods}/email-sms.md (100%) rename docs/{sdk/wallets/auth-methods.md => user-wallets/pkps/advanced-topics/auth-methods/overview.md} (100%) rename docs/{sdk/wallets/auth-methods/lit-auth-methods => user-wallets/pkps/advanced-topics/auth-methods}/social-login.md (100%) rename docs/{sdk/wallets/auth-methods/lit-auth-methods => user-wallets/pkps/advanced-topics/auth-methods}/web-authn.md (100%) create mode 100644 docs/user-wallets/pkps/advanced-topics/overview.md rename docs/{sdk/wallets => user-wallets/pkps}/claimable-keys/intro.md (100%) rename docs/{sdk/wallets => user-wallets/pkps}/claimable-keys/usage.md (100%) rename docs/{sdk/wallets/minting.md => user-wallets/pkps/minting/overview.md} (100%) rename docs/{sdk/wallets/minting-methods/mint-via-contracts.md => user-wallets/pkps/minting/via-contracts.md} (100%) rename docs/{sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md => user-wallets/pkps/minting/via-multiple-auth-methods.md} (100%) rename docs/{sdk/wallets/minting-methods/mint-via-social.md => user-wallets/pkps/minting/via-social.md} (100%) rename docs/{sdk/wallets/minting-methods/mint-via-web-authn.md => user-wallets/pkps/minting/via-web-authn.md} (100%) rename docs/{sdk/wallets => user-wallets/pkps}/quick-start.md (100%) rename docs/{sdk/wallets => user-wallets/pkps}/walletconnect.md (100%) diff --git a/docs/sdk/wallets/intro.md b/docs/user-wallets/overview.md similarity index 100% rename from docs/sdk/wallets/intro.md rename to docs/user-wallets/overview.md diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md similarity index 100% rename from docs/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods.md rename to docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md diff --git a/docs/sdk/wallets/auth-methods/custom-auth.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md similarity index 100% rename from docs/sdk/wallets/auth-methods/custom-auth.md rename to docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/email-sms.md similarity index 100% rename from docs/sdk/wallets/auth-methods/lit-auth-methods/email-sms.md rename to docs/user-wallets/pkps/advanced-topics/auth-methods/email-sms.md diff --git a/docs/sdk/wallets/auth-methods.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md similarity index 100% rename from docs/sdk/wallets/auth-methods.md rename to docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/social-login.md similarity index 100% rename from docs/sdk/wallets/auth-methods/lit-auth-methods/social-login.md rename to docs/user-wallets/pkps/advanced-topics/auth-methods/social-login.md diff --git a/docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/web-authn.md similarity index 100% rename from docs/sdk/wallets/auth-methods/lit-auth-methods/web-authn.md rename to docs/user-wallets/pkps/advanced-topics/auth-methods/web-authn.md diff --git a/docs/user-wallets/pkps/advanced-topics/overview.md b/docs/user-wallets/pkps/advanced-topics/overview.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/sdk/wallets/claimable-keys/intro.md b/docs/user-wallets/pkps/claimable-keys/intro.md similarity index 100% rename from docs/sdk/wallets/claimable-keys/intro.md rename to docs/user-wallets/pkps/claimable-keys/intro.md diff --git a/docs/sdk/wallets/claimable-keys/usage.md b/docs/user-wallets/pkps/claimable-keys/usage.md similarity index 100% rename from docs/sdk/wallets/claimable-keys/usage.md rename to docs/user-wallets/pkps/claimable-keys/usage.md diff --git a/docs/sdk/wallets/minting.md b/docs/user-wallets/pkps/minting/overview.md similarity index 100% rename from docs/sdk/wallets/minting.md rename to docs/user-wallets/pkps/minting/overview.md diff --git a/docs/sdk/wallets/minting-methods/mint-via-contracts.md b/docs/user-wallets/pkps/minting/via-contracts.md similarity index 100% rename from docs/sdk/wallets/minting-methods/mint-via-contracts.md rename to docs/user-wallets/pkps/minting/via-contracts.md diff --git a/docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md b/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md similarity index 100% rename from docs/sdk/wallets/minting-methods/mint-via-multiple-auth-methods.md rename to docs/user-wallets/pkps/minting/via-multiple-auth-methods.md diff --git a/docs/sdk/wallets/minting-methods/mint-via-social.md b/docs/user-wallets/pkps/minting/via-social.md similarity index 100% rename from docs/sdk/wallets/minting-methods/mint-via-social.md rename to docs/user-wallets/pkps/minting/via-social.md diff --git a/docs/sdk/wallets/minting-methods/mint-via-web-authn.md b/docs/user-wallets/pkps/minting/via-web-authn.md similarity index 100% rename from docs/sdk/wallets/minting-methods/mint-via-web-authn.md rename to docs/user-wallets/pkps/minting/via-web-authn.md diff --git a/docs/sdk/wallets/quick-start.md b/docs/user-wallets/pkps/quick-start.md similarity index 100% rename from docs/sdk/wallets/quick-start.md rename to docs/user-wallets/pkps/quick-start.md diff --git a/docs/sdk/wallets/walletconnect.md b/docs/user-wallets/pkps/walletconnect.md similarity index 100% rename from docs/sdk/wallets/walletconnect.md rename to docs/user-wallets/pkps/walletconnect.md diff --git a/sidebars.js b/sidebars.js index cd75a096..fc5816e9 100644 --- a/sidebars.js +++ b/sidebars.js @@ -162,70 +162,69 @@ const sidebars = { label: 'User Wallets', link: { type: 'doc', - id: 'sdk/wallets/intro', + id: 'user-wallets/overview', }, collapsed: true, items: [ - 'sdk/wallets/quick-start', { type: 'category', - label: 'Advanced Topics', + label: 'Programmable Key Pairs (PKPs)', collapsed: true, - link: { - type: 'generated-index', - title: 'Advanced Topics', - keywords: ['user wallets'], - }, items: [ + 'user-wallets/pkps/quick-start', { type: 'category', - label: 'Auth Methods', + label: 'Minting a PKP', link: { type: 'doc', - id: 'sdk/wallets/auth-methods', + id: 'user-wallets/pkps/minting/overview', }, collapsed: true, items: [ - { - type: 'category', - label: 'Lit Auth Methods', - collapsed: true, - items: [ - 'sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods', - 'sdk/wallets/auth-methods/lit-auth-methods/social-login', - 'sdk/wallets/auth-methods/lit-auth-methods/web-authn', - 'sdk/wallets/auth-methods/lit-auth-methods/email-sms', - ], - }, - 'sdk/wallets/auth-methods/custom-auth', + 'user-wallets/pkps/minting/via-contracts', + 'user-wallets/pkps/minting/via-social', + 'user-wallets/pkps/minting/via-web-authn', + 'user-wallets/pkps/minting/via-multiple-auth-methods', ], }, + 'user-wallets/pkps/walletconnect', { type: 'category', - label: 'Minting a PKP', + label: 'Advanced Topics', link: { type: 'doc', - id: 'sdk/wallets/minting', + id: 'user-wallets/pkps/advanced-topics/overview', }, collapsed: true, items: [ - 'sdk/wallets/minting-methods/mint-via-contracts', - 'sdk/wallets/minting-methods/mint-via-social', - 'sdk/wallets/minting-methods/mint-via-web-authn', - 'sdk/wallets/minting-methods/mint-via-multiple-auth-methods', + { + type: 'category', + label: 'Auth Methods', + collapsed: true, + link: { + type: 'doc', + id: 'user-wallets/pkps/advanced-topics/auth-methods/overview', + }, + items: [ + 'user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods', + 'user-wallets/pkps/advanced-topics/auth-methods/social-login', + 'user-wallets/pkps/advanced-topics/auth-methods/web-authn', + 'user-wallets/pkps/advanced-topics/auth-methods/email-sms', + 'user-wallets/pkps/advanced-topics/auth-methods/custom-auth', + ], + }, + { + type: 'category', + label: 'Claimable Keys (HD Keys)', + link: { + type: 'doc', + id: 'user-wallets/pkps/claimable-keys/intro', + }, + collapsed: true, + items: ['user-wallets/pkps/claimable-keys/usage'], + }, ], }, - 'sdk/wallets/walletconnect', - { - type: 'category', - label: 'Claimable Keys (HD Keys)', - link: { - type: 'doc', - id: 'sdk/wallets/claimable-keys/intro', - }, - collapsed: true, - items: ['sdk/wallets/claimable-keys/usage'], - }, ], }, ], From 873cacb466e6768316c938802861d9cf0fbb4528 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 6 Aug 2024 15:57:28 -1000 Subject: [PATCH 458/627] More restructuring --- docs/user-wallets/overview.md | 74 ++++++++++++++----- docs/user-wallets/pkps/overview.md | 60 +++++++++++++++ .../wrapped-keys/custom-wrapped-keys.md | 0 .../wrapped-keys/exporting-wrapped-key.md | 0 .../wrapped-keys/generating-wrapped-key.md | 0 .../getting-wrapped-key-metadata.md | 0 .../wrapped-keys/importing-key.md | 0 .../wrapped-keys/listing-wrapped-keys.md | 0 .../wrapped-keys/overview.md | 41 ---------- .../wrapped-keys/sign-message.md | 0 .../wrapped-keys/sign-transaction.md | 0 .../storing-wrapped-key-metadata.md | 0 sidebars.js | 44 ++++++----- 13 files changed, 140 insertions(+), 79 deletions(-) create mode 100644 docs/user-wallets/pkps/overview.md rename docs/{sdk => user-wallets}/wrapped-keys/custom-wrapped-keys.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/exporting-wrapped-key.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/generating-wrapped-key.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/getting-wrapped-key-metadata.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/importing-key.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/listing-wrapped-keys.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/overview.md (74%) rename docs/{sdk => user-wallets}/wrapped-keys/sign-message.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/sign-transaction.md (100%) rename docs/{sdk => user-wallets}/wrapped-keys/storing-wrapped-key-metadata.md (100%) diff --git a/docs/user-wallets/overview.md b/docs/user-wallets/overview.md index 69fa47da..bc840605 100644 --- a/docs/user-wallets/overview.md +++ b/docs/user-wallets/overview.md @@ -11,32 +11,70 @@ Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: http ## Introduction -You can use Lit to build seamless, non-custodial wallets and onboarding experiences using Programmable Key Pairs (PKPs). Each PKP is an ECDSA public / private key pair created by the Lit network using Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. a signed transaction). You can read more about how Lit works [here](../../resources/how-it-works.md). +The Lit Protocol offers two novel ways of managing private keys with [Programmable Key Pairs (PKPs)](./pkps/overview.md) and [Wrapped Keys](./wrapped-keys/overview.md). Using either of these two methods, you can provide your users with a seamless onboarding experience to your decentralized application, all while offering them non-custodial wallets with strict access control. -When used to build a wallet, PKPs can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google OAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since PKPs are decentralized, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. +When used to build a wallet, both PKPs and Wrapped Keys can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google OAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since both PKPs and Wrapped Keys leverage the decentralized Lit network, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. -## Features and Examples +## PKPs v.s. Wrapped Keys -### Features +Programmable Key Pairs (PKPs) and Wrapped Keys are both solutions offered by Lit for managing private keys, but they serve different purposes and have distinct characteristics. -- **[Blockchain Agnostic](../../resources/supported-chains#programmable-key-pairs)**: PKPs can be used to sign transactions on any blockchain or state machine supported by Lit. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos-based chains. -- **Programmable**: [Lit Actions](../serverless-signing/overview) can be used to automate signing with PKPs. -- **Non-Custodial**: Each PKP is generated collectively by the Lit nodes using a process called [Distributed Key Generation](../../resources/how-it-works.md) (DKG). As a network, this allows Lit to generate a new wallet where the private key never exists in its entirety. +PKPs are ECDSA public/private key pairs created by the Lit network using Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. signing a transaction). -### Examples +Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a Lit node's TEE. -- [Minting a PKP](../wallets/minting.md): Learn about the various methods you can use to create PKPs. -- [Assigning an Authentication Method](../wallets/auth-methods.md): Authentication methods have the ability to "control" the underlying key pair. -- [Signing Transactions](../serverless-signing/processing-validation.md): You can use [Lit Actions](../serverless-signing/overview.md) to sign transactions with PKPs. -- [Connecting to dApps](../wallets/walletconnect.md): Use WalletConnect to connect your PKP wallet to all of your favorite dApps. +### PKPs -## Getting Started +- Generated and managed through Distributed Key Generation (DKG) across the Lit network +- Rely on threshold cryptography and Multi-Party Computation (MPC) for generation and usage +- Support specific cryptographic curves (e.g. `secp256k1` used by Ethereum) +- Keys never exist in full on any single node, reducing the risk of compromise +- Ideal for applications requiring high security on supported blockchains -You can get started with user wallets following this [quick start](../wallets/quick-start.md) guide. Below, you'll find some additional resources and example implementations: +#### Why Use Them -1. [Seed-Phraseless Onboarding](../wallets/minting-methods/mint-via-social.md) -2. [Use a PKP as a Signer on a Smart Account](https://spark.litprotocol.com/account-abstraction-and-mpc/) -3. [Using the Lit Explorer](../../tools/pkpexplorer.md) -4. [Working with Claimable Keys](../wallets/claimable-keys/intro.md) +- Enhanced Security: PKPs leverage MPC and threshold cryptography, providing a higher level of security as the key is never fully reconstructed on a single node +- Distributed Trust: The key generation and management process is distributed across the network, reducing single points of failure +- Programmability: PKPs can be controlled by [Lit Actions](../sdk/serverless-signing/overview.md), enabling advanced use cases and key management + +### Wrapped Keys + +- Generated within a single Lit node's TEE, or imported from an existing private key +- Encrypted via the MPC Lit network, and stored within Lit's private Dynamo DB instance +- Support a wider range of cryptographic curves, enabling interaction with more blockchains +- Allow for private key import and export, providing flexibility for users with existing keys +- Fully decrypted within a single node's TEE when used + +#### Why Use Them + +- Blockchain Compatibility: Wrapped Keys support signing with curves not currently supported by PKPs, allowing interaction with a broader range of blockchains +- Key Import/Export: Users can import existing private keys or export keys for use in other systems, offering greater flexibility and interoperability +- Legacy System Integration: Wrapped Keys may be easier to integrate with existing systems that expect traditional private key management + +### Security Considerations + +While Wrapped Keys offer flexibility, they have different security characteristics compared to PKPs: + +- Wrapped Keys are fully decrypted within a single node's TEE during use, relying on the security of the sealed TEE +- PKPs, in contrast, leverage the more robust security of the MPC network, never existing in full on any single node + +In summary, PKPs offer a highly secure solution for supported blockchains, while Wrapped Keys provide greater flexibility and compatibility at the cost of a slightly different security model. The choice between them depends on the specific requirements of your application, the blockchains you need to interact with, and your security priorities. + +## Resources and Examples + +### PKPs + +- [Overview](./pkps/overview.md) +- [Quick Start Guide](./pkps/quick-start.md) +- [Seed-Phraseless Onboarding](./pkps/minting/via-social.md) +- [Use a PKP as a Signer on a Smart Account](https://spark.litprotocol.com/account-abstraction-and-mpc/) +- [Working with Claimable Keys](./pkps/claimable-keys/intro.md) + +### Wrapped Keys + +- [Overview](./wrapped-keys/overview.md) +- [Generating a Wrapped Key](./wrapped-keys/generating-wrapped-key.md) +- [Importing an Existing Private Key](./wrapped-keys/importing-key.md) +- [Signing Transactions](./wrapped-keys/sign-transaction.md) diff --git a/docs/user-wallets/pkps/overview.md b/docs/user-wallets/pkps/overview.md new file mode 100644 index 00000000..0d6b0ca6 --- /dev/null +++ b/docs/user-wallets/pkps/overview.md @@ -0,0 +1,60 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Overview + +Programmable Key Pairs (PKPs) are ECDSA public/private key pairs created by the Lit network using Distributed Key Generation (DKG). Each Lit node holds a share of the private key, and more than two-thirds of these shares must be collected to execute a given action (i.e. signing a transaction). + +PKPs can be programmed with custom logic to automate on-chain actions and implement sophisticated access control. They can be used to create non-custodial wallets, automate transactions, and build complex decentralized applications. + +Please refer to the [Quick Start Guide](./quick-start.md) for how to get started with PKPs. + +## How it Works + + + +### Key Generation and Storage + +PKPs are created using Distributed Key Generation (DKG) across the Lit network. This process ensures that the private key is never assembled in one place, and is instead split into shares with each node in the Lit network holding a share. Consequently, no single entity, including Lit Protocol itself, has access to the full private key. The public key, however, is publicly available and can be used to derive the corresponding blockchain address. + +### Signing Process + +When a signing operation is requested, a Lit node client sends the request to the Lit network where nodes holding key shares participate in a threshold signing process. Each Lit node is then tasked with providing their signature share of the data using their respective PKP key share. Once more than two-thirds of the Lit nodes respond, the signature shares are combined resulting in a complete signature of the data you requested be signed by the PKP. + +This threshold signing process ensures that the full private key is never reconstructed at any point, maintaining security while producing a signature with the PKP. + +### Programmability and Access Control + +A key feature of PKPs is their programmability. Each PKP can be authorized to execute specific [Lit Actions](../../sdk/serverless-signing/overview.md), which are JavaScript scripts that define the conditions and logic for key usage. This programmability allows for things like access control, where the use of a PKP can be gated by various on-chain conditions like token ownership, or off-chain conditions such as OAuth verification. Additionally, because a Lit Action is just a JavaScript script, you have a lot of flexibility on what your Lit Action does and how it makes use of the PKP. + +### Interoperability and Upgradability + +PKPs are designed with interoperability in mind, capable of interacting with various blockchains and Web3 protocols. This makes them suitable for cross-chain operations and interoperability solutions. Furthermore, the logic associated with PKPs (in the form of Lit Actions) can be updated without changing the key pair itself, allowing for evolving functionality while maintaining a consistent blockchain identity. + +By leveraging these features, PKPs enable developers to create sophisticated, secure, and user-friendly blockchain applications with programmable, non-custodial key management. This approach opens up new possibilities for decentralized applications, automated transactions, and complex on-chain logic execution. + +## Key Features + +- **Distributed Security**: No single point of failure in key management. +- **Programmable Logic**: Automate on-chain actions with custom logic. +- **Flexible Access Control**: Implement sophisticated access rules for key usage. +- **Non-Custodial**: Users maintain control over their assets without managing private keys directly. + +## Use Cases + +- Building non-custodial wallets with improved user experience +- Automating recurring transactions or complex DeFi strategies +- Implementing multi-factor authentication for blockchain applications +- Creating decentralized identity solutions + +For more detailed information on creating and using PKPs, please refer to the [Quick Start Guide](./quick-start.md). diff --git a/docs/sdk/wrapped-keys/custom-wrapped-keys.md b/docs/user-wallets/wrapped-keys/custom-wrapped-keys.md similarity index 100% rename from docs/sdk/wrapped-keys/custom-wrapped-keys.md rename to docs/user-wallets/wrapped-keys/custom-wrapped-keys.md diff --git a/docs/sdk/wrapped-keys/exporting-wrapped-key.md b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md similarity index 100% rename from docs/sdk/wrapped-keys/exporting-wrapped-key.md rename to docs/user-wallets/wrapped-keys/exporting-wrapped-key.md diff --git a/docs/sdk/wrapped-keys/generating-wrapped-key.md b/docs/user-wallets/wrapped-keys/generating-wrapped-key.md similarity index 100% rename from docs/sdk/wrapped-keys/generating-wrapped-key.md rename to docs/user-wallets/wrapped-keys/generating-wrapped-key.md diff --git a/docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md b/docs/user-wallets/wrapped-keys/getting-wrapped-key-metadata.md similarity index 100% rename from docs/sdk/wrapped-keys/getting-wrapped-key-metadata.md rename to docs/user-wallets/wrapped-keys/getting-wrapped-key-metadata.md diff --git a/docs/sdk/wrapped-keys/importing-key.md b/docs/user-wallets/wrapped-keys/importing-key.md similarity index 100% rename from docs/sdk/wrapped-keys/importing-key.md rename to docs/user-wallets/wrapped-keys/importing-key.md diff --git a/docs/sdk/wrapped-keys/listing-wrapped-keys.md b/docs/user-wallets/wrapped-keys/listing-wrapped-keys.md similarity index 100% rename from docs/sdk/wrapped-keys/listing-wrapped-keys.md rename to docs/user-wallets/wrapped-keys/listing-wrapped-keys.md diff --git a/docs/sdk/wrapped-keys/overview.md b/docs/user-wallets/wrapped-keys/overview.md similarity index 74% rename from docs/sdk/wrapped-keys/overview.md rename to docs/user-wallets/wrapped-keys/overview.md index efdf82e8..1fbf24ce 100644 --- a/docs/sdk/wrapped-keys/overview.md +++ b/docs/user-wallets/wrapped-keys/overview.md @@ -9,47 +9,6 @@ Regardless of how the Wrapped Key is initialized, each Wrapped Key is associated Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to generate signatures for arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. -## PKPs v.s. Wrapped Keys - -Programmable Key Pairs (PKPs) and Wrapped Keys are both solutions offered by Lit for managing private keys, but they serve different purposes and have distinct characteristics. - -### PKPs - -- Generated and managed through Distributed Key Generation (DKG) across the Lit network -- Rely on threshold cryptography and Multi-Party Computation (MPC) for generation and usage -- Support specific cryptographic curves (e.g. `secp256k1` used by Ethereum) -- Keys never exist in full on any single node, reducing the risk of compromise -- Ideal for applications requiring high security on supported blockchains - -#### Why Use Them - -- Enhanced Security: PKPs leverage MPC and threshold cryptography, providing a higher level of security as the key is never fully reconstructed on a single node -- Distributed Trust: The key generation and management process is distributed across the network, reducing single points of failure -- Programmability: PKPs can be controlled by Lit Actions, enabling advanced use cases and key management - -### Wrapped Keys - -- Generated within a single Lit node's TEE, or imported from an existing private key -- Encrypted via the MPC Lit network, and stored within Lit's private Dynamo DB instance -- Support a wider range of cryptographic curves, enabling interaction with more blockchains -- Allow for private key import and export, providing flexibility for users with existing keys -- Fully decrypted within a single node's TEE when used - -#### Why Use Them - -- Blockchain Compatibility: Wrapped Keys support signing with curves not currently supported by PKPs, allowing interaction with a broader range of blockchains -- Key Import/Export: Users can import existing private keys or export keys for use in other systems, offering greater flexibility and interoperability -- Legacy System Integration: Wrapped Keys may be easier to integrate with existing systems that expect traditional private key management - -### Security Considerations - -While Wrapped Keys offer flexibility, they have different security characteristics compared to PKPs: - -- Wrapped Keys are fully decrypted within a single node's TEE during use, relying on the security of the sealed TEE -- PKPs, in contrast, leverage the more robust security of the MPC network, never existing in full on any single node - -In summary, PKPs offer a highly secure solution for supported blockchains, while Wrapped Keys provide greater flexibility and compatibility at the cost of a slightly different security model. The choice between them depends on the specific requirements of your application, the blockchains you need to interact with, and your security priorities. - ## Getting Started ### Installing the SDK diff --git a/docs/sdk/wrapped-keys/sign-message.md b/docs/user-wallets/wrapped-keys/sign-message.md similarity index 100% rename from docs/sdk/wrapped-keys/sign-message.md rename to docs/user-wallets/wrapped-keys/sign-message.md diff --git a/docs/sdk/wrapped-keys/sign-transaction.md b/docs/user-wallets/wrapped-keys/sign-transaction.md similarity index 100% rename from docs/sdk/wrapped-keys/sign-transaction.md rename to docs/user-wallets/wrapped-keys/sign-transaction.md diff --git a/docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md b/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md similarity index 100% rename from docs/sdk/wrapped-keys/storing-wrapped-key-metadata.md rename to docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md diff --git a/sidebars.js b/sidebars.js index fc5816e9..0cf585ef 100644 --- a/sidebars.js +++ b/sidebars.js @@ -169,6 +169,10 @@ const sidebars = { { type: 'category', label: 'Programmable Key Pairs (PKPs)', + link: { + type: 'doc', + id: 'user-wallets/pkps/overview', + }, collapsed: true, items: [ 'user-wallets/pkps/quick-start', @@ -227,6 +231,26 @@ const sidebars = { }, ], }, + { + type: 'category', + label: 'Wrapped Keys', + collapsed: true, + link: { + type: 'doc', + id: 'user-wallets/wrapped-keys/overview', + }, + items: [ + 'user-wallets/wrapped-keys/generating-wrapped-key', + 'user-wallets/wrapped-keys/importing-key', + 'user-wallets/wrapped-keys/exporting-wrapped-key', + 'user-wallets/wrapped-keys/getting-wrapped-key-metadata', + 'user-wallets/wrapped-keys/storing-wrapped-key-metadata', + 'user-wallets/wrapped-keys/listing-wrapped-keys', + 'user-wallets/wrapped-keys/sign-message', + 'user-wallets/wrapped-keys/sign-transaction', + 'user-wallets/wrapped-keys/custom-wrapped-keys', + ], + }, ], }, { @@ -325,26 +349,6 @@ const sidebars = { }, ], }, - { - type: 'category', - label: 'Wrapped Keys', - collapsed: true, - link: { - type: 'doc', - id: 'sdk/wrapped-keys/overview', - }, - items: [ - 'sdk/wrapped-keys/generating-wrapped-key', - 'sdk/wrapped-keys/importing-key', - 'sdk/wrapped-keys/exporting-wrapped-key', - 'sdk/wrapped-keys/getting-wrapped-key-metadata', - 'sdk/wrapped-keys/storing-wrapped-key-metadata', - 'sdk/wrapped-keys/listing-wrapped-keys', - 'sdk/wrapped-keys/sign-message', - 'sdk/wrapped-keys/sign-transaction', - 'sdk/wrapped-keys/custom-wrapped-keys', - ], - }, ], }, { From 4ff845dd5876600032acb8a807056e33ef84696e Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 6 Aug 2024 16:06:51 -1000 Subject: [PATCH 459/627] Remove commented code --- docs/user-wallets/pkps/overview.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/docs/user-wallets/pkps/overview.md b/docs/user-wallets/pkps/overview.md index 0d6b0ca6..df7b1b4f 100644 --- a/docs/user-wallets/pkps/overview.md +++ b/docs/user-wallets/pkps/overview.md @@ -11,18 +11,6 @@ Please refer to the [Quick Start Guide](./quick-start.md) for how to get started ## How it Works - - ### Key Generation and Storage PKPs are created using Distributed Key Generation (DKG) across the Lit network. This process ensures that the private key is never assembled in one place, and is instead split into shares with each node in the Lit network holding a share. Consequently, no single entity, including Lit Protocol itself, has access to the full private key. The public key, however, is publicly available and can be used to derive the corresponding blockchain address. From 2fe13d7fd6967d34eb5a6e1b85fe3766528e9d94 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 7 Aug 2024 10:02:38 -1000 Subject: [PATCH 460/627] Update overview.md Co-authored-by: awisniew207 --- docs/user-wallets/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-wallets/overview.md b/docs/user-wallets/overview.md index bc840605..53bf4946 100644 --- a/docs/user-wallets/overview.md +++ b/docs/user-wallets/overview.md @@ -15,7 +15,7 @@ The Lit Protocol offers two novel ways of managing private keys with [Programmab When used to build a wallet, both PKPs and Wrapped Keys can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google OAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since both PKPs and Wrapped Keys leverage the decentralized Lit network, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. -## PKPs v.s. Wrapped Keys +## PKPs vs. Wrapped Keys Programmable Key Pairs (PKPs) and Wrapped Keys are both solutions offered by Lit for managing private keys, but they serve different purposes and have distinct characteristics. From ec46507cc438ff8735a2f61e3b8e41dd1614f80d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 7 Aug 2024 10:32:13 -1000 Subject: [PATCH 461/627] Update docs/user-wallets/wrapped-keys/exporting-wrapped-key.md Co-authored-by: awisniew207 --- docs/user-wallets/wrapped-keys/exporting-wrapped-key.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md index 0ce431b4..6d1582d6 100644 --- a/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md +++ b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md @@ -7,7 +7,7 @@ This guide covers the `exportPrivateKey` function from the Wrapped Keys SDK. For Using the `exportPrivateKey` function, you can export existing Wrapped Keys to decrypt and obtain their underlying private keys. The Wrapped Keys SDK will look up the corresponding encryption metadata (`ciphertext` and `dataToEncryptHash`) for your PKP in Lit's private DynamoDB instance. If found, it well then use your provided PKP Session Signatures to authorize decryption of the private key, and will return it to you in clear text. -Below we will walk through an implementation of `exportPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/wyatt/wrapped-keys/wrapped-keys/nodejs/src/exportWrappedKey.ts). +Below we will walk through an implementation of `exportPrivateKey`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/wrapped-keys/nodejs/src/exportWrappedKey.ts). ## Overview of How it Works From 9bc910309e0d78fc331416eede52bff959a60a83 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 7 Aug 2024 17:36:20 -0700 Subject: [PATCH 462/627] Changed example --- .../sdk/serverless-signing/combining-decryption-shares.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index e1148b17..3b763d0d 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -56,12 +56,12 @@ When defining your Access Control Conditions rules you may wish to use `currentA { contractAddress: '', standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':currentActionIpfsId', 'latest'], + chain: 'ethereum', + method: '', + parameters: [':currentActionIpfsId'], returnValueTest: { comparator: '=', - value: '', + value: 'Lit Action IPFS CID', }, } ``` From dc5fc469cedeeac94db196ba3f05e1cbe7f859a2 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 7 Aug 2024 14:41:56 -1000 Subject: [PATCH 463/627] Update docs/sdk/serverless-signing/combining-decryption-shares.md --- docs/sdk/serverless-signing/combining-decryption-shares.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 3b763d0d..35be133d 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -61,7 +61,7 @@ When defining your Access Control Conditions rules you may wish to use `currentA parameters: [':currentActionIpfsId'], returnValueTest: { comparator: '=', - value: 'Lit Action IPFS CID', + value: '', }, } ``` From 66ef922b6480c5370c419d602cdb6fa7905cb5ca Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 7 Aug 2024 18:28:28 -1000 Subject: [PATCH 464/627] Wrapped Keys overview refactor --- docs/user-wallets/overview.md | 21 ++-- docs/user-wallets/pkps/overview.md | 27 +++-- docs/user-wallets/wrapped-keys/overview.md | 125 +++++++++------------ 3 files changed, 79 insertions(+), 94 deletions(-) diff --git a/docs/user-wallets/overview.md b/docs/user-wallets/overview.md index bc840605..e435c2a7 100644 --- a/docs/user-wallets/overview.md +++ b/docs/user-wallets/overview.md @@ -6,22 +6,22 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info -Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://faucet.litprotocol.com/ +Need some `testLPX` test tokens to mint a PKP on Chronicle? Use the faucet: https://chronicle-yellowstone-faucet.getlit.dev ::: ## Introduction -The Lit Protocol offers two novel ways of managing private keys with [Programmable Key Pairs (PKPs)](./pkps/overview.md) and [Wrapped Keys](./wrapped-keys/overview.md). Using either of these two methods, you can provide your users with a seamless onboarding experience to your decentralized application, all while offering them non-custodial wallets with strict access control. +The Lit Protocol offers two novel ways of managing private keys with [Programmable Key Pairs (PKPs)](./pkps/overview.md) and [Wrapped Keys](./wrapped-keys/overview.md). Either of these methods can be used to provide users of your application with a seamless, secure, and non-custodial onboarding and asset management experience. When used to build a wallet, both PKPs and Wrapped Keys can make onboarding into and interacting with web3 significantly simpler and more secure. You can hook up web2-style authentication (i.e. Google OAuth, Passkeys, etc) to these keys to abstract away the complexities of seed phrases and self-custody. Since both PKPs and Wrapped Keys leverage the decentralized Lit network, you don't have to worry about the inherent risks associated with key custodians, ensuring no one but your user can control their wallet and manage the assets within. -## PKPs v.s. Wrapped Keys +## PKPs vs. Wrapped Keys Programmable Key Pairs (PKPs) and Wrapped Keys are both solutions offered by Lit for managing private keys, but they serve different purposes and have distinct characteristics. PKPs are ECDSA public/private key pairs created by the Lit network using Distributed Key Generation (DKG). Each Lit node holds a share, and more than two-thirds of these shares must be collected to execute a given action (i.e. signing a transaction). -Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a Lit node's TEE. +Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a single Lit node's TEE. ### PKPs @@ -30,12 +30,12 @@ Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped - Support specific cryptographic curves (e.g. `secp256k1` used by Ethereum) - Keys never exist in full on any single node, reducing the risk of compromise - Ideal for applications requiring high security on supported blockchains +- Can be controlled by [Lit Actions](../sdk/serverless-signing/overview.md), enabling advanced use cases and key management #### Why Use Them -- Enhanced Security: PKPs leverage MPC and threshold cryptography, providing a higher level of security as the key is never fully reconstructed on a single node -- Distributed Trust: The key generation and management process is distributed across the network, reducing single points of failure -- Programmability: PKPs can be controlled by [Lit Actions](../sdk/serverless-signing/overview.md), enabling advanced use cases and key management +- **Enhanced Security:** PKPs leverage MPC and threshold cryptography, providing a higher level of security as the key is never fully reconstructed on a single node +- **Distributed Trust:** The key generation and management process is distributed across the network, reducing single points of failure ### Wrapped Keys @@ -44,12 +44,13 @@ Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped - Support a wider range of cryptographic curves, enabling interaction with more blockchains - Allow for private key import and export, providing flexibility for users with existing keys - Fully decrypted within a single node's TEE when used +- Can be controlled by [Lit Actions](../sdk/serverless-signing/overview.md), enabling advanced use cases and key management #### Why Use Them -- Blockchain Compatibility: Wrapped Keys support signing with curves not currently supported by PKPs, allowing interaction with a broader range of blockchains -- Key Import/Export: Users can import existing private keys or export keys for use in other systems, offering greater flexibility and interoperability -- Legacy System Integration: Wrapped Keys may be easier to integrate with existing systems that expect traditional private key management +- **Blockchain Compatibility:** Wrapped Keys support signing with curves not currently supported by PKPs, allowing interaction with a broader range of blockchains +- **Key Import/Export:** Users can import existing private keys or export keys for use in other systems, offering greater flexibility and interoperability +- **Legacy System Integration:** Wrapped Keys may be easier to integrate with existing systems that expect traditional private key management ### Security Considerations diff --git a/docs/user-wallets/pkps/overview.md b/docs/user-wallets/pkps/overview.md index df7b1b4f..f90e56d1 100644 --- a/docs/user-wallets/pkps/overview.md +++ b/docs/user-wallets/pkps/overview.md @@ -9,6 +9,13 @@ PKPs can be programmed with custom logic to automate on-chain actions and implem Please refer to the [Quick Start Guide](./quick-start.md) for how to get started with PKPs. +## Key Features + +- **Distributed Security**: No single point of failure in key management. +- **Programmable Logic**: Automate on-chain actions with custom logic. +- **Flexible Permissions**: Implement sophisticated access rules for key usage. +- **Non-Custodial**: Users maintain control over their assets without managing private keys directly, and don't have to trust any single party to manage keys for them. + ## How it Works ### Key Generation and Storage @@ -21,22 +28,22 @@ When a signing operation is requested, a Lit node client sends the request to th This threshold signing process ensures that the full private key is never reconstructed at any point, maintaining security while producing a signature with the PKP. -### Programmability and Access Control +### Programmability and Key Management -A key feature of PKPs is their programmability. Each PKP can be authorized to execute specific [Lit Actions](../../sdk/serverless-signing/overview.md), which are JavaScript scripts that define the conditions and logic for key usage. This programmability allows for things like access control, where the use of a PKP can be gated by various on-chain conditions like token ownership, or off-chain conditions such as OAuth verification. Additionally, because a Lit Action is just a JavaScript script, you have a lot of flexibility on what your Lit Action does and how it makes use of the PKP. +A key feature of PKPs is their programmability through [Lit Actions](../../sdk/serverless-signing/overview.md), which are JavaScript scripts that define the conditions and logic for key usage. This programmability enables several advanced capabilities such as: -### Interoperability and Upgradability +- **Transaction Automation:** PKPs can be programmed to automatically sign and execute transactions based on various conditions, streamlining complex on-chain operations. +- **Conditional Signatures:** Implement custom logic for when and how a PKP can sign transactions, based on various on-chain and off-chain factors. +**- Off-chain Data Attestation:** Use PKPs to cryptographically sign and attest to off-chain data, allowing for the secure integration of real-world information into blockchain systems. +- **Sophisticated Permission Systems:** Define granular and context aware permissions for key usage, allowing for fine-tuned control over who can use the PKP, and under what circumstances. -PKPs are designed with interoperability in mind, capable of interacting with various blockchains and Web3 protocols. This makes them suitable for cross-chain operations and interoperability solutions. Furthermore, the logic associated with PKPs (in the form of Lit Actions) can be updated without changing the key pair itself, allowing for evolving functionality while maintaining a consistent blockchain identity. +The flexibility of Lit Actions, being JavaScript-based, allows you to create complex and tailored solutions for managing and utilizing PKPs for you application. -By leveraging these features, PKPs enable developers to create sophisticated, secure, and user-friendly blockchain applications with programmable, non-custodial key management. This approach opens up new possibilities for decentralized applications, automated transactions, and complex on-chain logic execution. +### Interoperability and Upgradability -## Key Features +PKPs are designed with interoperability in mind, capable of interacting with various blockchains and Web3 protocols. This makes them suitable for executing cross-chain operations and implementing [chain abstraction](https://blockworks.co/news/definitive-guide-chain-abstraction). Furthermore, the logic associated with PKPs (in the form of Lit Actions) can be updated without changing the key pair itself, allowing for evolving functionality. -- **Distributed Security**: No single point of failure in key management. -- **Programmable Logic**: Automate on-chain actions with custom logic. -- **Flexible Access Control**: Implement sophisticated access rules for key usage. -- **Non-Custodial**: Users maintain control over their assets without managing private keys directly. +By leveraging these features, PKPs enable you to create sophisticated, secure, and user-friendly blockchain applications with programmable, non-custodial key management. This approach opens up new possibilities for decentralized applications, automated transactions, and complex on-chain logic execution. ## Use Cases diff --git a/docs/user-wallets/wrapped-keys/overview.md b/docs/user-wallets/wrapped-keys/overview.md index 1fbf24ce..2cb5daea 100644 --- a/docs/user-wallets/wrapped-keys/overview.md +++ b/docs/user-wallets/wrapped-keys/overview.md @@ -1,66 +1,77 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - # Overview -Wrapped Keys are private keys that are encrypted and stored using Lit's Wrapped Keys backend service. They can be initialized by [importing](./importing-key.md) or [storing](./storing-wrapped-key-metadata.md) an existing private key, or can be [generated](./generating-wrapped-key.md) within a Lit node's trusted execution environment (TEE), meaning the clear text private key never exists outside of a Lit node's TEE. +Wrapped Keys are a secure and flexible key management solution provided by Lit Protocol. They offer a unique approach to handling private keys, combining the security of encryption with the programmability of [Lit Actions](../../sdk/serverless-signing/overview.md) to offer private key signing to a broader range of blockchain networks. -Regardless of how the Wrapped Key is initialized, each Wrapped Key is associated with an existing [Programmable Keypair (PKP)](../../sdk/wallets/minting.md) and given a unique ID by Lit. +Using Wrapped Keys, you can sign arbitrary data and transactions (optionally broadcasting the signed transaction to a blockchain network) using a private key which is only decrypted within a single Lit node's Trusted Execution Environment (TEE). -Using the unique ID and [Session Signatures](../authentication/session-sigs/intro.md) from the PKP the Wrapped Key is associated with, you can leverage the Lit network to generate signatures for arbitrary data and transactions (optionally sending the signed transaction to a network) using your encrypted private key. +Unlike [Programmable Key Pairs (PKPs)](../pkps/overview.md), the signing logic for Wrapped Keys is implemented completely within a [Lit Action](../../sdk/serverless-signing/overview.md), allowing the use of third-party libraries to perform the signing operation. This provides signing capability using the Lit Protocol to any blockchain network you can implement the signing logic for within a Lit Action. -## Getting Started +## Key Features -### Installing the SDK +- **Secure Storage**: Encrypted and stored in Lit's private [DynamoDB](https://aws.amazon.com/dynamodb/) instance ensures key safety at rest. +- **TEE Protection**: Keys are only decrypted within a single Lit node's Trusted Execution Environment (TEE). +- **PKP Access Control**: Each Wrapped Key is linked to a PKP that controls the authorization to decrypt the private key for usage. +- **Flexible Signing Logic:** Unlike PKPs, signing logic for Wrapped Keys is implemented entirely within a Lit Action, allowing for custom implementations and the use of third-party libraries. +- **Wide Compatibility**: Support for various cryptographic curves and blockchains, extending Lit Protocol's capabilities to any network with JavaScript signing libraries. -:::info -The minimum version of the Lit SDK that supports Wrapped Keys is `6.3.0`, which will be installed from NPM by default. -::: +## The Synergy of Wrapped Keys and PKPs - - +A crucial aspect of Wrapped Keys is their integration with PKPs. While Wrapped Keys and PKPs serve different purposes, they work together to provide a comprehensive key management and access control system: -```bash -npm i @lit-protocol/wrapped-keys -``` +- **Wrapped Keys:** Store and manage the actual private keys used for signing operations. +- **PKPs:** Control authorization to decrypt Wrapped Keys for usage. - +Every Wrapped Key is linked to a specific PKP. This PKP acts as a gatekeeper, managing the authorization required to decrypt and use the Wrapped Key. This synergy allows for sophisticated access control while maintaining the flexibility of Wrapped Keys. - +## How it Works -```bash -yarn add @lit-protocol/wrapped-keys -``` +### Key Generation and Storage - - +When generating a new Wrapped Key, or initializing one by importing an existing private key, the process involves several steps: -## How it Works +1. The Wrapped Keys SDK derives a PKP's Ethereum address from the provided PKP [Session Signatures](../../sdk/authentication/session-sigs/intro.md). +2. The private key (generated or imported) is encrypted using the Lit network's public BLS key. +3. [Access Control Conditions](../../sdk/access-control/evm/basic-examples) are set, allowing only the derived PKP Ethereum address to decrypt the key. +4. The resulting encryption metadata is stored in Lit's private DynamoDB instance. +5. A unique ID (generated by Lit) identifying the Wrapped Key is returned. -When generating a new Wrapped Key, or initializing one by importing an existing private key, the Wrapped Keys SDK will derive a PKP's Ethereum address from the PKP Session Signatures you provide along with the request. +This process ensures that the private key is securely encrypted and stored, with access tightly controlled via the associated PKP. -The generated or imported private key is then [encrypted](#encrypting-the-private-key) using the Lit network's public BLS key, with [Access Control Conditions](../../sdk/access-control/evm/basic-examples) that only allow the derived PKP Ethereum address to decrypt it. The resulting encryption metadata is then stored in Lit's private Dynamo DB instance to be retrieved when performing other actions of the SDK such as signing messages/transactions. +### Signing Process -When you request the Wrapped Keys SDK to sign some data using a specific Wrapped Key, you provide the unique ID generated by Lit when the Wrapped Key was initialized as well as PKP Session Signatures. +When a signing operation is requested, the following steps occur: -The SDK will first make a request to the Wrapped Keys backend service to retrieve the encryption metadata corresponding to the unique ID, and then will execute a specific Lit Action passing the encryption metadata and your PKP Session Signatures as parameters. +1. The user provides the unique ID of the Wrapped Key and PKP Session Signatures to the Wrapped Keys SDK. +2. The SDK retrieves the encryption metadata from the Wrapped Keys backend service. +3. A specific Wrapped Keys Lit Action is executed, passing the encryption metadata and PKP Session Signatures as parameters. +4. The Lit Action derives the Ethereum address from the Session Signatures and attempts to decrypt the encryption metadata using the Lit network. +5. If authorized, the private key is decrypted within a single Lit node's Trusted Execution Environment (TEE). +6. The decrypted key is used to sign the requested data or transaction. +7. After signing, the TEE's ephemeral memory is wiped, and the decrypted private key ceases to exist. +8. The signed data or transaction is returned. + - There's an option to broadcast signed transactions to a blockchain network to be processed by the network. -The Lit Action will then derive the Ethereum address from the Session Signatures, and attempt to [decrypt](#decrypting-the-private-key) the encryption metadata using the Lit network. If the derived address is authorized to decrypt the data (according the Access Control Conditions set when the private key was encrypted), then the Wrapped Key's underlying private key is decrypted within a single Lit node's Trusted Execution Environment (TEE), available to be used for actions such as signing data/transactions. +This process ensures that the private key is only decrypted and used within the secure confines of the TEE, maintaining a high level of security throughout the signing operation. -After the executing Lit Action is finished, the ephemeral memory of the TEE is wiped, the decrypted plaintext private key ceases to exist, and the signed data/transaction is returned to you. +### Programmability and Key Management ---- +Wrapped Keys leverage the programmability of Lit Actions, which are JavaScript scripts that define the conditions and logic for key usage. This programmability enables several advanced capabilities such as: -In addition to signing data/transactions, the Wrapped Keys SDK includes other functionality such as: +- **Custom Signing Algorithms:** Implement signing logic for any blockchain or cryptographic system supported by JavaScript libraries. +- **Flexible Key Usage:** Define complex conditions and logic for when and how the Wrapped Key can be used. +- **Integration with External Systems:** Interact with APIs, smart contracts, or other external systems as part of the signing process. +- **Dynamic Permission Management:** Implement sophisticated, context-aware permission systems for key usage. -:::info -To learn more about how each SDK function works as well as how to use them, click on the below links. -::: +## Use Cases + +- Integrating with a wide range of blockchain networks, including those not supported by PKPs +- Importing existing private keys into the Lit Protocol ecosystem for enhanced security +- Creating wallet solutions that support diverse cryptographic curves +- Implementing custom signing algorithms for specialized blockchain projects + +## Wrapped Keys SDK + +For more information on what's offered by the Wrapped Keys SDK, please refer to the following doc pages: - [Generating a Wrapped Key](./generating-wrapped-key.md) - [Importing a private key as a Wrapped Key](./importing-key.md) @@ -92,37 +103,3 @@ expect a Wrapped Key ID as part of their parameters. This ID is generated for ea You can also obtain the IDs for all the Wrapped Keys associated with a specific PKP by using the SDK's [listEncryptedKeyMetadata](./listing-wrapped-keys.md) method. ::: - -### Encrypting the Private Key - -Whether you're importing, storing, or generating a new private key, the clear text private key is encrypted using the [encryptString](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) method. - -When encrypting data using the Lit network, Access Control Conditions are specified to restrict who is authorized to decrypt the data. For more information on how encryption and decryption works using the Lit network, please go [here](../../sdk/access-control/intro). - -The Access Control Conditions used to encrypt the private key are: - -```ts -[ - { - contractAddress: '', - standardContractType: '', - chain: CHAIN_ETHEREUM, - method: '', - parameters: [':userAddress'], - returnValueTest: { - comparator: '=', - value: pkpAddress, - }, - }, -]; -``` - -where `pkpAddress` is the Ethereum address that's derived from the PKP that was authenticated by the Lit network when the request to import, store, or generate a new Wrapped Key was made. With this condition, the only entity authorized to decrypt a Wrapped Key's underlying private key, is the PKP. - -### Decrypting the Private Key - -When you submit a request to the Wrapped Keys backend service via one of the SDK methods, you must provide PKP Session Signatures. From these Session Signatures, an Ethereum address corresponding to the PKP can be derived. It's this address that the Lit Action submits as part of its request to the Lit network to decrypt the Wrapped Key. - -If the derived Ethereum address from the PKP Session Signatures matches the address used to encrypt the Wrapped Key, then decryption is authorized and the Lit Action is able to collect and combine the decryption shares from the Lit nodes and obtain the plaintext private key. - -The plaintext private key only exists within the TEE of a single Lit node that is executing the Lit Action. This is enforced using the [decryptToSingleNode](https://actions-docs.litprotocol.com/#decrypttosinglenode) Lit Action method. This single Lit node executing the Lit Action is then able to use the plaintext private to perform signing operations. After the Lit Action is finished executing, the TEE memory is wiped and the plaintext private key ceases to exist. From 1b1b6c3e46217ecc294f3206b68b6dd2b6f6ac7d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 7 Aug 2024 18:31:11 -1000 Subject: [PATCH 465/627] Add installing sdk --- docs/user-wallets/wrapped-keys/overview.md | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/user-wallets/wrapped-keys/overview.md b/docs/user-wallets/wrapped-keys/overview.md index 2cb5daea..ff139bdb 100644 --- a/docs/user-wallets/wrapped-keys/overview.md +++ b/docs/user-wallets/wrapped-keys/overview.md @@ -1,3 +1,6 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Overview Wrapped Keys are a secure and flexible key management solution provided by Lit Protocol. They offer a unique approach to handling private keys, combining the security of encryption with the programmability of [Lit Actions](../../sdk/serverless-signing/overview.md) to offer private key signing to a broader range of blockchain networks. @@ -71,6 +74,37 @@ Wrapped Keys leverage the programmability of Lit Actions, which are JavaScript s ## Wrapped Keys SDK +### Installing the SDK + +:::info +The minimum version of the Lit SDK that supports Wrapped Keys is `6.4.0`. +::: + + + + +```bash +npm i @lit-protocol/wrapped-keys +``` + + + + + +```bash +yarn add @lit-protocol/wrapped-keys +``` + + + + +### SDK Methods + For more information on what's offered by the Wrapped Keys SDK, please refer to the following doc pages: - [Generating a Wrapped Key](./generating-wrapped-key.md) From 34a08a13808a18c54453c4f1e204d551f7c17c18 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Wed, 7 Aug 2024 18:33:54 -1000 Subject: [PATCH 466/627] Rename section --- docs/user-wallets/wrapped-keys/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-wallets/wrapped-keys/overview.md b/docs/user-wallets/wrapped-keys/overview.md index ff139bdb..17b20c74 100644 --- a/docs/user-wallets/wrapped-keys/overview.md +++ b/docs/user-wallets/wrapped-keys/overview.md @@ -103,7 +103,7 @@ yarn add @lit-protocol/wrapped-keys -### SDK Methods +### Overview For more information on what's offered by the Wrapped Keys SDK, please refer to the following doc pages: From b2e1c87e33794df4f0fbd3cdfeb0a43fc87c753a Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 8 Aug 2024 14:41:55 -0700 Subject: [PATCH 467/627] Testing deployment --- .../session-sigs/get-lit-action-session-sigs | 80 +++++++++++++ .../session-sigs/get-pkp-session-sigs.md | 111 +++--------------- .../session-sigs/get-session-sigs.md | 6 +- 3 files changed, 100 insertions(+), 97 deletions(-) create mode 100644 docs/sdk/authentication/session-sigs/get-lit-action-session-sigs diff --git a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs new file mode 100644 index 00000000..cc29b401 --- /dev/null +++ b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs @@ -0,0 +1,80 @@ +--- +sidebar_position: 2 +--- + +import FeedbackComponent from "@site/src/pages/feedback.md"; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Generating SessionSigs: `getLitActionSessionSigs` + +This guide covers the `getLitActionSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). + +Using the `getLitActionSessionSigs` function, you can specify the capabilities of your current session on the Lit network. + +This function is very similar to [`getPkpSessionSigs`](./get-pkp-session-sigs.md). The `getPkpSessionSigs` function requires you to own a PKP and some form of authentication to prove your identity (e.g. a custom Lit Action, AuthMethod, or AuthSig). + +Alternatively, the `getLitActionSessionSigs` function requires the form of authentication to be a Lit Action. Other authentication methods can be included as well, but a Lit Action is required. + +Using this arragement, the function executes the Lit Action to determine authorization for the following step. + +This function uses the [`signSessionKey`](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#signSessionKey) function to sign the session public key using the PKP, which will generate an `AuthSig`. + +Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the session signatures. + +:::note +This Lit Action is defined with the `litActionCode` or `litActionIpfsId` parameter , and `jsParams` must be provided. +::: + +## Prerequisites + +Before continuing this guide, you should have an understanding of: +- [Session Signatures](./intro) +- [Lit Resources and Abilities](./resources-and-abilities.md) +- [PKPs](../../wallets/minting) + +## Parameters and Returns + +To see the parameters and return of `getLitActionSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs). + +## Example Implementation + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getLitActionSessionSigs). + +### Installing the Required Dependencies + + + +```bash +npm install \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +@lit-protocol/contracts-sdk \ +ipfs-only-hash \ +ethers@v5 +``` + + + + + +```bash +yarn add \ +@lit-protocol/auth-helpers \ +@lit-protocol/constants \ +@lit-protocol/lit-node-client \ +@lit-protocol/contracts-sdk \ +ipfs-only-hash \ +ethers@v5 +``` + + + + +The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. diff --git a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md index be16df08..ff620597 100644 --- a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md @@ -10,19 +10,28 @@ import TabItem from '@theme/TabItem'; This guide covers the `getPkpSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). -The function uses the session keypair generated by the `LitNodeClient` to invoke a callback function that signs the generated session key, creating an `AuthSig` that is scoped to specific Lit capabilities. +Using the `getPkpSessionSigs` function, you can specify the capabilities of your current session on the Lit network. -Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an `ethers.Wallet` and the `LitNodeClient`. It will enable specific capabilities for your `ethers.Wallet` using the resources you specify in the `AuthSig`. +This function requires you to own a PKP and some form of authentication to prove your identity (e.g. a custom Lit Action, AuthMethod, or AuthSig). It will enable specific abilities for your session keypair defined by the resources you specify. + +This function uses the [`signSessionKey`](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#signSessionKey) function to sign the session public key using the PKP, which will generate an `AuthSig`. + +Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the session signatures. ## Prerequisites Before continuing this guide, you should have an understanding of: - [Session Signatures](./intro) - [Lit Resources and Abilities](./resources-and-abilities.md) +- [PKPs](../../wallets/minting) ## Parameters and Returns -To see the parameters and return of `getSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getSessionSigs). +To see the parameters and return of `getPkpSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs). + +## Example Implementation + +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). ## Example Implementation @@ -42,6 +51,8 @@ npm install \ @lit-protocol/auth-helpers \ @lit-protocol/constants \ @lit-protocol/lit-node-client \ +@lit-protocol/contracts-sdk \ +@lit-protocol/lit-auth-client \ ethers@v5 ``` @@ -54,6 +65,8 @@ yarn add \ @lit-protocol/auth-helpers \ @lit-protocol/constants \ @lit-protocol/lit-node-client \ +@lit-protocol/contracts-sdk \ +@lit-protocol/lit-auth-client \ ethers@v5 ``` @@ -61,95 +74,3 @@ ethers@v5 The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. - -### Instantiating an Ethers Signer -The `ETHEREUM_PRIVATE_KEY` environment variable is required. -```ts -import { LIT_RPC } from "@lit-protocol/constants"; -import * as ethers from "ethers"; - -const ethersSigner = new ethers.Wallet( - process.env.ETHEREUM_PRIVATE_KEY, - new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) -); -``` - -### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. Because we're executing within a Node.js environment, we use `LocalStorage` from the `node-localstorage` module to store our session keys and metadata. - -```ts -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; -import { LocalStorage } from "node-localstorage"; - -let litNodeClient: LitNodeClient; - -litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilDev, - debug: false, - storageProvider: { - provider: new LocalStorage("./lit_storage.db"), - }, - }); -await litNodeClient.connect(); -``` - -### Generating Session Signatures -In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. - -To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. - -```ts -import { - LitAbility, - LitAccessControlConditionResource, - createSiweMessage, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -const sessionSignatures = await litNodeClient.getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 10 ).toISOString(), // 10 minutes - resourceAbilityRequests: [ - { - resource: new LitAccessControlConditionResource("*"), - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback: async ({ - uri, - expiration, - resourceAbilityRequests, - }) => { - const toSign = await createSiweMessage({ - uri, - expiration, - resources: resourceAbilityRequests, - walletAddress: ethersSigner.address, - nonce: await litNodeClient.getLatestBlockhash(), - litNodeClient, - }); - - return await generateAuthSig({ - signer: ethersSigner, - toSign, - }); - }, -}); -``` - - -:::note -The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. -::: - -## Clearing Local Storage - -If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). - -## Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). - -After executing the example implementation above, you will have generated and stored session signatures that allow you to request decrypting data that you satisfied the Access Control Conditions for. - - diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 7e79b6e7..2493efb8 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -10,9 +10,11 @@ import TabItem from '@theme/TabItem'; This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). -The function uses the session keypair generated by the `LitNodeClient` and invokes a callback function, `authNeededCallback`, to generate an `AuthSig` scoped to specific Lit capabilities and sign it using the session keypair. +Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. -Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an Ethereum private key and the `LitNodeClient`. It will enable specific capabilities for your session keypair using the resources you specify in the `AuthSig`. +The function uses the session keypair generated by the `LitNodeClient` and invokes a callback function, `authNeededCallback`, to generate an `AuthSig` scoped to specific Lit capabilities and sign it using the session keypair to create the `SessionSigs`. + +Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an EOA Ethereum private key and the `LitNodeClient`. It will enable specific capabilities for your session keypair using the resources you specify in the `AuthSig`. ## Prerequisites From c4049cc46d4120d3c9dd1a87628e252122b4b5d6 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 8 Aug 2024 14:46:15 -0700 Subject: [PATCH 468/627] Sidebars --- sidebars.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sidebars.js b/sidebars.js index 9f058969..3d91640e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -151,6 +151,8 @@ const sidebars = { 'sdk/authentication/session-sigs/capability-objects', 'sdk/capacity-credits', 'sdk/authentication/session-sigs/get-session-sigs', + 'sdk/authentication/session-sigs/get-pkp-session-sigs', + 'sdk/authentication/session-sigs/get-lit-action-session-sigs', 'sdk/authentication/session-sigs/usage', ], }, From b235c26f36fd30f371d5cdaa1aca05ee5888f323 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 8 Aug 2024 14:51:38 -0700 Subject: [PATCH 469/627] Fix --- ...get-lit-action-session-sigs => get-lit-action-session-sigs.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/sdk/authentication/session-sigs/{get-lit-action-session-sigs => get-lit-action-session-sigs.md} (100%) diff --git a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md similarity index 100% rename from docs/sdk/authentication/session-sigs/get-lit-action-session-sigs rename to docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md From b34af8c760cc7b19396039033103fd3ef9ea0768 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 8 Aug 2024 15:10:55 -0700 Subject: [PATCH 470/627] Link fix --- .../session-sigs/get-lit-action-session-sigs.md | 2 +- .../sdk/authentication/session-sigs/get-pkp-session-sigs.md | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md index cc29b401..9ab178a4 100644 --- a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md @@ -23,7 +23,7 @@ This function uses the [`signSessionKey`](https://v6-api-doc-lit-js-sdk.vercel.a Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the session signatures. :::note -This Lit Action is defined with the `litActionCode` or `litActionIpfsId` parameter , and `jsParams` must be provided. +The Lit Action is defined with the `litActionCode` or `litActionIpfsId` parameter, and `jsParams` must be provided for executing the action. ::: ## Prerequisites diff --git a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md index ff620597..4cf3434f 100644 --- a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md @@ -31,11 +31,7 @@ To see the parameters and return of `getPkpSessionSigs`, please visit our [API D ## Example Implementation -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). - -## Example Implementation - -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). ### Installing the Required Dependencies Date: Fri, 9 Aug 2024 08:41:08 -1000 Subject: [PATCH 471/627] Update docs/concepts/capacity-credits-concept.md --- docs/concepts/capacity-credits-concept.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 9fb83d13..22c37f12 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -44,7 +44,6 @@ Lit employs `SessionSig` as a secure method for session management, utilizing ed You can read more about Session Signatures [here](../sdk/authentication/session-sigs/intro.md). ->**Note**: With the migration to SDK v3, the use of `AuthSigs` is no longer recommended for various tasks such as access control, encryption, minting PKPs, Lit Action signing with the PKP, etc. This change is due to the requirement for `capacityDelegationAuthSig` in signatures, as capacity credits are now required on both `Datil` and `Datil-test` networks. We strongly advise users to transition to using `SessionSigs` alongside `capacityDelegationAuthSig`, as `AuthSigs` lack the necessary capabilities to delegate capacity credits moving forward. You may continue to use `AuthSigs` for the time being, but the limitation is that the `AuthSig` must have capacity credits to use the service. This means every one of your users must buy capacity credits from Lit. Instead, you can buy capacity credits centrally and delegate their use to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way (and replace it with `AuthSig` in your project): ```javascript From c7e9728c442a5919b8e0120fbfe61b5831a89ec1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 08:42:43 -1000 Subject: [PATCH 472/627] Update docs/concepts/capacity-credits-concept.md --- docs/concepts/capacity-credits-concept.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 22c37f12..91d4d25d 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -122,7 +122,7 @@ import { LitNetwork } from "@lit-protocol/constants"; ### **Best Practices** - **Capacity Management**: Keep an eye on your usage limit and expiration date. -- **Understanding Limits**: Be aware that there are no free requests on `Datil` mainnet. On `Datil-test` testnet, free tier rate limit is set to three free requests per day. You can use Capacity credits to reserve more usage on these networks. +- **Understanding Limits**: Be aware that there are no free requests on `Datil` mainnet or the `Datil-test` testnet. You must use Capacity credits to reserve usage on these networks. - **Delegation**: You can create restrictions on your delegations to ensure that your users don't take your `capacityDelegationAuthSig` and use it for other apps. From 3cacf1dfb7c027a04fd8f9fb8ca8ebfb4776e112 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:21:31 -1000 Subject: [PATCH 473/627] Update docs/connecting-to-a-lit-network/mainnets.md --- docs/connecting-to-a-lit-network/mainnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index 0a500ff7..713372fe 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Mainnets -Lit mainnets are designed for late-stage development and production deployment. If you are implementing storing assets with real world value, it should be done on the main networks and not the test networks. While main networks may be deprecated in the future, assets will be transferable onto new networks. +Lit mainnets are designed for late-stage development and production deployment. If you are storing assets with real world value, it should be done on the mainnets and not the testnets. While mainnets may be deprecated in the future, assets will be transferable to newer networks. Here is an overview of the Lit mainnets: From 8d658932e7da49f20a62ce125a6f06a318a3c1cb Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:22:45 -1000 Subject: [PATCH 474/627] Update docs/connecting-to-a-lit-network/mainnets.md --- docs/connecting-to-a-lit-network/mainnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index 713372fe..d8effa15 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -10,7 +10,7 @@ Here is an overview of the Lit mainnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Decentralized mainnet designed for production deployment. Guaranteed real world asset transferability onto new mainnets. Payment is enforced. | `^6.4.0` | `datil` | ✅ | +| Datil | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Decentralized mainnet designed for production deployment. Guaranteed real world asset transferability to new mainnets. Payment is enforced. | `^6.4.0` | `datil` | ✅ | ## Datil The Lit network, Datil, utilizes the Lit blockchain: Chronicle Yellowstone. It's a decentralized mainnet designed for production deployment, and is superseding the Habanero mainnet. Like Habanero, usage of the network **does** require payment using [Capacity Credits](../sdk/capacity-credits). From 5134b8d44a8f5e938cf98d9d4bccd80caffd2196 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:23:01 -1000 Subject: [PATCH 475/627] Update docs/connecting-to-a-lit-network/mainnets.md --- docs/connecting-to-a-lit-network/mainnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/mainnets.md b/docs/connecting-to-a-lit-network/mainnets.md index d8effa15..cca9bd5d 100644 --- a/docs/connecting-to-a-lit-network/mainnets.md +++ b/docs/connecting-to-a-lit-network/mainnets.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Mainnets -Lit mainnets are designed for late-stage development and production deployment. If you are storing assets with real world value, it should be done on the mainnets and not the testnets. While mainnets may be deprecated in the future, assets will be transferable to newer networks. +Lit mainnets are designed for late-stage development and production deployment. If you are storing assets with real world value, it should be done on the mainnets and not the testnets. While mainnets may be deprecated in the future, assets will be transferable to new networks. Here is an overview of the Lit mainnets: From 28d22845b7fd0cb5d963628fe262f0ad696ab9c7 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:25:31 -1000 Subject: [PATCH 476/627] Update docs/connecting-to-a-lit-network/migrating-to-datil.md --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 256418f5..7f9027b2 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -12,8 +12,8 @@ Depending on the Lit network you are using, you should migrate to its correspond | Currently Available | Requires Payment | Minimum Lit Package Version | Your Current Network | Network to Migrate to | Description | |---------------------|------------------|-----------------------------|----------------------|-----------------------|--------------------------------------------------------------| | ✅ | ✅ | `6.4.0` | `habanero` | `datil` | Decentralized mainnet designed for production use cases | -| ✅ | ✅ | `6.3.0` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | -| ✅ | ❌ | `6.3.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | +| ✅ | ✅ | `6.4.0` | `manzano` | `datil-test` | Decentralized testnet designed for pre-production deployment | +| ✅ | ❌ | `6.4.0` | `cayenne` | `datil-dev` | Centralized testnet designed for early-stage development | Like their counterparts, `datil` and `datil-test` require developers to pay for usage of the Lit network via [Capacity Credits](../capacity-credits); however, `datil-dev` does not. From 8d2f297660d81c852c96a286b9e95ff12b787575 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:26:44 -1000 Subject: [PATCH 477/627] Update docs/connecting-to-a-lit-network/migrating-to-datil.md --- docs/connecting-to-a-lit-network/migrating-to-datil.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/migrating-to-datil.md b/docs/connecting-to-a-lit-network/migrating-to-datil.md index 7f9027b2..9c91a023 100644 --- a/docs/connecting-to-a-lit-network/migrating-to-datil.md +++ b/docs/connecting-to-a-lit-network/migrating-to-datil.md @@ -57,8 +57,7 @@ For latest on which Datil networks are available to connect to, please refer to The only code changes required to make use of the new Datil networks are as follows: - Upgrade the Lit packages to the latest version that supports Datil - - `6.3.0` is the minimum version of the packages that support `datil-test` and `datil-dev` - - `6.4.0` is the minimum version of the packages that supports `datil` + - `6.4.0` is the minimum version of the packages that support the Datil networks - Specify the Datil network when instantiating Lit node clients from the SDK - This is done by specifying the `litNetwork` property when [connecting a Lit client](./connecting) to one of the following Datil networks: - `datil` From 3d3c475f102446d0ec1ec868b5e006255a672864 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:27:17 -1000 Subject: [PATCH 478/627] Update docs/connecting-to-a-lit-network/testnets.md --- docs/connecting-to-a-lit-network/testnets.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index af829897..e099cd12 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -9,8 +9,8 @@ Here is an overview of the Lit testnets: | Name | Lit Blockchain | Description | Minimum Lit SDK Version | Lit SDK Network Identifier | Requires Payment | |------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|----------------------------|------------------| -| Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.3.0` | `datil-test` | ✅ | -| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.3.0` | `datil-dev` | ❌ | +| Datil-test | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for pre-production development. No persistency guarantees. Payment is enforced. | `^6.4.0` | `datil-test` | ✅ | +| Datil-dev | [Chronicle Yellowstone](./lit-blockchains/chronicle-yellowstone) | Centralized testnet designed for early-stage development. Keys are not persistent and will be deleted. This network does not enforce payment and can be used for free, for testing. | `^6.4.0` | `datil-dev` | ❌ | ## Datil-test From 55c23551dfa49d2879729c89a9b85630f5ed5d40 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:27:45 -1000 Subject: [PATCH 479/627] Update docs/connecting-to-a-lit-network/testnets.md --- docs/connecting-to-a-lit-network/testnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index e099cd12..ab7e0a42 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -18,7 +18,7 @@ The Lit network, Datil-test, utilizes the Lit blockchain: Chronicle Yellowstone. If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. -The minimum version of the Lit SDK that supports `datil-test` is `6.3.0`, and the latest SDK version will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil-test` is `6.4.0`, and the latest SDK version will be installed from NPM by default: Date: Fri, 9 Aug 2024 09:28:19 -1000 Subject: [PATCH 480/627] Update docs/connecting-to-a-lit-network/testnets.md --- docs/connecting-to-a-lit-network/testnets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/connecting-to-a-lit-network/testnets.md b/docs/connecting-to-a-lit-network/testnets.md index ab7e0a42..0435e494 100644 --- a/docs/connecting-to-a-lit-network/testnets.md +++ b/docs/connecting-to-a-lit-network/testnets.md @@ -53,7 +53,7 @@ The Lit network, Datil-dev, utilizes the Lit blockchain: Chronicle Yellowstone. If your application is currently deployed to a v0 Lit network (Cayenne, Manzano, and/or Habanero) please refer to [this guide](migrating-to-datil) to learn how to migrate to the new Datil networks. -The minimum version of the Lit SDK that supports `datil-dev` is `6.3.0`, and the latest SDK version will be installed from NPM by default: +The minimum version of the Lit SDK that supports `datil-dev` is `6.4.0`, and the latest SDK version will be installed from NPM by default: Date: Fri, 9 Aug 2024 09:46:47 -1000 Subject: [PATCH 481/627] Update how-it-works.md --- docs/resources/how-it-works.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index b44ba7ae..aa9084eb 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -72,14 +72,17 @@ The full list of Datil node operators includes: - Lit Protocol (our node) - [Hypha](https://hypha.coop/?ref=spark.litprotocol.com) - [Thunderhead](https://thunderhead.xyz/?ref=spark.litprotocol.com) -- [Zeiron](https://zerion.io/?ref=spark.litprotocol.com) -- [HireNodes](https://hirenodes.io/?ref=spark.litprotocol.com) -- [ETHGlobal](https://ethglobal.com/?ref=spark.litprotocol.com) - [Terminal3](https://www.terminal3.io/?ref=spark.litprotocol.com) - [Imperator](https://www.imperator.co/?ref=spark.litprotocol.com) - [01node](https://01node.com/?ref=spark.litprotocol.com) - [Cheqd](https://cheqd.io/?ref=spark.litprotocol.com) +The following operators will be joining the network after launch: + +- [HireNodes](https://hirenodes.io/?ref=spark.litprotocol.com) +- [ETHGlobal](https://ethglobal.com/?ref=spark.litprotocol.com) +- [Zerion](https://zerion.io/?ref=spark.litprotocol.com) + ### The Lit Protocol Token (LITKEY) The Lit Protocol token, LITKEY, will be used by node operators to meet their staking requirement, as well as a reward token to pay node operators for their service. Developers using Lit will also use the token to pay for transacting on the network. From 3285e2c4d3215f39bc9b6548dd2f1757933c5f46 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 09:55:22 -1000 Subject: [PATCH 482/627] Update sidebars.js --- sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidebars.js b/sidebars.js index 450777c3..4d4cf3d3 100644 --- a/sidebars.js +++ b/sidebars.js @@ -98,8 +98,8 @@ const sidebars = { id: 'connecting-to-a-lit-network/connecting', }, items: [ + 'connecting-to-a-lit-network/mainnets', 'connecting-to-a-lit-network/testnets', - `connecting-to-a-lit-network/mainnets`, 'connecting-to-a-lit-network/migrating-to-datil', { type: 'category', From 8a40a66e876fbb80083a676b4c8b5cba03c58635 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 9 Aug 2024 16:28:29 -0700 Subject: [PATCH 483/627] GSS Final Draft --- .../get-lit-action-session-sigs.md | 90 ++++++++++++++++++- .../session-sigs/get-pkp-session-sigs.md | 76 ++++++++++++++++ .../session-sigs/get-session-sigs.md | 18 ++-- 3 files changed, 173 insertions(+), 11 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md index 9ab178a4..4d282935 100644 --- a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md @@ -35,7 +35,7 @@ Before continuing this guide, you should have an understanding of: ## Parameters and Returns -To see the parameters and return of `getLitActionSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs). +To see the parameters and return of `getLitActionSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs). ## Example Implementation @@ -78,3 +78,91 @@ ethers@v5 The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. + +### Initializing an Ethers Signer +The `ETHEREUM_PRIVATE_KEY` environment variable is required. +```ts +import { LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +### Initializing a `LitNodeClient` +Here we are initializing an instance of `LitNodeClient` and connecting it to the `datil-test` Lit network. +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +let litNodeClient: LitNodeClient; + +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilTest, + debug: false, + }); +await litNodeClient.connect(); +``` + +### Instantiating a `LitContracts` Instance +Here we are initializing an instance of `LitContracts`. This allows us to interact with smart contracts on the Lit network. + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litContracts = new LitContracts({ + signer: ethersSigner, + network: LitNetwork.DatilTest, + debug: false, +}); +await litContracts.connect(); +``` + +### Generating Session Signatures +In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. + +To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. + +If you would like to use this function on the `datil` or `datil-test` networks, a `capacityDelegationAuthSig` is required. Please also keep in mind that implementing this requires owning or minting a PKP and defining a Lit Action. How this is done can be found in the full code example. + +```ts +import { + LitAbility, + LitActionResource, + LitPKPResource, +} from "@lit-protocol/auth-helpers"; + +const sessionSignatures = await litNodeClient.getLitActionSessionSigs({ + pkpPublicKey: pkp.publicKey, + capabilityAuthSigs: [capacityDelegationAuthSig], + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: new LitPKPResource("*"), + ability: LitAbility.PKPSigning, + }, + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + // With this setup you could use either the litActionIpfsId or the litActionCode property + //litActionIpfsId: litActionCodeIpfsCid, + litActionCode: Buffer.from(litActionCode).toString("base64"), + jsParams: { + magicNumber: 42, + }, +}); +``` + +## Clearing Local Storage + +If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). + +## Summary +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). + +After executing the example implementation above, you will have generated session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md index 4cf3434f..5a2dddf5 100644 --- a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md @@ -70,3 +70,79 @@ ethers@v5 The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. + +### Initializing an Ethers Signer +The `ETHEREUM_PRIVATE_KEY` environment variable is required. +```ts +import { LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); +``` + +### Initializing a `LitNodeClient` +Here we are initializing an instance of `LitNodeClient` and connecting it to the `datil-test` Lit network. +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +let litNodeClient: LitNodeClient; + +litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilTest, + debug: false, + }); +await litNodeClient.connect(); +``` + +### Instantiating a `LitContracts` Instance +Here we are initializing an instance of `LitContracts`. This allows us to interact with smart contracts on the Lit network. + +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; +import { LitNetwork } from "@lit-protocol/constants"; + +const litContracts = new LitContracts({ + signer: ethersSigner, + network: LitNetwork.DatilTest, + debug: false, +}); +await litContracts.connect(); +``` + +### Generating Session Signatures +In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. + +To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. + +If you would like to use this function on the `datil` or `datil-test` networks, a `capacityDelegationAuthSig` is required. Please also keep in mind that implementing this requires owning or minting a PKP. How this is done can be found in the full code example. + + +```ts +import { LitAbility, LitPKPResource } from "@lit-protocol/auth-helpers"; + +const sessionSignatures = await litNodeClient.getPkpSessionSigs({ + pkpPublicKey: pkp.publicKey!, + capabilityAuthSigs: [capacityDelegationAuthSig], + authMethods: [authMethod], + resourceAbilityRequests: [ + { + resource: new LitPKPResource("*"), + ability: LitAbility.PKPSigning, + }, + ], + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes +}); +``` + +## Clearing Local Storage + +If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). + +## Summary +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). + +After executing the example implementation above, you will have generated session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 2493efb8..41003516 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -64,7 +64,7 @@ ethers@v5 The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. -### Instantiating an Ethers Signer +### Initializing an Ethers Signer The `ETHEREUM_PRIVATE_KEY` environment variable is required. ```ts import { LIT_RPC } from "@lit-protocol/constants"; @@ -76,22 +76,18 @@ const ethersSigner = new ethers.Wallet( ); ``` -### Instantiating a `LitNodeClient` -Here we are instantiating an instance of `LitNodeClient` and connecting it to the `datil-dev` Lit network. Because we're executing within a Node.js environment, we use `LocalStorage` from the `node-localstorage` module to store our session keys and metadata. +### Initializing a `LitNodeClient` +Here we are initializing an instance of `LitNodeClient` and connecting it to the `datil-test` Lit network. ```ts import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitNetwork } from "@lit-protocol/constants"; -import { LocalStorage } from "node-localstorage"; let litNodeClient: LitNodeClient; litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilDev, + litNetwork: LitNetwork.DatilTest, debug: false, - storageProvider: { - provider: new LocalStorage("./lit_storage.db"), - }, }); await litNodeClient.connect(); ``` @@ -101,6 +97,8 @@ In this example, we're granting the capability to request to decrypt any data th To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. +If you would like to use this function on the `datil` or `datil-test` networks, a `capacityDelegationAuthSig` is required. An example of how to generate one can be found in the full code example. + ```ts import { LitAbility, @@ -112,6 +110,7 @@ import { const sessionSignatures = await litNodeClient.getSessionSigs({ chain: "ethereum", expiration: new Date(Date.now() + 1000 * 60 * 10 ).toISOString(), // 10 minutes + capabilityAuthSigs: [capacityDelegationAuthSig], // Unnecessary on datil-dev resourceAbilityRequests: [ { resource: new LitAccessControlConditionResource("*"), @@ -140,7 +139,6 @@ const sessionSignatures = await litNodeClient.getSessionSigs({ }); ``` - :::note The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake. ::: @@ -152,6 +150,6 @@ If you want to clear the session key stored in the browser local storage, you ca ## Summary The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). -After executing the example implementation above, you will have generated and stored session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. +After executing the example implementation above, you will have generated session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. From 4bbbace460d0e691b28b508ab3a401ba36114ab5 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 13:45:26 -1000 Subject: [PATCH 484/627] Add Overview of What Requires Payment section --- docs/paying-for-lit/overview.md | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index 186b2d6f..b04c5cb7 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -4,6 +4,42 @@ Like other decentralized networks, Lit has a certain amount of computation avail In order to use the paid pre-production ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) and production ([Datil](../connecting-to-a-lit-network/mainnets#datil)) Lit networks, you must reserve capacity on the network. This is done using by minting Capacity Credits, and by making use of the Lit Relayer and/or the Payment Delegation Database. +## Overview of What Requires Payment + +:::note +Currently requests requiring payment of Lit tokens is done only using the `testLPX` test token. More information about the test token is available [here](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) +::: + +### General Lit Network Usage + +| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | +|---------------------------------------|------------------|----------------------------------|------------------|--------------| +| Connecting to a Lit Network | ❌ | n/a | n/a | ❌ | +| Generating Session Signatures | ❌ | n/a | n/a | ❌ | +| Reading Data from Lit Contracts | ❌ | n/a | n/a | ❌ | +| Minting a PKP | ✅ | ✅ | Lit Tokens | ✅ | +| Adding/Removing PKP Auth Methods | ✅ | ✅ | Lit Tokens | ✅ | +| Encrypting Data | ❌ | n/a | n/a | ❌ | +| Decrypting Data | ✅ | ❌ | Capacity Credits | ❌ | +| Lit Action Execution | ✅ | ❌ | Capacity Credits | ❌ | +| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Tokens | ✅ | +| Payment Delegation Payees | ✅ | ✅ | Lit Tokens | ✅ | + +### Wrapped Keys Usage + +| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | +|----------------------------------------|------------------|----------------------------------|---------------------------------|--------------| +| Generating a Wrapped Key | ✅ | ✅ | Lit Tokens | ✅ | +| Importing Wrapped Key | ❌ | n/a | n/a | ❌ | +| Exporting Wrapped Key | ✅ | ✅ | Capacity Credits | ❌ | +| Getting Wrapped Key Metadata | ✅ | ✅ | Capacity Credits | ❌ | +| Storing Wrapped Key Metadata | ❌ | n/a | n/a | ❌ | +| Listing Wrapped Keys for a PKP | ❌ | n/a | n/a | ❌ | +| Signing a Message with Wrapped Key | ✅ | ✅ | Capacity Credits | ❌ | +| Signing a transaction with Wrapped Key | ✅ | ✅ | Capacity Credits | ❌ | +| Custom Wrapped Keys | ✅ | ❌ | Lit Tokens and Capacity Credits | ✅ | + + ## Overview of Payment Methods ### Capacity Credits From f011a60e78c6bfd14c7e5fa6290f10f03f116825 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 9 Aug 2024 16:45:49 -0700 Subject: [PATCH 485/627] Small change --- docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md index 5a2dddf5..e7c28e31 100644 --- a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md @@ -118,7 +118,7 @@ In this example, we're granting the capability to request to decrypt any data th To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. -If you would like to use this function on the `datil` or `datil-test` networks, a `capacityDelegationAuthSig` is required. Please also keep in mind that implementing this requires owning or minting a PKP. How this is done can be found in the full code example. +If you would like to use this function on the `datil` or `datil-test` networks, a `capacityDelegationAuthSig` is required. Please also keep in mind that implementing this requires owning or minting a PKP and some form of authentication (e.g. a custom Lit Action, Auth Method, or AuthSig). How this is done can be found in the full code example. ```ts From 00fe07a3081e2ba4227335c1087d4ac58ae46dd4 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 15:00:09 -1000 Subject: [PATCH 486/627] Address feedback --- .../creating-session-signatures.md | 1 - docs/paying-for-lit/overview.md | 67 ++++++++++++------- sidebars.js | 1 - 3 files changed, 42 insertions(+), 27 deletions(-) delete mode 100644 docs/paying-for-lit/creating-session-signatures.md diff --git a/docs/paying-for-lit/creating-session-signatures.md b/docs/paying-for-lit/creating-session-signatures.md deleted file mode 100644 index 738ad41d..00000000 --- a/docs/paying-for-lit/creating-session-signatures.md +++ /dev/null @@ -1 +0,0 @@ -# Creating Session Signatures \ No newline at end of file diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index b04c5cb7..ce160164 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -2,12 +2,12 @@ Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. -In order to use the paid pre-production ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) and production ([Datil](../connecting-to-a-lit-network/mainnets#datil)) Lit networks, you must reserve capacity on the network. This is done using by minting Capacity Credits, and by making use of the Lit Relayer and/or the Payment Delegation Database. +In order to use the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) and production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) Lit networks, you will need to pay for usage of the network. This is done using Lit test tokens, Capacity Credits, the Lit Relayer, and the Payment Delegation Database. ## Overview of What Requires Payment :::note -Currently requests requiring payment of Lit tokens is done only using the `testLPX` test token. More information about the test token is available [here](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) +Currently requests requiring payment of Lit tokens is done only using the `testLPX` test token. More information about the test token is available [here](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) ::: ### General Lit Network Usage @@ -17,34 +17,51 @@ Currently requests requiring payment of Lit tokens is done only using the `test | Connecting to a Lit Network | ❌ | n/a | n/a | ❌ | | Generating Session Signatures | ❌ | n/a | n/a | ❌ | | Reading Data from Lit Contracts | ❌ | n/a | n/a | ❌ | -| Minting a PKP | ✅ | ✅ | Lit Tokens | ✅ | -| Adding/Removing PKP Auth Methods | ✅ | ✅ | Lit Tokens | ✅ | +| Lit Action Execution | ✅ | ❌ | Capacity Credits | ❌ | +| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Test Tokens | ✅ | +| Adding / Removing Payment Delegation Payees | ✅ | ✅ | Lit Test Tokens | ✅ | + +### PKP Usage + +| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | +|---------------------------------------|------------------|----------------------------------|------------------|--------------| +| Minting a PKP | ✅ | ✅ | Lit Test Tokens | ✅ | +| Adding / Removing PKP Auth Methods | ✅ | ✅ | Lit Test Tokens | ✅ | +| Signing with a PKP | ✅ | ❌ | Capacity Credits | ❌ | + +### Encrypting Data + +| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | +|---------------------------------------|------------------|----------------------------------|------------------|--------------| | Encrypting Data | ❌ | n/a | n/a | ❌ | | Decrypting Data | ✅ | ❌ | Capacity Credits | ❌ | -| Lit Action Execution | ✅ | ❌ | Capacity Credits | ❌ | -| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Tokens | ✅ | -| Payment Delegation Payees | ✅ | ✅ | Lit Tokens | ✅ | ### Wrapped Keys Usage -| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | -|----------------------------------------|------------------|----------------------------------|---------------------------------|--------------| -| Generating a Wrapped Key | ✅ | ✅ | Lit Tokens | ✅ | -| Importing Wrapped Key | ❌ | n/a | n/a | ❌ | -| Exporting Wrapped Key | ✅ | ✅ | Capacity Credits | ❌ | -| Getting Wrapped Key Metadata | ✅ | ✅ | Capacity Credits | ❌ | -| Storing Wrapped Key Metadata | ❌ | n/a | n/a | ❌ | -| Listing Wrapped Keys for a PKP | ❌ | n/a | n/a | ❌ | -| Signing a Message with Wrapped Key | ✅ | ✅ | Capacity Credits | ❌ | -| Signing a transaction with Wrapped Key | ✅ | ✅ | Capacity Credits | ❌ | -| Custom Wrapped Keys | ✅ | ❌ | Lit Tokens and Capacity Credits | ✅ | +| Request Type | Requires Payment | Can Be Subsidized by Lit Relayer | Payment Type | Requires Gas | +|----------------------------------------|------------------|----------------------------------|--------------------------------------|--------------| +| Generating a Wrapped Key | ✅ | ❌ | Lit Test Tokens | ✅ | +| Importing Wrapped Key | ❌ | n/a | n/a | ❌ | +| Exporting Wrapped Key | ✅ | ❌ | Capacity Credits | ❌ | +| Getting Wrapped Key Metadata | ✅ | ❌ | Capacity Credits | ❌ | +| Storing Wrapped Key Metadata | ❌ | n/a | n/a | ❌ | +| Listing Wrapped Keys for a PKP | ❌ | n/a | n/a | ❌ | +| Signing a Message with Wrapped Key | ✅ | ❌ | Capacity Credits | ❌ | +| Signing a transaction with Wrapped Key | ✅ | ❌ | Capacity Credits | ❌ | +| Custom Wrapped Keys | ✅ | ❌ | Lit Test Tokens and Capacity Credits | ✅ | ## Overview of Payment Methods +### Lit Test Token + +Currently the [`testLPX` test token](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) is the native currency for the Lit [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain. It's currently used to pay for the gas of on-chain transactions, as well as for minting PKPs and Capacity Credits. + +To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + ### Capacity Credits -Capacity Credits are NFT tokens that represent reserved computational capacity on the Lit network. When minting a credit, you specify and pay to reserve a specific amount of requests per second over a period of time. You'll then use these credits when making requests to the Lit network to perform actions such as decryption, executing Lit Actions, and using PKPs. +Capacity Credits are NFT tokens that represent reserved computational capacity on the Lit network. When minting a credit, you specify and pay to reserve a specific amount of requests per second over a period of time. You'll then use these credits when making requests to the Lit network to perform actions such as decryption, executing Lit Actions, and signing transactions using PKPs and Wrapped Keys. For a deep dive into Capacity Credits, including minting and usage details, checkout the in-depth [documentation](./capacity-credit-intro.md). @@ -54,7 +71,7 @@ The Lit Relayer is an [open-source service](https://github.com/LIT-Protocol/rela While the Relayer eases the onboarding process, it's important to note that its availability is not guaranteed. Users may experience rate limiting and/or congestion due to its shared nature. -As you progress with your Lit integration, we recommend implementing Capacity Credits and/or the Payment Delegation Database in your application. These solutions offer more reliable and scalable options for managing your long-term usage of the Lit network. +As your application moves into production, we recommend implementing this functionality directly into your own application instead of using the Lit Relayer. This will ensure that you can use the Lit network with minimal friction and disruptions in service, as your direct implementation will be much more reliable and scalable. For a deep dive into the Relayer, including its usage and offered services, checkout the in-depth [documentation](./lit-relayer.md). @@ -68,17 +85,17 @@ For a deep dive into the Payment Delegation Database, including how to register ### Choosing the Right Payment Method -The Lit network offers multiple payment methods to suit various use cases and application scales. Consider the following guidelines when selecting the most appropriate option for your needs: +The Lit network offers various ways to implement payment for usage of the network, suiting various use cases and application scales. Consider the following guidelines when selecting the most appropriate option for your needs: - Capacity Credits: Ideal for individual users or small-scale applications requiring direct control over their network resource allocation. This option is ideal when you don't have to manage payments for a large user base. - Lit Relayer: Best for initial testing and prototyping. It reduces onboarding friction by subsidizing some network interactions, but is subject to availability and potential rate limiting. -- Payment Delegation Database: Suitable for larger applications or those with a large user base. It allows centralized management of payments, simplifying resource allocation for numerous users. +- Payment Delegation Database: Suitable for larger applications or those with a large user base. It simplifies and centralizes the minting and delegation of Capacity Credits to your users, eliminating the need to manage individual Capacity Credits for each user. For optimal results: -- New developers may start with the Lit Relayer for easy onboarding. -- As your application grows, transition to Capacity Credits for more reliable resource allocation. -- Large-scale applications should consider the Payment Delegation Database for efficient management of multiple users. +- New developers may start with the Lit Relayer managing Capacity Credit on their behalf for easier onboarding. +- As your application grows, transition to managing Capacity Credits yourself for more reliable resource allocation. +- Large-scale applications should consider the Payment Delegation Database for managing payment on behalf of many users. ## Getting Started diff --git a/sidebars.js b/sidebars.js index e421106c..f8eb3982 100644 --- a/sidebars.js +++ b/sidebars.js @@ -138,7 +138,6 @@ const sidebars = { 'paying-for-lit/minting-capacity-credit/lit-contracts', ], }, - 'paying-for-lit/creating-session-signatures', 'paying-for-lit/delegating-credit', 'paying-for-lit/usage-examples', ], From 32ae578d799444089256d47f94f1dbb8cc082e1f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 15:07:23 -1000 Subject: [PATCH 487/627] Implement feedback --- docs/paying-for-lit/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index ce160164..e2d4d7d9 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -103,8 +103,8 @@ To begin using the paid Lit networks: 1. Assess your needs: Consider your expected usage, scale of operations, and whether you'll be managing payments for multiple users. 2. Choose a payment method: - - For testing and prototyping, start with the Lit Relayer. - - For individual or small-scale use, consider Capacity Credits. + - For testing and prototyping, start with the Lit Relayer managing Capacity Credits. + - For individual or small-scale use, consider managing Capacity Credits yourself. - For applications with many users, look into the Payment Delegation Database. 3. Set up your chosen method: - For the Lit Relayer, go [here](./lit-relayer.md) to begin integrating it into your application. From 1625db0c726aa2413bc164877a94cae33247551b Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Fri, 9 Aug 2024 16:31:57 -1000 Subject: [PATCH 488/627] WIP --- docs/paying-for-lit/capacity-credit-intro.md | 12 +- .../minting-capacity-credit/image.png | Bin 0 -> 284946 bytes .../minting-capacity-credit/lit-contracts.md | 1 - .../minting-capacity-credit/lit-explorer.md | 1 - .../minting-capacity-credit/lit-explorer.png | Bin 0 -> 279373 bytes .../minting-capacity-credit/via-contract.md | 128 ++++++++++++++++++ .../minting-capacity-credit/via-explorer.md | 27 ++++ .../minting-capacity-credit/via-relayer.md | 1 + sidebars.js | 5 +- 9 files changed, 170 insertions(+), 5 deletions(-) create mode 100644 docs/paying-for-lit/minting-capacity-credit/image.png delete mode 100644 docs/paying-for-lit/minting-capacity-credit/lit-contracts.md delete mode 100644 docs/paying-for-lit/minting-capacity-credit/lit-explorer.md create mode 100644 docs/paying-for-lit/minting-capacity-credit/lit-explorer.png create mode 100644 docs/paying-for-lit/minting-capacity-credit/via-contract.md create mode 100644 docs/paying-for-lit/minting-capacity-credit/via-explorer.md create mode 100644 docs/paying-for-lit/minting-capacity-credit/via-relayer.md diff --git a/docs/paying-for-lit/capacity-credit-intro.md b/docs/paying-for-lit/capacity-credit-intro.md index df771d9d..11b5c3d8 100644 --- a/docs/paying-for-lit/capacity-credit-intro.md +++ b/docs/paying-for-lit/capacity-credit-intro.md @@ -1,5 +1,15 @@ # Capacity Credits +Capacity Credits are how you pay for usage of the Lit network. They allow you to reserve a specific amount of capacity (i.e. requests a second) on the network over a pre-defined amount of time (e.g. one week). In order to make requests to the Lit network for things like: signing using a PKP, decrypting data, and executing a Lit Action. You'll need to provide the token ID of an active Capacity Credit along with your request. +:::info +For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). +::: -Capacity Credits are an extension of ERC-721 NFTs that reserve a specific amount of requests for you to use over a period of time. The [contract](https://github.com/LIT-Protocol/lit-assets/blob/develop/blockchain/contracts/contracts/lit-node/RateLimitNFT/RateLimitNFTFacet.sol) is deployed on the Chronicle Yellowstone rollup, and can be interacted with via the Lit Relayer, or the Chronicle Yellowstone RPC endpoint: `https://yellowstone-rpc.litprotocol.com/`. +Capacity credits are NFT tokens on the [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain, and can be minted by making a transaction directly to the NFT contract, using the Lit Relayer, or by using the Lit Explorer. You can learn more about minting Capacity Credits via a specific method by going to these pages: + +- [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) +- [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) +- [Minting via the Lit Relayer](./minting-capacity-credit/via-relayer.md) + +After minting a Capacity Credit, you'll want to learn [how to delegate usage](./delegating-credit.md) of it to either your users, or yourself via a session. diff --git a/docs/paying-for-lit/minting-capacity-credit/image.png b/docs/paying-for-lit/minting-capacity-credit/image.png new file mode 100644 index 0000000000000000000000000000000000000000..401749d608622cef218b3b0febad8172da96d78f GIT binary patch literal 284946 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

    diff --git a/docs/resources/contracts.md b/docs/resources/contracts.md index 31b00684..316c66e1 100644 --- a/docs/resources/contracts.md +++ b/docs/resources/contracts.md @@ -5,8 +5,8 @@ import TabItem from '@theme/TabItem'; # Contracts -Find the full list of the most up to date Lit smart contracts on [Lit's network repository - under datil-dev](`https://github.com/LIT-Protocol/networks/tree/main/datil-dev`). +Find the full list of the most up to date Lit smart contracts on [Lit's network repository](https://github.com/LIT-Protocol/networks/tree/main). The folders named after the Lit networks contain their respective smart contracts. -The contracts live on the [Chronicle Testnet](../network/rollup). +The contracts are live on the [Chronicle Yellowstone Testnet](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md). diff --git a/docs/sdk/migrations/3.0.0/overview.md b/docs/sdk/migrations/3.0.0/overview.md index 867db46d..d0058934 100644 --- a/docs/sdk/migrations/3.0.0/overview.md +++ b/docs/sdk/migrations/3.0.0/overview.md @@ -246,11 +246,11 @@ Currently Rate Limiting is enabled on `Datil` and `Datil-test`. In order to use 1. The [Lit Explorer](https://explorer.litprotocol.com/get-credits) or, 2. Our `contracts-sdk`. -A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../sdk/capacity-credits). +A `Capacity Credits NFT` can be very easily minted from the Lit Explorer. For minting Capacity Credits using `contracts-sdk` see [here](../../capacity-credits.md). You’ll also need some 'tstLPX' tokens for minting. These are test tokens that hold no real value and should only be used to pay for usage on `Datil` and `Datil-test`. `tstLPX` should only be claimed from the verified faucet, linked [here](https://chronicle-yellowstone-faucet.getlit.dev/). -For more information on Capacity Credits and network rate limiting see [here](../concepts/capacity-credits-concept) +For more information on Capacity Credits and network rate limiting see [here](../../../../docs/concepts/capacity-credits-concept.md) ## Troubleshooting diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md index 6c2404ef..01b88b83 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md @@ -139,6 +139,6 @@ You will also need the PKP public key in order to generate a [sessionSig](https: ## Custom Auth / Adding new Auth Methods not yet supported by Lit -More info on this is available [here](auth-methods/custom-auth). +More info on this is available [here](./custom-auth). diff --git a/docs/user-wallets/pkps/minting/via-social.md b/docs/user-wallets/pkps/minting/via-social.md index 6283ff31..a34eb628 100644 --- a/docs/user-wallets/pkps/minting/via-social.md +++ b/docs/user-wallets/pkps/minting/via-social.md @@ -181,5 +181,5 @@ async function authenticateWithStytch(method, code, methodId) { } ``` -Read more about this process [here](../auth-methods). +Read more about this process [here](../advanced-topics/auth-methods/overview.md). diff --git a/docs/user-wallets/pkps/quick-start.md b/docs/user-wallets/pkps/quick-start.md index 2f83e1b3..9055fa68 100644 --- a/docs/user-wallets/pkps/quick-start.md +++ b/docs/user-wallets/pkps/quick-start.md @@ -553,7 +553,7 @@ const result = await transaction.wait(); ### Lit Action Signing -You can use [Lit Actions](../serverless-signing/overview.md) to sign transactions. These are JavaScript programs that can be used to specify the signing and authentication logic for PKPs. +You can use [Lit Actions](../../sdk/serverless-signing/overview) to sign transactions. These are JavaScript programs that can be used to specify the signing and authentication logic for PKPs. To sign a Lit Action with your PKP, we'll use the `litNodeClient` to call the `executeJs` parameter. diff --git a/docs/user-wallets/pkps/walletconnect.md b/docs/user-wallets/pkps/walletconnect.md index e7f3ea28..9da8bdd6 100644 --- a/docs/user-wallets/pkps/walletconnect.md +++ b/docs/user-wallets/pkps/walletconnect.md @@ -61,13 +61,13 @@ const pkpClient = new PKPClient({ await pkpClient.connect(); ``` -The `getSessionSigsProps`, `controllerAuthSig` or `controllerSessionSigs` (this last one deprecated) are used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](../authentication/overview). +The `getSessionSigsProps`, `controllerAuthSig` or `controllerSessionSigs` (this last one deprecated) are used to authorize requests to the Lit nodes. To learn how to leverage different authentication methods, refer to the [Authentication section](./advanced-topics/auth-methods/overview). To view more constructor options, refer to the [API docs](https://js-sdk.litprotocol.com/interfaces/types_src.PKPClientProp.html). ## 2. Initialize `PKPWalletConnect` with the `PKPClient` -`PKPWalletConnect` wraps [`@walletconnect/web3wallet`](https://docs.walletconnect.com/2.0/web/web3wallet/wallet-usage) to manage WalletConnect session proposals and requests using the given PKPClient. +`PKPWalletConnect` wraps [`@walletconnect/web3wallet`](https://www.npmjs.com/package/@walletconnect/web3wallet) to manage WalletConnect session proposals and requests using the given PKPClient. ```js import { PKPWalletConnect } from "@lit-protocol/pkp-walletconnect"; diff --git a/docs/user-wallets/wrapped-keys/generating-wrapped-key.md b/docs/user-wallets/wrapped-keys/generating-wrapped-key.md index cd08293e..4258c28f 100644 --- a/docs/user-wallets/wrapped-keys/generating-wrapped-key.md +++ b/docs/user-wallets/wrapped-keys/generating-wrapped-key.md @@ -30,7 +30,7 @@ Below we will walk through an implementation of `generatePrivateKey`. The full c Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `generatePrivateKey`'s Interface @@ -123,7 +123,7 @@ This address, derived from the `pkpSessionSigs`, is what was used for the Access #### `generatedPublicKey` -This is the public key for the generated private key. The corresponding address, derived from the public key, can be obtained using the [getEncryptedKeyMetadata](./get-wrapped-key-metadata.md) function from the Wrapped Keys SDK. +This is the public key for the generated private key. The corresponding address, derived from the public key, can be obtained using the [getEncryptedKeyMetadata](./getting-wrapped-key-metadata) function from the Wrapped Keys SDK. #### `id` diff --git a/docs/user-wallets/wrapped-keys/importing-key.md b/docs/user-wallets/wrapped-keys/importing-key.md index 0bd7f6e4..a2991982 100644 --- a/docs/user-wallets/wrapped-keys/importing-key.md +++ b/docs/user-wallets/wrapped-keys/importing-key.md @@ -25,7 +25,7 @@ Below we will walk through an implementation of `importPrivateKey`. The full cod Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `importPrivateKey`'s Interface diff --git a/learningLab/intro-to-lit/prog-signing.md b/learningLab/intro-to-lit/prog-signing.md index cc9c9233..4f106b19 100644 --- a/learningLab/intro-to-lit/prog-signing.md +++ b/learningLab/intro-to-lit/prog-signing.md @@ -91,7 +91,7 @@ Build powerful infrastructure that harnesses the power of Lit! Example Projects: -- [Yacht Labs](https://yachtlabs.io/blog/yacht-lit-swap): Cross-chain atomic swaps with PKPs and Lit Actions +- [Yacht Labs](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/): Cross-chain atomic swaps with PKPs and Lit Actions - [Curve Labs](https://github.com/Curve-Labs/lit-privacy/tree/main): SDK for building privacy-preserving interactions on-chain **Web3 Social** diff --git a/versioned_docs/version-2.0/pkp/walletconnect.md b/versioned_docs/version-2.0/pkp/walletconnect.md index 24b13644..6297faa2 100644 --- a/versioned_docs/version-2.0/pkp/walletconnect.md +++ b/versioned_docs/version-2.0/pkp/walletconnect.md @@ -29,7 +29,7 @@ To view more constructor options, refer to the [API docs](https://js-sdk.litprot ## 2. Initialize `PKPWalletConnect` with the `PKPClient` -`PKPWalletConnect` wraps [`@walletconnect/web3wallet`](https://docs.walletconnect.com/2.0/web/web3wallet/wallet-usage) to manage WalletConnect session proposals and requests using the given PKPClient. +`PKPWalletConnect` wraps [`@walletconnect/web3wallet`](https://www.npmjs.com/package/@walletconnect/web3wallet) to manage WalletConnect session proposals and requests using the given PKPClient. ```js import { PKPWalletConnect } from '@lit-protocol/pkp-walletconnect'; diff --git a/versioned_docs/version-2.0/startHere/usecases.md b/versioned_docs/version-2.0/startHere/usecases.md index 3ff11019..7a924050 100644 --- a/versioned_docs/version-2.0/startHere/usecases.md +++ b/versioned_docs/version-2.0/startHere/usecases.md @@ -64,7 +64,7 @@ Build powerful infrastructure that harnesses the power of Lit! Example Projects: -- [Yacht Labs](https://yachtlabs.io/blog/yacht-lit-swap): Cross-chain atomic swaps with PKPs and Lit Actions +- [Yacht Labs](https://spark.litprotocol.com/xchain-bridging-yacht-lit-swap/): Cross-chain atomic swaps with PKPs and Lit Actions - More coming soon… 👀 —> [build with us](https://discord.com/invite/nm9aBG8z9w)! ### Web3 Social From a45e4dbc1332f0e74cf07b93463f18cbdc8ad812 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 16:39:05 -0700 Subject: [PATCH 501/627] More fixes --- docs/intro/what-is-lit-protocol.md | 2 +- docs/network/migration-guide.md | 2 +- docs/sdk/serverless-signing/key-claiming.md | 2 +- docs/support/faq.md | 4 ++-- .../advanced-topics/auth-methods/add-remove-auth-methods.md | 2 +- docs/user-wallets/pkps/quick-start.md | 2 +- .../user-wallets/wrapped-keys/storing-wrapped-key-metadata.md | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/intro/what-is-lit-protocol.md b/docs/intro/what-is-lit-protocol.md index e02b39cf..2761cfe0 100644 --- a/docs/intro/what-is-lit-protocol.md +++ b/docs/intro/what-is-lit-protocol.md @@ -47,7 +47,7 @@ Get started on your developer journey by diving right into the code: - [**Lit SDK**](../sdk/installation.md): The Lit JS SDK provides developers with a modular framework for implementing Lit functionality into their own applications. - [**Encryption Quick Start**](../sdk/access-control/quick-start.md): Learn how to encrypt and decrypt content using the SDK. -- [**Wallets Quick Start**](../sdk/wallets/quick-start.md): Learn how to build user wallets with the Lit SDK. +- [**Wallets Quick Start**](../user-wallets/pkps/quick-start.md): Learn how to build user wallets with the Lit SDK. - [**Compute Quick Start**](../sdk/serverless-signing/quick-start.md): Get started with Lit Actions. - [**Lit CLI**](../tools/getlit-cli.md): A command line tool that makes developing Lit Actions easy! - [**API Reference**](https://js-sdk.litprotocol.com/index.html): An overview of SDK functions and packages. diff --git a/docs/network/migration-guide.md b/docs/network/migration-guide.md index dba88e6d..9d70da4b 100644 --- a/docs/network/migration-guide.md +++ b/docs/network/migration-guide.md @@ -18,7 +18,7 @@ If you are currently in early-stage research and development, you should be usin In order to deploy to Habanero or Manzano, you’ll first need to make sure you're using the v3 or v4 SDK. If you haven’t yet upgraded to v3 or v4, you can do so following these [upgrade instructions](../sdk/migrations/3.0.0/overview.md). Once you've upgraded, the next step will be to connect to the appropriate network branch in your SDK config, either [Habanero](../network/networks/mainnet.md) or [Manzano](../network/networks/testnet.md). -Once your application is using v3 or v4, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../sdk/wallets/intro.md)) on Habanero or Manzano. +Once your application is using v3 or v4, you can follow the following migration guide to learn how to perform re-encryption (if you're using [access control](../sdk/access-control/intro.md)) or re-mint PKPs (if you're building with [user wallets](../user-wallets/overview)) on Habanero or Manzano. ## Migrating From Jalapeno diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index 6634c895..5eccf533 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem'; ## Overview -Lit Actions have their own support for [claiming](../wallets/claimable-keys/intro.md). Instead of using an [auth method](../wallets/auth-methods) use your own `userId` with the Lit Action's `IPFS CID` to create an `appId`. This allows for deriving custom claims without the need for an authentication method. +Lit Actions have their own support for [claiming](../../user-wallets/pkps/claimable-keys/). Instead of using an [auth method](../../user-wallets/pkps/advanced-topics/auth-methods/overview) use your own `userId` with the Lit Action's `IPFS CID` to create an `appId`. This allows for deriving custom claims without the need for an authentication method. # How it works Instead of pre-authenticating the `access token` within an `Authentication Method`, claiming in a Lit Action allows you to define your own `userId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. This doesn't require a pre-authentication step which allows you to set up your own claims to then be routed on-chain with our `contract-sdk`. diff --git a/docs/support/faq.md b/docs/support/faq.md index 2b18b3d1..0952eabd 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -110,7 +110,7 @@ No, currently Web Assembly is not supported within Lit Actions. ### 12. I am getting the following error when connecting to the Lit nodes: "Error: Unable to verify the first certificate in nodejs". What may be causing this? -If you're facing this error while using Node.js, please first verify that you don't have unnecessary firewalls on your network that are preventing you from connecting to the Lit network properly. This is typically caused by some kind of man in the middle in your network, which could be something on your machine or something your ISP is doing. You could try a VPN or software solution such as https://1.1.1.1/ to remove this man in the middle. +If you're facing this error while using Node.js, please first verify that you don't have unnecessary firewalls on your network that are preventing you from connecting to the Lit network properly. This is typically caused by some kind of man in the middle in your network, which could be something on your machine or something your ISP is doing. You could try a VPN or software solution such as [https://1.1.1.1/](https://one.one.one.one/) to remove this man in the middle.
    @@ -144,7 +144,7 @@ Check out an example [here](../sdk/access-control/evm/timelock). You can use the `PKPPermission.addPermittedAddress()` function to give other users permission to sign using your PKP. Any Lit Actions assigned to that PKP can then be executed by those users. -To configure other permissions, please use the contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol). +To configure other permissions, please use the contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPPermissions.sol). ### 2. How to allow permitted users to execute only specific Lit Actions? diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md index c3bdcb35..c83afdd5 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md @@ -84,7 +84,7 @@ To view more constructor options for `LitContracts`, check out the [API docs](ht To add an auth method, you must pass an `authMethod` object, which should have the following properties: -- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../auth-methods). +- `authMethodType`: A number representing the type of auth method you want to add. Refer to the supported auth methods table [here](../../advanced-topics/auth-methods/overview.md). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method - `userPubkey`: Public key of a WebAuthn credential (only required when using WebAuthn as an auth method) diff --git a/docs/user-wallets/pkps/quick-start.md b/docs/user-wallets/pkps/quick-start.md index 9055fa68..cb266969 100644 --- a/docs/user-wallets/pkps/quick-start.md +++ b/docs/user-wallets/pkps/quick-start.md @@ -106,7 +106,7 @@ yarn add @lit-protocol/lit-auth-client ### Set up a controller wallet -To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. +To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter [here](../pkps/advanced-topics/auth-methods/add-remove-auth-methods.md)). Here, we're going to use a standard Ethereum wallet. :::warning You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. diff --git a/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md b/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md index 5ca91aa9..5ba075ba 100644 --- a/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md +++ b/docs/user-wallets/wrapped-keys/storing-wrapped-key-metadata.md @@ -25,7 +25,7 @@ The [StoreEncryptedKeyParams](https://v6-api-doc-lit-js-sdk.vercel.app/types/wra Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview.md) - [Session Signatures](../../sdk/authentication/session-sigs/intro) - [Encrypting using the Lit SDK](../../sdk/access-control/quick-start#performing-encryption) From 9265c5f07922a233081b66fbd51b365202c9d404 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 17:04:13 -0700 Subject: [PATCH 502/627] More fixes --- docs/sdk/serverless-signing/quick-start.md | 4 ++-- docs/support/faq.md | 4 ++-- docs/tools/getlit-cli.md | 4 ++-- .../advanced-topics/auth-methods/add-remove-auth-methods.md | 2 +- .../pkps/advanced-topics/auth-methods/overview.md | 2 +- docs/user-wallets/pkps/minting/via-contracts.md | 2 +- docs/user-wallets/pkps/quick-start.md | 4 ++-- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 643a4e04..c8540ba5 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -108,7 +108,7 @@ yarn add @lit-protocol/auth-helpers ### Set up a controller wallet -To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods/lit-auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. +To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](../pkps/advanced-topics/auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. :::warning You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. @@ -350,7 +350,7 @@ Additional Demos: 1. **[Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs)** 2. **[Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs)** -3. **[Minting a PKP using social login](https://developer.litprotocol.com/v3/sdk/wallets/minting-methods/mint-via-social)** +3. **[Minting a PKP using social login](../../user-wallets/pkps/minting/via-social.md)** ## Mint Capacity Credits and Delegate Usage diff --git a/docs/support/faq.md b/docs/support/faq.md index 0952eabd..a33c4ff9 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -42,9 +42,9 @@ With a custodial wallet, there is no need to store the signature. The reason it' ### 1. What is the difference between authorization and authentication? -Authentication refers to the specific credential(s) (i.e a wallet address, Google oAuth, or Discord account) that get programmatically "assigned" to a PKP and have the ability to control the underlying key-pair. Read more about authentication here: https://developer.litprotocol.com/v3/sdk/wallets/auth-methods. +Authentication refers to the specific credential(s) (i.e a wallet address, Google oAuth, or Discord account) that get programmatically "assigned" to a PKP and have the ability to control the underlying key-pair. Read more about authentication [here](../user-wallets/pkps/advanced-topics/auth-methods/overview). -Authorization refers to the use of an auth signature, which is always required when making a request to the Lit Network, whether it be decrypting some piece of content or sending a transaction with a PKP. You can read more about auth sigs here: https://developer.litprotocol.com/v3/sdk/authentication/overview. +Authorization refers to the use of an auth signature, which is always required when making a request to the Lit Network, whether it be decrypting some piece of content or sending a transaction with a PKP. You can read more about auth sigs [here](../../docs/sdk/authentication/overview). ### 2. Is it possible to define an access control condition that requires a signature generated by a Lit Action? diff --git a/docs/tools/getlit-cli.md b/docs/tools/getlit-cli.md index 5a438a00..83281e06 100644 --- a/docs/tools/getlit-cli.md +++ b/docs/tools/getlit-cli.md @@ -117,7 +117,7 @@ A new Lit Action called `newAction` and the test are automatically created in th ### `getlit setup` -Recall that in order to build a Lit project, an [AuthSig](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig) and a [PKP](https://developer.litprotocol.com/v3/sdk/wallets/intro) are needed. `setup` command is used to mint the PKP and create the AuthSig. +Recall that in order to build a Lit project, an [AuthSig](https://developer.litprotocol.com/v3/sdk/authentication/auth-sig) and a [PKP](../user-wallets/pkps/overview) are needed. `setup` command is used to mint the PKP and create the AuthSig. ```bash getlit setup @@ -165,7 +165,7 @@ getlit search --get --format --publicKey --authMethodId --userId --appId ### `getlit derive-pkp` -Lit Protocol supports [derived keys](https://developer.litprotocol.com/v3/sdk/wallets/claimable-keys/intro/). Users are able to claim the key from the authentication method identifier: +Lit Protocol supports [derived keys](../user-wallets/pkps/claimable-keys/intro). Users are able to claim the key from the authentication method identifier: ```bash getlit derive-pkp --userId --projectId --format diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md index c83afdd5..baf0c331 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md @@ -105,7 +105,7 @@ const authMethodId = utils.keccak256( ## Add an Auth Method -Auth methods can be modified by interacting with the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol). To add an auth method, call the `addPermittedAuthMethod` function on the `PKPPermissions` contract. +Auth methods can be modified by interacting with the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPPermissions.sol). To add an auth method, call the `addPermittedAuthMethod` function on the `PKPPermissions` contract. ```js const transaction = diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md index 01b88b83..c4bd2694 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md @@ -127,7 +127,7 @@ You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNod ### Sending the PKP to itself -Sending a PKP to itself is possible, because the PKP is an NFT and also a wallet. This is useful if you want to make sure that only the PKP itself can change it's auth methods. You can use our handy auth helper contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPHelper.sol) and use that contract there is a parameter called `sendPkpToItself` in the `mintNextAndAddAuthMethods` function that you can set to true to send the PKP to itself. +Sending a PKP to itself is possible, because the PKP is an NFT and also a wallet. This is useful if you want to make sure that only the PKP itself can change it's auth methods. You can use our handy auth helper contract [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPHelper.sol) and use that contract there is a parameter called `sendPkpToItself` in the `mintNextAndAddAuthMethods` function that you can set to true to send the PKP to itself. ### Obtaining the PKP Public Key diff --git a/docs/user-wallets/pkps/minting/via-contracts.md b/docs/user-wallets/pkps/minting/via-contracts.md index bb1f506b..13a706bb 100644 --- a/docs/user-wallets/pkps/minting/via-contracts.md +++ b/docs/user-wallets/pkps/minting/via-contracts.md @@ -5,7 +5,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; You can mint a PKP NFT from the PKP contract on Chronicle Yellowstone - Lit's custom EVM rollup testnet - using: 1. The [Lit explorer](https://explorer.litprotocol.com) 2. The Lit relayer (sign up for an API key [here](https://forms.gle/RNZYtGYTY9BcD9MEA)) -3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/datil)). +3. The contracts directly using the [contracts-sdk](https://js-sdk.litprotocol.com/modules/contracts_sdk_src.html) ([Here](https://chain.litprotocol.com/address/0xDe905Fde36562270AA6FEeBAbC5aB1f440f733c2) is the handy helper contract on Chronicle Yellowstone to mint and assign auth methods. You can view all of the deployed contract addresses [here](https://github.com/LIT-Protocol/networks/tree/main/)). The NFT represents root ownership of the PKP. The NFT owner can grant other users (via a wallet address) or grant Lit Actions the ability to use the PKP to sign and decrypt data. They also have the ability to assign additional authentication methods, described at the bottom of the page. diff --git a/docs/user-wallets/pkps/quick-start.md b/docs/user-wallets/pkps/quick-start.md index cb266969..28ae79c3 100644 --- a/docs/user-wallets/pkps/quick-start.md +++ b/docs/user-wallets/pkps/quick-start.md @@ -106,7 +106,7 @@ yarn add @lit-protocol/lit-auth-client ### Set up a controller wallet -To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter [here](../pkps/advanced-topics/auth-methods/add-remove-auth-methods.md)). Here, we're going to use a standard Ethereum wallet. +To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter [here](../pkps/advanced-topics/auth-methods/add-remove-auth-methods)). Here, we're going to use a standard Ethereum wallet. :::warning You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. @@ -348,7 +348,7 @@ Additional Demos: 1. **[Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs)** 2. **[Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs)** -3. **[Minting a PKP using social login](https://developer.litprotocol.com/v3/sdk/wallets/minting-methods/mint-via-social)** +3. **[Minting a PKP using social login](../../user-wallets/pkps/minting/via-social.md)** ## Mint Capacity Credits and Delegate Usage From 9744e6dea5ff531f52dcb2cd1593b34e27682366 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 17:27:14 -0700 Subject: [PATCH 503/627] More fixes --- docs/concepts/capacity-credits-concept.md | 2 +- docs/sdk/migrations/6.0.0.md | 2 +- docs/sdk/serverless-signing/key-claiming.md | 2 +- docs/sdk/serverless-signing/quick-start.md | 2 +- .../advanced-topics/auth-methods/add-remove-auth-methods.md | 2 +- docs/user-wallets/wrapped-keys/sign-transaction.md | 2 +- src/components/CardSectionsV3/CoreConcepts.jsx | 6 +++--- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/concepts/capacity-credits-concept.md b/docs/concepts/capacity-credits-concept.md index 7775f4c0..3c0ea97c 100644 --- a/docs/concepts/capacity-credits-concept.md +++ b/docs/concepts/capacity-credits-concept.md @@ -40,7 +40,7 @@ Alice can create a session capability object that specifies the ability to Authe Alice can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credits NFT, specifying the Lit Action IPFS CID in the `resourceAbilityRequests` field. -Lit employs `SessionSig` as a secure method for session management, utilizing ed25519 keypairs created randomly in the browser and stored locally. To generate a `SessionSig`, a user first needs to acquire an [AuthSig](../sdk/authentication/auth-sig.md) via an [authentication method](../sdk/wallets/auth-methods) like Google OAuth. This `AuthSig`, incorporating the session keypair's public key, allows users to delegate specific actions to the session keypair, enhancing security and control over [resource](../sdk/authentication/session-sigs/resources-and-abilities.md) access. The session keypair signs all requests to Lit Nodes, with the `AuthSig` attached as a [capability](../sdk/authentication/session-sigs/capability-objects.md) to ensure that each node can verify the user's ownership of the wallet address. This process not only secures session management but also streamlines user interactions with the Lit Network's resources. +Lit employs `SessionSig` as a secure method for session management, utilizing ed25519 keypairs created randomly in the browser and stored locally. To generate a `SessionSig`, a user first needs to acquire an [AuthSig](../sdk/authentication/auth-sig.md) via an [authentication method](../user-wallets/pkps/advanced-topics/auth-methods/overview) like Google OAuth. This `AuthSig`, incorporating the session keypair's public key, allows users to delegate specific actions to the session keypair, enhancing security and control over [resource](../sdk/authentication/session-sigs/resources-and-abilities.md) access. The session keypair signs all requests to Lit Nodes, with the `AuthSig` attached as a [capability](../sdk/authentication/session-sigs/capability-objects.md) to ensure that each node can verify the user's ownership of the wallet address. This process not only secures session management but also streamlines user interactions with the Lit Network's resources. You can read more about Session Signatures [here](../sdk/authentication/session-sigs/intro.md). diff --git a/docs/sdk/migrations/6.0.0.md b/docs/sdk/migrations/6.0.0.md index 81e7785a..adbd2d1d 100644 --- a/docs/sdk/migrations/6.0.0.md +++ b/docs/sdk/migrations/6.0.0.md @@ -15,7 +15,7 @@ The most significant change in v6 is the combination of `authSig` and `sessionSi :::note The migration from `authSig` to `sessionSigs` will not effect `encryption`/`decryption` features within [`Access Control Conditions`](./../access-control/intro.md) -Only features related to our [PKPs](./../wallets/intro.md) will be requiring session authentication. +Only features related to our [PKPs](../../user-wallets/pkps/overview) will be requiring session authentication. ::: ### Per-Package Changes diff --git a/docs/sdk/serverless-signing/key-claiming.md b/docs/sdk/serverless-signing/key-claiming.md index 5eccf533..d9723d2c 100644 --- a/docs/sdk/serverless-signing/key-claiming.md +++ b/docs/sdk/serverless-signing/key-claiming.md @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem'; ## Overview -Lit Actions have their own support for [claiming](../../user-wallets/pkps/claimable-keys/). Instead of using an [auth method](../../user-wallets/pkps/advanced-topics/auth-methods/overview) use your own `userId` with the Lit Action's `IPFS CID` to create an `appId`. This allows for deriving custom claims without the need for an authentication method. +Lit Actions have their own support for [claiming](../../user-wallets/pkps/claimable-keys/intro). Instead of using an [auth method](../../user-wallets/pkps/advanced-topics/auth-methods/overview) use your own `userId` with the Lit Action's `IPFS CID` to create an `appId`. This allows for deriving custom claims without the need for an authentication method. # How it works Instead of pre-authenticating the `access token` within an `Authentication Method`, claiming in a Lit Action allows you to define your own `userId` and use the Actions `IPFS CID` to form the `key identifier` through your own user identifier. This doesn't require a pre-authentication step which allows you to set up your own claims to then be routed on-chain with our `contract-sdk`. diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index c8540ba5..7438b081 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -108,7 +108,7 @@ yarn add @lit-protocol/auth-helpers ### Set up a controller wallet -To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter **[here](../pkps/advanced-topics/auth-methods/add-remove-auth-methods)**). Here, we're going to use a standard Ethereum wallet. +To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter [here](../../user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods)). Here, we're going to use a standard Ethereum wallet. :::warning You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md index baf0c331..5fda5c89 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods.md @@ -145,7 +145,7 @@ const transaction = The `removePermittedAuthMethod` function takes the following arguments: - `tokenId`: The token ID of the PKP you want to remove an auth method from -- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](../../auth-methods#existing-supported-auth-methods). +- `authMethodType`: A number representing the type of auth method you want to remove. Refer to the supported auth methods table [here](./overview.md). - `id`: Bytes that represent a hash of a string that uniquely identifies the auth method you want to remove - `overrides`: An optional object that allows you to customize [certain parameters](https://docs.ethers.org/v5/api/contract/contract/#contract-functionsSend) of the transaction (e.g, `gasPrice`, `gasLimit`) diff --git a/docs/user-wallets/wrapped-keys/sign-transaction.md b/docs/user-wallets/wrapped-keys/sign-transaction.md index 7d9cefaf..dc092803 100644 --- a/docs/user-wallets/wrapped-keys/sign-transaction.md +++ b/docs/user-wallets/wrapped-keys/sign-transaction.md @@ -26,7 +26,7 @@ Below we will walk through an implementation of `signTransactionWithEncryptedKey Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `signTransactionWithEncryptedKey`'s Interface diff --git a/src/components/CardSectionsV3/CoreConcepts.jsx b/src/components/CardSectionsV3/CoreConcepts.jsx index cf6b1088..736b45e5 100644 --- a/src/components/CardSectionsV3/CoreConcepts.jsx +++ b/src/components/CardSectionsV3/CoreConcepts.jsx @@ -10,17 +10,17 @@ export default function CoreConceptsSection({ title, className }) { ); From c75129da1cbc5ad84058eff5fb358e0f9648c67d Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 17:41:54 -0700 Subject: [PATCH 504/627] Whack-a-mole --- docs/integrations/aa/alchemy-account-kit.md | 4 ++-- docs/resources/how-it-works.md | 2 +- docs/user-wallets/pkps/minting/via-contracts.md | 2 +- docs/user-wallets/pkps/quick-start.md | 2 +- docs/user-wallets/wrapped-keys/exporting-wrapped-key.md | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index 9392f5ac..dcad4d74 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem'; # Alchemy Account Kit -Learn how Lit [Programmable Key Pairs](../../sdk/wallets/intro.md) can be a signer for Alchemy's Account Kit! +Learn how Lit [Programmable Key Pairs](../../user-wallets/pkps/overview.md) can be a signer for Alchemy's Account Kit! --- @@ -140,7 +140,7 @@ Get some tstLPX test tokens from Lit's [Chronicle Yellowstone network](https://c To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). -To define an Auth Method [read about Lit's authentication methods](../../sdk/wallets/auth-methods). +To define an Auth Method [read about Lit's authentication methods](../../user-wallets/pkps/advanced-topics/auth-methods/overview.md). For Authentication diff --git a/docs/resources/how-it-works.md b/docs/resources/how-it-works.md index aa9084eb..c76a7081 100644 --- a/docs/resources/how-it-works.md +++ b/docs/resources/how-it-works.md @@ -98,7 +98,7 @@ If you're a developer building on Lit, test tokens can be claimed from the [veri Learn more about how Lit Protocol works by checking out the resources below: -- About [user wallets](../sdk/wallets/intro). +- About [user wallets](../user-wallets/overview.md). - About [encryption and access control](../sdk/access-control/intro). - About [decentralized compute](../sdk/serverless-signing/overview). diff --git a/docs/user-wallets/pkps/minting/via-contracts.md b/docs/user-wallets/pkps/minting/via-contracts.md index 13a706bb..06dfec31 100644 --- a/docs/user-wallets/pkps/minting/via-contracts.md +++ b/docs/user-wallets/pkps/minting/via-contracts.md @@ -28,7 +28,7 @@ await contractClient.connect(); ## Minting a PKP and adding permitted scopes Permitted scopes are a crucial part of defining the capabilities of authentication methods. They determine what actions an authentication method can perform within the system. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. -You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes [here](../auth-methods/#auth-method-scopes). +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes [here](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.MintWithAuthParams.html#scopes). The following code block demonstrates how to mint a PKP with specific permitted scopes: diff --git a/docs/user-wallets/pkps/quick-start.md b/docs/user-wallets/pkps/quick-start.md index 28ae79c3..edbf1e63 100644 --- a/docs/user-wallets/pkps/quick-start.md +++ b/docs/user-wallets/pkps/quick-start.md @@ -291,7 +291,7 @@ Now that we have installed all of the required packages and authenticated with t Permitted scopes are a crucial part of defining the capabilities of each authentication method you use. They determine what actions a given authentication method can perform with the PKP. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. -You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods#auth-method-scopes)**. +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes [here](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.MintWithAuthParams.html#scopes). The following code block demonstrates how to mint a PKP with specific permitted scopes: diff --git a/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md index 6d1582d6..3555d08a 100644 --- a/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md +++ b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md @@ -20,7 +20,7 @@ Below we will walk through an implementation of `exportPrivateKey`. The full cod Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `exportPrivateKey`'s Interface From 80462d673a512c8a57e1763ce2aaf4f2462950ad Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 18:04:10 -0700 Subject: [PATCH 505/627] Whack-a-mole --- docs/integrations/aa/alchemy-account-kit.md | 6 +++--- docs/support/faq.md | 2 +- .../pkps/advanced-topics/auth-methods/overview.md | 2 +- docs/user-wallets/pkps/minting/via-multiple-auth-methods.md | 2 +- docs/user-wallets/wrapped-keys/exporting-wrapped-key.md | 2 +- .../wrapped-keys/getting-wrapped-key-metadata.md | 2 +- docs/user-wallets/wrapped-keys/sign-message.md | 2 +- learningLab/intro-to-lit/prog-signing.md | 4 ++-- src/components/CardSectionsV3/LearnCode.jsx | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/integrations/aa/alchemy-account-kit.md b/docs/integrations/aa/alchemy-account-kit.md index dcad4d74..75e84fec 100644 --- a/docs/integrations/aa/alchemy-account-kit.md +++ b/docs/integrations/aa/alchemy-account-kit.md @@ -138,9 +138,9 @@ yarn add @alchemy/aa-signers Get some tstLPX test tokens from Lit's [Chronicle Yellowstone network](https://chronicle-yellowstone-faucet.getlit.dev/). -To obtain a PKP, [read more within the Lit docs](../../sdk/wallets/intro.md). +To obtain a PKP, [read more within the Lit docs](../../user-wallets/pkps/quick-start). -To define an Auth Method [read about Lit's authentication methods](../../user-wallets/pkps/advanced-topics/auth-methods/overview.md). +To define an Auth Method [read about Lit's authentication methods](../../user-wallets/pkps/advanced-topics/auth-methods/overview). For Authentication @@ -202,7 +202,7 @@ const provider = new AlchemyProvider({ ### 5. Authenticating with the Lit Signer Before the `AlchemyProvider` can use the `LitSigner` we must `authenticate` -To provide authentication `context` [read about Lit's authentication methods](../../sdk/wallets/auth-methods). +To provide authentication `context` [read about Lit's authentication methods](../../user-wallets/pkps/advanced-topics/auth-methods/overview). ```js litSigner.authenticate({ diff --git a/docs/support/faq.md b/docs/support/faq.md index a33c4ff9..9fff4a33 100644 --- a/docs/support/faq.md +++ b/docs/support/faq.md @@ -148,7 +148,7 @@ To configure other permissions, please use the contract [here](https://github.co ### 2. How to allow permitted users to execute only specific Lit Actions? -You can start by assigning the PKP to itself as we don't want the PKP owner to arbitrarily change the Lit Action. Check out the docs on doing so here: https://developer.litprotocol.com/v3/sdk/wallets/auth-methods#sending-the-pkp-to-itself. You can also use the PKPHelper.`mintNextAndAddAuthMethods()` function to do this by passing in a specific IPFS CIDs with permission to execute. +You can start by assigning the PKP to itself as we don't want the PKP owner to arbitrarily change the Lit Action. Check out the docs on doing so [here](../user-wallets/pkps/advanced-topics/auth-methods/overview#sending-the-pkp-to-itself). You can also use the PKPHelper.`mintNextAndAddAuthMethods()` function to do this by passing in a specific IPFS CIDs with permission to execute. Note that now anyone call your Lit Action, so how should one add a permitted list of users? We can store the permitted list of users, either on-chain or in the Lit Action itself and, fetch it from there. If you decide to put the access list in the Lit Action itself, you can use `conditional-signing` to check whether the provided AuthSig is permitted to execute the Lit Action. Learn more [here](../sdk/serverless-signing/conditional-signing.md). diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md index c4bd2694..a9f83fa7 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md @@ -17,7 +17,7 @@ Right now, there are two main ways to do auth with Lit Actions. We will dive int ## Using Lit Auth Directly -Several auth methods are supported by Lit directly. These include methods configured using the [PKPPermissions](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol) contract, the user holding the PKP NFT, or assigned via a Lit Action with permission to sign using the PKP. If you use Lit auth directly, you are limited to the auth methods that we support. We provide an easy to use SDK to help you add auth methods to a PKP. You can find the SDK [here](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-auth-client). +Several auth methods are supported by Lit directly. These include methods configured using the [PKPPermissions](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPPermissions.sol) contract, the user holding the PKP NFT, or assigned via a Lit Action with permission to sign using the PKP. If you use Lit auth directly, you are limited to the auth methods that we support. We provide an easy to use SDK to help you add auth methods to a PKP. You can find the SDK [here](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/lit-auth-client). ### Existing supported auth methods diff --git a/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md b/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md index 69e64839..0293c711 100644 --- a/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md +++ b/docs/user-wallets/pkps/minting/via-multiple-auth-methods.md @@ -1,7 +1,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Mint via multiple Auth Methods -You can also mint a PKP using [multiple Auth Methods](../auth-methods#existing-supported-auth-methods) (i.e. Multi-Factor Authentication). This can be done in two different ways: +You can also mint a PKP using [multiple Auth Methods](../advanced-topics/auth-methods/overview.md) (i.e. Multi-Factor Authentication). This can be done in two different ways: 1. [Using `LitAuthClient`](#using-litauthclient) 2. [Using `ContractsSDK`](#using-contractssdk) diff --git a/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md index 3555d08a..1cb4af7c 100644 --- a/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md +++ b/docs/user-wallets/wrapped-keys/exporting-wrapped-key.md @@ -20,7 +20,7 @@ Below we will walk through an implementation of `exportPrivateKey`. The full cod Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `exportPrivateKey`'s Interface diff --git a/docs/user-wallets/wrapped-keys/getting-wrapped-key-metadata.md b/docs/user-wallets/wrapped-keys/getting-wrapped-key-metadata.md index 90f984b6..8f3929e9 100644 --- a/docs/user-wallets/wrapped-keys/getting-wrapped-key-metadata.md +++ b/docs/user-wallets/wrapped-keys/getting-wrapped-key-metadata.md @@ -18,7 +18,7 @@ Below we will walk through an implementation of `getEncryptedKey`. The full code Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `getEncryptedKey`'s Interface diff --git a/docs/user-wallets/wrapped-keys/sign-message.md b/docs/user-wallets/wrapped-keys/sign-message.md index 90429cc2..8071e784 100644 --- a/docs/user-wallets/wrapped-keys/sign-message.md +++ b/docs/user-wallets/wrapped-keys/sign-message.md @@ -24,7 +24,7 @@ Below we will walk through an implementation of `signMessageWithEncryptedKey`. T Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `signMessageWithEncryptedKey`'s Interface diff --git a/learningLab/intro-to-lit/prog-signing.md b/learningLab/intro-to-lit/prog-signing.md index 4f106b19..337a2a8d 100644 --- a/learningLab/intro-to-lit/prog-signing.md +++ b/learningLab/intro-to-lit/prog-signing.md @@ -30,7 +30,7 @@ Each Programmable Key Pair (PKP) is a versatile multi-party computation wallet t **Features** 1. [Blockchain Agnostic](../../v3/resources/supported-chains): PKPs can be used to sign transactions on any blockchains or state machines using [ECDSA](https://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet/) for digital signatures. Currently, the [SDK](https://github.com/LIT-Protocol/js-sdk/tree/master/packages/pkp-client) provides easy-to-use methods for creating wallets on EVM and Cosmos based chains. -2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../v3/sdk/wallets/intro), handling authentication, or generating conditional proofs. +2. Programmable: Lit Actions contain the application logic that each PKP should follow. This is useful for defining [signing automations](../../docs/user-wallets/pkps/overview), handling authentication, or generating conditional proofs. 3. Fault-tolerant: Each PKP is generated collectively by the Lit nodes through a process called [Distributed Key Generation](https://en.wikipedia.org/wiki/Distributed_key_generation) (DKG). As a network, this allows Lit to generate a new key-pair where the private key never exists in its entirety. 4. Interoperable: Use [WalletConnect](https://github.com/LIT-Protocol/pkp-walletconnect) to connect PKPs to your favorite dApps, just like any other EOA wallet. @@ -119,6 +119,6 @@ Improve the state of [web3 gaming](https://spark.litprotocol.com/lit-and-web3-g ## Learn More -Read the Lit developer docs on [programmatic signing](https://developer.litprotocol.com/v3/sdk/wallets/intro). +Read the Lit developer docs on how [PKPs](../../docs/user-wallets/pkps/overview) to enable programmatic signing. In order to utilize the Lit functions for PKPs and Lit Actions, you'll need the [Lit JS SDK](https://github.com/LIT-Protocol/js-sdk). diff --git a/src/components/CardSectionsV3/LearnCode.jsx b/src/components/CardSectionsV3/LearnCode.jsx index 79c990ad..86ac696b 100644 --- a/src/components/CardSectionsV3/LearnCode.jsx +++ b/src/components/CardSectionsV3/LearnCode.jsx @@ -25,7 +25,7 @@ export default function LearnCodeSection({ title, className }) { Date: Mon, 12 Aug 2024 18:20:41 -0700 Subject: [PATCH 506/627] More fixes --- docs/integrations/storage/irys.md | 4 ++-- docs/sdk/serverless-signing/quick-start.md | 2 +- .../pkps/advanced-topics/auth-methods/overview.md | 2 +- versioned_docs/version-2.0/pkp/authHelpers/overview.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index 50b143a0..ddce0c02 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -147,7 +147,7 @@ async function encryptData(dataToEncrypt) { ## Storing on Arweave via Irys -To use Irys to store data on Arweave, first connect to an [Irys node](https://docs.irys.xyz/overview/nodes). This function uses the same private key from our `.env` file and connects to the Irys Devnet where uploads are stored for 60 days. In a production environment, you would change this to use Irys' [Node 1 or 2](https://docs.irys.xyz/overview/nodes) where uploads are permanent. +To use Irys to store data on Arweave, first connect to an [Irys node](https://arweave-tools.irys.xyz/irys-sdk/irys-in-the-browser#connecting-to-a-node). This function uses the same private key from our `.env` file and connects to the Irys Devnet where uploads are stored for 60 days. In a production environment, you would change this to use Irys' [Node 1 or 2](https://arweave-tools.irys.xyz/irys-sdk/irys-in-the-browser#connecting-to-a-node) where uploads are permanent. :::info This code is configured to MATIC to pay for uploads, and while working with the Irys Devnet, you need to fund your @@ -173,7 +173,7 @@ async function getIrys() { Then write a function that takes the encrypted data, the original data hash, the access control conditions, and stores it all on Arweave using Irys. -Irys' upload function returns [a signed receipt](https://docs.irys.xyz/learn/receipts) containing the exact time (in milliseconds) of the upload and also a transaction ID, which can then be used to [download the data from a gateway](https://docs.irys.xyz/developer-docs/downloading). +Irys' upload function returns [a signed receipt](https://arweave-tools.irys.xyz/overview/receipts) containing the exact time (in milliseconds) of the upload and also a transaction ID, which can then be used to [download the data from a gateway](https://arweave-tools.irys.xyz/overview/downloading). :::info For simplicity, we'll consolidate all three values into a JSON object and upload it to Irys in one transaction. This diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 7438b081..fb0522dd 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -293,7 +293,7 @@ Now that we have installed all of the required packages and authenticated with t Permitted scopes are a crucial part of defining the capabilities of each authentication method you use. They determine what actions a given authentication method can perform with the PKP. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. -You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes **[here](https://developer.litprotocol.com/v3/sdk/wallets/auth-methods#auth-method-scopes)**. +You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes [here](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.MintWithAuthParams.html#scopes). The following code block demonstrates how to mint a PKP with specific permitted scopes: diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md index a9f83fa7..731dd76e 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/overview.md @@ -123,7 +123,7 @@ await setScopeTx.wait(); ### Adding a Permitted Address -You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. +You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPPermissions.sol) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. ### Sending the PKP to itself diff --git a/versioned_docs/version-2.0/pkp/authHelpers/overview.md b/versioned_docs/version-2.0/pkp/authHelpers/overview.md index e8183630..601d9d88 100644 --- a/versioned_docs/version-2.0/pkp/authHelpers/overview.md +++ b/versioned_docs/version-2.0/pkp/authHelpers/overview.md @@ -32,7 +32,7 @@ Check out the implementation details within the SDK section [here](../../sdk/exp ### Adding a Permitted Address -You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L418) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. +You can use the [PKPPermissions contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPPermissions.sol) to add additional permitted auth methods and addresses to your PKP. Note that any permitted users will be able to execute transactions, authorized Lit Actions, and additional functionality associated with that PKP. ### Sending the PKP to itself From bd3cb68d08cfa958f3b8ec9e4dc8bab6c660645f Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 12 Aug 2024 18:29:51 -0700 Subject: [PATCH 507/627] Last changes? --- docs/concepts/programmable-signing-concept.md | 2 +- .../pkps/advanced-topics/auth-methods/custom-auth.md | 2 +- docs/user-wallets/wrapped-keys/listing-wrapped-keys.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/concepts/programmable-signing-concept.md b/docs/concepts/programmable-signing-concept.md index 6174ac8c..62e12b62 100644 --- a/docs/concepts/programmable-signing-concept.md +++ b/docs/concepts/programmable-signing-concept.md @@ -15,7 +15,7 @@ With the Lit network, you can generate decentralized key pairs for signing and e 1. [Blockchain Agnostic](../resources/supported-chains#programmable-key-pairs): Define signing automations on any blockchain or state machine that is supported by Lit. Currently, the Lit [SDK](../sdk/installation) provides easy-to-use methods for creating wallets and signing transactions on EVM and Cosmos-based chains. -2. Programmable: Program signing based on pre-defined conditions, referred to as [conditional signatures](../sdk/serverless-signing/conditional-signing.md) in the docs. This is useful for creating [DeFi automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../sdk/wallets/auth-methods) logic, and generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. +2. Programmable: Program signing based on pre-defined conditions, referred to as [conditional signatures](../sdk/serverless-signing/conditional-signing.md) in the docs. This is useful for creating [DeFi automations](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/), handling [authentication](../user-wallets/pkps/advanced-topics/auth-methods/overview) logic, and generating [proofs](https://spark.litprotocol.com/authenticity-matters/) over off-chain data. To get started building with these tools right away, check out the [Lit Actions](../sdk/serverless-signing/overview) page. Otherwise, keep reading to get a better understanding of how serverless signing works and potential ways to implement in the real world. diff --git a/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md index ee3bf234..ba2d946d 100644 --- a/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md +++ b/docs/user-wallets/pkps/advanced-topics/auth-methods/custom-auth.md @@ -111,7 +111,7 @@ Inside your Lit Action, you need to confirm that your user has permissions to us If you decide to use your own auth, you can still use the PKPPermissions contract to define your method(s) of choice, or deploy your own access control contract. You could also use any centralized database or other blockchain as the "database" to store the permissions for the PKP. Your permissions database must be accessible via fetch() or must live on-chain in one of the chains supported by Lit. -If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/PKPPermissions.sol#L25). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://actions-docs.litprotocol.com/#getpermittedauthmethods). +If you use the deployed Lit PKPPermissions contract, then it is important to pick a unique authMethodType that isn't used by anyone else, ever. Since it can be a uint256, you should do something like `sha256("some unique or random string")` to pick a unique authMethodType number. You can find the current methods being used [here](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PKPPermissions.sol). If this is the route you choose, you could check the PKPPermissions contract in your Lit Action using [this function](https://actions-docs.litprotocol.com/#getpermittedauthmethods). ## Steps to implement both custom authentication and authorization diff --git a/docs/user-wallets/wrapped-keys/listing-wrapped-keys.md b/docs/user-wallets/wrapped-keys/listing-wrapped-keys.md index 663ff211..8599240e 100644 --- a/docs/user-wallets/wrapped-keys/listing-wrapped-keys.md +++ b/docs/user-wallets/wrapped-keys/listing-wrapped-keys.md @@ -18,7 +18,7 @@ Below we will walk through an implementation of `listEncryptedKeyMetadata`. The Before continuing with this guide, you should have an understanding of: -- [Programmable Key Pairs (PKPs)](../../sdk/wallets/quick-start) +- [Programmable Key Pairs (PKPs)](../pkps/quick-start) - [Session Signatures](../../sdk/authentication/session-sigs/intro) ## `listEncryptedKeyMetadata`'s Interface From 47f547a0bbf0fd6c4ff4039cf49f69b215ee1ad5 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 12 Aug 2024 15:49:54 -1000 Subject: [PATCH 508/627] Remove Lit Relayer overview page --- docs/paying-for-lit/lit-relayer.md | 1 - sidebars.js | 1 - 2 files changed, 2 deletions(-) delete mode 100644 docs/paying-for-lit/lit-relayer.md diff --git a/docs/paying-for-lit/lit-relayer.md b/docs/paying-for-lit/lit-relayer.md deleted file mode 100644 index 395b9001..00000000 --- a/docs/paying-for-lit/lit-relayer.md +++ /dev/null @@ -1 +0,0 @@ -# Lit Relayer \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 1679262c..ea797e30 100644 --- a/sidebars.js +++ b/sidebars.js @@ -143,7 +143,6 @@ const sidebars = { 'paying-for-lit/using-delegated-auth-sig', ], }, - 'paying-for-lit/lit-relayer', 'paying-for-lit/payment-delegation-db', ], }, From c1a415412b8126131f237846e5e5db8146614bb5 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 12 Aug 2024 15:50:07 -1000 Subject: [PATCH 509/627] Reword --- docs/paying-for-lit/overview.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index 4284fb38..dd2bd136 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -1,8 +1,10 @@ -# Paying for the Usage of the Lit Network +# Paying for Usage of Lit -Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. +The Lit networks, like other decentralized networks, manage their computational resources to ensure optimal performance and synchronization across their nodes. To maintain a responsive and balanced network, Lit implements a metering system for resource utilization. -In order to use the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) and production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) Lit networks, you will need to pay for usage of the network. This is done using Lit test tokens, Capacity Credits, the Lit Relayer, and the Payment Delegation Database. +When using the Lit networks, whether it's the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) or the production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) - you'll need to pay for and reserve your usage. This is accomplished using [Lit test tokens](#lit-test-token) and [Capacity Credits](#capacity-credits). + +To streamline the payment process and facilitate integration into your apps, Lit offers two tools: [the Lit Relayer](#lit-relayer) and [the Payment Delegation Database](#payment-delegation-database). These tools allow you to seamlessly incorporate Lit functionality without burdening your users with the need to acquire Lit test tokens or mint Capacity Credits on their own. ## Overview of What Requires Payment @@ -74,7 +76,7 @@ For a deep dive into Capacity Credits, including minting and usage details, chec ### Lit Relayer -The Lit Relayer is an [open-source service](https://github.com/LIT-Protocol/relay-server) currently hosted by Lit to facilitate onboarding into the Lit ecosystem. It helps reduce initial costs by covering or subsidizing certain interactions with the Lit network, such as minting PKPs and paying for network requests to perform actions like decryption, executing Lit Actions, and using PKPs. +The Lit Relayer is an [open-source service](https://github.com/LIT-Protocol/relay-server) currently hosted by Lit to facilitate onboarding into the Lit ecosystem. It helps reduce initial costs by covering or subsidizing certain interactions with the Lit network, such as minting PKPs. While the Relayer eases the onboarding process, it's important to note that its availability is not guaranteed. Users may experience rate limiting and/or congestion due to its shared nature. From 47b85f4c14087f7cf521a2cd727273dda61bb998 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 12 Aug 2024 15:51:04 -1000 Subject: [PATCH 510/627] Remove note --- docs/paying-for-lit/overview.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index dd2bd136..3e4e91a5 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -8,10 +8,6 @@ To streamline the payment process and facilitate integration into your apps, Lit ## Overview of What Requires Payment -:::note -Currently requests requiring payment of Lit tokens is done only using the `testLPX` test token. More information about the test token is available [here](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) -::: - ### General Lit Network Usage | Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | From 8aaa748bb99813d4ad646a0684953aa3b3af506b Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 12 Aug 2024 15:53:06 -1000 Subject: [PATCH 511/627] Remove gas column --- docs/paying-for-lit/overview.md | 64 ++++++++++++++++----------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index 3e4e91a5..7ae79e1f 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -10,50 +10,50 @@ To streamline the payment process and facilitate integration into your apps, Lit ### General Lit Network Usage -| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | -|---------------------------------------------|------------------|----------------------------------|------------------|--------------| -| Connecting to a Lit Network | ❌ | n/a | n/a | ❌ | -| Generating Session Signatures | ❌ | n/a | n/a | ❌ | -| Reading Data from Lit Contracts | ❌ | n/a | n/a | ❌ | -| Lit Action Execution | ✅ | ❌ | Capacity Credits | ❌ | -| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Test Tokens | ✅ | -| Adding / Removing Payment Delegation Payees | ✅ | ✅ | Lit Test Tokens | ✅ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | +|---------------------------------------------|------------------|---------------------------------------|------------------| +| Connecting to a Lit Network | ❌ | n/a | n/a | +| Generating Session Signatures | ❌ | n/a | n/a | +| Reading Data from Lit Contracts | ❌ | n/a | n/a | +| Lit Action Execution | ✅ | ❌ | Capacity Credits | +| Setting Up a Payment Delegation Payer | ✅ | ✅ | Lit Test Tokens | +| Adding / Removing Payment Delegation Payees | ✅ | ✅ | Lit Test Tokens | ### Capacity Credits -| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | -|---------------------|------------------|----------------------------------|-----------------|--------------| -| Minting a Credit | ✅ | ❌ | Lit Test Tokens | ✅ | -| Delegating a Credit | ❌ | n/a | n/a | ❌ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | +|---------------------|------------------|---------------------------------------|-----------------| +| Minting a Credit | ✅ | ❌ | Lit Test Tokens | +| Delegating a Credit | ❌ | n/a | n/a | ### PKP Usage -| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | -|------------------------------------|------------------|----------------------------------|------------------|--------------| -| Minting a PKP | ✅ | ✅ | Lit Test Tokens | ✅ | -| Adding / Removing PKP Auth Methods | ✅ | ✅ | Lit Test Tokens | ✅ | -| Signing with a PKP | ✅ | ❌ | Capacity Credits | ❌ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | +|------------------------------------|------------------|---------------------------------------|------------------| +| Minting a PKP | ✅ | ✅ | Lit Test Tokens | +| Adding / Removing PKP Auth Methods | ✅ | ❌ | Lit Test Tokens | +| Signing with a PKP | ✅ | ❌ | Capacity Credits | ### Encrypting Data -| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | -|-----------------|------------------|----------------------------------|------------------|--------------| -| Encrypting Data | ❌ | n/a | n/a | ❌ | -| Decrypting Data | ✅ | ❌ | Capacity Credits | ❌ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | +|-----------------|------------------|---------------------------------------|------------------| +| Encrypting Data | ❌ | n/a | n/a | +| Decrypting Data | ✅ | ❌ | Capacity Credits | ### Wrapped Keys Usage -| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | Requires Gas | -|----------------------------------------|------------------|----------------------------------|--------------------------------------|--------------| -| Generating a Wrapped Key | ✅ | ❌ | Lit Test Tokens | ✅ | -| Importing Wrapped Key | ❌ | n/a | n/a | ❌ | -| Exporting Wrapped Key | ✅ | ❌ | Capacity Credits | ❌ | -| Getting Wrapped Key Metadata | ✅ | ❌ | Capacity Credits | ❌ | -| Storing Wrapped Key Metadata | ❌ | n/a | n/a | ❌ | -| Listing Wrapped Keys for a PKP | ❌ | n/a | n/a | ❌ | -| Signing a Message with Wrapped Key | ✅ | ❌ | Capacity Credits | ❌ | -| Signing a transaction with Wrapped Key | ✅ | ❌ | Capacity Credits | ❌ | -| Custom Wrapped Keys | ✅ | ❌ | Lit Test Tokens and Capacity Credits | ✅ | +| Request Type | Requires Payment | Can Be Paid for Using the Lit Relayer | Payment Type | +|----------------------------------------|------------------|---------------------------------------|--------------------------------------| +| Generating a Wrapped Key | ✅ | ❌ | Lit Test Tokens | +| Importing Wrapped Key | ❌ | n/a | n/a | +| Exporting Wrapped Key | ✅ | ❌ | Capacity Credits | +| Getting Wrapped Key Metadata | ✅ | ❌ | Capacity Credits | +| Storing Wrapped Key Metadata | ❌ | n/a | n/a | +| Listing Wrapped Keys for a PKP | ❌ | n/a | n/a | +| Signing a Message with Wrapped Key | ✅ | ❌ | Capacity Credits | +| Signing a transaction with Wrapped Key | ✅ | ❌ | Capacity Credits | +| Custom Wrapped Keys | ✅ | ❌ | Lit Test Tokens and Capacity Credits | ## Overview of Payment Methods From 36b9bef0c55c017f006e53ab2ac0b4c4a191c2a9 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 12 Aug 2024 16:10:25 -1000 Subject: [PATCH 512/627] Refactor Payment methods and Choosing the Right Payment Method sections --- docs/paying-for-lit/overview.md | 109 ++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 49 deletions(-) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index 7ae79e1f..6cfc739e 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -2,9 +2,67 @@ The Lit networks, like other decentralized networks, manage their computational resources to ensure optimal performance and synchronization across their nodes. To maintain a responsive and balanced network, Lit implements a metering system for resource utilization. -When using the Lit networks, whether it's the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) or the production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) - you'll need to pay for and reserve your usage. This is accomplished using [Lit test tokens](#lit-test-token) and [Capacity Credits](#capacity-credits). +When using the Lit networks, whether it's the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) or the production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) - you'll need to pay for and reserve your usage. This is accomplished using *Lit test tokens* and *Capacity Credits*. -To streamline the payment process and facilitate integration into your apps, Lit offers two tools: [the Lit Relayer](#lit-relayer) and [the Payment Delegation Database](#payment-delegation-database). These tools allow you to seamlessly incorporate Lit functionality without burdening your users with the need to acquire Lit test tokens or mint Capacity Credits on their own. +To streamline the payment process and facilitate integration into your apps, Lit offers two tools: the *Lit Relayer* and the *Payment Delegation Database*. These tools allow you to seamlessly incorporate Lit functionality without burdening your users with the need to acquire Lit test tokens or mint Capacity Credits on their own. + +## Payment Methods + +### Lit Test Token + +Currently the [`testLPX` test token](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) is the native currency for the Lit [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain. It's currently used to pay for the gas of on-chain transactions, as well as for minting PKPs and Capacity Credits. + +To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. + +### Capacity Credits + +Capacity Credits are NFT tokens that represent reserved computational capacity on the Lit network. When minting a credit, you specify and pay to reserve a specific amount of requests per second over a period of time. You'll then use these credits when making requests to the Lit network to perform actions such as decryption, executing Lit Actions, and signing transactions using PKPs and Wrapped Keys. + +For a deep dive into Capacity Credits, including minting and usage details, checkout the in-depth [documentation](./capacity-credit-intro.md). + +## Tools to Simplify Payment + +### Lit Relayer + +The Lit Relayer is an [open-source service](https://github.com/LIT-Protocol/relay-server) currently hosted by Lit to facilitate onboarding into the Lit ecosystem. It helps reduce initial costs by covering or subsidizing certain interactions with the Lit network, such as minting PKPs. + +While the Relayer eases the onboarding process, it's important to note that its availability is not guaranteed. Users may experience rate limiting and/or congestion due to its shared nature. + +As your application moves into production, we recommend implementing this functionality directly into your own application instead of using the Lit Relayer. This will ensure that you can use the Lit network with minimal friction and disruptions in service, as your direct implementation will be much more reliable and scalable. + +For a deep dive into the Relayer, including its usage and offered services, checkout the in-depth [documentation](./lit-relayer.md). + +### Payment Delegation Database + +The Payment Delegation Database is a service provided by the Lit Relayer that streamlines payment management for your users. This service offers an alternative to relying on the Lit Relayer's payment subsidies or minting individual Capacity Credits for each of your users. With the Payment Delegation Database, you can establish a Payer Wallet and designate your users as Payees. + +The Payer Wallet acts as a central account that manages payment for Lit network usage on behalf of your users (Payees). Payees inherit the reserved capacity of the Payer Wallet, which automatically receives a minted capacity credit when registered with the service. + +For a deep dive into the Payment Delegation Database, including how to register a Payer Wallet and add users as Payees, checkout the in-depth [documentation](./payment-delegation-db.md). + +### Choosing the Right Payment Method + +The Lit network offers various ways to implement payment for usage of the network, accommodating different use cases and application scales. Consider the following guidelines when selecting the most appropriate option for your needs: + +#### For New Developers and Initial Testing: + - Start with the Lit Relayer managing Capacity Credits on your behalf. + - This option reduces onboarding friction by subsidizing some network interactions. + - It's ideal for prototyping and early development stages. + - Note: The Relayer may be subject to availability and potential rate limiting. + +#### For Growing Applications: + +- As your application grows, transition to managing Capacity Credits yourself. +- This provides more reliable resource allocation and greater control. +- Note: This can become difficult to manage when you have a large user base. + +#### For Large-Scale Applications: + +- Consider using the Payment Delegation Database to manage delegation of a Capacity Credit to your users. +- This option greatly reduces the overhead of managing several credits for each of your users. +- It's ideal for applications with a large user base or those requiring sophisticated payment management. + +Remember, any combination of the above methods can work together or be used independently, depending on your specific use case and development stage. As your application evolves, you can adjust your payment strategy to best suit your needs and those of your users. ## Overview of What Requires Payment @@ -55,53 +113,6 @@ To streamline the payment process and facilitate integration into your apps, Lit | Signing a transaction with Wrapped Key | ✅ | ❌ | Capacity Credits | | Custom Wrapped Keys | ✅ | ❌ | Lit Test Tokens and Capacity Credits | - -## Overview of Payment Methods - -### Lit Test Token - -Currently the [`testLPX` test token](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md#tstlpx-test-token) is the native currency for the Lit [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain. It's currently used to pay for the gas of on-chain transactions, as well as for minting PKPs and Capacity Credits. - -To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-yellowstone-faucet.getlit.dev/). The `tstLPX` test token will be sent to your wallet address, allowing you to perform transactions on the rollup. - -### Capacity Credits - -Capacity Credits are NFT tokens that represent reserved computational capacity on the Lit network. When minting a credit, you specify and pay to reserve a specific amount of requests per second over a period of time. You'll then use these credits when making requests to the Lit network to perform actions such as decryption, executing Lit Actions, and signing transactions using PKPs and Wrapped Keys. - -For a deep dive into Capacity Credits, including minting and usage details, checkout the in-depth [documentation](./capacity-credit-intro.md). - -### Lit Relayer - -The Lit Relayer is an [open-source service](https://github.com/LIT-Protocol/relay-server) currently hosted by Lit to facilitate onboarding into the Lit ecosystem. It helps reduce initial costs by covering or subsidizing certain interactions with the Lit network, such as minting PKPs. - -While the Relayer eases the onboarding process, it's important to note that its availability is not guaranteed. Users may experience rate limiting and/or congestion due to its shared nature. - -As your application moves into production, we recommend implementing this functionality directly into your own application instead of using the Lit Relayer. This will ensure that you can use the Lit network with minimal friction and disruptions in service, as your direct implementation will be much more reliable and scalable. - -For a deep dive into the Relayer, including its usage and offered services, checkout the in-depth [documentation](./lit-relayer.md). - -### Payment Delegation Database - -The Payment Delegation Database is a service provided by the Lit Relayer that streamlines payment management for your users. This service offers an alternative to relying on the Lit Relayer's payment subsidies or minting individual Capacity Credits for each of your users. With the Payment Delegation Database, you can establish a Payer Wallet and designate your users as Payees. - -The Payer Wallet acts as a central account that manages payment for Lit network usage on behalf of your users (Payees). Payees inherit the reserved capacity of the Payer Wallet, which automatically receives a minted capacity credit when registered with the service. - -For a deep dive into the Payment Delegation Database, including how to register a Payer Wallet and add users as Payees, checkout the in-depth [documentation](./payment-delegation-db.md). - -### Choosing the Right Payment Method - -The Lit network offers various ways to implement payment for usage of the network, suiting various use cases and application scales. Consider the following guidelines when selecting the most appropriate option for your needs: - -- Capacity Credits: Ideal for individual users or small-scale applications requiring direct control over their network resource allocation. This option is ideal when you don't have to manage payments for a large user base. -- Lit Relayer: Best for initial testing and prototyping. It reduces onboarding friction by subsidizing some network interactions, but is subject to availability and potential rate limiting. -- Payment Delegation Database: Suitable for larger applications or those with a large user base. It simplifies and centralizes the minting and delegation of Capacity Credits to your users, eliminating the need to manage individual Capacity Credits for each user. - -For optimal results: - -- New developers may start with the Lit Relayer managing Capacity Credit on their behalf for easier onboarding. -- As your application grows, transition to managing Capacity Credits yourself for more reliable resource allocation. -- Large-scale applications should consider the Payment Delegation Database for managing payment on behalf of many users. - ## Getting Started To begin using the paid Lit networks: From 230434f9d56568d06c3f6f5426687697a6a20fc5 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 12 Aug 2024 16:25:10 -1000 Subject: [PATCH 513/627] Rename capacity credit intro --- docs/paying-for-lit/capacity-credit-intro.md | 14 ----------- docs/paying-for-lit/capacity-credits.md | 24 +++++++++++++++++++ docs/paying-for-lit/delegating-credit.md | 2 +- .../minting-capacity-credit/via-contract.md | 2 +- .../minting-capacity-credit/via-explorer.md | 2 +- docs/paying-for-lit/overview.md | 4 ++-- docs/paying-for-lit/payment-delegation-db.md | 4 ++-- .../using-delegated-auth-sig.md | 2 +- .../session-sigs/get-session-sigs.md | 2 +- .../authentication/session-sigs/use-cases.md | 2 +- sidebars.js | 2 +- 11 files changed, 35 insertions(+), 25 deletions(-) delete mode 100644 docs/paying-for-lit/capacity-credit-intro.md create mode 100644 docs/paying-for-lit/capacity-credits.md diff --git a/docs/paying-for-lit/capacity-credit-intro.md b/docs/paying-for-lit/capacity-credit-intro.md deleted file mode 100644 index ff17921b..00000000 --- a/docs/paying-for-lit/capacity-credit-intro.md +++ /dev/null @@ -1,14 +0,0 @@ -# Capacity Credits - -Capacity Credits are how you pay for usage of the Lit network. They allow you to reserve a specific amount of capacity (i.e. requests a second) on the network over a pre-defined amount of time (e.g. one week). In order to make requests to the Lit network for things like: signing using a PKP, decrypting data, and executing a Lit Action. You'll need to provide the token ID of an active Capacity Credit along with your request. - -:::info -For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). -::: - -Capacity credits are NFT tokens on the [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain, and can be minted by making a transaction directly to the NFT contract, or by using the Lit Explorer. You can learn more about minting Capacity Credits via a specific method by going to these pages: - -- [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) -- [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) - -After minting a Capacity Credit, you'll want to learn [how to delegate usage](./delegating-credit.md) of it to either your users, or yourself via a Capacity Delegation Auth Sig. diff --git a/docs/paying-for-lit/capacity-credits.md b/docs/paying-for-lit/capacity-credits.md new file mode 100644 index 00000000..04646708 --- /dev/null +++ b/docs/paying-for-lit/capacity-credits.md @@ -0,0 +1,24 @@ +# Capacity Credits + +Capacity Credits are a key component in paying for usage of the Lit network, specifically for operations that occur on the network itself. They allow you to reserve a specific amount of capacity (i.e. requests per second) on the network over a pre-defined period (e.g. one week). + +There are two main types of payments in the Lit ecosystem: + +1. **Capacity Credits:** Used for operations on the Lit network itself, such as: + - Signing using a PKP + - Decrypting data + - Executing a Lit Action +2. **Lit Test Tokens:** Used for transactions on the [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain, such as minting Capacity Credits or interacting with smart contracts. + +When making requests to the Lit network for operations like those listed above, you'll need to provide the token ID of an active Capacity Credit along with your request. + +:::info +For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). +::: + +Capacity Credits are NFT tokens on the Chronicle Yellowstone blockchain. They can be minted by making a transaction directly to the NFT contract or by using [the Lit Explorer](https://explorer.litprotocol.com/). To learn more about minting Capacity Credits, refer to these pages: + +- [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) +- [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) + +After minting a Capacity Credit, you'll want to learn [how to delegate usage](./delegating-credit.md) of it to either your users or yourself via a Capacity Delegation Auth Sig. \ No newline at end of file diff --git a/docs/paying-for-lit/delegating-credit.md b/docs/paying-for-lit/delegating-credit.md index 625912d3..ffba5ab8 100644 --- a/docs/paying-for-lit/delegating-credit.md +++ b/docs/paying-for-lit/delegating-credit.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; To use a Capacity Credit to pay for usage of the Lit network, you need to create a *Capacity Delegation Auth Sig*. This Auth Sig is used as proof you have authorization to use a specific Capacity Credit to pay for requests to the Lit network like: signing using a PKP, decrypting data, and executing a Lit Action. :::info -To learn more about what a Capacity Credit is, and how they're used, please go [here](./capacity-credit-intro.md). +To learn more about what a Capacity Credit is, and how they're used, please go [here](./capacity-credits). For an overview of what requests to the Lit network require payment, go [here](./overview.md#overview-of-what-requires-payment). ::: diff --git a/docs/paying-for-lit/minting-capacity-credit/via-contract.md b/docs/paying-for-lit/minting-capacity-credit/via-contract.md index 99a97ccf..cb0ce847 100644 --- a/docs/paying-for-lit/minting-capacity-credit/via-contract.md +++ b/docs/paying-for-lit/minting-capacity-credit/via-contract.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; Capacity Credits can be minted by making requests to the NFT contract that is deployed on the [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone.md) rollup blockchain. The following code will demonstrate how to connect to Chronicle Yellowstone via the Lit RPC URL, and send a transaction to the blockchain to mint a new Capacity Credit. :::info -To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). +To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credits). The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/mintCapacityCredit.ts). ::: diff --git a/docs/paying-for-lit/minting-capacity-credit/via-explorer.md b/docs/paying-for-lit/minting-capacity-credit/via-explorer.md index c7d71896..57548f7d 100644 --- a/docs/paying-for-lit/minting-capacity-credit/via-explorer.md +++ b/docs/paying-for-lit/minting-capacity-credit/via-explorer.md @@ -3,7 +3,7 @@ Capacity Credits can be minted using the [Lit Explorer](https://explorer.litprotocol.com/) dApp. The following guide will demonstrate how to mint a new Capacity Credit. :::info -To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credit-intro.md). +To learn more about what a Capacity Credit is, and how they're used, please go [here](../capacity-credits). ::: ## Prerequisites diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index 6cfc739e..ba487ce7 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -18,7 +18,7 @@ To obtain the `tstLPX` test token, please use [the faucet](https://chronicle-yel Capacity Credits are NFT tokens that represent reserved computational capacity on the Lit network. When minting a credit, you specify and pay to reserve a specific amount of requests per second over a period of time. You'll then use these credits when making requests to the Lit network to perform actions such as decryption, executing Lit Actions, and signing transactions using PKPs and Wrapped Keys. -For a deep dive into Capacity Credits, including minting and usage details, checkout the in-depth [documentation](./capacity-credit-intro.md). +For a deep dive into Capacity Credits, including minting and usage details, checkout the in-depth [documentation](./capacity-credits). ## Tools to Simplify Payment @@ -124,6 +124,6 @@ To begin using the paid Lit networks: - For applications with many users, look into the Payment Delegation Database. 3. Set up your chosen method: - For the Lit Relayer, go [here](./lit-relayer.md) to begin integrating it into your application. - - For Capacity Credits, go [here](./capacity-credit-intro.md) to learn how to mint and use them. + - For Capacity Credits, go [here](./capacity-credits) to learn how to mint and use them. - For the Payment Delegation Database, go [here](./payment-delegation-db.md) to learn how to register a Payer Wallet and add your users as Payees. 4. Monitor your usage and adjust as needed. diff --git a/docs/paying-for-lit/payment-delegation-db.md b/docs/paying-for-lit/payment-delegation-db.md index c47917b2..f241ec9d 100644 --- a/docs/paying-for-lit/payment-delegation-db.md +++ b/docs/paying-for-lit/payment-delegation-db.md @@ -22,7 +22,7 @@ Currently the Payment Delegation Database is only supported on the `datil` and ` The Payment Delegation Database is a [smart contract](https://github.com/LIT-Protocol/LitNodeContracts/blob/main/contracts/lit-node/PaymentDelegation/PaymentDelegationFacet.sol) deployed on Lit's rollup, [Chronicle Yellowstone](../../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone). Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) has been updated to provide two new API routes to interface with the Payment Delegation Database contract: -- `POST` `/register-payer`: This route is used to register a new `payer` and will have a [Capacity Credit](../capacity-credits.md) minted for it which can be delegated to `payees` to pay for their usage of Lit +- `POST` `/register-payer`: This route is used to register a new `payer` and will have a [Capacity Credit](../capacity-credits) minted for it which can be delegated to `payees` to pay for their usage of Lit - `POST` `/add-users`: This route is used to add users (as Ethereum addresses) as `payees` for a specific `payer`. This allows the `payer` to pay for the usage of Lit for each user, without each user having to own a Capacity Credit Below we will walk through an example of registering a `payer` and adding users as `payees` for a specific `payer`. The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/payment-delegation-relayer/payment-delegation-db-relayer/nodejs/src). @@ -31,7 +31,7 @@ Below we will walk through an example of registering a `payer` and adding users Before continuing with this guide, you should have an understanding of: -- [Capacity Credits](../capacity-credits.md) +- [Capacity Credits](../capacity-credits) - Lit's [Relayer server](https://github.com/LIT-Protocol/relay-server) - The Relayer is a centrally ran service by the Lit Protocol team to facilitate and subsidize some interactions with the Lit Protocol smart contracts on Chronicle. - In this guide the Relayer does several things for you including: diff --git a/docs/paying-for-lit/using-delegated-auth-sig.md b/docs/paying-for-lit/using-delegated-auth-sig.md index 1b46238b..2ee9454a 100644 --- a/docs/paying-for-lit/using-delegated-auth-sig.md +++ b/docs/paying-for-lit/using-delegated-auth-sig.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; When making requests to the Lit network, you must provide [Session Signatures](../sdk/authentication/session-sigs/intro.md). When making requests to the network that require payment, you must also attach a *Capacity Delegation Auth Signature* to your Session Signatures. This Auth Sig tells the Lit network which Capacity Credit to use for paying for your network usage, and also acts as proof that you have permission to use the Capacity Credit for payment. :::info -To learn more about what a Capacity Credit is, and how they're used, go [here](./capacity-credit-intro.md). +To learn more about what a Capacity Credit is, and how they're used, go [here](./capacity-credits). To learn about how to obtain a Capacity Delegation Auth Signature, go [here](./delegating-credit.md). diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 611e6f11..57399b56 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -8,7 +8,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; You can use any wallet or auth method to generate session signatures with the `getSessionSigs()` function from the Lit SDK. This function generates a session keypair and uses a callback function that signs the generated session key to create an `AuthSig` that is scoped to specific capabilities. -In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Datil` and `Datil-test` networks. You can buy or [mint](../../capacity-credits.md#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits.md#delegating-access-to-your-capacity-credits-nft) them to your users. +In order to generate `SessionSigs`, you need a `capacityDelegationAuthSig` in signatures. This is because capacity credits are now required on both `Datil` and `Datil-test` networks. You can buy or [mint](../../capacity-credits#minting-capacity-credits) capacity credits centrally and [delegate](../../capacity-credits#delegating-access-to-your-capacity-credits-nft) them to your users. You can generate a `SessionSig` with the help of `capacityDelegationAuthSig` object in the following way: diff --git a/docs/sdk/authentication/session-sigs/use-cases.md b/docs/sdk/authentication/session-sigs/use-cases.md index d9fc0479..714794ef 100644 --- a/docs/sdk/authentication/session-sigs/use-cases.md +++ b/docs/sdk/authentication/session-sigs/use-cases.md @@ -14,7 +14,7 @@ Alice can create a session capability object that specifies the ability to Authe Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's RLI NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. -For an example of how you may delegate usage of your NFT see [here](../../authentication/session-sigs/capacity-credits.md) +For an example of how you may delegate usage of your NFT see [here](../../authentication/session-sigs/capacity-credits) ### Letting A User Use Your PKP For A Specific Lit Action diff --git a/sidebars.js b/sidebars.js index ea797e30..e18d00ea 100644 --- a/sidebars.js +++ b/sidebars.js @@ -127,7 +127,7 @@ const sidebars = { collapsed: true, link: { type: 'doc', - id: 'paying-for-lit/capacity-credit-intro', + id: 'paying-for-lit/capacity-credits', }, items: [ { From 1dafaa1b62454c26290024210304ed8c4f4006bc Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 13 Aug 2024 11:59:11 -0700 Subject: [PATCH 514/627] Lit Explorer changes --- docs/tools/litexplorer.md | 16 ++++++++++++++++ docs/tools/pkpexplorer.md | 10 ---------- sidebars.js | 2 +- 3 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 docs/tools/litexplorer.md delete mode 100644 docs/tools/pkpexplorer.md diff --git a/docs/tools/litexplorer.md b/docs/tools/litexplorer.md new file mode 100644 index 00000000..33de87f0 --- /dev/null +++ b/docs/tools/litexplorer.md @@ -0,0 +1,16 @@ +--- +sidebar_position: 4 +--- + +import FeedbackComponent from "@site/src/pages/feedback.md"; + +# Lit Explorer + +The Lit Explorer is a tool designed to help developers get started with Lit Protocol. + +By signing in with either a Coinbase or MetaMask account, developers can use the Explorer to view the [PKPs](../user-wallets/pkps/overview) and [Capacity Credits](../sdk/capacity-credits) minted to their account. + +Additionally, the Explorer provides chain details for [Chronicle](../connecting-to-a-lit-network/lit-blockchains/chronicle) and [Chronicle Yellowstone](../connecting-to-a-lit-network/lit-blockchains/chronicle-yellowstone), as well as the contract addresses for each chain. + +To check it out, visit the [Lit Explorer](https://explorer.litprotocol.com/). + diff --git a/docs/tools/pkpexplorer.md b/docs/tools/pkpexplorer.md deleted file mode 100644 index 965cfe03..00000000 --- a/docs/tools/pkpexplorer.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -sidebar_position: 4 ---- - -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# PKP Explorer - -Mint a PKP, create and manage Lit Actions, and more. Visit https://explorer.litprotocol.com/mint-pkp - diff --git a/sidebars.js b/sidebars.js index 4d4cf3d3..e49e8123 100644 --- a/sidebars.js +++ b/sidebars.js @@ -397,7 +397,7 @@ const sidebars = { 'tools/access-control', 'tools/getlit-cli', 'tools/event-listener', - 'tools/pkpexplorer', + 'tools/litexplorer', 'tools/searchlit', ], }, From aee68bdf94918afcfa52dc1c2907e332363cde45 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 13 Aug 2024 14:55:51 -0700 Subject: [PATCH 515/627] Fixed notice --- src/pages/state-of-the-network.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index 5e944497..f0d567cb 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -1,7 +1,7 @@ :::info -The [Datil-test](/docs/docs/connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](/docs/docs/connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. +The [Datil-test](https://developer.litprotocol.com/connecting-to-a-lit-network/testnets#datil-test) and [Datil-dev](https://developer.litprotocol.com/connecting-to-a-lit-network/testnets#datil-dev) testnets are now live and are superseding the Manzano and Cayenne testnet respectively. -The [Datil](/docs/docs/connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. +The [Datil](https://developer.litprotocol.com/connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. Check out the [migration docs](/docs/docs/connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: From 5b4c9d9142549af79f0bd372bd49cbc6512c795b Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 13 Aug 2024 14:59:54 -0700 Subject: [PATCH 516/627] Notice fix --- src/pages/state-of-the-network.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/state-of-the-network.md b/src/pages/state-of-the-network.md index f0d567cb..a0cea211 100644 --- a/src/pages/state-of-the-network.md +++ b/src/pages/state-of-the-network.md @@ -3,5 +3,5 @@ The [Datil-test](https://developer.litprotocol.com/connecting-to-a-lit-network/t The [Datil](https://developer.litprotocol.com/connecting-to-a-lit-network/mainnets#datil) mainnet is now live and superseding the Habanero mainnet, ready to store real world assets. -Check out the [migration docs](/docs/docs/connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. +Check out the [migration docs](https://developer.litprotocol.com/connecting-to-a-lit-network/migrating-to-datil) to learn how you can start building on the Datil networks today. ::: From aa9349bed36dfc501d6f2d49b2476f2379cb3ebf Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 13 Aug 2024 16:25:52 -0700 Subject: [PATCH 517/627] Quick name changes --- docs/resources/glossary.md | 2 +- .../authentication/session-sigs/resources-and-abilities.md | 2 +- docs/sdk/authentication/session-sigs/use-cases.md | 4 ++-- .../sdk/explanation/authentication/sessionSigs/use-cases.md | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index ddfcdadb..cfa1d6bc 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -97,7 +97,7 @@ The technology that underpins cryptocurrency and most of the security infrastruc ### **[Rate Limiting](https://explorer.litprotocol.com/rlis)** -By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by purchasing an RLI NFT that comes with "flexible terms" which can be customized by 2 factors, the number of requests/millisecond and the expiry date. +By default, each Lit Action execution comes with a "free plan" that allows you to execute a limited number of requests/millisecond on the Lit nodes. To lift this limitation, you can "upgrade" your plan by minting a new [Capacity Credit](../sdk/capacity-credits) which has two customizable factors, the number of requests/millisecond and the expiry date. ### **[Session Keys](../sdk/authentication/session-sigs/intro.md)** diff --git a/docs/sdk/authentication/session-sigs/resources-and-abilities.md b/docs/sdk/authentication/session-sigs/resources-and-abilities.md index d0bd1186..371c95e2 100644 --- a/docs/sdk/authentication/session-sigs/resources-and-abilities.md +++ b/docs/sdk/authentication/session-sigs/resources-and-abilities.md @@ -21,7 +21,7 @@ Each Lit Resource is identified by its Resource Key: - For access control conditions, the resource key is derived from the hash of either the encrypted symmetric key or the JWT signing payload (resource ID) - For PKP NFTs, the resource key is the token ID of the NFT -- For RLI NFTs, the resource key is the token ID of the NFT +- For Capacity Credit NFTs, the resource key is the token ID of the NFT - For Lit Actions, the resource key is the IPFS Content ID (CID) of the Lit Action code A wildcard resource key, identified by `*`, refers to all of the resources in that category, i.e. all of the PKP NFTs or all of the access control conditions. diff --git a/docs/sdk/authentication/session-sigs/use-cases.md b/docs/sdk/authentication/session-sigs/use-cases.md index d9fc0479..0d87b4aa 100644 --- a/docs/sdk/authentication/session-sigs/use-cases.md +++ b/docs/sdk/authentication/session-sigs/use-cases.md @@ -10,9 +10,9 @@ _Note that these are not yet currently possible as we need to implement proof ve Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. -Alice can create a session capability object that specifies the ability to Authenticate with an RLI NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. +Alice can create a session capability object that specifies the ability to Authenticate with a Capacity Credit NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. -Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's RLI NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. +Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credit NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. For an example of how you may delegate usage of your NFT see [here](../../authentication/session-sigs/capacity-credits.md) diff --git a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md index 226a1145..9a0cff92 100644 --- a/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md +++ b/versioned_docs/version-2.0/sdk/explanation/authentication/sessionSigs/use-cases.md @@ -8,9 +8,9 @@ _Note that these are not yet currently possible as we need to implement proof ve Alice owns a Capacity Credit NFT and wants to let Bob use it, but only for specific Lit Actions or another resource or set of resources that she owns. -Alice can create a session capability object that specifies the ability to Authenticate with an RLI NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. +Alice can create a session capability object that specifies the ability to Authenticate with a Capacity Credit NFT as well as request for Threshold Execution against a particular Lit Action IPFS CID(s). Alice then signs and issues these capabilities to Bob. -Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's RLI NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. +Bob can generate an `AuthSig` by delegating equal rights to Bob's session keys, and attaching the capabilities granted to him by Alice as a proof in the session object. Bob can subsequently generate a `SessionSig` that requests for Alice's Capacity Credit NFT and Lit Action IPFS CID in the `resourceAbilityRequests`. ### Letting A User Use Your PKP For A Specific Lit Action From 2f7d632009f338932513fe9a2a17b4d43b67929f Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 13 Aug 2024 13:47:56 -1000 Subject: [PATCH 518/627] Update docs/sdk/authentication/session-sigs/intro.md --- docs/sdk/authentication/session-sigs/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 6eb97459..f3774e84 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -13,7 +13,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; ::: Session signatures are how the Lit network authenticates your connection, verifies your identity, and confirms your capabilities. -Generating session signatures is necessary whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g., signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). +Generating session signatures is necessary whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g. signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). Session signatures are created with session keys, which are generated when you initiate a session through a request to a Lit network using the Lit SDK. Session keys are unique [`ed25519`](https://ed25519.cr.yp.to/) keypairs generated locally by the Lit SDK and are used to sign all requests to the Lit Network during the current session. From fff2e3032678a21085b71b84748cda684d7e3060 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 13 Aug 2024 13:58:38 -1000 Subject: [PATCH 519/627] Update docs/sdk/authentication/session-sigs/intro.md --- docs/sdk/authentication/session-sigs/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index f3774e84..f140a4a7 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -21,7 +21,7 @@ While session signatures facilitate ongoing communication during a session, an ` An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message that specifies the Lit Resources and Lit Abilities of the session. -The `AuthSig` allows Lit Nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit Network. +The `AuthSig` allows Lit nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit network. When you make a request, each Lit Node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. This authentication system enhances the security of the Lit network. For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. From e29483d142c06383491d1f48e9ad499bc28b9091 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 13 Aug 2024 18:46:25 -0700 Subject: [PATCH 520/627] First Feedback Response --- .../get-lit-action-session-sigs.md | 22 ++++---- .../session-sigs/get-pkp-session-sigs.md | 20 ++++---- .../session-sigs/get-session-sigs.md | 12 ++--- docs/sdk/authentication/session-sigs/intro.md | 48 +++++++++--------- static/img/SessionSigs.png | Bin 330701 -> 453507 bytes 5 files changed, 55 insertions(+), 47 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md index 4d282935..5f7ad658 100644 --- a/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-lit-action-session-sigs.md @@ -6,9 +6,9 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Generating SessionSigs: `getLitActionSessionSigs` +# Generating SessionSigs Using a Lit Action -This guide covers the `getLitActionSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). +This guide covers the `getLitActionSessionSigs` function from the Lit SDK. For an overview of what Session Signatures are and how they are to be used, please go [here](./intro). Using the `getLitActionSessionSigs` function, you can specify the capabilities of your current session on the Lit network. @@ -20,7 +20,7 @@ Using this arragement, the function executes the Lit Action to determine authori This function uses the [`signSessionKey`](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#signSessionKey) function to sign the session public key using the PKP, which will generate an `AuthSig`. -Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the session signatures. +Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the Session Signatures. :::note The Lit Action is defined with the `litActionCode` or `litActionIpfsId` parameter, and `jsParams` must be provided for executing the action. @@ -33,9 +33,9 @@ Before continuing this guide, you should have an understanding of: - [Lit Resources and Abilities](./resources-and-abilities.md) - [PKPs](../../wallets/minting) -## Parameters and Returns +## Parameters and Return Values -To see the parameters and return of `getLitActionSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs). +To see the parameters and return values of `getLitActionSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getLitActionSessionSigs). ## Example Implementation @@ -77,7 +77,7 @@ ethers@v5
    -The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. +The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. You can learn more about this [here](./intro.md#storing-sessionsigs). ### Initializing an Ethers Signer The `ETHEREUM_PRIVATE_KEY` environment variable is required. @@ -122,7 +122,11 @@ await litContracts.connect(); ``` ### Generating Session Signatures -In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. +In this example, we're enabling our session to use a PKP for signing and to execute Lit Actions. + +The current code uses the wildcard (`*`) identifier for `LitPKPResource`, which grants signing abilities to **any** PKP. This should only be used for example implementations or debugging. A more secure implementation would instead use the PKP `tokenId` to grant a specific PKP signing abilities. + +The wildcard identifier is also used for `LitActionResource`. This allows the session to execute **any** Lit Action. A more secure implementation would instead have a specific IPFS CID. To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. @@ -163,6 +167,6 @@ const sessionSignatures = await litNodeClient.getLitActionSessionSigs({ If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). ## Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). +This example shows how to enable a session to use a PKP for signing and to execute Lit Actions. -After executing the example implementation above, you will have generated session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. \ No newline at end of file +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md index e7c28e31..104f2cc9 100644 --- a/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-pkp-session-sigs.md @@ -6,9 +6,9 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Generating SessionSigs: `getPkpSessionSigs` +# Generating SessionSigs Using a PKP -This guide covers the `getPkpSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). +This guide covers the `getPkpSessionSigs` function from the Lit SDK. For an overview of what Session Signatures are and how they are to be used, please go [here](./intro). Using the `getPkpSessionSigs` function, you can specify the capabilities of your current session on the Lit network. @@ -16,7 +16,7 @@ This function requires you to own a PKP and some form of authentication to prove This function uses the [`signSessionKey`](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#signSessionKey) function to sign the session public key using the PKP, which will generate an `AuthSig`. -Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the session signatures. +Once the `AuthSig` has been created, it is then signed by the session keypair. Signing the `AuthSig` with the session keypair creates the Session Signatures. ## Prerequisites @@ -25,9 +25,9 @@ Before continuing this guide, you should have an understanding of: - [Lit Resources and Abilities](./resources-and-abilities.md) - [PKPs](../../wallets/minting) -## Parameters and Returns +## Parameters and Returns Values -To see the parameters and return of `getPkpSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs). +To see the parameters and return values of `getPkpSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getPkpSessionSigs). ## Example Implementation @@ -69,7 +69,7 @@ ethers@v5 -The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. +The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. You can learn more about this [here](./intro.md#storing-sessionsigs). ### Initializing an Ethers Signer The `ETHEREUM_PRIVATE_KEY` environment variable is required. @@ -114,7 +114,9 @@ await litContracts.connect(); ``` ### Generating Session Signatures -In this example, we're granting the capability to request to decrypt any data that we may be authorized to decrypt (i.e. we satisfy the Access Control Conditions the data was encrypted with). We could, however, specify the [LitAccessControlConditionResource](https://v6-api-doc-lit-js-sdk.vercel.app/classes/auth_helpers_src.LitAccessControlConditionResource.html) for specific encrypted data we're permitting the decryption capability for. In real-world applications, it's more common and secure to limit access to specific Lit resources instead of specifying the wildcard (`"*"`) identifier. +In this example, we're enabling our session to use a PKP for signing. + +The current code uses the wildcard (`*`) identifier for `LitPKPResource`, which grants signing abilities to **any** PKP. This should only be used for example implementations or debugging. A more secure implementation would instead use the PKP `tokenId` to grant signing abilities to a specific PKP. To get the Lit resource identifier for other resources, you can use the other methods included in [@lit-protocol/auth-helpers](https://v6-api-doc-lit-js-sdk.vercel.app/modules/auth_helpers_src.html) package. @@ -143,6 +145,6 @@ const sessionSignatures = await litNodeClient.getPkpSessionSigs({ If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). ## Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). +This example shows how to enable a session to use a PKP for signing. -After executing the example implementation above, you will have generated session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. \ No newline at end of file +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getPkpSessionSigs). \ No newline at end of file diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 41003516..246977c3 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,15 +6,15 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Generating SessionSigs: `getSessionSigs` +# Generating SessionSigs: Using an AuthSig -This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what session signatures are and how they are to be used, please go [here](./intro). +This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what Session Signatures are and how they are to be used, please go [here](./intro). Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. The function uses the session keypair generated by the `LitNodeClient` and invokes a callback function, `authNeededCallback`, to generate an `AuthSig` scoped to specific Lit capabilities and sign it using the session keypair to create the `SessionSigs`. -Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get session signatures, at the minimum only requiring an EOA Ethereum private key and the `LitNodeClient`. It will enable specific capabilities for your session keypair using the resources you specify in the `AuthSig`. +Using the `getSessionSigs` function, you can specify the capabilities of your current session on the Lit network. This function is the simplest way to get Session Signatures, at the minimum only requiring an Ethereum private key and the `LitNodeClient`. It will enable specific capabilities for your session keypair using the resources you specify in the `AuthSig`. ## Prerequisites @@ -22,7 +22,7 @@ Before continuing this guide, you should have an understanding of: - [Session Signatures](./intro) - [Lit Resources and Abilities](./resources-and-abilities.md) -## Parameters and Returns +## Parameters and Returns Values To see the parameters and return of `getSessionSigs`, please visit our [API Docs](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClientNodeJs.html#getSessionSigs). @@ -62,7 +62,7 @@ ethers@v5 -The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. +The `node-localstorage` dependency is only required when executing code outside a browser environment. The SDK will use the native browser storage when in a browser environment. You can learn more about this [here](./intro.md#storing-sessionsigs). ### Initializing an Ethers Signer The `ETHEREUM_PRIVATE_KEY` environment variable is required. @@ -150,6 +150,6 @@ If you want to clear the session key stored in the browser local storage, you ca ## Summary The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). -After executing the example implementation above, you will have generated session signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. +After executing the example implementation above, you will have generated Session Signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 6eb97459..cd45efdb 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -6,49 +6,47 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Session Signatures -:::note +Session Signatures are used to authenticate with the Lit nodes and create a secure connection to the Lit network. -`SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. +Generating a Session Signature is required whenever you want to request a specific [Lit Ability](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g. signing a transaction) for a particular Lit Resource (e.g. a PKP). -::: -Session signatures are how the Lit network authenticates your connection, verifies your identity, and confirms your capabilities. +Session Signatures are created using session keys, which are generated for you when you initiate a connection with the Lit network via the Lit SDK. These session keys are unique [`ed25519`](https://ed25519.cr.yp.to/) keypairs generated locally by the Lit SDK. They are used to sign all requests to the Lit network during the current session. -Generating session signatures is necessary whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g., signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). +While session keys and their signatures facilitate ongoing communication during a session, an `AuthSig` (Authentication Signature) is used to verify your identity and authorization to the Lit nodes. -Session signatures are created with session keys, which are generated when you initiate a session through a request to a Lit network using the Lit SDK. Session keys are unique [`ed25519`](https://ed25519.cr.yp.to/) keypairs generated locally by the Lit SDK and are used to sign all requests to the Lit Network during the current session. +An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message. It specifies the authorized Lit Resources and Lit Abilities of the session. -While session signatures facilitate ongoing communication during a session, an `AuthSig` (Authentication Signature) is used to verify your identity and authorization to the Lit Nodes. +The `AuthSig` allows Lit nodes to verify your authorization to perform requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. When you make a request, each Lit node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. This ensures that only authorized users can perform specific actions within the Lit network. This authentication system maintains the security and integrity of the Lit network. -An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message that specifies the Lit Resources and Lit Abilities of the session. - -The `AuthSig` allows Lit Nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit Network. -When you make a request, each Lit Node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. - -This authentication system enhances the security of the Lit network. For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. +For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. ## SessionSigs Generation Diagram ![Session Signatures Diagram](../../../../static/img//SessionSigs.png) ## Paying for Usage of the Lit Network -You can facilitate payment for the Lit network within session signatures. +You can facilitate payment for the Lit network within Session Signatures. The correct code implementation will depend on whether you're using the free-to-use `datil-dev` network, or one of the "paid" networks: `datil` or `datil-test`. Usage of the `datil` and `datil-test` networks require the use of [Lit Capacity Credits](../../../sdk/capacity-credits.md). Currently, Capacity Credits are paid for using the `tstLPX` token and don't require any real-world money. However, in the future you will need to pay real-world money for usage of Lit networks, and `datil` and `datil-test` are the Lit networks where this functionality is being tested and refined. -To implement payments correctly, include a [`capacityDelegationAuthSig`](https://developer.litprotocol.com/sdk/capacity-credits#createcapacitydelegationauthsig) within the `capabilityAuthSigs` array when generating session signatures. +To implement payments correctly, include a [`capacityDelegationAuthSig`](https://developer.litprotocol.com/sdk/capacity-credits#createcapacitydelegationauthsig) within the `capabilityAuthSigs` array when generating Session Signatures. ## Storing `SessionSigs` -When running code to generate session signatures, you can store the session signatures and session keys using `LocalStorage` from the `node-localstorage` package. +### Running in a Browser + +Session data is automatically stored in the browser's local storage, and no additional configuration is needed. + +### Running in a Node.js (or Similar) Environment + +A `storageProvider` needs to specified when creating an instance of the `LitNodeClient`. You decide how this implemented, but the following is an example of using `LocalStorage` from the `node-localstorage` package: ```javascript import { LocalStorage } from "node-localstorage"; ``` -When running code within a browser, this import is not needed, as the session signatures and keys will be stored within the browser's local storage. However, when running this code in an environment such as Node.js where browser local storage is not available, the `LocalStorage` module can be used to provide file-based storage. - ```javascript litNodeClient = new LitNodeClient({ litNetwork: LitNetwork.DatilDev, @@ -58,16 +56,20 @@ litNodeClient = new LitNodeClient({ }, }); ``` -When a `storageProvider` is added to the `LitNodeClient` instance, all functions for generating session signatures will try to create a session keypair for you and store it in the local storage. -The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session keypair as the optional `sessionKey` parameter when generating session signatures. +If an instance of `LocalStorage` is not provided as the `storageProvider`, a new session keypair will be generated each time the code runs instead of reusing previously generated signatures and keys. -If an instance of `LocalStorage` is not provided as the `storageProvider`, a new session keypair will be generated each time the code runs, instead of reusing a single set of keys. +#### Manually Generating Session Keys +The session keypair can also be generated with the `generateSessionKeyPair()` function. Doing this enables you to pass the generated session keypair as the optional `sessionKey` parameter when generating Session Signatures. ### Resources you can Request -You can pass an array of `resourceAbilityRequests` to any of the functions that generate session signatures. These will be presented to the user in the SIWE message - read more [here](resources-and-abilities) about Lit resources and abilities. The resources and abilities requested by the session key must be narrower or equal to the capabilities granted to it per the session capability object specified in the inner `AuthSig`. +You can pass an array of `resourceAbilityRequests` to any of the functions that generate Session Signatures. These requests define the scope of actions the session key can perform. + +The requested resources and abilities must be either equal to or a subset of the capabilities specified in the session capability object within the `AuthSig`. A session key cannot have more privileges than those originally granted by the authentication signature. + +When session capability objects are omitted from functions generating Session Signatures, the SDK defaults to creating a session capability object with maximum permissions (i.e. can use any Lit Resource with any Lit Ability that the signer of the AuthSig owns). This should only be done when debugging, as allowing unspecified access control conditions is a security vulnerability. -When session capability objects are omitted from functions generating session signatures, the SDK will generate a session capability object with **wildcard permissions against all of the resources in that category by default**, i.e. ability to perform operations against all access control conditions. This should only be done when debugging, as allowing unspecified access control conditions is a security vulnerability. Read more [here](capability-objects) about how to create custom session capability objects. +Read more [here](capability-objects) about how to create custom session capability objects. diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index d66dac32a39eac6609d919d3f804890525c73449..6ac3711a21b82bea753d5fbd925c5dc55a774c6d 100644 GIT binary patch literal 453507 zcmeEuc|4SB`1iC(>EN_TWH}vF2rZV7rG#Y7GIo+=89PIEB{`=;DU@Ay!$|h6QHmn_ zGT8>%XE64Cd9SC=lJk52egArYb3UarW}fGM?&rR*>wA5_-|P8PLrsyMj+G9DLeVQ- zy`qUi(QTkmdnESmfp=EZ&Z)tV-^{OSs-jSyCr~K=`|vKjwS5RBXe+d<7&)}VXj#u?vP$)qzXtOl`9u{UcGvrl5#FtML5HH=*gg! zwJIw*iBz9HES#ZgI)@jwjav4+dJ?-3C{O@cl_r~ zX2r4pe$LV9e?PWumi~7_woL~L^}iGHzZ3G)4E%2l`Drqce=?8SV}A~`vJ&3Q>C#(7 z^rX^?LRr|`!csPr)tTN>8XP84klZ7#alFFQrpa#C@RVBCK9v8g@5~%TbzAI#pN=c6 z5X8vY?nM!`8qRD-NA5%k4(DcsTD4HCar)=gamqVTl@`CQ()|04gu6^fj*tVHO;1eh zN9pJ-G|&YuP%u~)6smalWx~IoLkTCGw{#YnB{@mNJ~PMiq8xQz%%$nGa(WTkEl{W% z;@dy`44l$r#|C2A%bO3DbUxI-BYOwr^z=sQ84IF>|M-%X7nUrvn2h;Y z%02v5NaC^nJaMH|QlgfuxdZk3aH8o?r)T{Xpp|N)+d@n=H+Ha13T&ln64mUo1sPGN zb@jBfjMvT`URw7Ia*-_Z!*^u+WC_Bo)J>b;{pk?G{?8p2C3gEJ?OA9l+oBfj_TAA> zfWeF{zW%LZqvyhkr`Y+}=#@4$T-`2IrRKKuW`$~O*uq(FMUcd7e0y?+rmAIncgcEe zch#s3 z`M1rk6FB3o!qU^=GpOd}6XTJDy^pb=^e}v0yRvuNAuHQYZfPclY>Ym(wG{kBD2VL3Bc=s+f7aG>QsF?HL7_Zv zkZoA<{ZWO_eMKehJnbdudZ{cyB=Rv8yZNQj!$1Chk&QM}E=z5!igK+Rm}vMHod}&s zyL)^GI?^ER;lqcjjq4-=1E1iD9`YM6eDIfT zeKD_6c3Y?~GdW)cSC_42Z?Af|qpI&KX9wX~I}Z#Z;psrl&%jtVyd}iKniOq%YRTyC zx0~;=jg!X1Bj^^4ZS}5Q1$T793MU$#Xtzv?m0Nn@l<_V?Dvz3G85gbew$$jxzgc3% z;aaS2ZQGsxeBpb119p~+cv`u)iZ`ZCMXmMU2xe_jo%u5(N+OkTVDHWf zEQKNczHKw`Sv2x%OqJ|ZYB@A$k9Rb>$}CfHL8^u948!-w9NZQsH8ReR&IV6DmlK7X zhHG7!^q}Ee&S?6&v}9*8iFx$!A@DAQQepKLUR4m_ch z-r?T&NnOPG@h-JERUC8KCxUi*-spbUF5m0*7x7vrx6tkQ-1!yHJ%vu5s@JdQzL{jk z!tadjt&At5vYdG^#zbtJ>m=rttMNJC3pkEgZ=4iCDo56`VHj3i&A5{i!zf>wU&iVk z1r(}j+Gx$)^Y5DvKP#Q#Bz6+F#kH*3^@+#CA7wW%3oeYA>nf1Z`cpFWlvL}KW8cZ@-icpr;PR{}afebd z2jh6pi`g`=VP|QHLWNaL6f+V7kF>LVoC|!~Gp0)5ar)hRnEm14FAcq&; z&0coQX&rsc(Wa9W0 zIXn9H{d<}~*VwNQPKU=?6X!ohKdwyC#-a*- zhY3sdTFIY3(7VK01Y)(XCP`$`m3GFJ{J>uEcpC1oI zEsZc&OYWnaMo;`Np_8Ff0uXa zfwi#u(oFkq)2(0AoDz2_8q&0`d80y2Shp0EKC8p&>!F8X?opm*hJ>>nE@-55KHI}` zsjbET76buRj?SX@A>|ElO3Y@r(KFF* zr;#32SrtrCsto{uP@z( z-~mx4EzvAC-?!WS;n82yWj3ZnwNwlA*T{U5iYtQUE0J_al$wc&4r>uPF40!p0V6$V z%9>`rC2pRD$@qv1dtAD++lzmYwrobQ8!%6B!ElTiUTD&w=lttnU%t~F4Q@0V=&?^TkRn=fC#(r(caT^y&6+FD|NGaQrCaSn3UeCW(?Wm;LSSiY| z=C9KKvQOjI z9m{NQx94XC;Tk7A8YH_+{%moiKqUE`mJ)>i@+bP%ol&~7YLjsTTAJlkkaBYgPQ=`6 znC`_sin-#vb9zQ0#+1ErYmh(b7&Xa!HTqsvoNBKsdyvff?CYw9l*HjTjitQ2#)fW| zM~@G~<##~#+@N~Rh)T&>Gn*^1O68ZKzmyol)epf<^AoOg}GO8i` z0Y4A#Ny`G&M zc4MUS2`bIJ_Q5lr(YwSJuZY^^cX)^a7Or6eea0o;v_1FY$)au6jr?ayJ0C1e6AfLa zM6o9Ya|AmK!g#IXis!BdF7ZzeQCeH767lQGfx7vN;Yy8PL`s*dKi-$z-OTfn%sW{< z@z{N?j)4DmNNc#YMNUX9RG1V?aB!iaxg&Z1S^QRwZgn|fL&ss%rD*!hMyb?d{CN>y zG=LYW?eVY+S%s7Lyx2=Oukj4@rA63foLMddq+~8h?hs@m4R(-rq>9(EN}u`kHLk)N z2bo<5XHPxCp>VQ&Ud1Z~+kpnW!8Imfe<$Z!O$2pxD=N-f*Yh^M)uV8Vcb{r# zc|~*;lIa%;7h~5Ad1q3by54w~D=)l|Q>KbGlhF&#g$s#q=awRy2h{r9{psAu^)yE7X5;SRSZ+LGv zNJs$!c@T)reD?abb)=~h-98(`;pIz-?7^N8^_zNVX>}!}1y7W>Sf1|YEyO3Y*R_<3 z5fC_1A18bjA{!3d8)V86p`BOIAfvtom?#f%d^60s0Mm-(qZP$hZR?c}j9N>AJam ztUbkRvQB1eN=|01f2LIeuIYX-uH{`$V6K#>)zUSY{gLq-&S{huQ(B!F>+!^|2P!hz zXi+F5#%&W|mBM+%l*awnZ1&s^F;VihYVH{60N86CyD#yhJQKa6Q;IevXP5=Z1O zw_KALw*{on8b{f%|Cz8b3Wp$0o(NP{s5~nm)xFnwPa%QLalw8d5nza}s}SrVxE7)h zVIqTxb4r9pAQG>NCWc5exjE27YAM)1)!y;^kmqE8lmbdvsuho*1+s>bA(Tu^hx@h0 zU*L}4S?S@D6Y(YO8II#`g5^+}YpkrAp1|dhQEGz8;BJ!iT0twdJY*!Cy-a|ep7hK< z9zU5GlP2Bq7HThbf$p1a1F)|e)k@?5=Gxu=1H-zS9c&-#t!ickEa#-tMxWGAH5Syq z^9eW1*WmuE)g-gMfs9nFHZ@A^Hge%)%Yrh97b>p{(vX#gP5H8>C177a{DqnYSE2(2 zKt`d?u~vLBp505m!>U|eIaI=f6I-8`Q5I4E@Z2H*iy0i<0>iAEE z0mYs&l{*!Uv0W1tcsv;w+kLb|QdVwKmvlmM0Y?;avbPe{`V@_4m+bI?T0typ02FmRZ`-E~@_ROPIYZ|8 z(?a4Gzxj`5N}AsqxWbanHYD3^8u*RZ4i)Ap^ot<{?$)63ti744zgOQ=PJt327_2UA zV`F4fpwv7C2oM0du6UtslPGt(UEm;Tjrh){x6HeU!)x=vKUS z+*vxHaX!S$z!ZyHL?k78nFz zl}E{^v=G+=EEm6D($Utob z1v^U16HuIk8zZn$>TrYz?%?tY!xU;xX2Fsz+5XG1ucR^sYO*UmzgHpI?K3{OkW{Y{ zUo!qkOlK9-7U5!Y)}=$|Xbi+NeEou7&ECIr7yLZko;Novml)7RDtcI)_&L{SpC5VOXmueiJ0Ze1e*x5{CziY7)<9@xpX-j!_SH=r2C+RyX)GHh&gp8xJQZUb$ zpi+Q%)Ou0*_Ak0n^QX<(cE%<;Fmww;dS&e?N)kM>9$z>mo+wauo?B^u8Ut>c1*ro6 z*m3t^c}d>R?xGg_#!H2ojs%oL;F2xXF<4-<{H?g{`9=51#x~f%?A5>#XhD6H6apEP zRmLGefkaYeUpE-jM#s&(g;j*?dj1K`Xoxvey`$)5lR9E#L|iu9cblF|#p_ab;-jhq z)&Qss4lgM~k#b7un)t0&F29W{%>ku0K#9!S4_qI`7t z5q)J@Kzw_yYSsN*=}0QuoAHL?-GK|!y0wXQm|Q3dfbL?gxmISjL>b8e3>~3;5Jf7c zyl|=qY$I|yORJ!x5pX_GG)T>u9M)(w(RvI4KpUki$KvHPhKLh@jPMT|S^!2g3;AxY zjK*gR{v4<=`i-PrDr;VS(PmgB5lz;sMkP*!=FdbHSSOxtwd^_%#9DuFLE0B|E#|Ty z+aIvcx(ZQR?l)qbZo*4t(dc`r!+=^TAIG1j_S@(X#mgeK55^hiJL?8E9%Vj+_p+yw zg}wDV*Lb(=Z4Be{mJFI#5!n2wl?$h14kd}o@g9DC%EQw@HSD&t{9b+6md$mzP2!SZ z+anvQ7+rT;9-+=iN-84Qb^7m|#kHM;xjvE^-M+{i%AZbRx+}iOiigyFj>fz0(T}pQ z5O;2R?Q*z=tlx)B@vQ<{9tV@oN0tX29o~Dg$+)|yL|(hghO?{92{GANl9hNS8?~z$-G)b) z(oMzudI8o=l_VLaysOVQ*GHDbl1yAHq+UA8fDmg zU64I*-09rFFCbO+e$FC?5Vl%NVD5gopD8ZqlwLHHIrCa>G}vkM`A|xXG%-92D_?*h zny}}~Ef+jQvq{XxMAu0i4rUE0*&#W=-jQb{XG$Ays2IOg4yb{E*!p@i_VJodfv;wJ zeB>-87fOYc%_V)VJ-e^9Fv%pfBeb2yc1n9;!eHOVPJBW>2A{|9p;+_)s3!>@+KD-w zKX2|}O$b=9V6TPUmOj%&c81@vZf7J=Moeh$*vHcjN_BpXviFQ@z*RekIox5Oabf%i7_`Pp_0&Atv%Tv4|I- zBLM&KnE>POfl`mrPs*(ig;U;*LcQL-4RoT4AGcKIaNBjpnz4ocMJ$w*%zW$sLelBy zaVA_B$C96GYH6{DFtVJx5*HU2ZW0|IpEKEAL|m3Y$u4}IqkCNGpnoVy4j~}OvoNmH z@;_+`vPof4QJEz!qY`YKXK&s=a#~Mgyr86{gn{Tg->e8}G9lzn(X_@l<-vUFr%;Lb zt!L|oUgLWR5fDwxu-0(6h`}|OzQ13xEtc^EQj|{a*8Ea1J$~6!APQ;>6{r*3f;Lm4zTpBZ8zkb~? zTHn}6%+N~9cN$cPmB3zGSy@5LkVPCCLRQc$n8uaEHELr8)A4lIXQ8rA4NvT)8aeQ;(ar7&1?96 z|NZi_6RKfBK`=U`Hk8e78voapA)6$6qY@Q-^z3_A+vZpDx;=lo*MzXMir8qU+%;8N zoyco+9gTIjsgDv_XfZ23>*6jn9vM#YfZGG^!J+de(zTKM)zh&<7mhmNG}=eya+ z-vj`}db7{{Q=G07?F>}&*RIvItrMskkQLi4b^-bPOYBcx5n&rRVJjx5BDGO^?Tf4T z=K6}k>l>G{M|z5#l13V04U;fO1Pqd0MjNbapYx&#VVEvOPM_pZ>D8-wx9eM^mU)C5T()#=g>S0?})*dVo^ zgi6+eB*oC$ni|E>i?e@>FaNbN+V8wwU-zz_4ag{hL$aQQ&ivyOhGZH2QNBqO++7XkpDBL- z# z`rIbFGE51+yZ!I(`9{9fi7-W7G)sJ^D$81&oX!q-ZiKoci~~9n&WJbr89>U0rKP3C zdCw}f=EC*bP)QXcQI@cR7-~2?$BqY?Pfbm+p1=LLY6fnFN?>3hnh>I32cJ?v6}wYO ztMOYaoEEok=@}n!RQ(L)`RD!82=>UyH^;NThU)y4 zmW=-X8?Cu%ah{o7$9rIIgUrSHyz{)hy<Y;9?7DHS548r=(cJawPYZeqZPOWX_n!@den}m!_UQeVRzvm~>d}?%PZaVVC5SkT4jm4sLyNTrSI(#$S1@ zm1_TtyQHK!k3nRPQs!rY-B&3xEJj!f<{mHXw%5|oc=CXeQ_$W0RiHorH{BCRocr;L z)YQ{U@65Bre0<1MTVG$0{D6U7!U}ePL4{|5lP#>xhrz+w^Q8$1zXh4=NXZ!(L{;VX z_xJOa(IwfaMhSaAnI8K54A!S|q+ltGS;W5Q0?w4CKWy*XPJhgurCxW{E#0s^eVooracHGN!J+zP&j~ zkv(K>d3kJpycJEjha;)WY_#<++4hzeD1>rkOHLKbojrSYc6#~=cf~?zyY7X#f;uQ} zs2h|7wXY3)kj0@gdoL0fDnR}a0eX1zShVB zYkT}rMPD6MgNR&5 z&a+#R6c!gb#W5I#((;BTa3618{Ti|sUo+Msn3E=fHb9G zEY54H`6-toc|$rSzIC7~h+kB+!+QBxh^_c&!MCak1=&Jv;E|ECeZ1=y&qc9oz@Y@Y z03_{QYg=oN@^hJW67cr2Ofg4d5fD&8gG|QEZST6Rzl!n-XgxwtX#&IAIs-8Y(LPPq zZiFHPkd*TH+!v!a`hexqmhwQ@1U2iq^QYTvkJMFkyl-X#!Hh3{;i$x8_H~$Zq8ZXR z%b+GhCw$}t)HDWV{iJKVvfK3^VTB%x1iB%`&FVMRc3*e?kt@hb>2O&4PA*{R>kEc# z%+}S?sG0NnKsvEYpSPg+fI7oK%z>1Qd=6m}&yG&95_JwKs*OnaEVlT&c_4+uTP~R> zn?)cu;qD(=6$nrxSB9534%~Z_mlqxxnFc5k^X?wan@-!*vvVW$T9l6Lg|FtJ`o@Ay zV>6O}2NU=i!FT$!wu;JQxz~&MvMJ5Wm+u)A*jVV>LEQHo2xJ!am>se)Jp_qpdHIeO zZC^|bn`+!e{de!)AxS-iLyCMxAq;Z6h;<8hT^w^eF-4iV*JCu6RoprG)vH%of}@#Q zqGu#P@0DkyLj&uDU`N!jtr2*6w&(bCv|onCBV8Wrx~X3fnH1PiEM*7> zY^XI*bqagMfS>+LvsHBwt{@o$8PP&krDc1c4zlb+AJ2f~u!K=WT&)sfJofGzvIn8^ zM9RERrZQ*oAbDrDnd?`d9|f}J-Q!jU<6HcOk2(aTuwz$3kV@k$Rne49G+X`{wX32G z&+a1(m#QUO!e_Co2dTbKMLXsiKKUkWQGD4K;c7Q=Yq3t7p8g*L!}m9NUsbXl2=rWuKxJ(n=6%Bd1oo81t>(7NqM3j_Q zVM|MkO3mg>sGrsQ`}@$5CzQzDMLG8Z0@!z!GC2XfSYMe#@<5Z(5C5jJN6F<-1+v)xIj7?|14Jd}@ULa^fStT)7CSaL^uNLN21sG_BAu?r*H$&TPier z;$uZ|^HJTdL@}TTK`T#nN9cFVrCXQ55<4WUt&jXY2{S-sk zGJMt+^^G~2(q|<9O|qzn&!0Xuy^?KIqA_guXQ zD<>P9?LyM4n72M_HXT{|tBc(Z*!5+nk2N)imMeB5j3?;s+~KY{u~JS?s$M`wS;;@W zuMxOMjlzvrRWG7;bH)Z@F}0m+upbm&xL)rOQoY-!3Hpu7-3CPQDL7ki787lFh^BB! zba9kWA&01Tz#GXwa2E}{zvgOZ`8c}JDhW}sVDqW|!5~r*x#rv1`qiyNM+`LNk%|@h z6ihRS-qr#TwlV8dd+WpqKLvAf-o)2sqzyc><{aMzetM3J#U}AABCP;XkvJD6f#owbGp@nAJG@e? znUD0t2rc|#t7Y~_E)X<1?z|Eh6?e z4uh)Aw&3YBmp*x{bA# zP5QYM_qW(wY4nR){9aP6Nv$nT;$S6pESK_XrM8iM185mV13g__T!se+wQwaGep4l* z9KF74lTl~P?g7@rdtbhQi~?AIY{9{Y;ghq+q|!0rgFy?_Tf4EX=O@8hqGwI}4am}V zPjzVlsd*5IV&mq(CN*Awe|yAYS58=rnn>~TvbsPO|t z+^|fBh+VQiQKEKHyz^@#(GCY!X-;4HiRbX=Id|@y>+Fz{xy+d}8s;@21*KV@iv2_^ zun1BR$Te+kvyhyI6%RJ}VWkS6snTbcewqX{TW0x*QM{&45?p$$Z?lq>p1-_59;Y4Vy4MOI$nj8Ilp)p2tx>?*XwAU9+Cl^~(J zbu-~oK$hS>VsS^dAwRGY2M!#F61EPzc+rL=ei+LybzXO0Jo}kanD!f9l*K= z=f?n75&s2ZVABNhjyyza-^Zp444%Bt1>+O*-TY&<0TuvfuSqWlAc;%a+n(Fn_KG^! zeA%}u2bIJ=$T8IhzknMDe8IvuA*nok{J0G&oM3a&=-?)y8wY+a3{TGhK#y9is;bI{ zk-mV+bOm5HM7EacfhwkB$N1gdH(&NJC0mXl0Ef$)1z7fg%aWPux-tb0t(PHV>##^; z!yPjxzt9A_W_TJA>^Bwau}rJk`vH2+&ysU;tOUpb@LO|9>iZP_C=4u$d zsUd>dx36hp!pn0?ns*u(tK9$yLI?vvOfVyPE=T(f2T5Rg2MwwNnLFP3GQTZfNRZv+ zH~tEL%GCcG8D3ujY?LjygILU?9FcC>7>AC$>x`Ha0kc(a{s?KXq70O~;xj-jMMqxe z$Cn?emlAS6y9s(+0sgxzfpC&YbqV1U1X1&tqT!gL2^L6tRsiL%_W`sS6xW4WPY$!M zgmb5WH~Zfqpim2UD|0Bke0-vTD!@)_pFG|QcOybd3tQHId;JEG-4_KWM{H8y&C~)t zu;kS3_T}My?Zb}HA7EqY%H9EHzQ*2OR1>xx>$k&ghfYTD~0Es^RMOVm1sY=*BK zAV2SUu)FPZIhLu?zP%^uy(f-;rCY0d@l~;DZCRjV@MyXNKya7>0i{}yyaHI#3ZTAG z;-P#SQOHLm_-ZPQ8|omWW+e=SqksN9KoR*9$gc2FR;^xKjiGeGa}TIvOMt=@uDxHl*_)jOhCT_~2! z{lH-gwAxA!u)UV7c>=@tb9=uGN~95QtvjO8$HdAbbJ^oxWQHGGQVx4XOJiuv3M|ao zpBW%vkC)Xu#LXq0Mh^tdA#1bgUT84BILtM-e=9R)3F<0_#O{_#hfYV#xRYh=gFAKZ z;oz4z1qsY`5`h4PS`3}@ppvPLBHp0m4Ui_>Up8c03K@YaCimHbC&dEoB~ZKPbzP7Z zl!|=30(oe5f3Uf+c0;N~P8aK@Bgn_s0hC}DO!>;{U@7G z?vfW!L&)um2m8)f;eoteWTrN>2eY8{<(I!&4b{gMK%JBv#*niXvTn8832}4wSc3D= z6RMVKZ&2}HT3A?lV(rJ3kZeIQ0DZD}yR(M=75JDS zPM?u@Z4VN_Zc!dyM2dfLBr){u#aAFls+!lj`GhA=$4#obz^w>&Oy@@G8rWaJSJoUJ zQw5o4M$4_9)el!v*kGrUSl6%63JN9u?Uz z3ECoJ1n96F#G9vvG+Xp}Syw1ozeI}0)?zqh3P+u0Teh(%U#BSJWj zHEV%<^~|z0Oz(7btiL)d8u{iHv3vB6uH7=z_N{K8vbgR7U zZJ_{8I}Q3QI5J2dW|yprv8kO>+5Q++8~aCu*fj0J3qPuV_A;&cWHL&6#%5(2NW{aFda48t-}x3vXHJnAIrxQ%(C!{L#2}>0$=*U|okgz1Y-c}|`Vmjx-9{1a0 zM{JO+F#}t@z{<@hr5BwNHdO|$E3ji^)#ef(W_G-XaxRrvrdx7^erD<#^?1g6Pkzrm zN=y%|K?WBvodXUXyo0@CvXASeS7sA#3$1+kYWjCa6C`)8Bz$MM5~0z}oZg%c$+Ui31FNe!)Abh>Ul9TVDZ6?-tNdNp)1HWYCfD zRimRn7vgZto#QV{z@nn2#AEE++w%t~dHxS)eEvNH{7Y5}c&M@VB{$3sDhl-3j=#7* z9wh*quBFfB!TD^mIrZ3^kB>5K}SG zzTo%%k9e8Dv9coE3ZMun>{s%qH6XwXLoxw}LmtwU<;e7(Yi~<}EJQ=I+|&*dn$gq$ zw~f&0d%*7kOdn#vf!;Y(!U5<1^!Zdm%4FgP$L>$jT&ZP3Dc~>*sS}Y! z@6>PVUF!=@h+>Nz6lHUBTR$PnpC1I%M8tg!QYttjst{dTmg_&g-0AmW+XaV`?U1Iw zgs0nt9uz9_MkD_dshmpkxfq)PY(+Z{ECGd(pG8p+cM;VZLX}?5+oB&mMMh!&5u_8G z5VjJ4D>@SLet*l@_Jyd-w61OSU69=_xO`t}{oj6;+P=Sq5^UIx98jzep(BDuhKWx= z$}nuGuS*$%6I*8BbFl-aVH(_ zSB1t4l-~BmP@D=8T-fFFZ5R*Y?FP7k0e=YBZ&6SL@9 z5y&p2k;+a@8XxFDbuEr`cd41ibmg8#j1e$V8eo8|R$M@n0+m;%>#7t~fsIG(S*h-; zP{rXYLI7&Hv-ZT6+{)vfKpKB0p(;LblLSggA6ua{_{#YwL~ZNDbD)?zx(3l~xVJ}+ zMdm9s(TI(JPWO6y=apkUA3$LcQH7MEfSaX#bs6#Y1No*4k_>X_BiTI`yR{U7MeW+n zfQx;uuFMD~?)K@sm%?t5C88maLQIW)U_yC?hekKR-R&=0BV0&(*THp<3nVTWRE+z# zPGdSPVQ4mVOzM9yv=7m69wQ>-g1YJGsP31N?qXBxvA^1#^uS#H4LU}WpiK7 z>UvR`gLTme_|MOguEQ)>l&@moCVvm&T56}xmFHElA*`NVvqDhg)y_F}!rOXlW;2Kv z588%m(|+vRAAdWlf<@<8H>f?g=v+KSu|#M(KyagzEf_vy_xSQy!=~W6u?h`0E$}OI zX_y$qBMaN(d^KSyCxF4_zU$2SNyLFXF>HveGXyOGXFm)!TSRH;$7Dd)+K`HI8-neu zw?679g(ZU>6#>u4k({c$l)?~5UJc6?%qruOf;saNN)S$GShM3HAVS`7VO>^*P8C-x z6U5vG^kLvDpnJ!`Zgp%8y0sJ$AC5S}$Inx`pTp|jdpeT3X95UhXbIHNW87kG2ak#d zaa-{6$DplG3Bwj_6)XvBOT$S1F!08i7mG@rC%(W8P4=?gOH8TVBL@ygeC;Z5lz|79 zu}4Hhj{d4Qz5p}=R#SI{0)?gUS&6o`aCab@<$u}RhWMJyp%)2R^9WB50uOdIM6UM! zeF|dNf5MHlR?yQZBYig2Zcr(Ju{Wy051QPP0&?;yojaEfVKI@O9x!5mvNK^8Nhklj zjMQNTb2aI+060Oamje$3prz34%Udq}>P0DcSDYhWP%K|`l9`D~a<>iGXrXmd>GcID zm7wKL$IN{obD}F=A6E+GIr`{5K^^Jcl#z}PiEGo~L4=;jC4+Wf9?%kl-SrBeIeH)+ znuq(dp{0$R7eXk|CiXGvJswxWgmaA|Z@{2*KTx3;*&S2NoMvD3bEc4z{b@uFbu|$a!PFsiJfyav$h5^KCmTCP9FaX zVY7C5V1lVp%cS$yMR0&V*FLds6tUrb_rP*^^4yAyv2>*SiV-d02-XB1^CD}!JyqhB zkUk#hEgf4dgKiOy)tiZj#H$PaFgczXhagQ0{;X_*Hv*|* zf;Fr_q%AFQ_m}I(0`QK#{&9kOFshk z3%hIAbiHrdyc91N0c)wvK)W`CO5%84B>gJ>#i4A70Xh<-K~HxNXvblfG&(VF*uDVs zkKbmFLKWX$fUZ%XQeiX50&$5rVj*fWVKL0Z#>+}S+A;-|49=MsgC|}5%Yf6y@E!Tu z8q{qo$SvIAyKmL)QK<4hYe8V*rq@{p0LPH}CB1yr!lW(Q8kv;qb0!LgyK1{pb+0^(B;`XN2@C_#41IX7fzg7BATT$^i+JuwZv4D9}O zm_HiI(8LAAemwc+c-Lyj+xp>ENdHag$9pr4T4x(4ohnwAa8TJoTV4Nr7m!_cJ=m;w zag1>BESrV&KV~|87YxiG?{+ZBdrmbaHPrwdjd~4zeWs6?h0rQ0zYKtD;)Xcj-rE8j zk;!2V#Ym6vpg1(*VD4j}vPQJ)`SO8FV*9r>OH8V@(@LP8R zQy;IOUldwGl3F z4O~EI(*<%VHy(H|UDLoPt$}*$p97xNznMg2aRB0 z89~gcXQzNU47*isiDd4|(2l=K%7T30sp&bTjYN;d`l1rfIXO8=xQslG^B7@49xH+h zMjYkg?gL@p4hd}~+=iLAmVuyixojEXk>t+gw@DSb>p*}~aPNdpBQT4PooRsj6=|YH z+Kg)cauT;f``5FDZqo&~qlQ1A_CozYo!^MJlTH})TID35;thzyS;y?|{uUj7 zzU3oN1qi&(JB?dNt2IoI% zz2He~tg&^!`xtv7>sGXBrf#E}4XLLUy7LoA8!Z_z2 zgIpsbnYa3B6K25A(NfCjZnaom6drCN7OSkH(q`=5Yk~a}W%PkRr~K8)xI6E^`mGE{ zE-Vj*8X6zb5b|8)xY5@434J|t_$f;S9! zU@NZ4SP-E{(>cfHVPU(lbnR-e0q6#d6poc1mW*0`;W#q0Hl8P zvBF>Xb^zXvv}_$wxZ?&`_zhI$BVqLl%S%Z@3>Y9+T1%jx5b#$LC`#>_Df7PV129AH zH5_!vd3bV9(eJQVAFEaCNO@r~LR)MFB@LY}+GtCiMsQPW#Aj|Lsr(g1pU1{#yZ8AJ zU2PY)))o9>JY>LPa4JnT8hx#6@!|Lj2&msaJ_0=)87IIa&(#Gxh@~wb7Xz&iFu6?% zAdgE>e_Yo2bqmBSv<&n^qi+23ESa`Suo>U(qGGj9Za9r>AYBcDI5@V!OxLqib58H+ zyNE^FU*WfI-|M_Vf_}=6q74^*KluIW5+_3^EEmj?Vea``IFzOT5-rx4ztyszP*lo| za`adVVYBU0{~?HeH(OsQpk9s0Wrt$oyGih;uZkEKJH8wET50GBgdVE+qPx4;hOcw} z_}3^AOcwI!9pQ7(_7ov7>Yailu>$8oU!|50V@)>hw8%BF?j%V5#hn zP;B#@y13S^Yl=K{2UT3X0@(z1sJRT}j9hhxCV0{d+`AXm2ptYs55g(Jks%KRfCBB! z>h~7QL+-f0AH9P=(&xLDZA}PvQ2zdaAO-4^hSUwXKf3$&fxm_Z9w;Fhudb+~8ueG)H$5Hy2pnU)P1??|$kyR>d7_rHM z(qx4?z;Ym09NXfW-d|h@kEp86H5F#Z^mc)H_kZ+EkoAk~-=%J_t;w^CKedC0^7PL} zoR~N>skmixA9=dW4HjRczu*#bI{!UqHt#wal-LyH%0N?&=hD^&ddhyDvJ++bR{VKJ zuq5Nl5UGnEVX)$e&nG5qVPz%Oo*iB~f9@P#MRi@BvR!v!!Rm}ZhG82|%UbEP6ml-m zH`LqDp!JA%f`v=gtBTO$zjX*f@vr(^*E>#zJt zXj!IWlO)(HHpd?1@+dCe0qapIG8#!(AJ!2OYWlj3*!JHu+xF!oG)s&kPY+{TTiT>D zN!bOyf+umYZv?cZdC@9q`kV6O>S+A;IE_rmvtPK~S{u4F1}AlwxZN(v57cm5fT4ZK zaAp*<)xx9*ODO zy^>@O`QSg24NopX|rSe-KE^_KM$!HigAm1L8?O-{1MB)Fvi$$)1eUZTh-T7Q>qx-$&a z>I3AM!z?Tw@-9~t6u_5WM^@Z{xBed=8$vo1lyhh`L?9FuqbK?ZrW9fh5wWh2H!ejiT9kV7YmPyvVjVV^=@06cF-2-;@U)B)LHXA zrZqoMFj?Ez*EeMixn-;&k&%(Vb8%tX=fUL@=BK=yRrU~EBrEbfJ&>Gqt*lN##*4V7 zs@mTFE&vO?H<_$2eID&s4bLXCe+~%u_0CxS!~G5NDh2KI^*!<6~N#N zL(kMj$FL}y2Tcz27M7Mca1!13*-`u)zJ&AJ+N^D8C@ekPmIymfh>o5uV z#_VsL%3Rm~?Nx&K7l;xM1F4-MUg-e4)U;*C01H z7ad9WeT?{XmJLHTeqB2@<_6Wn;jwctMVdv?tC>oN#F&_w$2(~r<&Ok}y1Fc*Hf*jW zU-k-`b|=9%Wp{ziRMX1JD)?>i1y~|r5kf~Y2-6Xkq36@Du=Eey$5?j~vgD#e7N**@ zW*jOqNfnTk_iZP!{{y;tYQJ%__}vjiD+Z)|ODz;t3SyuCBPwy`L- zR9lC82_ePm3f=zw1s>gM!GCU4RF!09od%O%2l?O*l$8b~Q_udpw2wEKa-=d|oOOK- zY?{ruSZ#iz%ym?7&CBzkrV*KuD-(IU2oGi)6I%+^p>#<9fHzI2%2&y_hmRiN7MD|$ zBgwfn9C@X-3D*(6LHALtq&qykkjg1}ZHqL+f-Eho?hakf9MhDwnviqsrf+Wj2@4CN zaPiK;no#!(i&Q&K^3pSKThcW3Lx^Nz62B6?RdQ`|z3WB8-_cn+<@IZgIukFgfCoML zIN(JpO4qUUtj=ji))(YqB^zv9h54-%p+cir4six$6WZh;q8cmFp3ix9-mPL|$pjbiN3VUhR4 z4Eg=G7pGSRh1%%d$~Q6I^h_D_6)6uw{*=-bWw`d#>fl69pEH2RS{AG}!^izG2Hk~r zvA%M-=MxhXy(LdI`S0C8%PA;4kV8?n*4CVN5>Q6>Akcs7^K5sug>ZDB0~g0T{-Y{Lb~lnt*3(uOknd6ri$(C>(E_}u*I>>%>x_E4nn-KaHH<)voY zAgYc2GNFAMaNNs9hFD9Q$* z9|n)7VR61`?xdrm!s})IEApO>wc5tzFB}%QkPt>pUZWBSYBm3dvA2M$vir71H=@#^ z2-1j%NP{#8C?$D+W}I+c{pO?PZSy6@V)@xSMM=iKk|d(*)E ztTpGDV~n}he9&?zg8cGPcUgG1MbCC6P=5?Ylss=p@hHr|0V&VtBm+ z0z?WVcFF;dZyRt2EdU0^e})SJpXvq}@R@hVJz}sZ14h-?n|kM)|Kl#CjXDK*U_``12##SXAh1p7!#POiQF8Ndk0p~@t#8#y>Zem394Lyl0h zBk`qX_L+ySK(zoBu3AhO?p^^HrQ_W4h7QSQvpKWe~?(zxVwIJ9^J6*tauA zGONQ|P?lAl0R`W_f-K~f9y8IX<7WQ?-d;rsmi2&wkGCFodW=Eu8PvVRaVk zx1Ajl-$#()C0%FuP*)I-dLwG(=aRV0dpptg>6Q0UUSktIu;+ zfT^Hfk%PR2$)6)?-6~P?VFQ_iX?JOyP}2DC***YL!h&XHn+xr7f=Q|LGT3T+vpxQ)==sbJ6fO=ulie{T73o!G8_Vie;$r6awWSR zQ<3_m$Fq=Unx~G9{HzCYJ(9io*ygMNPgeG7#?`)gKdjtr)2;rj%NWHc4sB4`P=p0; z7LJ0;P)x!EUybgZ72aZpnQMrEZ_EkKP{#Tdt`F9L8H$hq6%mmc)P6z8n;Obvz2=vd z!oR|}=8aN#ELIRB*vk635nqls6N4$rX=#i4cB;T8Wywduc6}T_rd>Vt{`BVU--&a6P<7F$C+|ndsRUEc7@Op)a_U!nyCjnetEcInT<*v=VEE-`T^IV%B@s!(1tJ=&y0 z;HICi4&P9%8qo&*u8z8`yl9~g&x?k_-d-=o)g@FwYbO?WY-j+H1<@q}R}2TpsW4tO zTH*jHj{15YQ?qF2p=lxf%qi6C5SIfg-V5&bcWc;k3Vu5~^H?8K_T8u`8b)W>^yvc$ z(+&f75*Dhu$2#R4SiOG@zc{fxi}Es`zfJc{@Y(kSpSpT$Prfk_uoC`>!m>g!k!uag z^BT~E+0wMxL?`7BWK{Oa%-1z>85l?k&3Ro1w#1xc-bXgOO+~fKOax-+&-LIQoCZzV%xb>JOm0yC0hSV1O zJpT7Voj%vXckZXPX$wSd)*DNho?iM6&{H0_Im4`(&{;MauZsa81#l-C8{azHT|e!6 zuMWXl+?dE%GMT%Mo^$>C4_k#fKk~2hN##Tvn_u{4HNi};rW?vHTrLIklrqz%L};mC z8xU^DaKe9!zKwb~j0-%_&qTAp&C6I1DiIz^n+1~?qMLO%yv+UusR8K zDdy_x3S5Nh;Pm(RKScT-Ui;p4J)F_KpKolq~^dTt8V)ri`Ej0~ClxHMLPA4jg&B!KHj= z1jaANe-}Jr`ZqDX-ky(d9eGCjHscq)Y+JYGNp{Vn93w{VWJH@Jwo&s=AxnHePn?!ptg&8kHeM@+mWPgvNsGtc=+h_*SYO z4V5;Ski+Hwch#G2+NC&Lul>0}GCjKSlwJn$W@=*y8p{JBDZ~XQ)gS{STYjWH>{LAg zl>xd?aI;cxT_oV$;(z9B7nA|;;k6TZAVbdO{Jb7o&dS0xx>AU7&}Eax%rHi2deOb5 ztSAIS$_eG7qPL%qtfS->yB`b9jyb-GxHnX_XKhz|q|&FIq&LmmA?2Ax(d8SF6U!(N zSoVU{luOz7S7!~ZES6Mw;qkC>+g!=PF?L_SSZq+xwACXdmaJJ z=@ZIbyPOpj)TK*5&($i+5=@OQd>i8b3xfu!u86!JN#XUenmLGBVce!ThUJ1#x;#C_Q$&ZyxN-~20aO;eDa@XBty~g2o8x$;po4EY6pyZmoIeCs+*gvN@F=9km|c2vG})#eJPOV@2^}*RZ`0HJI|x<*Qa)JMu;ktVqALY(vBEQ;H*|GO|U|#!Z;e;H+ zkN#)plpL0W@I!;N?iZ`c(=m{3n2G)Wbf0T!X%+WZXY%L1x;eYsdjZTTYy!7uQopLdsu@f9?p49>M|B1{8 zD(|rMWWZ!mrB?LX>eD)vs`<(^kJQ{T$o3J2jC4RN*hDRAj%%#C(Wn%z!F|XV=x}TE zM8ka5yY{{S!$6S%v{4a@nOeDL%@KeuY!COfjK&<;sO&?9RL79LR5^f#1+)X~mhD0Y zq-lj8P}R`!m5{Iq)T3hNXW-jJsn6bhU=P#8-N88`GAiV5vT}4iG4aIIJ+Z5!UyLT_ z&9gK1|I2+da2o@fDSyRh>t2Al6;waSIAo`NWIQ$R*mR{b>weq38c=vqdnMf za;LE;R3bjZ8&6T3Il;Y~wd(T~JH+PS2EJv6U-85y^r~imjKXNtduM&eRo*bW+h`Hw z10eC8+QA++>D;e`>{evy>a?^wK}=!e{~l6NnpU$C28DpTwp;`-IB|xV*Ps$`))F_~ zY1E5ln07k#v*@FklKI)mZE2_xA}D$}N1!O4Z#Krkvz^g;c^>3CtdRz$)%byj-k4=C z?y^TAnm$tfnS1$=;*ZRovU08x)xqYIA%d$pj!H8e0+Vw9!;AvU)jqzmMeMUqwK@rI zS(gP{F2oJ18v3C;P(8LosSCGy@aLl{#CrnVqViZ5=3jU2Xgr%5wmRmT$)#`~wa zSX^o=_35+bK6<{*vZk%RzS;%`RD5483I*AVis~%I$X~ySb&}utH_BY!d>aGHkYo# z>m7XEU13n5rU142)l_u0I>~U5Fp<8rX>ujE3d*33LE@x%gKzNutO4prQ={#+>B>!2a+=1&fJ=sp#+`Bo0NzC(urY{XGw!`N{p5J|>lB&w>y`cw z69ZM10|eE8cMQ6>;PS36xRDC3{5IW14K)CNgR6%5U~Wr(ca8NwW*hL_#k`^1wQojMz-?I1I2}cD^S9D z9fS?@yg_J&;1>WTDP=JSFoc{KUao!2NW&D5QeHU(BGYy~RRB%x09yjw(+VIT^S0ah z(y$P*&?%nDb;QZG7m6GHrI>u$^^E;bFbBGg2!>)DmzVNWY z`s0J_A@%^T65xsb@vN#*o|VhGCKRWkveAp@zmT3~nht^gA>$p}flG**H3Zyv)FBg@ zLHJHXexXhk6AzD?-IV^6|4{+KKTU@KsXP>hc`MZ@mM_kEIW#&rD zUVou;AbT0-3t!5oXv?*>#ZU?ss+)obgFYEU8^z9?pZ)bQ(#vvkHez=JfbiMIzJL^@ z%obw`aH?Ck)GzN31M=xa-gXEC=BBzx)~zs6UNBB(*THPQAB586M?wqi3R(K*0k8#y zoiz1jgU{U+K5a|uB>wouN0t^9$#myY^shli?j}c`P#QY>1pH4Zqx)GCw_s zW=lv!KTtkiTYF@R@N<0JMrApYh}spvE;Do-b$n~>OSAeXzh*4$D6E3bkk+ZRAIpca zsF#_8OQnEkykZ7tx&G=MxOiP#9;uRs2PTwV992mhr(WP-5{Tq4SrwAJ6gc|2RFh(~LI(KA`? z*{JWi?V^IQFc{emy>lU)l$r?^TrF~QgzNd)&T6`CbscC=)G-%jW})8a1E|H}>M9>; z^Tu^@SK*-#s%+k9LoFCEJ9rjL?sUL{eXST!wM>RSa2AxdLe~bcAwW-s4)ORnA6bVe z4nbZ~pb$ZvKxqg_;t&@A08c>7j?nW~0~5`vJ^z@|Xq!*F+9Paz8knCv3q{Ian-OLk zqpaho*B3#oGk~)m9UTp%cH?O8;Zl$gH`Dj3$rFzeXE#VrqJMVkuj`AQ&a_vPQ#}2BciGj9!E4H z#+6w2BgMLJavb}_Dq9@m0+JO(9JK}tgF*^)7AOzkyJ>jY0cYUSWt->>NZTx)Cs=n3 zP6fB51z#6Bt^USl625-ht8cNB{}`;CWrqn}_@%?^M%bZlRgn9@C6Fg5(M5;6G(b@9 zCEG`OC;~5x8Bl~fCxtoP4xYq?^B`5ArSBl*usAFmZs#8UkR}+&bnPl@v2@&vcw&kn zrA>8(j}A6232MEnwvtj7_i zsJmo<5f!rS1D}T zt$3yY9-anF2uJ=ZaHJ%n+U67Z4c5>^kSuZ9bsi;F*C_Bxu%fdTpnwb)USFm~|F%I) zgX0U=S5+fsdOZILAWh($Whs^dO$&4D9L`%|1)!VX#o=V6Tmo24(bHFF;#9-x*1$p_ zerMM`df2xC1JgGBRTfV$0Fhh7N`I`vscJNksDfx;CCJ9aeJ8@rDd>SxvCWfjZA`rC*3my(m6>jrs}Pnrx(gvvEKy}Uyp zMZ*6}mqR^aZP3`{%nFeQS{z`s^o6TpB&x#&()G_<(!Pqp>W`AF{E>9-gY)+Tx_5uq z=_@H#x4PPHPgbZWKu7*Pbj59qv{xv19YD`A0m|IFqP9joOG)}AUQ{*Z1xl)^*X;)n zm4H0+y2!m*4}5JlT~}O@csxPCch()RfSp`Xbo^(H1n!d%Z|-H^Mfo-{@>K3}y=g*| zbZ*ZNQS-c;{DJjX!JZ4yg0()2?3Y68sqUw z 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

    =>b1EdG8yg`P)t8o+I+DBSIpNA6 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

    ~qeXwg=7Md4CLQ=@>r__j^YEwij=<*&t(|DIX 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 EbYd<*B;t*&tF;J7C^ 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≶09hn55@ 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 z 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

    &X; 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

    bTG|Hhin59+;Yc`QQNWz`l1%=|3WOJX-qe-5h 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 dfjf>Hvas?OU( Date: Tue, 13 Aug 2024 16:33:07 -1000 Subject: [PATCH 521/627] Address feedback --- docs/paying-for-lit/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/paying-for-lit/overview.md b/docs/paying-for-lit/overview.md index ba487ce7..51834949 100644 --- a/docs/paying-for-lit/overview.md +++ b/docs/paying-for-lit/overview.md @@ -1,8 +1,8 @@ # Paying for Usage of Lit -The Lit networks, like other decentralized networks, manage their computational resources to ensure optimal performance and synchronization across their nodes. To maintain a responsive and balanced network, Lit implements a metering system for resource utilization. +Like other decentralized networks, Lit has a certain amount of computation available for users that's metered to allow for a responsive network with nodes that are able to stay in-sync with one another. -When using the Lit networks, whether it's the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) or the production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) - you'll need to pay for and reserve your usage. This is accomplished using *Lit test tokens* and *Capacity Credits*. +When using the Lit networks - whether it's the decentralized testnet ([Datil-test](../connecting-to-a-lit-network/testnets#datil-test)) or the production-ready mainnet beta ([Datil](../connecting-to-a-lit-network/mainnets#datil)) - you need to pay for and reserve your usage. This is accomplished using *Capacity Credits*. To streamline the payment process and facilitate integration into your apps, Lit offers two tools: the *Lit Relayer* and the *Payment Delegation Database*. These tools allow you to seamlessly incorporate Lit functionality without burdening your users with the need to acquire Lit test tokens or mint Capacity Credits on their own. From 621c3f505d7aa853a96bd32c1f54ab9459efe1e0 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 13 Aug 2024 16:36:30 -1000 Subject: [PATCH 522/627] Remove italic --- docs/paying-for-lit/minting-capacity-credit/via-explorer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/paying-for-lit/minting-capacity-credit/via-explorer.md b/docs/paying-for-lit/minting-capacity-credit/via-explorer.md index 57548f7d..4d53ceab 100644 --- a/docs/paying-for-lit/minting-capacity-credit/via-explorer.md +++ b/docs/paying-for-lit/minting-capacity-credit/via-explorer.md @@ -79,7 +79,7 @@ You can click the transaction hash in the notification to be taken to the Lit bl ### Getting the Credit Info -In order to use your new Capacity Credit to pay for the usage of the Lit network, you need to know the *Token ID* of the credit. You find this for the new credit, as well as all other credits minted by your account, by navigating the the [Profile](https://explorer.litprotocol.com/profile) page. +In order to use your new Capacity Credit to pay for the usage of the Lit network, you need to know the `Token ID` of the credit. You find this for the new credit, as well as all other credits minted by your account, by navigating the the [Profile](https://explorer.litprotocol.com/profile) page. On this page you will see all of the PKPs and RLI (Capacity Credit) tokens that are associated with your account. From 0de742cc17db0974cb890e6d5c38bb7549a16913 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 13 Aug 2024 16:48:15 -1000 Subject: [PATCH 523/627] Address feedback --- docs/paying-for-lit/delegating-credit.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/paying-for-lit/delegating-credit.md b/docs/paying-for-lit/delegating-credit.md index ffba5ab8..8de4e59b 100644 --- a/docs/paying-for-lit/delegating-credit.md +++ b/docs/paying-for-lit/delegating-credit.md @@ -13,7 +13,7 @@ For an overview of what requests to the Lit network require payment, go [here](. As we'll see later in the guide, these Auth Sigs are scoped to specific addresses and will be used to delegate usage of the credit to both yourself and your users to pay for network usage. -The following code will demonstrate how to produce the Capacity Delegation Auth Sig. +The guide will demonstrate how to produce the Capacity Delegation Auth Sig. To learn how to use the Auth Sig, go [here](./using-delegated-auth-sig.md). :::info The full implementation of the code used in this guide can be found [here](https://github.com/LIT-Protocol/developer-guides-code/blob/master/paying-for-lit/nodejs/src/delegateCapacityCredit.ts). @@ -23,6 +23,10 @@ The full implementation of the code used in this guide can be found [here](https Before continuing, you'll need to have minted a Capacity Credit. This can be done by following these guides: +:::note +In order to delegate usage of the Capacity Credit, you'll need to be able to generate a signature from the Ethereum account that minted the credit. +::: + - [Minting via the NFT contract](./minting-capacity-credit/via-contract.md) - [Minting via the Lit Explorer](./minting-capacity-credit/via-explorer.md) From 4f8c04cdc17b5b3e63f72e46ea9e4e859883bb11 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 13 Aug 2024 16:51:18 -1000 Subject: [PATCH 524/627] Add note --- docs/paying-for-lit/using-delegated-auth-sig.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/paying-for-lit/using-delegated-auth-sig.md b/docs/paying-for-lit/using-delegated-auth-sig.md index 2ee9454a..8bba3061 100644 --- a/docs/paying-for-lit/using-delegated-auth-sig.md +++ b/docs/paying-for-lit/using-delegated-auth-sig.md @@ -23,6 +23,10 @@ The full implementation of the code used in this guide can be found [here](https Before continuing, you should have an understanding of: +:::note +The address we will be using to make a request to the Lit network **needs** to have been included in the `delegateeAddresses` for the Capacity Delegation Auth Signature used in this guide. +::: + - [How to obtain a Capacity Delegation Auth Signature](./delegating-credit.md) - [How to generate Session Signatures](../sdk/authentication/session-sigs/get-session-sigs.md) - How to execute a [Lit Action](../sdk/serverless-signing/overview) From 9eba7328a97728e2a9027d54809964d65b55d70d Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 15 Aug 2024 15:45:22 -0400 Subject: [PATCH 525/627] Fixed Merge Error --- docs/sdk/authentication/session-sigs/intro.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 17c66236..cd45efdb 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -12,26 +12,13 @@ Generating a Session Signature is required whenever you want to request a specif Session Signatures are created using session keys, which are generated for you when you initiate a connection with the Lit network via the Lit SDK. These session keys are unique [`ed25519`](https://ed25519.cr.yp.to/) keypairs generated locally by the Lit SDK. They are used to sign all requests to the Lit network during the current session. -<<<<<<< HEAD While session keys and their signatures facilitate ongoing communication during a session, an `AuthSig` (Authentication Signature) is used to verify your identity and authorization to the Lit nodes. -======= -Generating session signatures is necessary whenever you want to request [Lit Abilities](https://v6-api-doc-lit-js-sdk.vercel.app/enums/types_src.LitAbility.html) (e.g. signing transactions with a particular PKP, executing a specified Lit Action) for your Lit Resources (e.g. PKPs, Lit Actions). ->>>>>>> fff2e3032678a21085b71b84748cda684d7e3060 An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message. It specifies the authorized Lit Resources and Lit Abilities of the session. The `AuthSig` allows Lit nodes to verify your authorization to perform requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. When you make a request, each Lit node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. This ensures that only authorized users can perform specific actions within the Lit network. This authentication system maintains the security and integrity of the Lit network. -<<<<<<< HEAD For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. -======= -An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message that specifies the Lit Resources and Lit Abilities of the session. - -The `AuthSig` allows Lit nodes to verify your authorization for requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. This ensures that only authorized users can perform specific actions within the Lit network. -When you make a request, each Lit Node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. - -This authentication system enhances the security of the Lit network. For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. ->>>>>>> fff2e3032678a21085b71b84748cda684d7e3060 ## SessionSigs Generation Diagram ![Session Signatures Diagram](../../../../static/img//SessionSigs.png) From f228204019f974c9730db72def1e50e510cfc174 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 15 Aug 2024 16:02:23 -0400 Subject: [PATCH 526/627] Additional structure changes --- .../authentication/session-sigs/get-session-sigs.md | 2 +- docs/sdk/authentication/session-sigs/intro.md | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 246977c3..398a5942 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,7 +6,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Generating SessionSigs: Using an AuthSig +# Generating SessionSigs: Using an Auth Sig This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what Session Signatures are and how they are to be used, please go [here](./intro). diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index cd45efdb..615053d4 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -16,7 +16,7 @@ While session keys and their signatures facilitate ongoing communication during An `AuthSig` is an [ERC-5573](https://eips.ethereum.org/EIPS/eip-5573) Sign-In with Ethereum Capabilities message. It specifies the authorized Lit Resources and Lit Abilities of the session. -The `AuthSig` allows Lit nodes to verify your authorization to perform requested actions, such as decrypting data, signing transactions with a PKP, or transferring PKP ownership. When you make a request, each Lit node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. This ensures that only authorized users can perform specific actions within the Lit network. This authentication system maintains the security and integrity of the Lit network. +The `AuthSig` allows Lit nodes to verify your authorization to perform actions like decrypting data, signing transactions with a PKP, or executing Lit Actions. When you make a request, each Lit node checks your `AuthSig` to confirm that your request aligns with the capabilities you previously defined. This ensures that only authorized users can perform specific actions within the Lit network. This authentication system maintains the security and integrity of the Lit network. For detailed explanations of this setup, please refer to our [Security Considerations](../security.md) page. @@ -25,13 +25,7 @@ For detailed explanations of this setup, please refer to our [Security Considera ## Paying for Usage of the Lit Network -You can facilitate payment for the Lit network within Session Signatures. - -The correct code implementation will depend on whether you're using the free-to-use `datil-dev` network, or one of the "paid" networks: `datil` or `datil-test`. - -Usage of the `datil` and `datil-test` networks require the use of [Lit Capacity Credits](../../../sdk/capacity-credits.md). Currently, Capacity Credits are paid for using the `tstLPX` token and don't require any real-world money. However, in the future you will need to pay real-world money for usage of Lit networks, and `datil` and `datil-test` are the Lit networks where this functionality is being tested and refined. - -To implement payments correctly, include a [`capacityDelegationAuthSig`](https://developer.litprotocol.com/sdk/capacity-credits#createcapacitydelegationauthsig) within the `capabilityAuthSigs` array when generating Session Signatures. +You can facilitate payment for usage the Lit network within Session Signatures. You can read more about paying for usage [here](../../../sdk/capacity-credits.md), and paying using Session Signatures [here](../../../sdk/capacity-credits.md). ## Storing `SessionSigs` From 0418d9838ba505c5cd779259364316fc75fa764e Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 15 Aug 2024 16:17:32 -0400 Subject: [PATCH 527/627] One character change --- docs/sdk/authentication/session-sigs/get-session-sigs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 398a5942..0d4e25a4 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -6,7 +6,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Generating SessionSigs: Using an Auth Sig +# Generating SessionSigs Using an Auth Sig This guide covers the `getSessionSigs` function from the Lit SDK. For an overview of what Session Signatures are and how they are to be used, please go [here](./intro). From 7c101d21945fa1d50222d8af14873650bfe7d18d Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Thu, 15 Aug 2024 16:44:34 -0400 Subject: [PATCH 528/627] A bit of reformatting, smaller image --- .../session-sigs/get-session-sigs.md | 4 ++-- docs/sdk/authentication/session-sigs/intro.md | 2 +- static/img/SessionSigs.png | Bin 453507 -> 171710 bytes 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/authentication/session-sigs/get-session-sigs.md b/docs/sdk/authentication/session-sigs/get-session-sigs.md index 0d4e25a4..808d8fc7 100644 --- a/docs/sdk/authentication/session-sigs/get-session-sigs.md +++ b/docs/sdk/authentication/session-sigs/get-session-sigs.md @@ -148,8 +148,8 @@ The nonce should be the latest Ethereum blockhash returned by the nodes during t If you want to clear the session key stored in the browser local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). ## Summary -The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). - After executing the example implementation above, you will have generated Session Signatures that allow you to request decrypting data that you have satisfied the Access Control Conditions for. +The full code implementation can be found [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/session-signatures/getSessionSigs). + diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index 615053d4..a970c52b 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -23,7 +23,7 @@ For detailed explanations of this setup, please refer to our [Security Considera ## SessionSigs Generation Diagram ![Session Signatures Diagram](../../../../static/img//SessionSigs.png) -## Paying for Usage of the Lit Network +### Paying for Usage of the Lit Network You can facilitate payment for usage the Lit network within Session Signatures. You can read more about paying for usage [here](../../../sdk/capacity-credits.md), and paying using Session Signatures [here](../../../sdk/capacity-credits.md). diff --git a/static/img/SessionSigs.png b/static/img/SessionSigs.png index 6ac3711a21b82bea753d5fbd925c5dc55a774c6d..286591788b539cf2c35ac3ea6db0a66e211a70b2 100644 GIT binary patch literal 171710 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 GLK6V0GvC_) literal 453507 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 z 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

    =>b1EdG8yg`P)t8o+I+DBSIpNA6 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

    ~qeXwg=7Md4CLQ=@>r__j^YEwij=<*&t(|DIX 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 EbYd<*B;t*&tF;J7C^ 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≶09hn55@ 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 z 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 n_oU!}8Sg%U6Ut(SbJnr8efSvL#xviLtGbNt;g Date: Thu, 15 Aug 2024 17:07:01 -0400 Subject: [PATCH 529/627] Link changes --- docs/sdk/authentication/session-sigs/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index a970c52b..afb70606 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -25,7 +25,7 @@ For detailed explanations of this setup, please refer to our [Security Considera ### Paying for Usage of the Lit Network -You can facilitate payment for usage the Lit network within Session Signatures. You can read more about paying for usage [here](../../../sdk/capacity-credits.md), and paying using Session Signatures [here](../../../sdk/capacity-credits.md). +You can facilitate payment for usage the Lit network within Session Signatures. You can read more about paying for usage [here](../../../paying-for-lit/overview.md), and paying using Session Signatures [here](../../../paying-for-lit/using-delegated-auth-sig.md). ## Storing `SessionSigs` From 041393cd4a8d312408d4b2a5127447d07ff4c8e2 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 15 Aug 2024 14:39:52 -1000 Subject: [PATCH 530/627] Remove outdated Auth Sig pages --- docs/sdk/authentication/auth-sig.md | 173 ---------------------------- docs/sdk/authentication/overview.md | 36 ------ sidebars.js | 5 - 3 files changed, 214 deletions(-) delete mode 100644 docs/sdk/authentication/auth-sig.md delete mode 100644 docs/sdk/authentication/overview.md diff --git a/docs/sdk/authentication/auth-sig.md b/docs/sdk/authentication/auth-sig.md deleted file mode 100644 index 1f40f43e..00000000 --- a/docs/sdk/authentication/auth-sig.md +++ /dev/null @@ -1,173 +0,0 @@ ---- -sidebar_position: 2 ---- - -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# Wallet Signatures - -An `AuthSig` is a wallet signature obtained from a user. Wallet signatures are required to communicate with the Lit Nodes and authorize requests. - -:::warning -The SDK v6.x.x and above will only accept SessionSigs to authenticate with the Lit Nodes. The Wallet Signatures or AuthSigs will no longer be accepted as a form of authentication. -::: - -## Format of an `AuthSig` - -You can use any signature compliant with EIP-4361, also known as Sign in with Ethereum (SIWE), for the `AuthSig`. However, the signature must be presented in an `AuthSig` object formatted like so: - -```json -{ - "sig": "0x18720b54cf0d29d618a90793d5e76f4838f04b559b02f1f01568d8e81c26ae9536e11bb90ad311b79a5bc56149b14103038e5e03fee83931a146d93d150eb0f61c", - "derivedVia": "web3.eth.personal.sign", - "signedMessage": "localhost wants you to sign in with your Ethereum account:\n0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a\n\nThis is a test statement. You can put anything you want here.\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 0xfe88c94d860f01a17f961bf4bdfb6e0c6cd10d3fda5cc861e805ca1240c58553\nIssued At: 2022-04-15T22:58:44.754Z", - "address": "0x1cD4147AF045AdCADe6eAC4883b9310FD286d95a" -} -``` - -In the `AuthSig` data structure: - -- `sig` is the signature produced by signing the `signedMessage` -- `derivedVia` is the method used to derive the signature (e.g., "web3.eth.personal.sign") -- `signedMessage` is the original message that was signed -- `address` is the public key address that was used to create the signature - -You can refer to the `AuthSig` type definition in the [Lit JS SDK Latest Version](https://js-sdk.litprotocol.com/interfaces/types_src.AuthSig.html). - -## Obtaining an `AuthSig` in the browser - -### Using `checkAndSignAuthMessage` - -The Lit SDK `checkAndSignAuthMessage()` function provides a convenient way to obtain an `AuthSig` from an externally-owned account in a browser environment. - -```js -import { checkAndSignAuthMessage } from '@lit-protocol/lit-node-client'; - -const authSig = await checkAndSignAuthMessage({ - chain: "ethereum", - nonce, -}); -``` - -:::note -Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. -::: - -When called, `checkAndSignAuthMessage` triggers a wallet selection popup in the user's browser. The user is then asked to sign a message, confirming ownership of their crypto address. The signature of the signed message is returned as the `authSig` variable. - -The function also stores the `AuthSig` in local storage, removing the need for the user to sign the message again. However, if the signature expires or becomes too old, the user may be prompted to sign the message again. - -`checkAndSignAuthMessage` checks the currently selected chain in the user's wallet. If user's wallet supports it, the function sends a request to the user's wallet to change to the chain specified in the `checkAndSignAuthMessage()` function call. This ensures that the user is interacting with the correct blockchain network. - -### Using `signAndSaveAuthMessage` - -If you prefer to implement your own wallet selection interface, you can call the `signAndSaveAuthMessage()` function, which offers more customization. To use this function, pass in an instance of an [ethers.js `Web3Provider` object](https://docs.ethers.org/v5/api/providers/other/#Web3Provider), the wallet address, the chain ID, and the signature expiration time. - -```js -import { ethConnect } from '@lit-protocol/auth-browser'; - -const authSig = await ethConnect.signAndSaveAuthMessage({ - web3: web3Provider, - account: walletAddress, - chainId: 1, - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), - nonce, -}); -``` - -:::note -Be sure to import `cosmosConnect` and `solConnect` for Cosmos and Solana respectively. -::: - -:::note -Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. -::: - -### Using EIP-1271 for Account Abstraction - -In general, smart contracts can't produce an `AuthSig` since they don't possess a private key. However, you can generate an `AuthSig` for smart contracts using [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271), a standard for verifying signatures when the account is a smart contract. - -Following the same data structure as above, you can format your smart contract `AuthSig` like so: - -- `sig` is the actual hex-encoded signature -- `derivedVia` must be "EIP1271" to inform the nodes that this `AuthSig` is for smart contracts -- `signedMessage` is any string that you want to pass to the `isValidSignature(bytes32 _hash, bytes memory _signature)` as the `_hash` argument -- `address` is the address of the smart contract - -:::note -The smart contract must implement the `isValidSignature(bytes32 _hash, bytes memory _signature)` function since the Lit Nodes will call this function to validate the `AuthSig`. Refer to the [EIP-1271](https://eips.ethereum.org/EIPS/eip-1271) docs to understand the `isValidSignature` function. -::: - -You can present the smart contract `AuthSig` object to the Lit Nodes just like any other `AuthSig`. - -Check out this [**React** project](https://replit.com/@lit/Smart-Contract-Authsig-EIP1271#smart-contract-authsig/src/App.js) for an example of how to generate and use a smart contract `AuthSig`. - -### Clearing Local Storage - -If you want to clear the `AuthSig` stored in local storage, you can call the [`disconnectWeb3` method](https://js-sdk.litprotocol.com/functions/auth_browser_src.ethConnect.disconnectWeb3.html). - -## Obtaining an `AuthSig` on the server-side - -If you want to obtain an `AuthSig` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `AuthSig` object. - -**Note:** The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake - -```js -const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); -const { ethers } = require("ethers"); -const siwe = require('siwe'); - -async function main() { - // Initialize LitNodeClient - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - alertWhenUnauthorized: false, - litNetwork: "datil-dev", - }); - await litNodeClient.connect(); - - let nonce = await litNodeClient.getLatestBlockhash(); - - // Initialize the signer - const wallet = new ethers.Wallet(''); - const address = ethers.getAddress(await wallet.getAddress()); - - // Craft the SIWE message - const domain = 'localhost'; - const origin = 'https://localhost/login'; - const statement = - 'This is a test statement. You can put anything you want here.'; - - // expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds - const expirationTime = new Date( - Date.now() + 1000 * 60 * 60 * 24 * 7 - ).toISOString(); - - const siweMessage = new siwe.SiweMessage({ - domain, - address: address, - statement, - uri: origin, - version: '1', - chainId: 1, - nonce, - expirationTime, - }); - const messageToSign = siweMessage.prepareMessage(); - - // Sign the message and format the authSig - const signature = await wallet.signMessage(messageToSign); - - const authSig = { - sig: signature, - derivedVia: 'web3.eth.personal.sign', - signedMessage: messageToSign, - address: address, - }; - - console.log(authSig); -} - -main(); -``` - - diff --git a/docs/sdk/authentication/overview.md b/docs/sdk/authentication/overview.md deleted file mode 100644 index 5a6db005..00000000 --- a/docs/sdk/authentication/overview.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -sidebar_position: 1 ---- - -import StateOfTheNetwork from "@site/src/pages/state-of-the-network.md"; -import FeedbackComponent from "@site/src/pages/feedback.md"; - -# Overview - - - -To interact with the nodes in the Lit Network, you will need to generate and present signatures. Currently, there are three ways to do this: - -## Obtain an `AuthSig` - -A wallet signature, also referred to as `AuthSig`, is a signature that proves you own a particular public key. Learn more about wallet signatures [here](../authentication/auth-sig.md). - -## Generate `SessionSigs` manually - -Session signatures, or `SessionSigs`, are signatures that are scoped to specific capabilities and resources. For example, you can set up `SessionSigs` to permit only the encryption and decryption of data during a particular time frame. - -`SessionSigs` are designed to be ephemeral and limited in scope, allowing for fine-grained control and enabling secure, seamless interactions with any platform integrating Lit. Get started with `SessionSigs` [here](../authentication/session-sigs/intro). - -## Generating `SessionSigs` automatically (Recommended) - -When interacting with PKP entities such as PKPEthersWallet or PKPClient, instead of passing `SessionSigs`, you can pass the context to generate them. By doing so, the PKP entity will be able to generate its `SessionSigs` automatically. - -This is the recommended way to interact with PKP entities as it will automatically handle refreshing the `SessionSigs` when they expire or network conditions have changed. - -:::note - -`SessionSigs` are only available on Ethereum and are heavily in development, so things may change. Be sure to use the latest version of the Lit JS SDK. - -::: - - diff --git a/sidebars.js b/sidebars.js index 5ba87079..109e1b7e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -160,13 +160,8 @@ const sidebars = { { type: 'category', label: 'Authentication', - link: { - type: 'doc', - id: 'sdk/authentication/overview', - }, collapsed: true, items: [ - 'sdk/authentication/auth-sig', { type: 'category', label: 'Session Signatures', From 23519d551cf1e6dc1b234caf5f74311edd1a3869 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 19 Aug 2024 22:44:46 -0700 Subject: [PATCH 531/627] updates: sign and combine section updates to the Lit Actions docs --- .../broadcast-and-collect.md | 15 +++++--- .../combining-decryption-shares.md | 37 +++++++++++-------- .../combining-signatures.md | 32 +++++++++------- docs/sdk/serverless-signing/overview.md | 23 ++++++++---- docs/sdk/serverless-signing/run-once.md | 18 ++++----- 5 files changed, 73 insertions(+), 52 deletions(-) diff --git a/docs/sdk/serverless-signing/broadcast-and-collect.md b/docs/sdk/serverless-signing/broadcast-and-collect.md index 0bb546a5..531f5dff 100644 --- a/docs/sdk/serverless-signing/broadcast-and-collect.md +++ b/docs/sdk/serverless-signing/broadcast-and-collect.md @@ -3,19 +3,24 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Broadcast and Collect Within an Action :::info -Only available on the `test` network + Only available on the Lit networks: + - `datil` + - `datil-test` + - `datil-dev` ::: ## Overview -Broadcast and collect allows you to run an operation on each node in the Lit network, collect their responses, and aggregate those responses into a single data set shared across all of the nodes. This is useful if you'd like the ability to perform additional operations over their responses, such as calculating a median or average. +The `broadcastAndCollect` function let's you run an operation on every node in the Lit network, collect their responses, and aggregate them into a single data set. This is useful if you'd like to perform additional operations over their responses, such as calculating a median or average. -When you call this function, the responses from each node will be grouped and then returned back to each node for further processing. +When you call this function, the responses from each node will be grouped together before being returned back to each node for further processing. # Broadcasting and Collecting a fetch response +The following Lit Action uses `broadcastAndCollect` to fetch the forecast using the weather.gov API before combining the responses from each Lit node into a single array. + ```js -const code = `(async () => { +const code = (async () => { const url = "https://api.weather.gov/gridpoints/TOP/31,80/forecast"; const resp = await fetch(url).then((response) => response.json()); const temp = resp.properties.periods[0].temperature; @@ -29,7 +34,7 @@ const code = `(async () => { const median = temperatures.sort()[Math.floor(temperatures.length / 2)]; Lit.Actions.setResponse({response: median}); })(); -`; +; const client = new LitNodeClient({ litNetwork: "datil-dev", diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 35be133d..48f20506 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -1,20 +1,24 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# Decrypting and Combining Within an Action +# Decrypting within a Lit Action :::info -Only available on the `test` network + Only available on the Lit networks: + - `datil` + - `datil-test` + - `datil-dev` ::: ## Overview -Decryption with Lit is typically done client-side by an authorized party at the time of access. The decryptAndCombine function allows you to decrypt data within a Lit Action. This function is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). +Decryption with Lit is typically performed client-side by an authorized user at the time of access. This process is documented [here](../access-control/quick-start.md). However, an alternative method of decryption is supported using Lit Actions. Specifically, the `decryptAndCombine` function can be used to decrypt data within a Lit Action. This is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). You can learn more about Lit's architecture [here](../../resources/how-it-works#sealed-and-confidential-hardware.md). -When you call `decryptAndCombine`, the decryption shares are collected from each Lit node before they are combined on a single node. +When you call `decryptAndCombine`, each Lit node's decryption shares are collected and combined on a single node and used to decrypt the given content. +The following doc will provide a complete walkthrough of using `decryptAndCombine`. We'll start by encrypting a string client-side before using a Lit Action to decrypt it. At the bottom of the page you'll find a complete example that demonstrates how you can use this functionality to decrypt an API key and perform a remote API call from within an Action. # Encrypting content -We will start by performing an `encrypt` operation as shown below using the `LitNodeClient`. This operation is entirely done on the client, so no need for any Lit Action involvement. +The first step is to encrypt your data. The encryption operation will be performed client-side *outside* of your Lit Action using the `LitNodeClient`: ```js const chain = 'ethereum'; @@ -48,9 +52,12 @@ We will start by performing an `encrypt` operation as shown below using the `Lit console.log("cipher text:", ciphertext, "hash:", dataToEncryptHash); ``` +Let's break this down. The first step was creating your Access Control Condition (ACC), which is used to specify who or under what conditions your data should be able to be decrypted. -## Using IPFS ID as an Access Control Parameter -When defining your Access Control Conditions rules you may wish to use `currentActionIpfsId` which may be added to your condition as shown below. This is useful for restricting decryption to only permit a single Lit Action to decrypt your data. +The second step was actually encrypting the static content (string, file, zip, etc...) using the `encryptString` function. This returns a ciphertext and dataToEncryptHash. The ciphertext, dataToEncryptHash, chain data, and any other metadata (such as your accessControlConditions) should be stored on your storage provider of choice. A solid choice is IPFS. + +## Using IPFS CID as an Access Control Parameter +For this example, you can set your Access Control parameter as `currentActionIpfsId` which can be accomplished using the snippet below. This will mean that only a specific Lit Action (based on the IPFS CID where it has been deployed) will be able to decrypt your data. No other party will ever have access. This is useful for situations where you want to restrict access to sensitive information, like an API key, so that it can only be decrypted by a specific Lit Action. ```js { @@ -66,15 +73,14 @@ When defining your Access Control Conditions rules you may wish to use `currentA } ``` -The ID will be included in the access control check when you use `decryptAndCombine` in an action. It's best to use the `currentActionIpfsId` when you want to share encrypted content that only a specific implementation can decrypt. This is useful for situations where you want to restrict access to sensitive information, like an API key, so that it can only be decrypted by a specific Lit Action. This way, the content will only be decrypted when `decryptAndCombine` is called within that action, keeping your credentials secure within the TEE (Trusted Execution Environment) of the Lit Network. - ## Using decryptAndCombine -Let's now take the `ciphertext` and `dataToEncryptHash` and use it from a Lit Action to decrypt within the TEE. -In the below example we set the `authSig` to `null` as a way to tell the Lit Action runtime to use the `authSig` which was provided to the node through the `executeJs` call's `sessionSigs`. -If you wish you may provide a different Auth Signature if the one provided from the session is not relevant to your use case. +We can now use the `ciphertext` and `dataToEncryptHash` that we got earlier during the encryption step and pass it into our Lit Action. + +In the below example we set the `authSig` to `null` as a way to tell the Lit Action runtime to use the `authSig` which was provided to the node when you call `executeJs` which returns `sessionSigs`. If you wish you may provide a different Auth Signature if the one provided from the session is not relevant to your use case. You can learn more about authentication and creating session signatures using these [docs](../authentication/session-sigs/intro.md). + ```js -const code = `(async () => { +const code = (async () => { const resp = await Lit.Actions.decryptAndCombine({ accessControlConditions, ciphertext, @@ -84,7 +90,7 @@ const code = `(async () => { }); Lit.Actions.setResponse({ response: resp }); -})();` +})(); const res = await client.executeJs({ code, @@ -99,6 +105,5 @@ const res = await client.executeJs({ console.log("decrypted content sent from lit action:", res); ``` - ## Decrypting an API Key From Within an Action -For a guide on decrypting an api for secure usage from within a lit action [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action) \ No newline at end of file +The following example demonstrates how you can decrypt an API key within a Lit Action. Once decrypted, the API key can be used to perform a remote API call for a given use case. Check out the example [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action) \ No newline at end of file diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index ec5ba7d8..139747d7 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -1,21 +1,26 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# Combine Signatures Within an Action +# Signing within a Lit Action :::info -Only available on the `test` network + Only available on the Lit networks: + - `datil` + - `datil-test` + - `datil-dev` ::: ## Overview -When you sign a message with using [Lit's PKPs](https://developer.litprotocol.com/v3/sdk/serverless-signing/quick-start), signature shares are typically combined client-side to form the complete signature. The `signAndCombineEcdsa` function allows you to combine these shares within a Lit Action, meaning they will remain within the confines of each Lit node's Trusted Execution Environment (TEE) and not exposed to the end client. +When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for performing operations where heightened security or privacy are paramount. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. -When you call `signAndCombineEcdsa`, the signature shares are collected from each Lit node before they are combined on a single node. +When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following doc will show you how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethersJS. A full example project is linked at the bottom of this page. ## Signing a message +The following Lit Action uses `signAndCombineEcdsa` to sign the message 'hello world'. + ```js -const code = `(async () => { +const code = (async () => { // sign "hello world" and allow all the nodes to combine the signature and return it to the action. const utf8Encode = new TextEncoder(); const toSign = utf8Encode.encode('Hello World'); @@ -29,9 +34,9 @@ const code = `(async () => { sigName, }); - // Set the response from the action as the signature share which will not need combination on the client + // Set the response from the action as the signature share which will not need to be combined on the client Lit.Actions.setResponse({ response: JSON.stringify(signature) }); -})()`; +})(); const client = new LitNodeClient({ litNetwork: "datil-dev", @@ -46,14 +51,15 @@ const res = await client.executeJs({ } }); -console.log("response from singing in a transaction: ", res); +console.log("response from signing in a transaction: ", res); ``` ## Signing a Transaction -With the built in `EthersJS` we are able to take advantage of the `serializeTxnForSigning` implementations and serialize a transaction, which is then signed, combined and then sent back to the client. + +The following Lit Action uses `EthersJS` to serialize and sign a transaction (combining signature shares from the Lit nodes) before sending it back to the client where it can be broadcasted to chain. ```js -const code = `(async () => { +const code = (async () => { const sigName = "sig1"; // example transaction let txn = { @@ -81,7 +87,7 @@ const code = `(async () => { response: signature }); })(); -`; +; const client = new LitNodeClient({ litNetwork: "datil-dev", @@ -98,6 +104,6 @@ const res = await client.executeJs({ console.log("result from singing in a lit action", res); ``` -## Using Signatures from Within A Lit Action +## Full Example: Signing Blockchain Transactions -For an example of how you may use the signature from `signAndCombineEcdsa` from within the Lit Action see [here](./run-once.md). +You can find a full example using the `signAndCombineEcdsa` function to sign and send a blockchain transaction on the Sepolia testnet [here](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/sign-and-combine/sign-and-combine-ecdsa). diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 651110f1..94aca00d 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -5,39 +5,46 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; :::info **STATE OF THE NETWORK** -Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet) and [Datil Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil today. +Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil today. ::: ## Introduction -Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you can encode logic that governs signing and encryption. +Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you have the ability to encode logic that governs the signing and encryption operations that take place on the Lit network. This logic is encoded within a Lit Action: an immutable program written in JavaScript that can be assigned to a key generated on Lit and used to dictate how it is used. -This logic is encoded using a Lit Action, an immutable JavaScript program that can be "assigned" to the key pairs generated on Lit and used to dictate how they are used. +A simple example would be a Lit Action that checks whether or not a given value is prime number. If the number is prime, the Lit Action should return a signature. If the number is not prime, the Lit Action should do nothing. When an input is received, the program would be executed by every Lit node independentally, in parallel. If the conditions were met (in this case, if the input was prime), each node would provision their key share down to the requesting client. When more than two-thirds of these shares have been collected, the complete signature can be formed. -A simple example would be a Lit Action that checks if a number is prime. To start, you would generate a [Programmable Key Pair](../../user-wallets/pkps/overview.md) and assign it to your Lit Action so that it could use it to produce a signature. This signature would only be returned if the conditions defined within your Lit Action were met. In this case, the Lit Action would verify that the input was indeed a prime number. Every Lit node would execute your program independently and provision their key share down to the requesting client. Only after more than two-thirds of these shares have been collected can the complete signature be formed. You can read more about how Lit works [here](../../resources/how-it-works.md). +By default, key shares will be combined client-side. However, you also have the ability to combine them *directly within* a Lit Action itself. This allows you to perform signing and decryption from within the confines of each Lit nodes [TEE](../../resources/how-it-works#sealed-and-confidential-hardware.md). Learn more about [signing within a Lit Action](../serverless-signing/combining-signatures.md) and [decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md) by following the docs. ## Features and Examples ### Features -- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to or even between blockchains with Programmable Key Pairs -- **Immutable**: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on a blockchain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. +- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to and between different blockchains using [Programmable Key Pairs](../../user-wallets/pkps/overview.md). +- **Immutable**: Like smart contracts, once a Lit Action has been published, it cannot be modified. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. - **Off-Chain Compatibility**: You can make arbitrary HTTP requests from a Lit Action, meaning you can pull in data from off-chain sources natively, without needing to use of a third party oracle. -### Examples +### Starter Examples - [Conditional signing](../serverless-signing/conditional-signing.md): Return a signature when your pre-defined conditions are met. - [Using fetch](../serverless-signing/fetch.md): Fetch data from other chains or off-chain sources in your Lit Action. - [Access control](../access-control/lit-action-conditions.md): Create Lit Action Conditions to permit decryption using off-chain data. - [Importing dependencies](../serverless-signing/dependencies.md): Use external packages in your Lit Action. +### Advanced Examples + +- [Combining signatures within a Lit Action](../serverless-signing/combining-signatures.md): Sign a message or transaction from within a Lit Action. +- [Decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md): Decrypt data for processing within a Lit Action. +- [Executing a Lit Action on a single node](../serverless-signing/run-once.md): Execute a Lit Action on a single node instead of across the entire network. +- [Broadcast and collect](../serverless-signing/broadcast-and-collect.md): Execute a Lit Action on each Lit node and aggregate their responses. Useful for performing operations over the return values, such as calaculating an average or median. + ## Getting Started You can create your first Lit Action by following this [quick start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: 1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. 2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. -3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio rebalancing on Uniswap. +3. [Developer Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master): Quick examples to get you started. diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index 0eae6004..116deb27 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -1,16 +1,14 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -# Run on a Single Node Within an Action - -:::note -Only available on the `test` networks -::: +# Running a Lit Action on a single node ## Overview Typically, when a Lit Action is called it is executed across every Lit node in parallel. With `runOnce`, you have the ability to perform specified operations on a single node, versus all of them at once. -The `runOnce` function takes another function as a parameter and a deterministic algorithm is used to select the Lit node that it will be executed on. This node will run the function and broadcast the result to all of the other Lit nodes. +The `runOnce` function takes another function as a parameter and a deterministic algorithm is used to select the Lit node that it will be executed on. The selected node will run the function and broadcast the result to all of the other Lit nodes. + +The following doc will provide an example of using the `runOnce` function to send a signed Ethereum transaction to chain. ## Using a Single Node to Send a Transaction @@ -19,7 +17,7 @@ The value returned from the function provided to `runOnce` must return a value w ::: ```js -const code = ` +const code = (async () => { const sigName = "sig1"; // example transaction @@ -55,7 +53,7 @@ const code = ` // will be sent by all nodes, even though only a single node did the computation Lit.Actions.setResponse(res); })() -` + const client = new LitNodeClient({ litNetwork: "datil-dev", }); @@ -88,6 +86,6 @@ When using `runOnce` you might want to set the result of the `runOnce` execution In the event all responses are the same then the strategy will not be relevant. ::: -For information on `signAndCombineEcdsa` see [here](./combining-signatures.md). +For information on using the `signAndCombineEcdsa` function see [here](./combining-signatures.md). -For information on `getRpcUrl` see [here](./get-rpc-url.md). +For information on using the `getRpcUrl` function see [here](./get-rpc-url.md). From d160b04d9d43d09ff371b96c1e9103a6355ef303 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Mon, 19 Aug 2024 22:48:13 -0700 Subject: [PATCH 532/627] fix --- docs/sdk/serverless-signing/combining-decryption-shares.md | 2 +- docs/sdk/serverless-signing/combining-signatures.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 48f20506..c9dafc96 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -105,5 +105,5 @@ const res = await client.executeJs({ console.log("decrypted content sent from lit action:", res); ``` -## Decrypting an API Key From Within an Action +## Complete Example: Decrypting an API Key From Within an Action The following example demonstrates how you can decrypt an API key within a Lit Action. Once decrypted, the API key can be used to perform a remote API call for a given use case. Check out the example [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action) \ No newline at end of file diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 139747d7..4204066d 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -13,7 +13,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for performing operations where heightened security or privacy are paramount. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. -When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following doc will show you how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethersJS. A full example project is linked at the bottom of this page. +When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following doc will show you how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethersJS. A complete example project is linked at the bottom of this page. ## Signing a message @@ -104,6 +104,6 @@ const res = await client.executeJs({ console.log("result from singing in a lit action", res); ``` -## Full Example: Signing Blockchain Transactions +## Complete Example: Signing Blockchain Transactions You can find a full example using the `signAndCombineEcdsa` function to sign and send a blockchain transaction on the Sepolia testnet [here](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/sign-and-combine/sign-and-combine-ecdsa). From 52eddbde3142174e13ae0ec12eaa7900f4c0afb0 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Tue, 20 Aug 2024 11:37:31 -0700 Subject: [PATCH 533/627] Update overview.md --- docs/sdk/serverless-signing/overview.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 94aca00d..ac83b47a 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -43,8 +43,9 @@ By default, key shares will be combined client-side. However, you also have the You can create your first Lit Action by following this [quick start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: -1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. -2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. -3. [Developer Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master): Quick examples to get you started. +1. [Lit Actions API docs](https://actions-docs.litprotocol.com/): An overview of all available functionality offered by Lit Actions. +2. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. +3. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. +4. [Developer Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master): Quick examples to get you started. From 0febabcb7c2e37c60829e5f1f51289c8614edfbf Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 20 Aug 2024 15:53:48 -1000 Subject: [PATCH 534/627] Refactor LA overview --- docs/sdk/serverless-signing/overview.md | 54 ++++++++++++++++--------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index 651110f1..f7bee907 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -2,42 +2,56 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decentralized Compute with Lit Actions -:::info -**STATE OF THE NETWORK** +Lit Actions are immutable JavaScript programs that run on a decentralized Lit network. They enable powerful, blockchain-agnostic applications with built-in cryptographic capabilities like signing and encryption. -Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet) and [Datil Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil today. +## What Makes Lit Actions Different -::: +Lit Actions are a paradigm shift in decentralized computation, offering a flexible and powerful tool for creating sophisticated decentralized applications. Here's some of what makes them unique: -## Introduction +- **JavaScript-Based**: They're written in JavaScript, executed in a secure Deno environment, and support the importing of third-party libraries such as [ethers.js](https://github.com/ethers-io/ethers.js) and [@solana/web3.js](https://github.com/solana-labs/solana-web3.js). +- **Blockchain Agnostic**: Unlike traditional smart contracts, Lit Actions can interact with multiple blockchains, allowing for cross-chain applications and broader interoperability. +- **Off-Chain Capabilities**: Lit Actions can make HTTP requests and interact directly with off-chain APIs, eliminating the need for complex oracle systems. +- **Programmable Signing**: Through integration with [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview.md), Lit Actions enable custom and automated, condition-based signing. +- **Decentralized Execution**: Lit Actions run on the distributed Lit Network, ensuring high availability and resistance to censorship. +- **Stateless but Stateful**: While Lit Actions themselves are stateless, they can interact with both on-chain and off-chain state, enabling new application designs not available using existing blockchains like Ethereum. -Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you can encode logic that governs signing and encryption. +## Example Lit Action Implementation -This logic is encoded using a Lit Action, an immutable JavaScript program that can be "assigned" to the key pairs generated on Lit and used to dictate how they are used. +To illustrate the power and flexibility of Lit Actions, let's consider a practical example: -A simple example would be a Lit Action that checks if a number is prime. To start, you would generate a [Programmable Key Pair](../../user-wallets/pkps/overview.md) and assign it to your Lit Action so that it could use it to produce a signature. This signature would only be returned if the conditions defined within your Lit Action were met. In this case, the Lit Action would verify that the input was indeed a prime number. Every Lit node would execute your program independently and provision their key share down to the requesting client. Only after more than two-thirds of these shares have been collected can the complete signature be formed. You can read more about how Lit works [here](../../resources/how-it-works.md). + > A Lit Action that signs a transaction only if the reported temperature for a specific area is below a defined threshold. -## Features and Examples +###### How it would work: -### Features +1. The Lit Action fetches temperature data from three different weather APIs. + - The choice of using three APIs is arbitrary, but demonstrates how data from multiple sources can be fetched from within a single Lit Action. +2. It calculates the average temperature from the these sources. +3. If the average temperature is below a predefined threshold, the Lit Action uses a Programmable Key Pair (PKP) to sign a transaction that transfers tokens on a blockchain. +4. The signed transaction can be broadcasted to the blockchain network immediately, or returned for later submission. -- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to or even between blockchains with Programmable Key Pairs -- **Immutable**: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on a blockchain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. -- **Off-Chain Compatibility**: You can make arbitrary HTTP requests from a Lit Action, meaning you can pull in data from off-chain sources natively, without needing to use of a third party oracle. +###### This example showcases how Lit Actions can: -### Examples +- Interact with on and off-chain APIs/RPCs +- Perform computations and make decisions using fetched data +- Use PKPs for conditional signing -- [Conditional signing](../serverless-signing/conditional-signing.md): Return a signature when your pre-defined conditions are met. -- [Using fetch](../serverless-signing/fetch.md): Fetch data from other chains or off-chain sources in your Lit Action. -- [Access control](../access-control/lit-action-conditions.md): Create Lit Action Conditions to permit decryption using off-chain data. -- [Importing dependencies](../serverless-signing/dependencies.md): Use external packages in your Lit Action. +## Use Cases + +Below are a couple examples of how Lit Actions can be leveraged: + +- **Cross-Chain DeFi:** Automate trades or manage portfolios across multiple blockchains. +- **Decentralized Access Control**: Create dynamic, condition-based access to digital assets or data. +- **Automated Governance**: Implement complex voting mechanisms or proposal execution across DAOs. +- **Decentralized Oracles**: Fetch, process, and provide verified off-chain data to smart contracts. +- **NFT Utilities**: Create dynamic NFT metadata or automate royalty distributions. +- **Privacy-Preserving Computations**: Perform computation without exposing sensitive data. ## Getting Started -You can create your first Lit Action by following this [quick start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: +You can create your first Lit Action by following this [Quick Start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: 1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. 2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. -3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio rebalancing on Uniswap. +3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio re-balancing on Uniswap. From 4b66dcbeb9197ba7fed79d7e2888ce57331a7114 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 20 Aug 2024 18:38:30 -1000 Subject: [PATCH 535/627] Add example links --- docs/sdk/serverless-signing/overview.md | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index f7bee907..e7b76b8d 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -50,8 +50,25 @@ Below are a couple examples of how Lit Actions can be leveraged: You can create your first Lit Action by following this [Quick Start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: -1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. -2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. -3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio re-balancing on Uniswap. +### Starter Examples + +- [Conditional signing](../serverless-signing/conditional-signing.md): Return a signature when your pre-defined conditions are met. +- [Using fetch](../serverless-signing/fetch.md): Fetch data from other chains or off-chain sources in your Lit Action. +- [Access control](../access-control/lit-action-conditions.md): Create Lit Action Conditions to permit decryption using off-chain data. +- [Importing dependencies](../serverless-signing/dependencies.md): Use external packages in your Lit Action. + +### Advanced Examples + +- [Combining signatures within a Lit Action](../serverless-signing/combining-signatures.md): Sign a message or transaction from within a Lit Action. +- [Decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md): Decrypt data for processing within a Lit Action. +- [Executing a Lit Action on a single node](../serverless-signing/run-once.md): Execute a Lit Action on a single node instead of across the entire network. +- [Broadcast and collect](../serverless-signing/broadcast-and-collect.md): Execute a Lit Action on each Lit node and aggregate their responses. Useful for performing operations over the return values, such as calaculating an average or median. + +### Resources + +- [Lit Actions API docs](https://actions-docs.litprotocol.com/): An overview of all available functionality offered by Lit Actions. +- [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. +- [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. +- [Developer Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master): Quick examples to get you started. From cd887501bb4115ca9b1fd59dd9bd1bb6202df381 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 20 Aug 2024 18:38:39 -1000 Subject: [PATCH 536/627] WIP uploading page --- docs/sdk/serverless-signing/uploading.md | 127 +++++++++++++++++++++++ sidebars.js | 1 + 2 files changed, 128 insertions(+) create mode 100644 docs/sdk/serverless-signing/uploading.md diff --git a/docs/sdk/serverless-signing/uploading.md b/docs/sdk/serverless-signing/uploading.md new file mode 100644 index 00000000..d156f1a7 --- /dev/null +++ b/docs/sdk/serverless-signing/uploading.md @@ -0,0 +1,127 @@ +# Uploading Your Lit Action + +Lit Actions are powerful JavaScript programs that run on a Lit network. This guide covers the two processes for providing your Lit Action to the Lit network. For more info on what a Lit Action is, go [here](./overview.md.). For a guide on getting started with Lit Actions, go [here](./quick-start.md). + +In order for the Lit nodes to be able to run your Lit Action, they need access to it's code. There are two methods of providing your code to the Lit network for execution: + +1. Providing a Code String +2. Uploading to IPFS + +## Choosing a Method + +##### Providing a Code String + +Generally, providing your Lit Action code as a code string is the recommended method for several reasons: + +- **Direct Supply**: Your code is supplied directly to each Lit node, eliminating any potential network latency or availability issues caused by fetching your code from the IPFS network. + - In our testing, the IPFS network *can* be slow to respond, and it does take time for files uploaded to the IPFS network to propagate and become available globally when requested. + - We have seen instances where a new Lit Action was uploaded to IPFS, but the Lit nodes were unable to retrieve the file from the IPFS network when executing the Lit Action - this is a result of the sometimes slow IPFS propagation time. +- **Reliability**: It removes the dependency on the IPFS network, ensuring your Lit Action is always available for execution. + +##### Uploading to IPFS + +While not generally recommended for most use cases, uploading your Lit Action to IPFS can be beneficial in certain scenarios: + +- **Large Code Base**: If your Lit Action is particularly large or complex, storing it on IPFS can help manage the size of your requests to the Lit network. +- **Code Reusability**: If you have a Lit Action that's used across multiple projects or applications, storing it on IPFS allows you to reference it by its Content Identifier (CID) without duplicating the code. +- **Version Control**: IPFS inherently provides a form of version control. Each change to your Lit Action results in a new CID, allowing you to maintain different versions easily. +- **Decentralized Storage**: If your application prioritizes complete decentralization, storing your Lit Action on IPFS aligns with this philosophy. + +## Providing a Code String + +This method is the more straightforward of the two, as we're simply providing our Lit Action code as a string when using one of the Lit SDK methods such as [executeJs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.ILitNodeClient.html#executeJs). + +:::note +Most of the code in the full implementation is boilerplate code used to connect to a Lit network and generate Session Signatures. If you don't understand all of the code, or want to learn more about it, you can go [here](../../connecting-to-a-lit-network/connecting.md) to learn about connecting to a network, and [here](../authentication/session-sigs/intro.md) to learn more about generating Session Signatures. +::: + +

    +Click here for full code implementation +

    + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LIT_RPC, LitNetwork } from "@lit-protocol/constants"; +import { + createSiweMessageWithRecaps, + generateAuthSig, + LitAbility, + LitActionResource, +} from "@lit-protocol/auth-helpers"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, +}); +await litNodeClient.connect(); + +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + authNeededCallback: async ({ + resourceAbilityRequests, + expiration, + uri, + }) => { + const toSign = await createSiweMessageWithRecaps({ + uri: uri!, + expiration: expiration!, + resources: resourceAbilityRequests!, + walletAddress: ethersSigner.address, + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient, + }); + + return await generateAuthSig({ + signer: ethersSigner, + toSign, + }); + }, +}); + +const litActionCode = ` +(async () => { + console.log("This is my Lit Action!"); +})(); +`; + +await litNodeClient.executeJs({ + sessionSigs, + code: litActionCode, +}); +``` + +

    +
    + +For this guide we'll focus on the very last couple of lines from the above full implementation: + +```ts +const litActionCode = ` +(async () => { + console.log("This is my Lit Action!"); +})(); +`; + +await litNodeClient.executeJs({ + sessionSigs, + code: litActionCode, +}); +``` + +First we're declaring our Lit Action as a [Immediately Invoked Function Expression](https://developer.mozilla.org/en-US/docs/Glossary/IIFE), i.e. a function that executes itself. This Lit Action is simple logging a string to the console, so you'd replace the `console.log` with your custom code. + +Next we're calling the `executeJs` method to create a request to the Lit network to execute our Lit Action. We provide our `litActionCode` string as the `code` parameter, and when the Lit network receives our request, our `string` will be parsed and executed on each Lit node. + +## Uploading to IPFS diff --git a/sidebars.js b/sidebars.js index 5ba87079..38e18a96 100644 --- a/sidebars.js +++ b/sidebars.js @@ -355,6 +355,7 @@ const sidebars = { collapsed: true, items: [ 'sdk/serverless-signing/quick-start', + 'sdk/serverless-signing/uploading', { type: 'category', label: 'Advanced Topics', From 7e065e42279e0ad490d624ad77156912b5b0ded1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 20 Aug 2024 22:29:09 -1000 Subject: [PATCH 537/627] Init uploading page --- docs/sdk/serverless-signing/uploading.md | 111 ++++++++++++++++++++++- 1 file changed, 107 insertions(+), 4 deletions(-) diff --git a/docs/sdk/serverless-signing/uploading.md b/docs/sdk/serverless-signing/uploading.md index d156f1a7..63d544af 100644 --- a/docs/sdk/serverless-signing/uploading.md +++ b/docs/sdk/serverless-signing/uploading.md @@ -1,6 +1,6 @@ # Uploading Your Lit Action -Lit Actions are powerful JavaScript programs that run on a Lit network. This guide covers the two processes for providing your Lit Action to the Lit network. For more info on what a Lit Action is, go [here](./overview.md.). For a guide on getting started with Lit Actions, go [here](./quick-start.md). +Lit Actions are powerful JavaScript programs that run on a Lit network. This guide covers the two processes for providing your Lit Action code to the Lit network. For more info on what a Lit Action is, go [here](./overview.md.). For a guide on getting started with Lit Actions, go [here](./quick-start.md). In order for the Lit nodes to be able to run your Lit Action, they need access to it's code. There are two methods of providing your code to the Lit network for execution: @@ -11,11 +11,9 @@ In order for the Lit nodes to be able to run your Lit Action, they need access t ##### Providing a Code String -Generally, providing your Lit Action code as a code string is the recommended method for several reasons: +Generally, providing your Lit Action code as a code string is the recommended method for the following reasons: - **Direct Supply**: Your code is supplied directly to each Lit node, eliminating any potential network latency or availability issues caused by fetching your code from the IPFS network. - - In our testing, the IPFS network *can* be slow to respond, and it does take time for files uploaded to the IPFS network to propagate and become available globally when requested. - - We have seen instances where a new Lit Action was uploaded to IPFS, but the Lit nodes were unable to retrieve the file from the IPFS network when executing the Lit Action - this is a result of the sometimes slow IPFS propagation time. - **Reliability**: It removes the dependency on the IPFS network, ensuring your Lit Action is always available for execution. ##### Uploading to IPFS @@ -27,6 +25,12 @@ While not generally recommended for most use cases, uploading your Lit Action to - **Version Control**: IPFS inherently provides a form of version control. Each change to your Lit Action results in a new CID, allowing you to maintain different versions easily. - **Decentralized Storage**: If your application prioritizes complete decentralization, storing your Lit Action on IPFS aligns with this philosophy. +However, it's important to note some potential drawbacks: + +- IPFS Network Latency: In our testing, the IPFS network can sometimes be slow to respond, which could delay the execution of your Lit Action. +- Propagation Time: It takes time for files uploaded to the IPFS network to propagate and become available globally. We have observed instances where a newly uploaded Lit Action was not immediately retrievable by Lit nodes due to slow IPFS propagation. +- Additional Network Call: Each Lit node needs to make an additional network call to fetch the code from IPFS, which can increase execution time. + ## Providing a Code String This method is the more straightforward of the two, as we're simply providing our Lit Action code as a string when using one of the Lit SDK methods such as [executeJs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.ILitNodeClient.html#executeJs). @@ -125,3 +129,102 @@ First we're declaring our Lit Action as a [Immediately Invoked Function Expressi Next we're calling the `executeJs` method to create a request to the Lit network to execute our Lit Action. We provide our `litActionCode` string as the `code` parameter, and when the Lit network receives our request, our `string` will be parsed and executed on each Lit node. ## Uploading to IPFS + +While providing a code string is generally recommended, there are scenarios where uploading your Lit Action to IPFS can be beneficial as covered above. To implement this, we pass the [IPFS Content Identifier (CID)](https://docs.ipfs.tech/quickstart/publish/#cids-explained) when calling Lit SDK methods such as [executeJs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.ILitNodeClient.html#executeJs). + +:::note +Most of the code in the full implementation is boilerplate code used to connect to a Lit network and generate Session Signatures. If you don't understand all of the code, or want to learn more about it, you can go [here](../../connecting-to-a-lit-network/connecting.md) to learn about connecting to a network, and [here](../authentication/session-sigs/intro.md) to learn more about generating Session Signatures. +::: + +
    +Click here for full code implementation +

    + +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LIT_RPC, LitNetwork } from "@lit-protocol/constants"; +import { + createSiweMessageWithRecaps, + generateAuthSig, + LitAbility, + LitActionResource, +} from "@lit-protocol/auth-helpers"; + +const ethersSigner = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); + +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false, +}); +await litNodeClient.connect(); + +const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + resourceAbilityRequests: [ + { + resource: new LitActionResource("*"), + ability: LitAbility.LitActionExecution, + }, + ], + authNeededCallback: async ({ + resourceAbilityRequests, + expiration, + uri, + }) => { + const toSign = await createSiweMessageWithRecaps({ + uri: uri!, + expiration: expiration!, + resources: resourceAbilityRequests!, + walletAddress: ethersSigner.address, + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient, + }); + + return await generateAuthSig({ + signer: ethersSigner, + toSign, + }); + }, +}); + +await litNodeClient.executeJs({ + sessionSigs, + ipfsId: process.env.LIT_ACTION_IPFS_CID, +}); +``` + +

    +
    + +For this guide we'll focus on the very last couple of lines from the above full implementation: + +```ts +await litNodeClient.executeJs({ + sessionSigs, + ipfsId: process.env.LIT_ACTION_IPFS_CID, +}); +``` + +To request the Lit network to pull your Lit Action code from IPFS when executing it, we pass the IPFS CID as the `ipfsId` parameter when calling `executeJs`. Your Lit Action's IPFS CID can be obtained after uploading and pinning your code using an IPFS node. If you aren't familiar with this process, you can go [here](https://docs.ipfs.tech/quickstart/publish/) to learn more. + +:::info +[Pinata](https://www.pinata.cloud/) is a popular free to use IPFS pinning service that's easy to use. +::: + +When the Lit network receives our request, each Lit node will make a request to the IPFS network to obtain the file with the IPFS CID you provided, parse it, and execute it. + +## A Note on Immutability + +One of the features of smart contracts on Ethereum is the immutability they can offer. For most contracts, you know that the code that lives as a specific address can never be changed, and you don't have to worry about the underlying code being swapped out for some malicious implementation. The same security guarantee can be made when using Lit Actions. + +If you upload your Lit Action code to IPFS, it's easy to reason about how this immutability is achieved. Because IPFS uses content-based addressing, i.e. the Content Identifier (CID) of your Lit Action is directly derived from its content, any change to the code, no matter how small, results in a completely different CID. This means, like Ethereum smart contract addresses, your users can check and verify the IPFS CID that's being used when making requests to the Lit network. + +However, when passing your Lit Action as a code string, the immutability guarantee isn't immediately apparent. What prevents a developer from passing malicious code when calling `executeJs`, compromising the trust users have placed in the application? This is where *permitted [Auth Methods](../../user-wallets/pkps/advanced-topics/auth-methods/overview)* play a crucial role in maintaining security. + +[Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview.md) allow you to grant specific Lit Actions the ability to use the PKP by adding their IPFS CIDs as a permitted Auth Method. Users can permit IPFS CIDs corresponding to Lit Actions they trust, and only those Lit Actions will be able to use their PKP to perform operations like signing data. Using any other Lit Action code will result in a unauthorized use error from the Lit nodes. + +You can obtain the IPFS CID for any Lit Action code without uploading it to IPFS using a package like [ipfs-only-hash](https://github.com/alanshaw/ipfs-only-hash). You, or your users, would then permit the IPFS CID for the Lit Action you/they trust as an Auth Method for any PKP to be used by the Lit Action. Afterwards, when the Lit Action code is submitted to the Lit network as a code string, each Lit node will take the code string, generate the IPFS CID for it, and check if it's a permitted Auth Method for the PKP. From 3afe3c0486cd9cd3aa51af9ecf71fe5162c4dd0e Mon Sep 17 00:00:00 2001 From: Anson Date: Wed, 21 Aug 2024 10:36:09 +0100 Subject: [PATCH 538/627] Trigger Build From a94a7d15af7e7b2afe67cd40bb8359496a8bf4ea Mon Sep 17 00:00:00 2001 From: Anson Date: Wed, 21 Aug 2024 10:41:09 +0100 Subject: [PATCH 539/627] Trigger Build From 519ea233a8dd90e0bdbac9ef9d9de9f1ec9ee8c6 Mon Sep 17 00:00:00 2001 From: zach-is-my-name Date: Wed, 21 Aug 2024 13:59:13 -0500 Subject: [PATCH 540/627] Update fetch.md Replace Serrano reference with "Datil networks" --- docs/sdk/serverless-signing/fetch.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/fetch.md b/docs/sdk/serverless-signing/fetch.md index dfdb667d..78f1fea2 100644 --- a/docs/sdk/serverless-signing/fetch.md +++ b/docs/sdk/serverless-signing/fetch.md @@ -85,7 +85,7 @@ runLitAction(); ``` ## Using fetch() to write data -You can also use fetch() inside a Lit Action to write data, but you **must be careful** (because the HTTP request will be run N times where N is the number of Lit Nodes). On Serrano, N is 10, so any fetch() request will be sent to the server 10 times. +You can also use fetch() inside a Lit Action to write data, but you **must be careful** (because the HTTP request will be run N times where N is the number of Lit Nodes). On Datil networks, N is 10, so any fetch() request will be sent to the server 10 times. **This is safe**, however, if the place you're writing the data to is *idempotent*. Idempotent means that applying the same operation over and over will not change the result. So for example, a SQL Insert is not idempotent, becuase if you run it 10 times, it will create 10 rows. On the other hand, a SQL Update is idempotent, because if you run it 10 times, it will only update the row once. So if you're using fetch() to write data, make sure the server you're writing to is idempotent. From 76a677f19e22abd79e72c596cf9196633d18bc04 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Wed, 21 Aug 2024 15:48:00 -0700 Subject: [PATCH 541/627] Update community.md --- Ecosystem/community.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ecosystem/community.md b/Ecosystem/community.md index 4c9b2b40..12a8daff 100644 --- a/Ecosystem/community.md +++ b/Ecosystem/community.md @@ -7,7 +7,7 @@ sidebar_position: 2 Welcome to Lit Protocol's Community Resources! Here you'll find everything you need to get involved and stay connected with our community. ## Join Our Developer Hub -- **Discord:** [Join our Discord server](https://discord.gg/GnTtFukpHq) and engage with fellow developers, ask questions, and stay updated. +- **Discord:** [Join our Telegram group](https://t.me/+aa73FAF9Vp82ZjJh) and engage with fellow developers, ask questions, and stay updated. ## Explore Examples and Educational Content - **GitHub Repository:** Discover a plethora of example projects, code demos, educational content, and more on our [Awesome Lit Repository](https://github.com/LIT-Protocol/awesome/blob/main/README.md). From 51b6e543b25aaa40d8789392576a1dc61a31d922 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 22 Aug 2024 11:48:43 -1000 Subject: [PATCH 542/627] Address feedback --- .../{uploading.md => deploying.md} | 21 ++++++++++++++++--- docs/sdk/serverless-signing/overview.md | 6 +++--- sidebars.js | 2 +- 3 files changed, 22 insertions(+), 7 deletions(-) rename docs/sdk/serverless-signing/{uploading.md => deploying.md} (89%) diff --git a/docs/sdk/serverless-signing/uploading.md b/docs/sdk/serverless-signing/deploying.md similarity index 89% rename from docs/sdk/serverless-signing/uploading.md rename to docs/sdk/serverless-signing/deploying.md index 63d544af..23b06801 100644 --- a/docs/sdk/serverless-signing/uploading.md +++ b/docs/sdk/serverless-signing/deploying.md @@ -1,6 +1,6 @@ -# Uploading Your Lit Action +# Deploying Your Lit Action -Lit Actions are powerful JavaScript programs that run on a Lit network. This guide covers the two processes for providing your Lit Action code to the Lit network. For more info on what a Lit Action is, go [here](./overview.md.). For a guide on getting started with Lit Actions, go [here](./quick-start.md). +Lit Actions are powerful JavaScript programs that run on a Lit network. This guide covers the two approaches to deploying your Lit Action to Lit. For more info on what a Lit Action is, go [here](./overview.md). For a guide on getting started with Lit Actions, go [here](./quick-start.md). In order for the Lit nodes to be able to run your Lit Action, they need access to it's code. There are two methods of providing your code to the Lit network for execution: @@ -9,6 +9,16 @@ In order for the Lit nodes to be able to run your Lit Action, they need access t ## Choosing a Method +Before diving into the approaches for deploying a Lit Action, you should understand the following constraints: + +### Lit Action Constraints + +Time and size constraints are imposed on Lit Actions to prevent malicious parties from performing DoS attacks and the over consumption of resources on the Lit nodes. The current limitations for Lit Actions are: + +- A `30 second` time limit +- A JSON payload size of `100MB` +- Memory usage (RAM) of `256MB` + ##### Providing a Code String Generally, providing your Lit Action code as a code string is the recommended method for the following reasons: @@ -16,6 +26,11 @@ Generally, providing your Lit Action code as a code string is the recommended me - **Direct Supply**: Your code is supplied directly to each Lit node, eliminating any potential network latency or availability issues caused by fetching your code from the IPFS network. - **Reliability**: It removes the dependency on the IPFS network, ensuring your Lit Action is always available for execution. +However, it's important to note some potential drawbacks: + +- **Increased Network Usage**: Because the entire Lit Action code must be sent with each request, this can lead to higher network usage and potentially slower overall execution times. +- **Transparency** Depending on where/how you make your source code available to your users, users may find it challenging to review and verify the exact code their [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview.md) are interacting with. + ##### Uploading to IPFS While not generally recommended for most use cases, uploading your Lit Action to IPFS can be beneficial in certain scenarios: @@ -219,7 +234,7 @@ When the Lit network receives our request, each Lit node will make a request to ## A Note on Immutability -One of the features of smart contracts on Ethereum is the immutability they can offer. For most contracts, you know that the code that lives as a specific address can never be changed, and you don't have to worry about the underlying code being swapped out for some malicious implementation. The same security guarantee can be made when using Lit Actions. +One of the features of smart contracts on Ethereum is the immutability they can offer. For most contracts, you know that the code that lives at a specific address can never be changed, and you don't have to worry about the underlying code being swapped out for some malicious implementation. The same security guarantee can be made when using Lit Actions. If you upload your Lit Action code to IPFS, it's easy to reason about how this immutability is achieved. Because IPFS uses content-based addressing, i.e. the Content Identifier (CID) of your Lit Action is directly derived from its content, any change to the code, no matter how small, results in a completely different CID. This means, like Ethereum smart contract addresses, your users can check and verify the IPFS CID that's being used when making requests to the Lit network. diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index e7b76b8d..a20fd0c4 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -26,14 +26,14 @@ To illustrate the power and flexibility of Lit Actions, let's consider a practic 1. The Lit Action fetches temperature data from three different weather APIs. - The choice of using three APIs is arbitrary, but demonstrates how data from multiple sources can be fetched from within a single Lit Action. 2. It calculates the average temperature from the these sources. -3. If the average temperature is below a predefined threshold, the Lit Action uses a Programmable Key Pair (PKP) to sign a transaction that transfers tokens on a blockchain. +3. If the average temperature is below a predefined threshold, the Lit Action uses a [Programmable Key Pair (PKP)](../../user-wallets/pkps/overview.md) to sign a transaction that transfers tokens on a blockchain. 4. The signed transaction can be broadcasted to the blockchain network immediately, or returned for later submission. ###### This example showcases how Lit Actions can: - Interact with on and off-chain APIs/RPCs - Perform computations and make decisions using fetched data -- Use PKPs for conditional signing +- Use PKPs for [conditional signing](./conditional-signing.md) ## Use Cases @@ -62,7 +62,7 @@ You can create your first Lit Action by following this [Quick Start](../serverle - [Combining signatures within a Lit Action](../serverless-signing/combining-signatures.md): Sign a message or transaction from within a Lit Action. - [Decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md): Decrypt data for processing within a Lit Action. - [Executing a Lit Action on a single node](../serverless-signing/run-once.md): Execute a Lit Action on a single node instead of across the entire network. -- [Broadcast and collect](../serverless-signing/broadcast-and-collect.md): Execute a Lit Action on each Lit node and aggregate their responses. Useful for performing operations over the return values, such as calaculating an average or median. +- [Broadcast and collect](../serverless-signing/broadcast-and-collect.md): Execute a Lit Action on each Lit node and aggregate their responses. Useful for performing operations over the return values, such as calculating an average or median. ### Resources diff --git a/sidebars.js b/sidebars.js index 38e18a96..372696e1 100644 --- a/sidebars.js +++ b/sidebars.js @@ -355,7 +355,7 @@ const sidebars = { collapsed: true, items: [ 'sdk/serverless-signing/quick-start', - 'sdk/serverless-signing/uploading', + 'sdk/serverless-signing/deploying', { type: 'category', label: 'Advanced Topics', From cf1c03bb4dfd9519cfa58aa88c0ace3eab33a698 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:51:28 -0700 Subject: [PATCH 543/627] Update docs/sdk/serverless-signing/broadcast-and-collect.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/broadcast-and-collect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/broadcast-and-collect.md b/docs/sdk/serverless-signing/broadcast-and-collect.md index 531f5dff..b9033bb9 100644 --- a/docs/sdk/serverless-signing/broadcast-and-collect.md +++ b/docs/sdk/serverless-signing/broadcast-and-collect.md @@ -20,7 +20,7 @@ When you call this function, the responses from each node will be grouped togeth The following Lit Action uses `broadcastAndCollect` to fetch the forecast using the weather.gov API before combining the responses from each Lit node into a single array. ```js -const code = (async () => { +const code = `(async () => { const url = "https://api.weather.gov/gridpoints/TOP/31,80/forecast"; const resp = await fetch(url).then((response) => response.json()); const temp = resp.properties.periods[0].temperature; From 63c5f033797faa04b428f4c2c6c1e81e2e008dad Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:51:38 -0700 Subject: [PATCH 544/627] Update docs/sdk/serverless-signing/broadcast-and-collect.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/broadcast-and-collect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/broadcast-and-collect.md b/docs/sdk/serverless-signing/broadcast-and-collect.md index b9033bb9..3049232f 100644 --- a/docs/sdk/serverless-signing/broadcast-and-collect.md +++ b/docs/sdk/serverless-signing/broadcast-and-collect.md @@ -34,7 +34,7 @@ const code = `(async () => { const median = temperatures.sort()[Math.floor(temperatures.length / 2)]; Lit.Actions.setResponse({response: median}); })(); -; +`; const client = new LitNodeClient({ litNetwork: "datil-dev", From 7b8616a8c867b7322174b7c8bfc8fa781ef799ae Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:51:54 -0700 Subject: [PATCH 545/627] Update docs/sdk/serverless-signing/overview.md Co-authored-by: awisniew207 --- docs/sdk/serverless-signing/overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index ac83b47a..d1c5df66 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -13,7 +13,7 @@ Using Lit Actions in production IS now supported on the [Datil Mainnet](../../ne Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you have the ability to encode logic that governs the signing and encryption operations that take place on the Lit network. This logic is encoded within a Lit Action: an immutable program written in JavaScript that can be assigned to a key generated on Lit and used to dictate how it is used. -A simple example would be a Lit Action that checks whether or not a given value is prime number. If the number is prime, the Lit Action should return a signature. If the number is not prime, the Lit Action should do nothing. When an input is received, the program would be executed by every Lit node independentally, in parallel. If the conditions were met (in this case, if the input was prime), each node would provision their key share down to the requesting client. When more than two-thirds of these shares have been collected, the complete signature can be formed. +A simple example would be a Lit Action that checks whether or not a given value is prime number. If the number is prime, the Lit Action should return a signature. If the number is not prime, the Lit Action should do nothing. When an input is received, the program would be executed by every Lit node independently, in parallel. If the conditions were met (in this case, if the input was prime), each node would provision their key share down to the requesting client. When more than two-thirds of these shares have been collected, the complete signature can be formed. By default, key shares will be combined client-side. However, you also have the ability to combine them *directly within* a Lit Action itself. This allows you to perform signing and decryption from within the confines of each Lit nodes [TEE](../../resources/how-it-works#sealed-and-confidential-hardware.md). Learn more about [signing within a Lit Action](../serverless-signing/combining-signatures.md) and [decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md) by following the docs. From 9d99f7518e28d2db4a7c80846923651cf2a62adc Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:52:05 -0700 Subject: [PATCH 546/627] Update docs/sdk/serverless-signing/combining-decryption-shares.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-decryption-shares.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index c9dafc96..b3890bff 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -54,7 +54,7 @@ The first step is to encrypt your data. The encryption operation will be perform ``` Let's break this down. The first step was creating your Access Control Condition (ACC), which is used to specify who or under what conditions your data should be able to be decrypted. -The second step was actually encrypting the static content (string, file, zip, etc...) using the `encryptString` function. This returns a ciphertext and dataToEncryptHash. The ciphertext, dataToEncryptHash, chain data, and any other metadata (such as your accessControlConditions) should be stored on your storage provider of choice. A solid choice is IPFS. +The second step was actually encrypting the static content (string, file, zip, etc...) using the `encryptString` function. This returns a `ciphertext` and `dataToEncryptHash`. The `ciphertext`, `dataToEncryptHash`, chain data, and any other metadata (such as your `accessControlConditions`) should be stored on your storage provider of choice. A solid choice is IPFS. ## Using IPFS CID as an Access Control Parameter For this example, you can set your Access Control parameter as `currentActionIpfsId` which can be accomplished using the snippet below. This will mean that only a specific Lit Action (based on the IPFS CID where it has been deployed) will be able to decrypt your data. No other party will ever have access. This is useful for situations where you want to restrict access to sensitive information, like an API key, so that it can only be decrypted by a specific Lit Action. From a5fa13f4b678064bfc188b4a56c7a8c798e0b7e9 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:52:11 -0700 Subject: [PATCH 547/627] Update docs/sdk/serverless-signing/combining-decryption-shares.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-decryption-shares.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index b3890bff..ddf77e68 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -80,7 +80,7 @@ We can now use the `ciphertext` and `dataToEncryptHash` that we got earlier duri In the below example we set the `authSig` to `null` as a way to tell the Lit Action runtime to use the `authSig` which was provided to the node when you call `executeJs` which returns `sessionSigs`. If you wish you may provide a different Auth Signature if the one provided from the session is not relevant to your use case. You can learn more about authentication and creating session signatures using these [docs](../authentication/session-sigs/intro.md). ```js -const code = (async () => { +const code = `(async () => { const resp = await Lit.Actions.decryptAndCombine({ accessControlConditions, ciphertext, From c0ed3ae9eb9e9d2a28bacca896c01d19973e58ac Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:52:17 -0700 Subject: [PATCH 548/627] Update docs/sdk/serverless-signing/combining-decryption-shares.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-decryption-shares.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index ddf77e68..364e983a 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -90,7 +90,7 @@ const code = `(async () => { }); Lit.Actions.setResponse({ response: resp }); -})(); +})();` const res = await client.executeJs({ code, From 5023f30cc3df00fa3b816cf35107a517cd1e7fab Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:52:51 -0700 Subject: [PATCH 549/627] Update docs/sdk/serverless-signing/combining-decryption-shares.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-decryption-shares.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 364e983a..4aa79bd6 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -106,4 +106,4 @@ console.log("decrypted content sent from lit action:", res); ``` ## Complete Example: Decrypting an API Key From Within an Action -The following example demonstrates how you can decrypt an API key within a Lit Action. Once decrypted, the API key can be used to perform a remote API call for a given use case. Check out the example [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action) \ No newline at end of file +The following example demonstrates how you can decrypt an API key within a Lit Action. Once decrypted, the API key can be used to perform a remote API call. Check out the complete code example [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action). \ No newline at end of file From 16b3589ad76cf0a398e97ea5eef967275f4e8897 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 22 Aug 2024 11:53:41 -1000 Subject: [PATCH 550/627] Add minifier note --- docs/sdk/serverless-signing/deploying.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/deploying.md b/docs/sdk/serverless-signing/deploying.md index 23b06801..01dc4624 100644 --- a/docs/sdk/serverless-signing/deploying.md +++ b/docs/sdk/serverless-signing/deploying.md @@ -16,7 +16,8 @@ Before diving into the approaches for deploying a Lit Action, you should underst Time and size constraints are imposed on Lit Actions to prevent malicious parties from performing DoS attacks and the over consumption of resources on the Lit nodes. The current limitations for Lit Actions are: - A `30 second` time limit -- A JSON payload size of `100MB` +- A max size of `100MB` + - Code minifiers can help address code size issues - Memory usage (RAM) of `256MB` ##### Providing a Code String From 27d5e963260e13b724450ad89d800e384ae750d2 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:53:56 -0700 Subject: [PATCH 551/627] fix --- docs/sdk/serverless-signing/broadcast-and-collect.md | 7 ------- docs/sdk/serverless-signing/combining-decryption-shares.md | 7 ------- docs/sdk/serverless-signing/combining-signatures.md | 7 ------- 3 files changed, 21 deletions(-) diff --git a/docs/sdk/serverless-signing/broadcast-and-collect.md b/docs/sdk/serverless-signing/broadcast-and-collect.md index 3049232f..cd4f3603 100644 --- a/docs/sdk/serverless-signing/broadcast-and-collect.md +++ b/docs/sdk/serverless-signing/broadcast-and-collect.md @@ -2,13 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Broadcast and Collect Within an Action -:::info - Only available on the Lit networks: - - `datil` - - `datil-test` - - `datil-dev` -::: - ## Overview The `broadcastAndCollect` function let's you run an operation on every node in the Lit network, collect their responses, and aggregate them into a single data set. This is useful if you'd like to perform additional operations over their responses, such as calculating a median or average. diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index 4aa79bd6..afccfd6e 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -2,13 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decrypting within a Lit Action -:::info - Only available on the Lit networks: - - `datil` - - `datil-test` - - `datil-dev` -::: - ## Overview Decryption with Lit is typically performed client-side by an authorized user at the time of access. This process is documented [here](../access-control/quick-start.md). However, an alternative method of decryption is supported using Lit Actions. Specifically, the `decryptAndCombine` function can be used to decrypt data within a Lit Action. This is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). You can learn more about Lit's architecture [here](../../resources/how-it-works#sealed-and-confidential-hardware.md). diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 4204066d..0247b9a6 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -2,13 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Signing within a Lit Action -:::info - Only available on the Lit networks: - - `datil` - - `datil-test` - - `datil-dev` -::: - ## Overview When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for performing operations where heightened security or privacy are paramount. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. From 13e71947ddb654d00294750d2fdf1acb10740405 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:54:30 -0700 Subject: [PATCH 552/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 0247b9a6..4b5a8d31 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -6,7 +6,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for performing operations where heightened security or privacy are paramount. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. -When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following doc will show you how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethersJS. A complete example project is linked at the bottom of this page. +When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethers.js. A complete code example is linked at the bottom of this page. ## Signing a message From 2e784e1bbf1a20a1d842087339de1b925e62dd42 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:54:39 -0700 Subject: [PATCH 553/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 4b5a8d31..89a92a38 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -4,7 +4,7 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; ## Overview -When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for performing operations where heightened security or privacy are paramount. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. +When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for when you want to make use of the signed data within your Lit Action e.g. submitting a signed transaction. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethers.js. A complete code example is linked at the bottom of this page. From 4b15a6e925b9c64501f1eda9f6d9b6fdb891f474 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:54:47 -0700 Subject: [PATCH 554/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 89a92a38..bf303e75 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -13,7 +13,7 @@ When you call the `signAndCombineEcdsa` function, signature shares are collected The following Lit Action uses `signAndCombineEcdsa` to sign the message 'hello world'. ```js -const code = (async () => { +const code = `(async () => { // sign "hello world" and allow all the nodes to combine the signature and return it to the action. const utf8Encode = new TextEncoder(); const toSign = utf8Encode.encode('Hello World'); From a53b57e085e094c735f68eac7d83ff0825938802 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:54:53 -0700 Subject: [PATCH 555/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index bf303e75..41c142f5 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -29,7 +29,7 @@ const code = `(async () => { // Set the response from the action as the signature share which will not need to be combined on the client Lit.Actions.setResponse({ response: JSON.stringify(signature) }); -})(); +})();` const client = new LitNodeClient({ litNetwork: "datil-dev", From 31714c0e6577104d18f6025131962c9520618026 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:55:01 -0700 Subject: [PATCH 556/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 41c142f5..4cd9dd1e 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -49,7 +49,7 @@ console.log("response from signing in a transaction: ", res); ## Signing a Transaction -The following Lit Action uses `EthersJS` to serialize and sign a transaction (combining signature shares from the Lit nodes) before sending it back to the client where it can be broadcasted to chain. +The following Lit Action uses `ethers.js` to serialize and sign a transaction (combining signature shares from the Lit nodes) before sending it back to the client where it can be broadcasted to chain. ```js const code = (async () => { From 7db0028019eca79d2f058c5f2bbee39743082a91 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:55:06 -0700 Subject: [PATCH 557/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 4cd9dd1e..8f7b519e 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -52,7 +52,7 @@ console.log("response from signing in a transaction: ", res); The following Lit Action uses `ethers.js` to serialize and sign a transaction (combining signature shares from the Lit nodes) before sending it back to the client where it can be broadcasted to chain. ```js -const code = (async () => { +const code = `(async () => { const sigName = "sig1"; // example transaction let txn = { From d326367c4c99ba4821ea38ec90f0b5a369355ecc Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:55:11 -0700 Subject: [PATCH 558/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 8f7b519e..29dcc27d 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -80,7 +80,7 @@ const code = `(async () => { response: signature }); })(); -; +`; const client = new LitNodeClient({ litNetwork: "datil-dev", From 652f2dbf63f0ed2f6701580eea91b2bee48aa1c5 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:56:50 -0700 Subject: [PATCH 559/627] Update combining-signatures.md --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 29dcc27d..3f296de0 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -99,4 +99,4 @@ console.log("result from singing in a lit action", res); ## Complete Example: Signing Blockchain Transactions -You can find a full example using the `signAndCombineEcdsa` function to sign and send a blockchain transaction on the Sepolia testnet [here](https://github.com/LIT-Protocol/developer-guides-code/tree/wyatt/sign-and-combine/sign-and-combine-ecdsa). +You can find a full example using the `signAndCombineEcdsa` function to sign and send a blockchain transaction on Lit's Yellowstone rollup [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/sign-and-combine-ecdsa/nodejs). From 316a94a95f4f7eedbc74fa3739984e95f7dbfed0 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:57:37 -0700 Subject: [PATCH 560/627] Update overview.md --- docs/sdk/serverless-signing/overview.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index d1c5df66..d06fae4b 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -2,13 +2,6 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decentralized Compute with Lit Actions -:::info -**STATE OF THE NETWORK** - -Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil today. - -::: - ## Introduction Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you have the ability to encode logic that governs the signing and encryption operations that take place on the Lit network. This logic is encoded within a Lit Action: an immutable program written in JavaScript that can be assigned to a key generated on Lit and used to dictate how it is used. From 70b66ea285e24a9e09ac48d6059dd69323fa7172 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:58:01 -0700 Subject: [PATCH 561/627] Update docs/sdk/serverless-signing/run-once.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/run-once.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index 116deb27..2d5403d0 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -17,7 +17,7 @@ The value returned from the function provided to `runOnce` must return a value w ::: ```js -const code = +const code = ` (async () => { const sigName = "sig1"; // example transaction From 6ece8cf9ec05d2c0a9cde96b6059dc3393fd13b5 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:58:06 -0700 Subject: [PATCH 562/627] Update docs/sdk/serverless-signing/run-once.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/run-once.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index 2d5403d0..2ea3ba18 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -53,7 +53,7 @@ const code = ` // will be sent by all nodes, even though only a single node did the computation Lit.Actions.setResponse(res); })() - +`; const client = new LitNodeClient({ litNetwork: "datil-dev", }); From 614acbcf480e1a3ed65c60af7ba858b45c0945d5 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:58:13 -0700 Subject: [PATCH 563/627] Update docs/sdk/serverless-signing/run-once.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/run-once.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index 2ea3ba18..20cbaaeb 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -86,6 +86,6 @@ When using `runOnce` you might want to set the result of the `runOnce` execution In the event all responses are the same then the strategy will not be relevant. ::: -For information on using the `signAndCombineEcdsa` function see [here](./combining-signatures.md). +For information on using the `signAndCombineEcdsa` function go [here](./combining-signatures.md). For information on using the `getRpcUrl` function see [here](./get-rpc-url.md). From be25efafbc6856af5e687ac0fdb72f19bcf705e9 Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:58:19 -0700 Subject: [PATCH 564/627] Update docs/sdk/serverless-signing/run-once.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/run-once.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index 20cbaaeb..326f3c12 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -88,4 +88,4 @@ In the event all responses are the same then the strategy will not be relevant. For information on using the `signAndCombineEcdsa` function go [here](./combining-signatures.md). -For information on using the `getRpcUrl` function see [here](./get-rpc-url.md). +For information on using the `getRpcUrl` function go [here](./get-rpc-url.md). From c6ce0c74b3a2a3b4fafe18ba1f497e857eec42bc Mon Sep 17 00:00:00 2001 From: alt <84208222+a1ttech@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:58:26 -0700 Subject: [PATCH 565/627] Update docs/sdk/serverless-signing/run-once.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/run-once.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/run-once.md b/docs/sdk/serverless-signing/run-once.md index 326f3c12..bf5e494e 100644 --- a/docs/sdk/serverless-signing/run-once.md +++ b/docs/sdk/serverless-signing/run-once.md @@ -8,7 +8,7 @@ Typically, when a Lit Action is called it is executed across every Lit node in p The `runOnce` function takes another function as a parameter and a deterministic algorithm is used to select the Lit node that it will be executed on. The selected node will run the function and broadcast the result to all of the other Lit nodes. -The following doc will provide an example of using the `runOnce` function to send a signed Ethereum transaction to chain. +The following code example uses the `runOnce` function to send a signed Ethereum transaction to chain. ## Using a Single Node to Send a Transaction From 4042afae58170d2afc6768e2c3766f617e8ac75c Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 22 Aug 2024 12:02:28 -1000 Subject: [PATCH 566/627] Formatting --- docs/sdk/serverless-signing/deploying.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/sdk/serverless-signing/deploying.md b/docs/sdk/serverless-signing/deploying.md index 01dc4624..f63e8ecd 100644 --- a/docs/sdk/serverless-signing/deploying.md +++ b/docs/sdk/serverless-signing/deploying.md @@ -7,20 +7,18 @@ In order for the Lit nodes to be able to run your Lit Action, they need access t 1. Providing a Code String 2. Uploading to IPFS -## Choosing a Method +## Lit Action Constraints -Before diving into the approaches for deploying a Lit Action, you should understand the following constraints: - -### Lit Action Constraints - -Time and size constraints are imposed on Lit Actions to prevent malicious parties from performing DoS attacks and the over consumption of resources on the Lit nodes. The current limitations for Lit Actions are: +Before diving into the approaches for deploying a Lit Action, it's important to understand the constraints that in place to prevent malicious parties from performing DoS attacks, and the over consumption of resources on the Lit nodes. The following are the time and size constraints that are imposed on Lit Actions: - A `30 second` time limit - A max size of `100MB` - Code minifiers can help address code size issues - Memory usage (RAM) of `256MB` -##### Providing a Code String +## Choosing a Deployment Method + +### Providing a Code String Generally, providing your Lit Action code as a code string is the recommended method for the following reasons: @@ -32,7 +30,7 @@ However, it's important to note some potential drawbacks: - **Increased Network Usage**: Because the entire Lit Action code must be sent with each request, this can lead to higher network usage and potentially slower overall execution times. - **Transparency** Depending on where/how you make your source code available to your users, users may find it challenging to review and verify the exact code their [Programmable Key Pairs (PKPs)](../../user-wallets/pkps/overview.md) are interacting with. -##### Uploading to IPFS +### Uploading to IPFS While not generally recommended for most use cases, uploading your Lit Action to IPFS can be beneficial in certain scenarios: From fd6305ceff761a11f42fce71c57105b5acd3e8d1 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 22 Aug 2024 12:06:11 -1000 Subject: [PATCH 567/627] Change titles --- docs/sdk/serverless-signing/deploying.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/deploying.md b/docs/sdk/serverless-signing/deploying.md index f63e8ecd..afb592d0 100644 --- a/docs/sdk/serverless-signing/deploying.md +++ b/docs/sdk/serverless-signing/deploying.md @@ -16,7 +16,7 @@ Before diving into the approaches for deploying a Lit Action, it's important to - Code minifiers can help address code size issues - Memory usage (RAM) of `256MB` -## Choosing a Deployment Method +## Comparing Deployment Methods ### Providing a Code String @@ -45,7 +45,7 @@ However, it's important to note some potential drawbacks: - Propagation Time: It takes time for files uploaded to the IPFS network to propagate and become available globally. We have observed instances where a newly uploaded Lit Action was not immediately retrievable by Lit nodes due to slow IPFS propagation. - Additional Network Call: Each Lit node needs to make an additional network call to fetch the code from IPFS, which can increase execution time. -## Providing a Code String +## Deploying Using a Code String This method is the more straightforward of the two, as we're simply providing our Lit Action code as a string when using one of the Lit SDK methods such as [executeJs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.ILitNodeClient.html#executeJs). @@ -142,7 +142,7 @@ First we're declaring our Lit Action as a [Immediately Invoked Function Expressi Next we're calling the `executeJs` method to create a request to the Lit network to execute our Lit Action. We provide our `litActionCode` string as the `code` parameter, and when the Lit network receives our request, our `string` will be parsed and executed on each Lit node. -## Uploading to IPFS +## Deploying Using IPFS While providing a code string is generally recommended, there are scenarios where uploading your Lit Action to IPFS can be beneficial as covered above. To implement this, we pass the [IPFS Content Identifier (CID)](https://docs.ipfs.tech/quickstart/publish/#cids-explained) when calling Lit SDK methods such as [executeJs](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.ILitNodeClient.html#executeJs). From 42c05b5d0086ca81d04f46013ad13c5e02b287b9 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 22 Aug 2024 12:21:21 -1000 Subject: [PATCH 568/627] Revert overview.md --- docs/sdk/serverless-signing/overview.md | 35 ++++++++++++------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/docs/sdk/serverless-signing/overview.md b/docs/sdk/serverless-signing/overview.md index d06fae4b..1b97d4f2 100644 --- a/docs/sdk/serverless-signing/overview.md +++ b/docs/sdk/serverless-signing/overview.md @@ -2,43 +2,42 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decentralized Compute with Lit Actions +:::info +**STATE OF THE NETWORK** + +Using Lit Actions in production IS now supported on the [Datil Mainnet](../../network/networks/mainnet) and [Datil Testnet](../../network/networks/testnet). Check out the [docs on migration](../../network/migration-guide) to learn how you can start building on Datil today. + +::: + ## Introduction -Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you have the ability to encode logic that governs the signing and encryption operations that take place on the Lit network. This logic is encoded within a Lit Action: an immutable program written in JavaScript that can be assigned to a key generated on Lit and used to dictate how it is used. +Blockchains like Ethereum have smart contracts that let developers encode logic to change state. With Lit, you can encode logic that governs signing and encryption. -A simple example would be a Lit Action that checks whether or not a given value is prime number. If the number is prime, the Lit Action should return a signature. If the number is not prime, the Lit Action should do nothing. When an input is received, the program would be executed by every Lit node independently, in parallel. If the conditions were met (in this case, if the input was prime), each node would provision their key share down to the requesting client. When more than two-thirds of these shares have been collected, the complete signature can be formed. +This logic is encoded using a Lit Action, an immutable JavaScript program that can be "assigned" to the key pairs generated on Lit and used to dictate how they are used. -By default, key shares will be combined client-side. However, you also have the ability to combine them *directly within* a Lit Action itself. This allows you to perform signing and decryption from within the confines of each Lit nodes [TEE](../../resources/how-it-works#sealed-and-confidential-hardware.md). Learn more about [signing within a Lit Action](../serverless-signing/combining-signatures.md) and [decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md) by following the docs. +A simple example would be a Lit Action that checks if a number is prime. To start, you would generate a [Programmable Key Pair](../../user-wallets/pkps/overview.md) and assign it to your Lit Action so that it could use it to produce a signature. This signature would only be returned if the conditions defined within your Lit Action were met. In this case, the Lit Action would verify that the input was indeed a prime number. Every Lit node would execute your program independently and provision their key share down to the requesting client. Only after more than two-thirds of these shares have been collected can the complete signature be formed. You can read more about how Lit works [here](../../resources/how-it-works.md). ## Features and Examples ### Features -- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to and between different blockchains using [Programmable Key Pairs](../../user-wallets/pkps/overview.md). -- **Immutable**: Like smart contracts, once a Lit Action has been published, it cannot be modified. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. -- **Off-Chain Compatibility**: You can make arbitrary HTTP requests from a Lit Action, meaning you can pull in data from off-chain sources natively, without needing to use of a third party oracle. +- **[Blockchain Agnostic](../../resources/supported-chains.md)**: Lit Actions can be used to read and write data to or even between blockchains with Programmable Key Pairs +- **Immutable**: Once a Lit Action has been published, it cannot be modified, just like a smart contract deployed on a blockchain. The [Mint/Grant/Burn](https://github.com/LIT-Protocol/js-sdk/blob/70a041a97b56ba1a75724ba2cd56952b622e8a7f/packages/contracts-sdk/src/abis/PKPNFT.ts#L376) function allows you to atomically link a PKP to an authorized set of Lit Actions, guaranteeing that a particular PKP can only ever be used to sign data from within the approved set. +- **Off-Chain Compatibility**: You can make arbitrary HTTP requests from a Lit Action, meaning you can pull in data from off-chain sources natively, without needing to use of a third party oracle. -### Starter Examples +### Examples - [Conditional signing](../serverless-signing/conditional-signing.md): Return a signature when your pre-defined conditions are met. - [Using fetch](../serverless-signing/fetch.md): Fetch data from other chains or off-chain sources in your Lit Action. - [Access control](../access-control/lit-action-conditions.md): Create Lit Action Conditions to permit decryption using off-chain data. - [Importing dependencies](../serverless-signing/dependencies.md): Use external packages in your Lit Action. -### Advanced Examples - -- [Combining signatures within a Lit Action](../serverless-signing/combining-signatures.md): Sign a message or transaction from within a Lit Action. -- [Decrypting within a Lit Action](../serverless-signing/combining-decryption-shares.md): Decrypt data for processing within a Lit Action. -- [Executing a Lit Action on a single node](../serverless-signing/run-once.md): Execute a Lit Action on a single node instead of across the entire network. -- [Broadcast and collect](../serverless-signing/broadcast-and-collect.md): Execute a Lit Action on each Lit node and aggregate their responses. Useful for performing operations over the return values, such as calaculating an average or median. - ## Getting Started You can create your first Lit Action by following this [quick start](../serverless-signing/quick-start.md) guide. Below, you'll find some additional resources and example implementations: -1. [Lit Actions API docs](https://actions-docs.litprotocol.com/): An overview of all available functionality offered by Lit Actions. -2. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. -3. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. -4. [Developer Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master): Quick examples to get you started. +1. [GetLit CLI](../../tools/getlit-cli.md): The GetLitCLI simplifies the Lit Action development process. +2. [Event Listener](../../tools/event-listener.md): Use the Lit Event Listener to create event-based triggers for Lit Actions. +3. [DeFi Automation](https://spark.litprotocol.com/automated-portfolio-rebalancing-uniswap/): Check out this example of using Lit Actions to automate portfolio rebalancing on Uniswap. From 87fe6d234da8e023754db876494113bcc9cad4d8 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 23 Aug 2024 16:11:19 -0400 Subject: [PATCH 569/627] update docs --- .../serverless-signing/conditional-signing.md | 140 +++++------------- 1 file changed, 36 insertions(+), 104 deletions(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 025fda2b..26981e3c 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -5,123 +5,55 @@ import TabItem from '@theme/TabItem'; # Conditional Signing -## Prerequisites - -- Familiarity with JavaScript -- Basic understanding of [serverless signing](../serverless-signing/quick-start.md) - ## Overview -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. This system can be used to uphold the integrity of data on the open web, in its function as a decentralized notary. +Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. -:::note -`toSign` data is required to be in 32 byte format. +## Prerequisites -The `ethers.utils.arrayify(ethers.utils.keccak256(...)` can be used to convert the `toSign` data to the correct format. -::: +- Knowlege of [SessionSigs](../authentication/session-sigs/intro) +- Knowledge of how to [generate an AuthSig](../migrations/6.0.0.md#generate-an-authsig) +- Basic understanding of [serverless signing](../serverless-signing/quick-start) -Installed the latest client on `datil-dev` +## Complete Code Example +The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/conditional-signing). There is both a browser and Node.js implementation of the code. -```bash -yarn install @lit-protocol/lit-node-client -``` +### Example Lit Action -Set up the Lit Action code to be run on the Lit nodes. +The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. It uses the [`checkConditions`](https://actions-docs.litprotocol.com/#checkconditions) function from the [Lit Actions SDK](https://actions-docs.litprotocol.com/). This performs a conditional check on the user's Ethereum balance, checking the balance of the wallet address that signed the Sign-in With Ethereum (EIP-4361)[https://eips.ethereum.org/EIPS/eip-4361] when creating the `AuthSig`, which is passed in as an argument to the Lit Action. The boolean returned will be used to determine whether the wallet will be used to sign `dataToSign` or not. + +:::note +The `toSign` data is required to be an array of 8-bit integers. An example of this is shown below: +```dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])),``` +::: ```jsx const litActionCode = ` -const go = async () => { - // test an access control condition - const testResult = await Lit.Actions.checkConditions({conditions, authSig, chain}) - - console.log('testResult', testResult) - - // only sign if the access condition is true - if (!testResult){ - return; +(async () => { + try { + // test an access control condition + const testResult = await Lit.Actions.checkConditions({ + conditions, + authSig, + chain, + }); + + if (!testResult) { + LitActions.setResponse({ response: "address does not have 1 or more Wei on Ethereum Mainnet" }); + return; + } + + const sigShare = await LitActions.signEcdsa({ + toSign: dataToSign, + publicKey, + sigName: "sig", + }); + } catch (error) { + LitActions.setResponse({ response: error.message }); } - - const message = new Uint8Array( - await crypto.subtle.digest('SHA-256', new TextEncoder().encode('Hello world')) - ); - // this is the string "Hello World" for testing, hashed with sha-256 above. - const toSign = message; - // this requests a signature share from the Lit Node - // the signature share will be automatically returned in the HTTP response from the node - const sigShare = await LitActions.signEcdsa({ toSign, publicKey: "0x02e5896d70c1bc4b4844458748fe0f936c7919d7968341e391fb6d82c258192e64", sigName: "sig1" }); -}; - - - -go(); +})(); `; ``` -Obtain an AuthSig - -This AuthSig is used for the conditional check in our Lit Action. The address of the key that signed the message to produce this AuthSig will be used as the `:userAddress` when the Lit Action checks that the balance is greater than 1 Wei. - -```jsx -// you need an AuthSig to auth with the nodes -// normally you would obtain an AuthSig by calling LitJsSdk.checkAndSignAuthMessage({chain}) - -const authSig = { - sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", - address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", -}; - -``` - -Obtain a [SessionSigs](../../sdk/authentication/session-sigs/get-session-sigs) to be used for authenticating with the Lit network. Without a `SessionSigs`, you will not be able to make requests to the network. - -Run the Lit Action code on the Lit nodes: - -```jsx - -const runLitAction = async () => { - -const litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "datil-dev", - }); - -await litNodeClient.connect(); - -const signatures =await litNodeClient.executeJs({ - code: litActionCode, - sessionSigs, - jsParams: { - conditions: [ - { - conditionType: "evmBasic", - contractAddress: "", - standardContractType: "", - chain: "ethereum", - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "1", - }, - }, - ], - authSig: { - sig: "0x2bdede6164f56a601fc17a8a78327d28b54e87cf3fa20373fca1d73b804566736d76efe2dd79a4627870a50e66e1a9050ca333b6f98d9415d8bca424980611ca1c", - derivedVia: "web3.eth.personal.sign", - signedMessage: - "localhost wants you to sign in with your Ethereum account:\n0x9D1a5EC58232A894eBFcB5e466E3075b23101B89\n\nThis is a key for Partiful\n\nURI: https://localhost/login\nVersion: 1\nChain ID: 1\nNonce: 1LF00rraLO4f7ZSIt\nIssued At: 2022-06-03T05:59:09.959Z", - address: "0x9D1a5EC58232A894eBFcB5e466E3075b23101B89", - }, - chain: "ethereum", - }, - }); - console.log("signatures: ", signatures); -}; - -runLitAction(); -``` - \ No newline at end of file From 13ae9295df8e86027ba74cbd077c68cc3f1c7eba Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 23 Aug 2024 16:17:53 -0400 Subject: [PATCH 570/627] Fix typo --- docs/sdk/serverless-signing/conditional-signing.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 26981e3c..732cc8d6 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -21,10 +21,11 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. It uses the [`checkConditions`](https://actions-docs.litprotocol.com/#checkconditions) function from the [Lit Actions SDK](https://actions-docs.litprotocol.com/). This performs a conditional check on the user's Ethereum balance, checking the balance of the wallet address that signed the Sign-in With Ethereum (EIP-4361)[https://eips.ethereum.org/EIPS/eip-4361] when creating the `AuthSig`, which is passed in as an argument to the Lit Action. The boolean returned will be used to determine whether the wallet will be used to sign `dataToSign` or not. +The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. It uses the [`checkConditions`](https://actions-docs.litprotocol.com/#checkconditions) function from the [Lit Actions SDK](https://actions-docs.litprotocol.com/). This performs a conditional check on the user's Ethereum balance, checking the balance of the wallet address that signed the Sign-in With Ethereum [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) when creating the `AuthSig`, which is passed in as an argument to the Lit Action. The boolean returned will be used to determine whether the wallet will be used to sign `dataToSign` or not. :::note The `toSign` data is required to be an array of 8-bit integers. An example of this is shown below: + ```dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])),``` ::: From a254be9f39b966c6811a2562b764597f278b2696 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 23 Aug 2024 19:41:45 -0400 Subject: [PATCH 571/627] More fixes --- docs/sdk/serverless-signing/conditional-signing.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 732cc8d6..6b7eae16 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; # Conditional Signing ## Overview -Lit Actions inherit the powerful condition checking that Lit Protocol utilizes for Access Control. This means that you can easily check any on-chain condition inside a Lit Action, which can be useful for generating proofs. +Lit Actions inherit the powerful condition checking ability that Lit Protocol utilizes for [access control](../access-control/intro). You can easily check on or off-chain conditions inside of Lit Actions to generate proofs and condition-based transaction automations The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. @@ -14,7 +14,7 @@ The below example will check if the user has at least 1 Wei on Ethereum, only re - Knowlege of [SessionSigs](../authentication/session-sigs/intro) - Knowledge of how to [generate an AuthSig](../migrations/6.0.0.md#generate-an-authsig) -- Basic understanding of [serverless signing](../serverless-signing/quick-start) +- Basic understanding of [Lit Actions](../serverless-signing/quick-start) ## Complete Code Example The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/conditional-signing). There is both a browser and Node.js implementation of the code. @@ -57,4 +57,9 @@ const litActionCode = ` `; ``` +## Summary +This guide demonstrates how to use Lit Actions to conditionally sign a message or transaction. + +If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our Advanced uses of Lit Actions [here](https://developer.litprotocol.com/category/advanced-topics-1). + \ No newline at end of file From 4a9134f374fba33a2dc5736abeb8163fa301cf69 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 23 Aug 2024 19:44:05 -0400 Subject: [PATCH 572/627] Couple more fixes --- docs/sdk/serverless-signing/conditional-signing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 6b7eae16..7760f024 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -6,7 +6,7 @@ import TabItem from '@theme/TabItem'; # Conditional Signing ## Overview -Lit Actions inherit the powerful condition checking ability that Lit Protocol utilizes for [access control](../access-control/intro). You can easily check on or off-chain conditions inside of Lit Actions to generate proofs and condition-based transaction automations +Lit Actions inherit the powerful condition checking ability that Lit Protocol utilizes for [access control](../access-control/intro). You can easily check on or off-chain conditions inside of Lit Actions to generate proofs and condition-based transaction automations. The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. @@ -60,6 +60,6 @@ const litActionCode = ` ## Summary This guide demonstrates how to use Lit Actions to conditionally sign a message or transaction. -If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our Advanced uses of Lit Actions [here](https://developer.litprotocol.com/category/advanced-topics-1). +If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Uses](https://developer.litprotocol.com/category/advanced-topics-1) of Lit Actions \ No newline at end of file From 14fe8e7793060d98f7a99ed0e6a2153f2f2e9b3e Mon Sep 17 00:00:00 2001 From: SatyamKumar Date: Sun, 25 Aug 2024 13:25:43 +0530 Subject: [PATCH 573/627] docs(user-wallets): updated quickstart:delegate_usage_to_your_pkp --- docs/user-wallets/pkps/quick-start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-wallets/pkps/quick-start.md b/docs/user-wallets/pkps/quick-start.md index edbf1e63..3a5e5b3a 100644 --- a/docs/user-wallets/pkps/quick-start.md +++ b/docs/user-wallets/pkps/quick-start.md @@ -396,7 +396,7 @@ Once you have minted a Capacity Credits NFT, you can delegate usage of it to the const { capacityDelegationAuthSig } = await litNodeClient.createCapacityDelegationAuthSig({ uses: '1', - signer: wallet, + dAppOwnerWallet: wallet, capacityTokenId: capacityTokenIdStr, delegateeAddresses: [secondWalletPKPInfo.ethAddress], }); From 3430e6c8262e0d534040a5da1560bceec1c02590 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 26 Aug 2024 12:57:08 -0400 Subject: [PATCH 574/627] Solana wrapped keys update + combining signatures page update --- .../combining-signatures.md | 130 +++++++----------- .../serverless-signing/conditional-signing.md | 3 +- .../wrapped-keys/sign-transaction.md | 7 +- 3 files changed, 59 insertions(+), 81 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 3f296de0..6d75f6d5 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -1,102 +1,74 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + # Signing within a Lit Action ## Overview When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for when you want to make use of the signed data within your Lit Action e.g. submitting a signed transaction. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. -When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethers.js. A complete code example is linked at the bottom of this page. +When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethers.js. -## Signing a message +## Prerequisites -The following Lit Action uses `signAndCombineEcdsa` to sign the message 'hello world'. +- Knowlege of [SessionSigs](../authentication/session-sigs/intro) +- Basic understanding of [Lit Actions](../serverless-signing/quick-start) -```js -const code = `(async () => { - // sign "hello world" and allow all the nodes to combine the signature and return it to the action. - const utf8Encode = new TextEncoder(); - const toSign = utf8Encode.encode('Hello World'); - ethers.utils.arrayify( - ethers.utils.keccak256(toSign) - ); - // Will use the authentication provided to the "executeJs" call from the sdk on the client. +## Complete Code Example + +The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/sign-and-combine-ecdsa/nodejs). There you can find a Node.js implementation of the code. + +### Example Lit Action + +The following Lit Action uses `signAndCombineEcdsa` to sign the transaction hash specificed in the `toSign` variable. We then serialize the transaction and sign it using `ethers.js`. + +```jsx +const code = ` +(async () => { const signature = await Lit.Actions.signAndCombineEcdsa({ toSign, publicKey, sigName, }); - - // Set the response from the action as the signature share which will not need to be combined on the client - Lit.Actions.setResponse({ response: JSON.stringify(signature) }); -})();` - -const client = new LitNodeClient({ - litNetwork: "datil-dev", -}); -await client.connect(); -const res = await client.executeJs({ - code, - sessionSigs: {} // your session - jsParams: { - publicKey: "", - sigName: 'fooSig', - } -}); -console.log("response from signing in a transaction: ", res); -``` + const jsonSignature = JSON.parse(signature); + jsonSignature.r = "0x" + jsonSignature.r.substring(2); + jsonSignature.s = "0x" + jsonSignature.s; + const hexSignature = ethers.utils.joinSignature(jsonSignature); -## Signing a Transaction - -The following Lit Action uses `ethers.js` to serialize and sign a transaction (combining signature shares from the Lit nodes) before sending it back to the client where it can be broadcasted to chain. - -```js -const code = `(async () => { - const sigName = "sig1"; - // example transaction - let txn = { - to: "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", - value: 1000000000000000, - gasPrice: 20000000000, - nonce: 0, - }; - - // using ether's serializeTransaction - // https://docs.ethers.org/v5/api/utils/transactions/#transactions--functions - const serializedTx = ethers.utils.serializeTransaction(txn); - let hash = ethers.utils.keccak256(ethers.utils.toUtf8Bytes(serializedTx)); - // encode the message into an uint8array for signing - const toSign = await new TextEncoder().encode(hash); - const signature = await Lit.Actions.signAndCombineEcdsa({ - toSign, - publicKey, - sigName, - }); + const signedTx = ethers.utils.serializeTransaction( + unsignedTransaction, + hexSignature + ); - // here we're setting the response to the signature output, but there's no need to do this - // if your use case requires the signature to not be seen by the client - Lit.Actions.setResponse({ - response: signature - }); -})(); -`; - -const client = new LitNodeClient({ - litNetwork: "datil-dev", -}); - -await client.connect(); -const res = await client.executeJs({ - code, - sessionSigs: {} // your session - jsParams: { - publicKey: "", + const recoveredAddress = ethers.utils.recoverAddress(toSign, hexSignature); + console.log("Recovered Address:", recoveredAddress); + + const response = await Lit.Actions.runOnce( + { waitForResponse: true, name: "txnSender" }, + async () => { + try { + const rpcUrl = await Lit.Actions.getRpcUrl({ chain }); + const provider = new ethers.providers.JsonRpcProvider(rpcUrl); + const transactionReceipt = await provider.sendTransaction(signedTx); + + return `Transaction Sent Successfully. Transaction Hash: ${transactionReceipt.hash}`; + } catch (error) { + return `Error: When sending transaction: ${error.message}`; + } } -}); -console.log("result from singing in a lit action", res); + ); + + Lit.Actions.setResponse({ response }); +})(); +` ``` -## Complete Example: Signing Blockchain Transactions +## Summary +This guide demonstrates how to combine PKP signature shares, and how to used the combined shares to sign a message or transaction within a Lit Action. + +If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section on Lit Actions. -You can find a full example using the `signAndCombineEcdsa` function to sign and send a blockchain transaction on Lit's Yellowstone rollup [here](https://github.com/LIT-Protocol/developer-guides-code/tree/master/sign-and-combine-ecdsa/nodejs). + diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 7760f024..7b1fa5de 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -17,6 +17,7 @@ The below example will check if the user has at least 1 Wei on Ethereum, only re - Basic understanding of [Lit Actions](../serverless-signing/quick-start) ## Complete Code Example + The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/conditional-signing). There is both a browser and Node.js implementation of the code. ### Example Lit Action @@ -60,6 +61,6 @@ const litActionCode = ` ## Summary This guide demonstrates how to use Lit Actions to conditionally sign a message or transaction. -If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Uses](https://developer.litprotocol.com/category/advanced-topics-1) of Lit Actions +If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section on Lit Actions. \ No newline at end of file diff --git a/docs/user-wallets/wrapped-keys/sign-transaction.md b/docs/user-wallets/wrapped-keys/sign-transaction.md index dc092803..a70392ed 100644 --- a/docs/user-wallets/wrapped-keys/sign-transaction.md +++ b/docs/user-wallets/wrapped-keys/sign-transaction.md @@ -377,7 +377,12 @@ If `broadcast` is set to `true`, then the signed transaction will be broadcasted If `network` is set to `solana`, then the return value of `signTransactionWithEncryptedKey` will be `Promise` where the `string` is the signed transaction. -If `broadcast` is set to `true`, then the signed transaction will be submitted to `chain`, but `signTransactionWithEncryptedKey` will still return the signed transaction and **not** the transaction hash. +If `broadcast` is set to `true`, then the signed transaction will be submitted to `chain`, but `signTransactionWithEncryptedKey` will still return the signed transaction and **not** the transaction hash. To view the status of or confirm the transaction, you can do: + +```ts +const status = await solanaConnection.getSignatureStatus(signedTx); // { context: { apiVersion: '2.0.5', slot: 321490377 }, value: { confirmationStatus: 'confirmed', confirmations: 0, err: null, slot: 321490377, status: { Ok: null } } } +const confirmation = await solanaConnection.confirmTransaction(signedTx); // { context: { slot: 321490379 }, value: { err: null } } +``` To get the transaction hash or receipt from the broadcasted signed transaction, you can do the following using the [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) SDK: From d5e607f68045127e429576dfe5760d7ade3f7066 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 26 Aug 2024 14:07:38 -0400 Subject: [PATCH 575/627] some updates --- docs/sdk/serverless-signing/combining-signatures.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 6d75f6d5..7c46be56 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -7,9 +7,9 @@ import TabItem from '@theme/TabItem'; ## Overview -When you [sign a message with Lit](../serverless-signing/quick-start#sign-a-transaction.md), signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for when you want to make use of the signed data within your Lit Action e.g. submitting a signed transaction. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. +When [signing a transaction](../serverless-signing/quick-start#sign-a-transaction.md) with Lit, signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for when you want to make use of the signed data within your Lit Action e.g. submitting a signed transaction. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. -When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for arbitrary message signing, as well as how to sign a blockchain transaction using ethers.js. +When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for signing a blockchain transaction using ethers.js. ## Prerequisites @@ -22,10 +22,10 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The following Lit Action uses `signAndCombineEcdsa` to sign the transaction hash specificed in the `toSign` variable. We then serialize the transaction and sign it using `ethers.js`. +The following Lit Action uses `signAndCombineEcdsa` to combine the signatures created by each share signing the `toSign` variable, which is a transaction hash. We then serialize the transaction and sign it using `ethers.js`. ```jsx -const code = ` +const litActionCode = ` (async () => { const signature = await Lit.Actions.signAndCombineEcdsa({ toSign, From ebc4bab7cc09b1ae1c05c763596e534a3f3e0476 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 26 Aug 2024 14:13:11 -1000 Subject: [PATCH 576/627] Update docs/sdk/serverless-signing/conditional-signing.md --- docs/sdk/serverless-signing/conditional-signing.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 7b1fa5de..9bb47600 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -27,7 +27,8 @@ The below example will check if the user has at least 1 Wei on Ethereum, only re :::note The `toSign` data is required to be an array of 8-bit integers. An example of this is shown below: -```dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])),``` +```ts +dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])), ::: ```jsx From f839d17eda2a8c6e27e89237c87580e6f7b7d147 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Mon, 26 Aug 2024 14:14:41 -1000 Subject: [PATCH 577/627] Update conditional-signing.md --- docs/sdk/serverless-signing/conditional-signing.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 9bb47600..5fff7cf1 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -29,6 +29,7 @@ The `toSign` data is required to be an array of 8-bit integers. An example of th ```ts dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])), +``` ::: ```jsx @@ -64,4 +65,4 @@ This guide demonstrates how to use Lit Actions to conditionally sign a message o If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section on Lit Actions. - \ No newline at end of file + From d0ee91f4dc7319d3ff35f0a4f400e18613638bb1 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 13:28:53 -0400 Subject: [PATCH 578/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 7c46be56..f29d1323 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -22,7 +22,7 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The following Lit Action uses `signAndCombineEcdsa` to combine the signatures created by each share signing the `toSign` variable, which is a transaction hash. We then serialize the transaction and sign it using `ethers.js`. +The following Lit Action uses `signAndCombineEcdsa` to combine the signatures created by each share signing the `toSign` variable, which is the provided hash of a serialized transaction. We then serialize the transaction and sign it using `ethers.js`. ```jsx const litActionCode = ` From 5f8689652b8014a35fb3d5a86767c6596b545b37 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 13:29:41 -0400 Subject: [PATCH 579/627] Update docs/sdk/serverless-signing/combining-signatures.md Co-authored-by: Wyatt Barnes --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index f29d1323..c730ef12 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -67,7 +67,7 @@ const litActionCode = ` ``` ## Summary -This guide demonstrates how to combine PKP signature shares, and how to used the combined shares to sign a message or transaction within a Lit Action. +This guide demonstrates how to combine PKP signature shares, and submit a signed transaction all within a Lit Action. If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section on Lit Actions. From a8fd27b0c84cc4a477ccc98f06cf549ac4ce8225 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 13:34:12 -0400 Subject: [PATCH 580/627] More updates --- docs/sdk/access-control/quick-start.md | 579 +++--------------- docs/sdk/authentication/session-sigs/intro.md | 2 - .../serverless-signing/conditional-signing.md | 4 + 3 files changed, 91 insertions(+), 494 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index c8474099..36c88fcf 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -1,556 +1,151 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; # Quick Start ## Start Here -You can use the Lit network to encrypt your data and store it privately on the open web. This guide will show you how you can encrypt a simple message with Lit, create an Access Control Condition (ACC), and permit decryption by users who meet the condition you set. +You can use the Lit network to encrypt your data and store it privately on the open web. Lit has the potential to encrypt messages, create Access Control Conditions (ACCs), and permit decryption by users who meet the condition you set. Lit can only be used to generate and store encryption keys, so you will need to store the ciphertext and metadata yourself using your storage provider of choice (such as IPFS, Arweave, or even a centralized storage solution). Once your data has been encrypted, the Lit network will enforce who is allowed to decrypt it. This guide uses Lit's [Datil Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). -For developers looking to explore beyond the basics, check out Advanced Topics. +For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. ## Install and Import the Lit SDK -Ensure you have the following requirements in place: +To get started with Lit Actions and the Lit SDK, you'll need to have the following: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. -Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: - You should use **at least Node v19.9.0** for - **crypto** support. - **webcrypto** library support if targeting `web`. +If you're just getting started with Lit, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an envionment containing the necessary packages to get started with Lit. -```jsx -yarn add @lit-protocol/lit-node-client -``` - -OR - -```jsx -npm i @lit-protocol/lit-node-client -``` - -:::note -If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs` -::: - -Use the **Lit JS SDK**: - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -``` - -:::note -You should use **at least Node vv19.9.0** because of the need for **crypto** support.. -::: - -You also need to install the following lit packages whose functions are used in the example below: - -- `@lit-protocol/constants` -- `@lit-protocol/auth-helpers` -- `@lit-protocol/contracts-sdk` - - -### Client-Side Usage - -Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit class. Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit Network. - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; - -class Lit { - litNodeClient; - chain; - - constructor(chain){ - this.chain = chain; - } - - async connect() { - this.litNodeClient = new LitJsSdk.LitNodeClient({ - litNetwork: "datil-dev", - }); - await this.litNodeClient.connect(); - } -} - -const chain = "ethereum"; - -let myLit = new Lit(chain); -await myLit.connect(); -``` - -The `litNodeClient` listens to network state, and those listeners will keep your `litNodeClient` running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow the browser to disconnect gracefully, call: - -```jsx -await this.litNodeClient.disconnect(); -``` - -:::note -To avoid errors from Lit nodes due to stale `authSig` or `sessionSigs`, make sure to clear the local storage for `authSig` and `sessionSigs` before reconnecting or restarting the `litNodeClient`. +For Lit Actions specifically, you'll also be needing these packages: -One way to do this is to disconnect the existing `litNodeClient` first and then reconnect. To disconnect the `litNodeClient` after making a connection, call the following function: -```jsx -await this.litNodeClient.disconnect(); -``` + + -Other way is to simply call `disconnectWeb3` function which will clear up the local storage for `authSig` and `sessionSigs`: -```jsx -LitJsSdk.disconnectWeb3(); +```bash +npm install @lit-protocol/lit-node-client \ +`@lit-protocol/constants` \ +`@lit-protocol/auth-helpers` \ +`@lit-protocol/contracts-sdk` ``` -::: - -### Server-Side Usage - -In this example stub, the `litNodeClient` is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. Note that `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. - -:::note -If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs`. Moreover, the server-side implementation, the `litNodeClient` class is named `LitNodeClientNodeJs`. -::: - -Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit network. - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; - -class Lit { - litNodeClient; - chain; - constructor(chain){ - this.chain = chain; - } + - async connect() { - app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - alertWhenUnauthorized: false, - litNetwork: "datil-dev", - debug: true, - }); + - this.litNodeClient = app.locals.litNodeClient; - await this.litNodeClient.connect(); - } -} - -const chain = "ethereum"; - -let myLit = new Lit(chain); -await myLit.connect(); -``` - -The `litNodeClient` listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow node to exit gracefully, call:  - -```jsx -await this.litNodeClient.disconnect(); +```bash +yarn add @lit-protocol/lit-node-client \ +`@lit-protocol/constants` \ +`@lit-protocol/auth-helpers` \ +`@lit-protocol/contracts-sdk` ``` -## Performing Encryption - -To encrypt something with Lit, you’ll need to follow these steps: - -1. Create an access control condition. -2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. -3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. - -### Create an Access Control Condition - -In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: - -```jsx -const accessControlConditions = [ - { - contractAddress: "", - standardContractType: "", - chain: "ethereum", - method: "eth_getBalance", - parameters: [":userAddress", "latest"], - returnValueTest: { - comparator: ">=", - value: "1000000000000", // 0.000001 ETH - }, - }, -]; -``` + + -### Encryption +## Running Lit Actions -To encrypt a string, use one of the following functions: +Below will introduce a very basic setup of how to go from an empty file, to an implementation of a Lit Action that can be run on the Lit network. -- [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. -- [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. +### Connecting to the Lit Network -To encrypt a file, use: +Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. -- [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. -- [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. -- [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. +
    +Click here to see how this is done +

    -Apart from these, we have one more function which can be used to encrypt both strings and files: +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; -- [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialise all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. - -Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. - -In this example, we are using `encryptString()`: - -:::note - -All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. - -::: - -```jsx -class Lit { - ... - - async encrypt(message) { - // Encrypt the message - const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( - { - accessControlConditions, - dataToEncrypt: message, - }, - this.litNodeClient, - ); - - // Return the ciphertext and dataToEncryptHash - return { - ciphertext, - dataToEncryptHash, - }; - } - - ... -} +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilTest, + debug: false, +}); +await litNodeClient.connect(); ``` -:::note - -Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. +

    +
    -::: +### Lit Contracts and PKPs -## Performing Decryption +Many of the Lit Actions you'll be running will require you to interact with Programmable Key Pairs ([PKPs])(../../user-wallets/pkps/overview). PKPs can be creating using [LitContracts](https://v6-api-doc-lit-js-sdk.vercel.app/classes/contracts_sdk_src.LitContracts.html). -Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. +LitContracts is a class that allows you to interact with the Lit contracts on the Lit network you're connected to. Some Lit networks require payment, a list of those which do and do not can be found [here](../../connecting-to-a-lit-network/connecting). This example will be using `datil-dev` which does not require payment. -There is just one step: +
    +Click here to see how this is done +

    -1. Obtain the decrypted data in plaintext using the `sessionSigs`, `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; +import { LitNetwork, LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; -### Mint Capacity Credits +const ethersWallet = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, // Replace with your private key + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); -In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. - -First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: - -```jsx -yarn add @lit-protocol/contracts-sdk -``` - -OR - -```jsx -npm i @lit-protocol/contracts-sdk -``` - -The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: - -```jsx -import { LitNetwork } from "@lit-protocol/constants"; - -const walletWithCapacityCredit = new Wallet(""); - -let contractClient = new LitContracts({ - signer: dAppOwnerWallet, - network: LitNetwork.Datil, +const litContracts = new LitContracts({ + signer: ethersWallet, + network: LitNetwork.DatilDev, + debug: false, }); -await contractClient.connect(); +const pkp = (await litContracts.pkpNftContractUtils.write.mint()).pkp; ``` -After you’ve set your wallet, your next step is to mint the NFT: +

    +
    -```jsx -// this identifier will be used in delegation requests. -const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ - requestsPerKilosecond: 80, - // requestsPerDay: 14400, - // requestsPerSecond: 10, - daysUntilUTCMidnightExpiration: 2, -}); -``` - -In the above example, we are configuring 2 properties: - -- `requestsPerDay` - How many requests can be sent in a 24 hour period. -- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. +### Generating Session Signatures -Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. +[Session Signatures](../authentication/session-sigs/intro) are vital to authentication on the Lit network. They also are required for executing Lit Actions. -### Delegate usage of your NFT +
    +Click here to see how this is done +

    -Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). +```ts +import { LitContracts } from "@lit-protocol/contracts-sdk"; +import { LitNetwork, LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; -```jsx -const { capacityDelegationAuthSig } = - await litNodeClient.createCapacityDelegationAuthSig({ - uses: '1', - signer: wallet, - capacityTokenId: capacityTokenIdStr, - delegateeAddresses: [walletAddress], - }); -``` +const ethersWallet = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, // Replace with your private key + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); -To delegate your Rate Limit NFT there are 4 properties to configure: - -- `uses` - How many times the delegation may be used -- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` -- `capacityTokenId` - The `token identifier` of the Rate Limit NFT -- `delegateeAddresses` - The wallet addresses which will be delegated to - -:::note -The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. -::: - -Check out a complete example [here](https://github.com/LIT-Protocol/js-sdk/blob/1286138adc09ac2d34371f3ac12a9088ada367ec/e2e-nodejs/group-rli/test-rli-from-lit-node-client-diff-delegatee.mjs). - -### Obtain a Session Sigs - -In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. - -`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. - -The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. - -:::note -Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash SessionSigs will not be validated. -::: - -#### Obtain a `SessionSigs` in the browser - -If you want to obtain a `SessionSigs` in the browser, you can instantiate an `ethers.Signer` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: - - -```jsx -import {ethers} from "ethers"; -import { - LitAccessControlConditionResource, - LitAbility, - createSiweMessageWithRecaps, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -class Lit { - ... - - async getSessionSignatures(){ - // Connect to the wallet - const provider = new ethers.providers.Web3Provider(window.ethereum); - await provider.send("eth_requestAccounts", []); - const signer = provider.getSigner(); - const walletAddress = await signer.getAddress(); - console.log("Connected account:", walletAddress); - - // Get the latest blockhash - const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); - - // Define the authNeededCallback function - const authNeededCallback = async(params) => { - if (!params.uri) { - throw new Error("uri is required"); - } - if (!params.expiration) { - throw new Error("expiration is required"); - } - - if (!params.resourceAbilityRequests) { - throw new Error("resourceAbilityRequests is required"); - } - - // Create the SIWE message - const toSign = await createSiweMessageWithRecaps({ - uri: params.uri, - expiration: params.expiration, - resources: params.resourceAbilityRequests, - walletAddress: walletAddress, - nonce: latestBlockhash, - litNodeClient: this.litNodeClient, - }); - - // Generate the authSig - const authSig = await generateAuthSig({ - signer: signer, - toSign, - }); - - return authSig; - } - - // Define the Lit resource - const litResource = new LitAccessControlConditionResource('*'); - - // Get the session signatures - const sessionSigs = await this.litNodeClient.getSessionSigs({ - chain: this.chain, - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback, - capacityDelegationAuthSig, - }); - return sessionSigs; - } - - ... -} -``` +const litContracts = new LitContracts({ + signer: ethersWallet, + network: LitNetwork.DatilDev, + debug: false, +}); -#### Obtain a `SessionSigs` on the server-side - -If you want to obtain a `SessionSigs` on the server-side, you can instantiate an `ethers.wallet` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: - -```jsx -import {ethers} from "ethers"; -import { - LitAccessControlConditionResource, - LitAbility, - createSiweMessageWithRecaps, - generateAuthSig, -} from "@lit-protocol/auth-helpers"; - -class Lit { - ... - - async getSessionSignatures(){ - // Connect to the wallet - const ethWallet = new ethers.Wallet( - "" - ); - - // Get the latest blockhash - const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); - - // Define the authNeededCallback function - const authNeededCallback = async(params) => { - if (!params.uri) { - throw new Error("uri is required"); - } - if (!params.expiration) { - throw new Error("expiration is required"); - } - - if (!params.resourceAbilityRequests) { - throw new Error("resourceAbilityRequests is required"); - } - - // Create the SIWE message - const toSign = await createSiweMessageWithRecaps({ - uri: params.uri, - expiration: params.expiration, - resources: params.resourceAbilityRequests, - walletAddress: ethWallet.address, - nonce: latestBlockhash, - litNodeClient: this.litNodeClient, - }); - - // Generate the authSig - const authSig = await generateAuthSig({ - signer: ethWallet, - toSign, - }); - - return authSig; - } - - // Define the Lit resource - const litResource = new LitAccessControlConditionResource('*'); - - // Get the session signatures - const sessionSigs = await this.litNodeClient.getSessionSigs({ - chain: this.chain, - resourceAbilityRequests: [ - { - resource: litResource, - ability: LitAbility.AccessControlConditionDecryption, - }, - ], - authNeededCallback, - capacityDelegationAuthSig, - }); - return sessionSigs; - } - - ... -} +const pkp = (await litContracts.pkpNftContractUtils.write.mint()).pkp; ``` -### Using a delegated `capacityDelegationAuthSig` from a backend - -If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: - -- [ExpressJS](https://www.npmjs.com/package/express) -- [Node HTTP server](https://nodejs.org/api/http.html#http) - -### Decryption - -To decrypt use the following functions depending on the function used to encrypt: - -- [decryptToString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToString.html) for [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) -- [decryptToZip()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) -- [decryptToFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) -- [decryptZipFileWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) -- [decryptFromJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) - -In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. - -:::note - -If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. - -::: - -```jsx -class Lit { - ... - - async decrypt(ciphertext, dataToEncryptHash) { - // Get the session signatures - const sessionSigs = await this.getSessionSignatures(); - - // Decrypt the message - const decryptedString = await LitJsSdk.decryptToString( - { - accessControlConditions, - chain: this.chain, - ciphertext, - dataToEncryptHash, - sessionSigs, - }, - this.litNodeClient, - ); - - // Return the decrypted string - return { decryptedString }; - } - - ... -} -``` +

    +
    # Learn More diff --git a/docs/sdk/authentication/session-sigs/intro.md b/docs/sdk/authentication/session-sigs/intro.md index afb70606..042f905f 100644 --- a/docs/sdk/authentication/session-sigs/intro.md +++ b/docs/sdk/authentication/session-sigs/intro.md @@ -39,9 +39,7 @@ A `storageProvider` needs to specified when creating an instance of the `LitNode ```javascript import { LocalStorage } from "node-localstorage"; -``` -```javascript litNodeClient = new LitNodeClient({ litNetwork: LitNetwork.DatilDev, // This storageProvider object can be omitted if executing in a browser diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 7b1fa5de..b75b0a9e 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -30,6 +30,10 @@ The `toSign` data is required to be an array of 8-bit integers. An example of th ```dataToSign: ethers.utils.arrayify(ethers.utils.keccak256([1, 2, 3, 4, 5])),``` ::: +:::info +In the below code example, `sigShare` is a magic value within a Lit Action that will be automatically returned for you. +::: + ```jsx const litActionCode = ` (async () => { From f700592371dbc5ffefbadf6559cf11ca90c1cd83 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 20:41:40 -0400 Subject: [PATCH 581/627] First look at new Quick Start --- docs/sdk/access-control/quick-start.md | 579 +++++++++++++++++---- docs/sdk/serverless-signing/quick-start.md | 554 ++++---------------- 2 files changed, 580 insertions(+), 553 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 36c88fcf..16da7908 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -1,151 +1,556 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; # Quick Start ## Start Here -You can use the Lit network to encrypt your data and store it privately on the open web. Lit has the potential to encrypt messages, create Access Control Conditions (ACCs), and permit decryption by users who meet the condition you set. +You can use the Lit network to encrypt your data and store it privately on the open web. This guide will show you how you can encrypt a simple message with Lit, create an Access Control Condition (ACC), and permit decryption by users who meet the condition you set. Lit can only be used to generate and store encryption keys, so you will need to store the ciphertext and metadata yourself using your storage provider of choice (such as IPFS, Arweave, or even a centralized storage solution). Once your data has been encrypted, the Lit network will enforce who is allowed to decrypt it. This guide uses Lit's [Datil Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). -For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. +For developers looking to explore beyond the basics, check out Advanced Topics. ## Install and Import the Lit SDK -To get started with Lit Actions and the Lit SDK, you'll need to have the following: +Ensure you have the following requirements in place: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit SDK supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. +Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: + You should use **at least Node v19.9.0** for - **crypto** support. - **webcrypto** library support if targeting `web`. -If you're just getting started with Lit, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an envionment containing the necessary packages to get started with Lit. -For Lit Actions specifically, you'll also be needing these packages: +```jsx +yarn add @lit-protocol/lit-node-client +``` - - +OR -```bash -npm install @lit-protocol/lit-node-client \ -`@lit-protocol/constants` \ -`@lit-protocol/auth-helpers` \ -`@lit-protocol/contracts-sdk` +```jsx +npm i @lit-protocol/lit-node-client ``` - +:::note +If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs` +::: - +Use the **Lit JS SDK**: -```bash -yarn add @lit-protocol/lit-node-client \ -`@lit-protocol/constants` \ -`@lit-protocol/auth-helpers` \ -`@lit-protocol/contracts-sdk` +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` - - +:::note +You should use **at least Node vv19.9.0** because of the need for **crypto** support.. +::: -## Running Lit Actions +You also need to install the following lit packages whose functions are used in the example below: -Below will introduce a very basic setup of how to go from an empty file, to an implementation of a Lit Action that can be run on the Lit network. +- `@lit-protocol/constants` +- `@lit-protocol/auth-helpers` +- `@lit-protocol/contracts-sdk` -### Connecting to the Lit Network -Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. +### Client-Side Usage -
    -Click here to see how this is done -

    +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit class. Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit Network. -```ts -import { LitNodeClient } from "@lit-protocol/lit-node-client"; +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; -const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.DatilTest, - debug: false, -}); -await litNodeClient.connect(); +class Lit { + litNodeClient; + chain; + + constructor(chain){ + this.chain = chain; + } + + async connect() { + this.litNodeClient = new LitJsSdk.LitNodeClient({ + litNetwork: "datil-dev", + }); + await this.litNodeClient.connect(); + } +} + +const chain = "ethereum"; + +let myLit = new Lit(chain); +await myLit.connect(); ``` -

    -
    +The `litNodeClient` listens to network state, and those listeners will keep your `litNodeClient` running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow the browser to disconnect gracefully, call: -### Lit Contracts and PKPs +```jsx +await this.litNodeClient.disconnect(); +``` -Many of the Lit Actions you'll be running will require you to interact with Programmable Key Pairs ([PKPs])(../../user-wallets/pkps/overview). PKPs can be creating using [LitContracts](https://v6-api-doc-lit-js-sdk.vercel.app/classes/contracts_sdk_src.LitContracts.html). +:::note +To avoid errors from Lit nodes due to stale `authSig` or `sessionSigs`, make sure to clear the local storage for `authSig` and `sessionSigs` before reconnecting or restarting the `litNodeClient`. -LitContracts is a class that allows you to interact with the Lit contracts on the Lit network you're connected to. Some Lit networks require payment, a list of those which do and do not can be found [here](../../connecting-to-a-lit-network/connecting). This example will be using `datil-dev` which does not require payment. +One way to do this is to disconnect the existing `litNodeClient` first and then reconnect. To disconnect the `litNodeClient` after making a connection, call the following function: +```jsx +await this.litNodeClient.disconnect(); +``` -
    -Click here to see how this is done -

    +Other way is to simply call `disconnectWeb3` function which will clear up the local storage for `authSig` and `sessionSigs`: +```jsx +LitJsSdk.disconnectWeb3(); +``` +::: -```ts -import { LitContracts } from "@lit-protocol/contracts-sdk"; -import { LitNetwork, LIT_RPC } from "@lit-protocol/constants"; -import * as ethers from "ethers"; +### Server-Side Usage -const ethersWallet = new ethers.Wallet( - process.env.ETHEREUM_PRIVATE_KEY, // Replace with your private key - new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) -); +In this example stub, the `litNodeClient` is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. Note that `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. -const litContracts = new LitContracts({ - signer: ethersWallet, - network: LitNetwork.DatilDev, - debug: false, -}); +:::note +If you are using `NodeJS` you should install `@lit-protocol/lit-node-client-nodejs`. Moreover, the server-side implementation, the `litNodeClient` class is named `LitNodeClientNodeJs`. +::: + +Running `litNodeClient.connect()` will return a promise that resolves when you are connected to the Lit network. + +```jsx +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNetwork } from "@lit-protocol/constants"; + +class Lit { + litNodeClient; + chain; + + constructor(chain){ + this.chain = chain; + } + + async connect() { + app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ + alertWhenUnauthorized: false, + litNetwork: "datil-dev", + debug: true, + }); + + this.litNodeClient = app.locals.litNodeClient; + await this.litNodeClient.connect(); + } +} + +const chain = "ethereum"; + +let myLit = new Lit(chain); +await myLit.connect(); +``` + +The `litNodeClient` listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the `litNodeClient` listeners and allow node to exit gracefully, call:  + +```jsx +await this.litNodeClient.disconnect(); +``` + +## Performing Encryption + +To encrypt something with Lit, you’ll need to follow these steps: + +1. Create an access control condition. +2. Encrypt the static content (string, file, zip, etc...) using `LitJsSdk.encryptString` to get the `ciphertext` and `dataToEncryptHash`. +3. Finally, store the `ciphertext`, `dataToEncryptHash` and other metadata (`accessControlConditions` or other conditions such as`evmContractConditions`) and `chain` using your storage provider of choice. + +### Create an Access Control Condition + +In this example, our ACC will check if a wallet (`:userAddress`) has at least `0.000001 ETH` on `ethereum` at the `latest` block: -const pkp = (await litContracts.pkpNftContractUtils.write.mint()).pkp; +```jsx +const accessControlConditions = [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "1000000000000", // 0.000001 ETH + }, + }, +]; ``` -

    -
    +### Encryption + +To encrypt a string, use one of the following functions: + +- [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. + +To encrypt a file, use: + +- [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. + +Apart from these, we have one more function which can be used to encrypt both strings and files: + +- [encryptToJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialise all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. + +Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. + +In this example, we are using `encryptString()`: + +:::note + +All encryption functions will output the `ciphertext` and a hash of the plaintext data (`dataToEncryptHash`) as base64 encoded strings, both of which are used during decryption. + +::: + +```jsx +class Lit { + ... + + async encrypt(message) { + // Encrypt the message + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + dataToEncrypt: message, + }, + this.litNodeClient, + ); + + // Return the ciphertext and dataToEncryptHash + return { + ciphertext, + dataToEncryptHash, + }; + } + + ... +} +``` -### Generating Session Signatures +:::note -[Session Signatures](../authentication/session-sigs/intro) are vital to authentication on the Lit network. They also are required for executing Lit Actions. +Both `ciphertext` and `dataToEncryptHash` will be base64 encoded strings. -
    -Click here to see how this is done -

    +::: -```ts -import { LitContracts } from "@lit-protocol/contracts-sdk"; -import { LitNetwork, LIT_RPC } from "@lit-protocol/constants"; -import * as ethers from "ethers"; +## Performing Decryption -const ethersWallet = new ethers.Wallet( - process.env.ETHEREUM_PRIVATE_KEY, // Replace with your private key - new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) -); +Make sure we have `accessControlConditions`, `ciphertext`, and the `dataToEncryptHash` data we created during the encryption step. An exception is when using `encryptFileAndZipWithMetadata()` which will include this metadata in the zip. -const litContracts = new LitContracts({ - signer: ethersWallet, - network: LitNetwork.DatilDev, - debug: false, +There is just one step: + +1. Obtain the decrypted data in plaintext using the `sessionSigs`, `accessControlConditions`, `ciphertext`, and `dataToEncryptHash` by calling `LitJsSdk.decryptToString`. + +### Mint Capacity Credits + +In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. + +First, ensure you have the `@lit-protocol/contracts-sdk` package installed, which can be used in both browser and Node environments: + +```jsx +yarn add @lit-protocol/contracts-sdk +``` + +OR + +```jsx +npm i @lit-protocol/contracts-sdk +``` + +The next step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: + +```jsx +import { LitNetwork } from "@lit-protocol/constants"; + +const walletWithCapacityCredit = new Wallet(""); + +let contractClient = new LitContracts({ + signer: dAppOwnerWallet, + network: LitNetwork.Datil, }); -const pkp = (await litContracts.pkpNftContractUtils.write.mint()).pkp; +await contractClient.connect(); +``` + +After you’ve set your wallet, your next step is to mint the NFT: + +```jsx +// this identifier will be used in delegation requests. +const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ + requestsPerKilosecond: 80, + // requestsPerDay: 14400, + // requestsPerSecond: 10, + daysUntilUTCMidnightExpiration: 2, +}); ``` -

    -
    +In the above example, we are configuring 2 properties: + +- `requestsPerDay` - How many requests can be sent in a 24 hour period. +- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. + +Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. + +### Delegate usage of your NFT + +Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow the delegatee address(es) to use it to make requests to the Lit nodes (in this case, to make a decryption request). + +```jsx +const { capacityDelegationAuthSig } = + await litNodeClient.createCapacityDelegationAuthSig({ + uses: '1', + signer: wallet, + capacityTokenId: capacityTokenIdStr, + delegateeAddresses: [walletAddress], + }); +``` + +To delegate your Rate Limit NFT there are 4 properties to configure: + +- `uses` - How many times the delegation may be used +- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` +- `capacityTokenId` - The `token identifier` of the Rate Limit NFT +- `delegateeAddresses` - The wallet addresses which will be delegated to + +:::note +The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. +::: + +Check out a complete example [here](https://github.com/LIT-Protocol/js-sdk/blob/1286138adc09ac2d34371f3ac12a9088ada367ec/e2e-nodejs/group-rli/test-rli-from-lit-node-client-diff-delegatee.mjs). + +### Obtain a Session Sigs + +In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. + +`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. + +The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. + +:::note +Be sure to use the latest block hash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. Without the block hash SessionSigs will not be validated. +::: + +#### Obtain a `SessionSigs` in the browser + +If you want to obtain a `SessionSigs` in the browser, you can instantiate an `ethers.Signer` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: + + +```jsx +import {ethers} from "ethers"; +import { + LitAccessControlConditionResource, + LitAbility, + createSiweMessageWithRecaps, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +class Lit { + ... + + async getSessionSignatures(){ + // Connect to the wallet + const provider = new ethers.providers.Web3Provider(window.ethereum); + await provider.send("eth_requestAccounts", []); + const signer = provider.getSigner(); + const walletAddress = await signer.getAddress(); + console.log("Connected account:", walletAddress); + + // Get the latest blockhash + const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); + + // Define the authNeededCallback function + const authNeededCallback = async(params) => { + if (!params.uri) { + throw new Error("uri is required"); + } + if (!params.expiration) { + throw new Error("expiration is required"); + } + + if (!params.resourceAbilityRequests) { + throw new Error("resourceAbilityRequests is required"); + } + + // Create the SIWE message + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: walletAddress, + nonce: latestBlockhash, + litNodeClient: this.litNodeClient, + }); + + // Generate the authSig + const authSig = await generateAuthSig({ + signer: signer, + toSign, + }); + + return authSig; + } + + // Define the Lit resource + const litResource = new LitAccessControlConditionResource('*'); + + // Get the session signatures + const sessionSigs = await this.litNodeClient.getSessionSigs({ + chain: this.chain, + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); + return sessionSigs; + } + + ... +} +``` + +#### Obtain a `SessionSigs` on the server-side + +If you want to obtain a `SessionSigs` on the server-side, you can instantiate an `ethers.wallet` to sign a SIWE message and then generate an `AuthSig` to get the `SessionSigs` as shown below: + +```jsx +import {ethers} from "ethers"; +import { + LitAccessControlConditionResource, + LitAbility, + createSiweMessageWithRecaps, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + +class Lit { + ... + + async getSessionSignatures(){ + // Connect to the wallet + const ethWallet = new ethers.Wallet( + "" + ); + + // Get the latest blockhash + const latestBlockhash = await this.litNodeClient.getLatestBlockhash(); + + // Define the authNeededCallback function + const authNeededCallback = async(params) => { + if (!params.uri) { + throw new Error("uri is required"); + } + if (!params.expiration) { + throw new Error("expiration is required"); + } + + if (!params.resourceAbilityRequests) { + throw new Error("resourceAbilityRequests is required"); + } + + // Create the SIWE message + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: ethWallet.address, + nonce: latestBlockhash, + litNodeClient: this.litNodeClient, + }); + + // Generate the authSig + const authSig = await generateAuthSig({ + signer: ethWallet, + toSign, + }); + + return authSig; + } + + // Define the Lit resource + const litResource = new LitAccessControlConditionResource('*'); + + // Get the session signatures + const sessionSigs = await this.litNodeClient.getSessionSigs({ + chain: this.chain, + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + capacityDelegationAuthSig, + }); + return sessionSigs; + } + + ... +} +``` + +### Using a delegated `capacityDelegationAuthSig` from a backend + +If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: + +- [ExpressJS](https://www.npmjs.com/package/express) +- [Node HTTP server](https://nodejs.org/api/http.html#http) + +### Decryption + +To decrypt use the following functions depending on the function used to encrypt: + +- [decryptToString()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) +- [decryptToZip()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) +- [decryptToFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) +- [decryptZipFileWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) +- [decryptFromJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) + +In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. + +:::note + +If you want to use another LitJsSDK encryption method to encrypt content, you will need to use the appropriate decrypt method. + +::: + +```jsx +class Lit { + ... + + async decrypt(ciphertext, dataToEncryptHash) { + // Get the session signatures + const sessionSigs = await this.getSessionSignatures(); + + // Decrypt the message + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions, + chain: this.chain, + ciphertext, + dataToEncryptHash, + sessionSigs, + }, + this.litNodeClient, + ); + + // Return the decrypted string + return { decryptedString }; + } + + ... +} +``` # Learn More diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index fb0522dd..d5ff8235 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -15,539 +15,161 @@ In the following guide, we will write a simple Lit Action that requests a signat This guide uses Lit's [Datil Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). -For developers looking to explore beyond the basics, check out Advanced Topics. - -# Steps +For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. ## Install and Import the Lit SDK -Ensure you have the following requirements in place: +To get started with Lit Actions and the Lit SDK, you'll need to have the following: 1. Operating System: Linux, Mac OS, or Windows. 2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit JS SDK supports JavaScript. Make sure you have the appropriate language environment set up. +3. Languages: The Lit SDK supports JavaScript. Make sure you have the appropriate language environment set up. 4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. -Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: - -```jsx -yarn add @lit-protocol/lit-node-client -``` - -Use the **Lit JS SDK**: - -```jsx -import * as LitJsSdk from "@lit-protocol/lit-node-client"; -``` - -:::note -You should use **at least Node v19.9.0** for +You should use **at least Node v19.9.0** for - **crypto** support. - **webcrypto** library support if targeting `web`. -::: -### Client-Side Usage +If you're just getting started with Lit, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an envionment containing the necessary packages to get started with Lit. -Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. +For Lit Actions specifically, you'll also be needing these packages: -`client.connect()` will return a promise that resolves when you are connected to the Lit Network. + + -```jsx -import { LitNetwork } from "@lit-protocol/constants"; - -const client = new LitJsSdk.LitNodeClient({ - litNetwork: LitNetwork.Datil, -}); - -await client.connect(); +```bash +npm install @lit-protocol/lit-node-client \ +`@lit-protocol/constants` \ +`@lit-protocol/auth-helpers` \ +`@lit-protocol/contracts-sdk` ``` -:::note -To avoid errors from Lit nodes due to stale `sessionSigs`, make sure to clear the local storage for `sessionSigs` before reconnecting or restarting the client. One way to do this is to disconnect the client first and then reconnect. -::: + -The client listens to network state, and those listeners will keep your client running until you explicitly disconnect from the Lit network. To stop the client listeners and allow the browser to disconnect gracefully, call: + -```jsx -await client.disconnect(); +```bash +yarn add @lit-protocol/lit-node-client \ +`@lit-protocol/constants` \ +`@lit-protocol/auth-helpers` \ +`@lit-protocol/contracts-sdk` ``` -### Server-Side Usage + + -In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by **[Express](https://expressjs.com/)** for this purpose. You may have to use what your own server framework provides for this purpose, instead. +## Running Lit Actions -:::note -Keep in mind that in the server-side implementation, the client class is named LitNodeClientNodeJs. -::: +Below will introduce a very basic setup of how to go from an empty file, to an implementation of a Lit Action that can be run on the Lit network. -`app.locals.litNodeClient.connect()` returns a promise that resolves when you are connected to the Lit network. +### Connecting to the Lit Network -```jsx -import { LitNetwork } from "@lit-protocol/constants"; - -app.locals.litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ - alertWhenUnauthorized: false, - litNetwork: LitNetwork.Datil, -}); -await app.locals.litNodeClient.connect(); -``` +Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. -The litNodeClient listens to network state, and those listeners will keep your Node.js process running until you explicitly disconnect from the Lit network. To stop the litNodeClient listeners and allow node to exit gracefully, call:  +
    +Click here to see how this is done +

    -```jsx -await app.locals.litNodeClient.disconnect(); -``` - -## Install the Required Packages - -```jsx -yarn add @lit-protocol/contracts-sdk -yarn add @lit-protocol/lit-auth-client -yarn add @lit-protocol/auth-helpers -``` - -### Set up a controller wallet - -To initialize a LitContracts client you need an Ethereum Signer. This can be a standard Ethereum wallet (ethers) or a PKP (more info on the latter [here](../../user-wallets/pkps/advanced-topics/auth-methods/add-remove-auth-methods)). Here, we're going to use a standard Ethereum wallet. - -:::warning -You'll need to use ethers.js v5 with the Lit SDK. The Lit SDK is not compatible with ethers.js v6 or higher. -::: - -### Initialize the `contracts-sdk` - -```jsx -import { LitContracts } from '@lit-protocol/contracts-sdk'; -import { LitNetwork } from "@lit-protocol/constants"; +```ts +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitNetwork, LIT_RPC } from "@lit-protocol/constants"; +import * as ethers from "ethers"; -const contractClient = new LitContracts({ - signer: wallet, - network: LitNetwork.Datil, +const litNodeClient = new LitNodeClient({ + litNetwork: LitNetwork.DatilDev, + debug: false }); +await litNodeClient.connect(); -await contractClient.connect(); +const ethersWallet = new ethers.Wallet( + process.env.ETHEREUM_PRIVATE_KEY, // Replace with your private key + new ethers.providers.JsonRpcProvider(LIT_RPC.CHRONICLE_YELLOWSTONE) +); ``` -:::note - -You’ll need to ensure you have some test tokens to pay for gas fees. You can claim test tokens from our verified [faucet](https://chronicle-yellowstone-faucet.getlit.dev/). - -::: +

    +
    -## Authenticate with the Lit Network -In order to interact with the nodes in the Lit Network, you will need to generate and present signatures. You can do this by generating a 'Session Sig'. Any signature compliant with EIP-4361 (also known as Sign in with Ethereum (SIWE)) cam be used for this. +### Generating Session Signatures -### Obtaining a `SessionSigs` in the browser +Session signatures are vital to authentication on the Lit network. They also are required for giving your session the ability to execute Lit Actions. Please note that there is more than one way to generate session signatures, and that those methods can be found on their dedicated pages in the [Session Signatures](../authentication/session-sigs/intro) section. -Using the Lit SDK and the methods `createSiweMessageWithRecaps` and `generateAuthSig` from the `@lit-protocol/auth-helpers` package, we can create a `SessionSigs` by signing a SIWE message using a private key stored in a browser wallet like MetaMask: - -```jsx -import { LitNodeClient } from "@lit-protocol/lit-node-client"; -import { LitNetwork } from "@lit-protocol/constants"; -import { - LitAbility, - LitAccessControlConditionResource, - generateAuthSig, - createSiweMessageWithRecaps - } from "@lit-protocol/auth-helpers"; -import * as ethers from "ethers"; +
    +Click here to see how this is done +

    -const provider = new ethers.providers.Web3Provider(window.ethereum); -await provider.send("eth_requestAccounts", []); -const ethersSigner = provider.getSigner(); - -const litNodeClient = new LitNodeClient({ - litNetwork: LitNetwork.Datil, - }); -await litNodeClient.connect(); - -const sessionSigs = await litNodeClient.getSessionSigs({ +```ts +const sessionSignatures = await litNodeClient.getSessionSigs({ chain: "ethereum", - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours + expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes resourceAbilityRequests: [ { resource: new LitActionResource("*"), ability: LitAbility.LitActionExecution, }, ], - authNeededCallback: async ({ resourceAbilityRequests, expiration, uri }) => { - const toSign = await createSiweMessageWithRecaps({ + authNeededCallback: async ({ + uri, + expiration, + resourceAbilityRequests, + }) => { + const toSign = await createSiweMessage({ uri, expiration, resources: resourceAbilityRequests, - walletAddress: await ethersSigner.getAddress(), + walletAddress: await ethersWallet.getAddress(), nonce: await litNodeClient.getLatestBlockhash(), litNodeClient, }); return await generateAuthSig({ - signer: ethersSigner, + signer: ethersWallet, toSign, }); }, }); ``` -:::note -Be sure to use the latest blockhash from the `litNodeClient` as the nonce. You can get it from the `litNodeClient.getLatestBlockhash()`. -::: - -### Obtaining a `Session Signature` on the server-side - -If you want to obtain an `Session Signature` on the server-side, you can instantiate an `ethers.Signer` to sign a SIWE message, which will produce a signature that can be used in an `Session Signature` object. - -:::note -The nonce should be the latest Ethereum blockhash returned by the nodes during the handshake -::: - -```jsx -const LitJsSdk = require('@lit-protocol/lit-node-client-nodejs'); -const { ethers } = require("ethers"); -const siwe = require('siwe'); - -let nonce = await litNodeClient.getLatestBlockhash(); - -// Initialize the signer -const wallet = new ethers.Wallet(''); -const address = ethers.getAddress(await wallet.getAddress()); - -// Craft the SIWE message -const domain = 'localhost'; -const origin = 'https://localhost/login'; -const statement = - 'This is a test statement. You can put anything you want here.'; - -// expiration time in ISO 8601 format. This is 7 days in the future, calculated in milliseconds -const expirationTime = new Date( - Date.now() + 1000 * 60 * 60 * 24 * 7 * 10000 -).toISOString(); - -const siweMessage = new siwe.SiweMessage({ - domain, - address: address, - statement, - uri: origin, - version: '1', - chainId: 1, - nonce, - expirationTime, -}); -const messageToSign = siweMessage.prepareMessage(); - -// Sign the message and format the authSig -const signature = await wallet.signMessage(messageToSign); - -const authSig = { - sig: signature, - derivedVia: 'web3.eth.personal.sign', - signedMessage: messageToSign, - address: address, -}; - -console.log(authSig); - -// Form the authNeededCallback to create a session with -// the wallet signature. -const authNeededCallback = async (params) => { - const response = await client.signSessionKey({ - statement: params.statement, - authMethods: [ - { - authMethodType: 1, - // use the authSig created above to authenticate - // allowing the pkp to sign on behalf. - accessToken: JSON.stringify(authSig), - }, - ], - pkpPublicKey: ``, - expiration: params.expiration, - resources: params.resources, - chainId: 1, - }); - return response.authSig; -}; - -// Set resources to allow for signing of any message. -const resourceAbilities = [ - { - resource: new LitActionResource('*'), - ability: LitAbility.PKPSigning, - }, -]; -// Get the session key for the session signing request -// will be accessed from local storage or created just in time. -const sessionKeyPair = client.getSessionKey(); - -// Request a session with the callback to sign -// with an EOA wallet from the custom auth needed callback created above. -const sessionSigs = await client.getSessionSigs({ - chain: "ethereum", - expiration: new Date(Date.now() + 60_000 * 60).toISOString(), - resourceAbilityRequests: resourceAbilities, - authNeededCallback, -}); -``` - -## Mint a PKP and Add Permitted Scopes -Now that we have installed all of the required packages and authenticated with the Lit nodes we will mint a PKP and set its permitted scopes using the `contracts-sdk`. - -Permitted scopes are a crucial part of defining the capabilities of each authentication method you use. They determine what actions a given authentication method can perform with the PKP. For instance, the `SignAnything` scope allows an auth method to sign any data, while the `PersonalSign` scope restricts it to signing messages using the EIP-191 scheme. - -You can also set scopes: `[]` which will mean that the auth method can only be used for authentication, but not authorization. This means that the auth method can be used to prove that the user is who they say they are, but cannot be used to sign transactions or messages. You can read more about Auth Method scopes [here](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.MintWithAuthParams.html#scopes). - -The following code block demonstrates how to mint a PKP with specific permitted scopes: - -:::note -The PKP NFT represents root ownership of the key pair. The NFT owner can grant other users (via a wallet address) or Lit Actions the ability to use the PKP to sign transactions or assign additional authentication methods. -::: - -```jsx -import { AuthMethodScope, AuthMethodType } from '@lit-protocol/constants'; - -const authMethod = { - authMethodType: AuthMethodType.EthWallet, - accessToken: JSON.stringify(authSig), -}; - -const mintInfo = await contractClient.mintWithAuth({ - authMethod: authMethod, - scopes: [ - // AuthMethodScope.NoPermissions, - AuthMethodScope.SignAnything, - AuthMethodScope.PersonalSign - ], -}); - -// output: -{ - pkp: { - tokenId: string; - publicKey: string; - ethAddress: string; - }; - tx: ethers.ContractReceipt; -} -``` - -You should now have successfully minted a PKP! You can verify that the PKP has the necessary permissions for signing by calling the following function: - -```jsx -import { LitAuthClient } from '@lit-protocol/lit-auth-client'; - -const authId = await LitAuthClient.getAuthIdByAuthMethod(authMethod); -const scopes = await contractClient.pkpPermissionsContract.read.getPermittedAuthMethodScopes( - mintInfo.pkp.tokenId, - AuthMethodType.EthWallet, - authId, - 3 -); - -const signAnythingScope = scopes[1]; -const personalSignScope = scopes[2]; -``` - -Additional Demos: - -1. **[Minting a PKP with an auth method and permitted scopes (Easy)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-2-easy.mjs)** -2. **[Minting a PKP with an auth method and permitted scopes (Advanced)](https://github.com/LIT-Protocol/js-sdk/blob/feat/SDK-V3/e2e-nodejs/group-contracts/test-contracts-write-mint-a-pkp-and-set-scope-1-advanced.mjs)** -3. **[Minting a PKP using social login](../../user-wallets/pkps/minting/via-social.md)** - -## Mint Capacity Credits and Delegate Usage - -In order to execute a transaction with Lit, you’ll need to reserve capacity on the network using Capacity Credits. These allow holders to reserve a set number of requests (requests per second) over a desired period of time (i.e. one week). You can mint a Capacity Credit NFT using the `contracts-sdk` in a couple of easy steps. - -The first step is to initialize a signer. This should be a wallet controlled by your application and the same wallet you’ll use to mint the Capacity Credit NFT: - -```jsx -import { LitNetwork } from "@lit-protocol/constants"; - -const walletWithCapacityCredit = new Wallet(""); - -let contractClient = new LitContracts({ - signer: dAppOwnerWallet, - network: LitNetwork.Datil, -}); - -await contractClient.connect(); -``` - -After you’ve set your wallet, your next step is to mint the NFT: - -```jsx -// this identifier will be used in delegation requests. -const { capacityTokenIdStr } = await contractClient.mintCapacityCreditsNFT({ - requestsPerKilosecond: 80, - // requestsPerDay: 14400, - // requestsPerSecond: 10, - daysUntilUTCMidnightExpiration: 2, -}); -``` - -In the above example, we are configuring 2 properties: - -- `requestsPerDay` - How many requests can be sent in a 24 hour period. -- `daysUntilUTCMidnightExpiration` - The number of days until the nft will expire. expiration will occur at `UTC Midnight` of the day specified. - -Once you mint your NFT you will be able to send X many requests per day where X is the number specified in `requestsPerDay`. Once the `Capacity Credit` is minted the `tokenId` can be used in delegation requests. - -### Delegate usage to your PKP - -Once you have minted a Capacity Credits NFT, you can delegate usage of it to the PKP we minted earlier. This will allow that PKP to make requests to the Lit network. - -```jsx -const { capacityDelegationAuthSig } = - await litNodeClient.createCapacityDelegationAuthSig({ - uses: '1', - signer: wallet, - capacityTokenId: capacityTokenIdStr, - delegateeAddresses: [secondWalletPKPInfo.ethAddress], - }); -``` - -To delegate your Rate Limit NFT there are 4 properties to configure: - -- `uses` - How many times the delegation may be used -- `dAppOwnerWallet` - The owner of the wallet as an `ethers Wallet instance` -- `capacityTokenId` - The `token identifier` of the Rate Limit NFT -- `delegateeAddresses` - The wallet addresses which will be delegated to - -:::note -The `delegateeAddress` parameter is optional. If omitted, anyone can use your `capacityDelegationAuthSig` to use your app without restrictions. In this case, you can utilize other restrictions like the `uses` param to limit the amount of usage by your users. -::: - -### Using a delegated `AuthSig` from a backend +

    +
    -If using a `mainnet` in order to keep the wallet which holds the `Capacity Credit NFT` secure it is recommended to call `createCapacityDelegationAuthSig` from `LitNodeClient` in a backend context. There are a few recommended web servers you can use in order to host an api endpoint which can return the `capacityDelegationAuthSig` . Some links are provided below to help get started: +## Defining the Lit Action -- [ExpressJS](https://www.npmjs.com/package/express) -- [Node HTTP server](https://nodejs.org/api/http.html#http) +There are two ways to define a Lit Action. You can either define the code inline, or you can use IPFS to store the code. In this example, we'll use the inline method. If you'd like to use the IPFS method, you would instead use `ipfsId` instead of `litActionCode`, and the `ipfsId` would be the IPFS CID of the Lit Action code. -### Generating a Session Signature from the Capacity Credit delegation -We can use the Capacity Credit delegation to generate a Session Signature for the PKP: +
    +Click here to see how this is done +

    -```jsx - const pkpAuthNeededCallback = async ({ - expiration, - resources, - resourceAbilityRequests, - }) => { - // -- validate - if (!expiration) { - throw new Error('expiration is required'); - } - - if (!resources) { - throw new Error('resources is required'); - } - - if (!resourceAbilityRequests) { - throw new Error('resourceAbilityRequests is required'); - } - - const response = await litNodeClient.signSessionKey({ - statement: 'Some custom statement.', - authMethods: [secondWalletControllerAuthMethod], // authMethods for signing the sessionSigs - pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated - expiration: expiration, - resources: resources, - chainId: 1, - - // optional (this would use normal siwe lib, without it, it would use lit-siwe) - resourceAbilityRequests: resourceAbilityRequests, - }); - - console.log('response:', response); - - return response.authSig; - }; - - const pkpSessionSigs = await litNodeClient.getSessionSigs({ - pkpPublicKey: secondWalletPKPInfo.publicKey, // public key of the wallet which is delegated - expiration: new Date(Date.now() + 1000 * 60 * 60 * 24).toISOString(), // 24 hours - chain: 'ethereum', - resourceAbilityRequests: [ - { - resource: new LitPKPResource('*'), - ability: LitAbility.PKPSigning, - }, - ], - authNeededCallback: pkpAuthNeededCallback, - capacityDelegationAuthSig, // here is where we add the delegation to our session request - }); - - console.log("generated session with delegation ", pkpSessionSigs); - - const res = await litNodeClient.executeJs({ - sessionSigs: pkpSessionSigs, - code: `(async () => { - const sigShare = await LitActions.signEcdsa({ - toSign: dataToSign, - publicKey, - sigName: "sig", - }); - })();`, - authMethods: [], - jsParams: { // parameters to js function above - dataToSign: ethers.utils.arrayify( - ethers.utils.keccak256([1, 2, 3, 4, 5]) - ), - publicKey: secondWalletPKPInfo.publicKey, - }, - }); - - console.log("signature result ", res); +```ts +const litActionCode = `(() => { + if (magicNumber >= 42) { + LitActions.setResponse({ response:"The number is greater than or equal to 42!" }); + } else { + LitActions.setResponse({ response: "The number is less than 42!" }); + } +})();`; ``` -## Sign a Transaction - -### Lit Action Signing - -To sign a Lit Action with your PKP, we'll use the `litNodeClient` to call the `executeJs` parameter. - -:::note +

    +
    -`toSign` data is required to be in 32 byte format. The  `ethers.utils.arrayify(ethers.utils.keccak256(...)` method can be used to convert the `toSign` data to the correct format. +## Executing the Lit Action -::: +To execute the Lit Action, you'll need to pass in the `sessionSigs` and `code` parameters. The `jsParams` parameter is optional, and can be used to pass in parameters to the Lit Action. -You can set up the Lit Action code to be run on the Lit nodes like so: - -```jsx -const litActionCode = ` - const go = async () => { - // The params toSign, publicKey, sigName are passed from the jsParams fields and are available here - const sigShare = await Lit.Actions.signEcdsa({ toSign, publicKey, sigName }); - }; - - go(); -`; - -const signatures = await litNodeClient.executeJs({ +```ts +const response = await litNodeClient.executeJs({ + sessionSigs: sessionSignatures, code: litActionCode, - sessionSigs, - jsParams: { - toSign: [84, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, 51, 50, 32, 98, 121, 116, 101, 115], - publicKey: mintInfo.pkp.publicKey, - sigName: "sig1", - }, -}); - -console.log("signatures: ", signatures); -``` - -You can also use the `ipfsId` param if you’d prefer to store your Lit Action code on IPFS. - -The ipfs ID: `QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm` contains the same code as the "litActionCode" variable above. You can check out the full code [here](https://ipfs.litgateway.com/ipfs/QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm). - -```jsx -const signatures = await litNodeClient.executeJs({ - ipfsId: "QmRwN9GKHvCn4Vk7biqtr6adjXMs7PzzYPCzNCRjPFiDjm", - sessionSigs, jsParams: { - toSign: [84, 104, 105, 115, 32, 109, 101, 115, 115, 97, 103, 101, 32, 105, 115, 32, 101, 120, 97, 99, 116, 108, 121, 32, 51, 50, 32, 98, 121, 116, 101, 115], - publicKey: mintInfo.pkp.publicKey, - sigName: "sig1", - }, + magicNumber: 43, + } }); ``` From dd2fd9673808b083b8c12f817972e7fe6e9c24c0 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 21:00:00 -0400 Subject: [PATCH 582/627] Refinement --- docs/sdk/serverless-signing/quick-start.md | 39 +++++++++++++--------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index d5ff8235..4b7fc5fb 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -11,9 +11,9 @@ Blockchains like Ethereum have smart contracts that let developers encode logic Lit Actions are JavaScript functions that can be used read and write data across blockchains, web2 platforms, and the rest of the web3 world. You can use Lit Actions to generate signatures when your specified on or off-chain conditions are met, fetch data from off-chain platforms, and manage permissions for PKPs. -In the following guide, we will write a simple Lit Action that requests a signature from the Lit nodes and signs the message "Hello World". +This guide will walk you through setting up a connection to the Lit network, defining a Lit Action, and executing the Lit Action. The code snippets can be complied and run to successfully execute the Lit Action, as long as an Ethereum wallet is initialized using the `ETHEREUM_PRIVATE_KEY` environment variable. -This guide uses Lit's [Datil Network](../../network/networks/mainnet.md), the Mainnet Beta, which is designed for application developers aiming to build **production-ready** applications. For those developing in a test environment, the Datil-test Network is recommended. More on Lit networks [here](../../network/networks/testnet.md). +This guide uses Lit's [Datil-dev Network](../../connecting-to-a-lit-network/testnets#datil-dev) which is designed for application developers aiming to get familiar with the Lit SDK. Payment is not required on this network, and therefore the code is less complex. For those wanting to develop using Lit for production-ready applications, the [Datil-test](../../connecting-to-a-lit-network/testnets#datil-test) Network is recommended. More on Lit networks can be found [here](../../network/networks/testnet.md). For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. @@ -44,9 +44,9 @@ values={[ ```bash npm install @lit-protocol/lit-node-client \ -`@lit-protocol/constants` \ -`@lit-protocol/auth-helpers` \ -`@lit-protocol/contracts-sdk` +@lit-protocol/constants \ +@lit-protocol/auth-helpers \ +ethers@v5 ``` @@ -55,9 +55,9 @@ npm install @lit-protocol/lit-node-client \ ```bash yarn add @lit-protocol/lit-node-client \ -`@lit-protocol/constants` \ -`@lit-protocol/auth-helpers` \ -`@lit-protocol/contracts-sdk` +@lit-protocol/constants \ +@lit-protocol/auth-helpers \ +ethers@v5 ``` @@ -69,7 +69,7 @@ Below will introduce a very basic setup of how to go from an empty file, to an i ### Connecting to the Lit Network -Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. +Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. We will also be initializing an Ethereum wallet using the `ETHEREUM_PRIVATE_KEY` environment variable. This is needed in generating session signatures.
    Click here to see how this is done @@ -104,6 +104,13 @@ Session signatures are vital to authentication on the Lit network. They also are

    ```ts +import { + LitAbility, + LitActionResource, + createSiweMessage, + generateAuthSig, +} from "@lit-protocol/auth-helpers"; + const sessionSignatures = await litNodeClient.getSessionSigs({ chain: "ethereum", expiration: new Date(Date.now() + 1000 * 60 * 10).toISOString(), // 10 minutes @@ -163,6 +170,10 @@ const litActionCode = `(() => { To execute the Lit Action, you'll need to pass in the `sessionSigs` and `code` parameters. The `jsParams` parameter is optional, and can be used to pass in parameters to the Lit Action. +

    +Click here to see how this is done +

    + ```ts const response = await litNodeClient.executeJs({ sessionSigs: sessionSignatures, @@ -173,13 +184,11 @@ const response = await litNodeClient.executeJs({ }); ``` -# Learn More +

    +
    -By now you should have successfully written a Lit Action, minted a PKP, and used it to sign a message with a Lit Action. If you’d like to learn more about what’s possible with Lit Actions, please follow the links below: +# Learn More -1. [Conditional Signatures](../serverless-signing/conditional-signing.md). -2. [Fetching Off-Chain Data](../serverless-signing/fetch.md). -3. [Using Dependencies](../serverless-signing/dependencies.md). -4. [Creating Blockchain Transactions](../serverless-signing/processing-validation.md). +By now you should have successfully written a and executed a Lit Action. If you’d like to learn more about what’s possible with Lit Actions, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section. From 5a9e4ca9347bc6852f16cd9061eba7eed1fa6688 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 21:10:13 -0400 Subject: [PATCH 583/627] Refinement --- docs/sdk/serverless-signing/quick-start.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 4b7fc5fb..bcfbd95b 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -30,7 +30,7 @@ You should use **at least Node v19.9.0** for - **crypto** support. - **webcrypto** library support if targeting `web`. -If you're just getting started with Lit, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an envionment containing the necessary packages to get started with Lit. +If you're just getting started with Lit or development in general, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an environment for getting started with the Lit SDK. For Lit Actions specifically, you'll also be needing these packages: @@ -69,7 +69,7 @@ Below will introduce a very basic setup of how to go from an empty file, to an i ### Connecting to the Lit Network -Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. We will also be initializing an Ethereum wallet using the `ETHEREUM_PRIVATE_KEY` environment variable. This is needed in generating session signatures. +Running a Lit Action requires you to connect to the Lit network. This can be done by creating a [LitNodeClient](https://v6-api-doc-lit-js-sdk.vercel.app/classes/lit_node_client_src.LitNodeClient.html) instance, which will connect to the Lit network and allow you to interact with the network. We will also be initializing an Ethereum wallet using the `ETHEREUM_PRIVATE_KEY` environment variable. This will be needed in generating session signatures.
    Click here to see how this is done @@ -147,7 +147,7 @@ const sessionSignatures = await litNodeClient.getSessionSigs({ ## Defining the Lit Action -There are two ways to define a Lit Action. You can either define the code inline, or you can use IPFS to store the code. In this example, we'll use the inline method. If you'd like to use the IPFS method, you would instead use `ipfsId` instead of `litActionCode`, and the `ipfsId` would be the IPFS CID of the Lit Action code. +There are two ways to define a Lit Action. You can either define the code inline, or you can use IPFS to store the code. In this example, we'll use the inline method.
    Click here to see how this is done @@ -170,6 +170,8 @@ const litActionCode = `(() => { To execute the Lit Action, you'll need to pass in the `sessionSigs` and `code` parameters. The `jsParams` parameter is optional, and can be used to pass in parameters to the Lit Action. +If you'd like to use the IPFS method mentioned previously, you would instead use `ipfsId` instead of `code: litActionCode`, and the `ipfsId` would be the IPFS CID of the Lit Action code. +
    Click here to see how this is done

    From 7e186e62c4c38e32857db340615e9c1bd9b53a53 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 21:18:33 -0400 Subject: [PATCH 584/627] Refinement --- docs/sdk/serverless-signing/quick-start.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index bcfbd95b..67ecf821 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -7,12 +7,10 @@ import TabItem from '@theme/TabItem'; ## Start Here -Blockchains like Ethereum have smart contracts that let developers encode logic to change that state. As a key management network, Lit provides a method that allows developers to encode logic that dictates signing. - -Lit Actions are JavaScript functions that can be used read and write data across blockchains, web2 platforms, and the rest of the web3 world. You can use Lit Actions to generate signatures when your specified on or off-chain conditions are met, fetch data from off-chain platforms, and manage permissions for PKPs. - This guide will walk you through setting up a connection to the Lit network, defining a Lit Action, and executing the Lit Action. The code snippets can be complied and run to successfully execute the Lit Action, as long as an Ethereum wallet is initialized using the `ETHEREUM_PRIVATE_KEY` environment variable. +If you're instead looking to learn more about the concept of Lit Actions, check out the our [Overview](./overview). + This guide uses Lit's [Datil-dev Network](../../connecting-to-a-lit-network/testnets#datil-dev) which is designed for application developers aiming to get familiar with the Lit SDK. Payment is not required on this network, and therefore the code is less complex. For those wanting to develop using Lit for production-ready applications, the [Datil-test](../../connecting-to-a-lit-network/testnets#datil-test) Network is recommended. More on Lit networks can be found [here](../../network/networks/testnet.md). For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. @@ -63,9 +61,7 @@ ethers@v5 -## Running Lit Actions - -Below will introduce a very basic setup of how to go from an empty file, to an implementation of a Lit Action that can be run on the Lit network. +## Walkthrough ### Connecting to the Lit Network From f8c7a91aef2bff16c0bf07ea4cede5586064fc1a Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 21:22:50 -0400 Subject: [PATCH 585/627] Small fixes --- docs/sdk/serverless-signing/quick-start.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 67ecf821..b72ef428 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -168,6 +168,8 @@ To execute the Lit Action, you'll need to pass in the `sessionSigs` and `code` p If you'd like to use the IPFS method mentioned previously, you would instead use `ipfsId` instead of `code: litActionCode`, and the `ipfsId` would be the IPFS CID of the Lit Action code. +More details on the `executeJs` method can be found [here](https://v6-api-doc-lit-js-sdk.vercel.app/interfaces/types_src.JsonExecutionSdkParams.html). +

    Click here to see how this is done

    @@ -187,6 +189,6 @@ const response = await litNodeClient.executeJs({ # Learn More -By now you should have successfully written a and executed a Lit Action. If you’d like to learn more about what’s possible with Lit Actions, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section. +By now you should have successfully written and executed a Lit Action. If you’d like to learn more about what’s possible with Lit Actions, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section. From 814fecf5c3eab6d3c70984c8dd8fb0f2ec4f8f16 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 27 Aug 2024 21:26:05 -0400 Subject: [PATCH 586/627] Grammar fixes --- docs/sdk/serverless-signing/quick-start.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index b72ef428..15b326c9 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -7,9 +7,9 @@ import TabItem from '@theme/TabItem'; ## Start Here -This guide will walk you through setting up a connection to the Lit network, defining a Lit Action, and executing the Lit Action. The code snippets can be complied and run to successfully execute the Lit Action, as long as an Ethereum wallet is initialized using the `ETHEREUM_PRIVATE_KEY` environment variable. +This guide will walk you through setting up a connection to the Lit network, defining a Lit Action, and executing the Lit Action. The code snippets can be compiled and run to successfully execute the Lit Action, as long as an Ethereum wallet is initialized using the `ETHEREUM_PRIVATE_KEY` environment variable. -If you're instead looking to learn more about the concept of Lit Actions, check out the our [Overview](./overview). +If you're instead looking to learn more about the concept of Lit Actions, check out our [Overview](./overview). This guide uses Lit's [Datil-dev Network](../../connecting-to-a-lit-network/testnets#datil-dev) which is designed for application developers aiming to get familiar with the Lit SDK. Payment is not required on this network, and therefore the code is less complex. For those wanting to develop using Lit for production-ready applications, the [Datil-test](../../connecting-to-a-lit-network/testnets#datil-test) Network is recommended. More on Lit networks can be found [here](../../network/networks/testnet.md). @@ -30,7 +30,7 @@ You should use **at least Node v19.9.0** for If you're just getting started with Lit or development in general, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an environment for getting started with the Lit SDK. -For Lit Actions specifically, you'll also be needing these packages: +For Lit Actions specifically, you'llalso need these packages: Date: Thu, 29 Aug 2024 16:02:10 -0400 Subject: [PATCH 587/627] Fixed PR Reviews --- .../combining-signatures.md | 4 ++-- .../serverless-signing/conditional-signing.md | 2 ++ docs/sdk/serverless-signing/quick-start.md | 20 ++++++++++--------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index c730ef12..cc0c0868 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; When [signing a transaction](../serverless-signing/quick-start#sign-a-transaction.md) with Lit, signature shares are typically combined client-side. However, the `signAndCombineEcdsa` function allows you to combine signature shares directly within a Lit Action, which is useful for when you want to make use of the signed data within your Lit Action e.g. submitting a signed transaction. The signature shares will remain within the confines of each Lit node's [Trusted Execution Environment (TEE)](../../resources/how-it-works#1-lit-nodes.md) without ever being exposed to the outside world. -When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following code example will show how you can use this functionality for signing a blockchain transaction using ethers.js. +When you call the `signAndCombineEcdsa` function, signature shares are collected from each Lit node before being combined on a *single* node. The following example demonstrates how you can use this functionality to sign a blockchain transaction using ethers.js ## Prerequisites @@ -22,7 +22,7 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The following Lit Action uses `signAndCombineEcdsa` to combine the signatures created by each share signing the `toSign` variable, which is the provided hash of a serialized transaction. We then serialize the transaction and sign it using `ethers.js`. +The following Lit Action uses `signAndCombineEcdsa` to combine partial signatures provided by each Lit node, each of which signs a share of the `toSign` variable—this variable contains the hash of the serialized transaction. After combining these shares into a complete signature, we use `ethers.js` to serialize the transaction again, this time including the signature, to finalize it for submission. ```jsx const litActionCode = ` diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 4cddb708..9bf4d52f 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -22,6 +22,8 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action +This function performs a condition check on the authenticated user's Ethereum balance (the user who signed the Sign-in With Ethereum [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) message to create the `AuthSig`), returning a boolean. This is then used to determine whether or not the PKP will sign `dataToSign` or not. + The below example will check if the user has at least 1 Wei on Ethereum, only returning a signature if they do. It uses the [`checkConditions`](https://actions-docs.litprotocol.com/#checkconditions) function from the [Lit Actions SDK](https://actions-docs.litprotocol.com/). This performs a conditional check on the user's Ethereum balance, checking the balance of the wallet address that signed the Sign-in With Ethereum [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) when creating the `AuthSig`, which is passed in as an argument to the Lit Action. The boolean returned will be used to determine whether the wallet will be used to sign `dataToSign` or not. :::note diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 15b326c9..54fc4fc6 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -7,11 +7,11 @@ import TabItem from '@theme/TabItem'; ## Start Here -This guide will walk you through setting up a connection to the Lit network, defining a Lit Action, and executing the Lit Action. The code snippets can be compiled and run to successfully execute the Lit Action, as long as an Ethereum wallet is initialized using the `ETHEREUM_PRIVATE_KEY` environment variable. +This guide will walk you through the process of creating and executing your first Lit Action. The steps include connecting to the Lit network, writing and deploying your Lit Action code, and finally executing the Lit Action. You can use the provided code snippets to execute this on your own machine. -If you're instead looking to learn more about the concept of Lit Actions, check out our [Overview](./overview). +If you're instead looking to learn more about how Lit Actions work, check out the [Overview](./overview) page. -This guide uses Lit's [Datil-dev Network](../../connecting-to-a-lit-network/testnets#datil-dev) which is designed for application developers aiming to get familiar with the Lit SDK. Payment is not required on this network, and therefore the code is less complex. For those wanting to develop using Lit for production-ready applications, the [Datil-test](../../connecting-to-a-lit-network/testnets#datil-test) Network is recommended. More on Lit networks can be found [here](../../network/networks/testnet.md). +This guide uses Lit's [Datil-dev Network](../../connecting-to-a-lit-network/testnets#datil-dev) which is designed for application developers aiming to get familiar with the Lit SDK. Payment is not required on this network, and therefore the code is less complex. For those aiming to build production-ready applications, the [Datil-test Network](../../connecting-to-a-lit-network/testnets#datil-test) is recommended. Once ready, these applications can then be deployed on [Datil](../../connecting-to-a-lit-network/mainnets#datil), the Lit production network. To see the available Lit networks, check out [this page](../../connecting-to-a-lit-network/connecting). For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. @@ -30,7 +30,7 @@ You should use **at least Node v19.9.0** for If you're just getting started with Lit or development in general, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an environment for getting started with the Lit SDK. -For Lit Actions specifically, you'llalso need these packages: +For Lit Actions specifically, you'll also need these packages:

    Click here to see how this is done @@ -93,7 +95,7 @@ const ethersWallet = new ethers.Wallet( ### Generating Session Signatures -Session signatures are vital to authentication on the Lit network. They also are required for giving your session the ability to execute Lit Actions. Please note that there is more than one way to generate session signatures, and that those methods can be found on their dedicated pages in the [Session Signatures](../authentication/session-sigs/intro) section. +Session signatures are used to authenticate and maintain an active connection to the nodes in the Lit network. They are required when executing a Lit Action or any other functionality (i.e. signing) with Lit. There is more than one way to generate session signatures, and that those methods can be found on their dedicated pages in the [Session Signatures](../authentication/session-sigs/intro) section.
    Click here to see how this is done @@ -141,9 +143,9 @@ const sessionSignatures = await litNodeClient.getSessionSigs({

    -## Defining the Lit Action +## Storing the Lit Action -There are two ways to define a Lit Action. You can either define the code inline, or you can use IPFS to store the code. In this example, we'll use the inline method. +There are two ways to store a Lit Action. You can either write the code inline, or you can use IPFS to store the code. In this example, we'll use the inline method.
    Click here to see how this is done @@ -164,7 +166,7 @@ const litActionCode = `(() => { ## Executing the Lit Action -To execute the Lit Action, you'll need to pass in the `sessionSigs` and `code` parameters. The `jsParams` parameter is optional, and can be used to pass in parameters to the Lit Action. +To execute the Lit Action, we use the `executeJs` function. You'll need to pass in the `sessionSigs` and `code` parameters. The `jsParams` parameter is optional, and can be used to pass in parameters to the Lit Action. If you'd like to use the IPFS method mentioned previously, you would instead use `ipfsId` instead of `code: litActionCode`, and the `ipfsId` would be the IPFS CID of the Lit Action code. From 322aaba76986e2444da8dea7f006d8a3aff9defe Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 29 Aug 2024 10:08:04 -1000 Subject: [PATCH 588/627] Update docs/sdk/serverless-signing/combining-signatures.md --- docs/sdk/serverless-signing/combining-signatures.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index cc0c0868..4c2ace6a 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -22,7 +22,7 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The following Lit Action uses `signAndCombineEcdsa` to combine partial signatures provided by each Lit node, each of which signs a share of the `toSign` variable—this variable contains the hash of the serialized transaction. After combining these shares into a complete signature, we use `ethers.js` to serialize the transaction again, this time including the signature, to finalize it for submission. +The following Lit Action uses `signAndCombineEcdsa` to combine partial signatures provided by each Lit node, each of which signs a share of the `toSign` variable — this variable contains the hash of the serialized transaction. After combining these shares into a complete signature, we use `ethers.js` to serialize the transaction again, this time including the signature, to finalize it for submission. ```jsx const litActionCode = ` From 8b38fbefa73a9e21bc6bd4834cdeaa07be915d8f Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 30 Aug 2024 16:06:26 -0700 Subject: [PATCH 589/627] Some changes, revert access control quick start --- docs/sdk/access-control/quick-start.md | 24 ++++++++++----------- docs/sdk/serverless-signing/quick-start.md | 25 +++++++++------------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/docs/sdk/access-control/quick-start.md b/docs/sdk/access-control/quick-start.md index 16da7908..5ff357f7 100644 --- a/docs/sdk/access-control/quick-start.md +++ b/docs/sdk/access-control/quick-start.md @@ -187,18 +187,18 @@ const accessControlConditions = [ To encrypt a string, use one of the following functions: -- [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. -- [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. +- [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) - Used to encrypt the raw string. +- [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) - Compresses the string (using [JSZip](https://www.npmjs.com/package/jszip)) before encrypting it. This is useful for saving space, but takes additional time to perform the zip. To encrypt a file, use: -- [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. -- [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. -- [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. +- [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) - Used to encrypt a file without doing any zipping or packing. Because zipping larger files takes time, this function is useful when encrypting large files ( > 20mb). This also requires that you store the file metadata. +- [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) - Used to encrypt a file and then zip it up with the metadata (using [JSZip](https://www.npmjs.com/package/jszip)). This is useful for when you don't want to store the file metadata separately. +- [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) - Used to zip and encrypt multiple files. This does **not** include the file metadatas in the zip, so you must store those yourself. Apart from these, we have one more function which can be used to encrypt both strings and files: -- [encryptToJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialise all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. +- [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) - Used to encrypt a string or file and serialise all the metadata required to decrypt i.e. accessControlConditions, evmContractConditions, solRpcConditions, unifiedAccessControlConditions & chain to JSON. It is useful for encrypting/decrypting data in IPFS or other storage without compressing it in a ZIP file. Encryption can be performed entirely client-side and doesn't require making a request to the Lit nodes. @@ -510,11 +510,11 @@ If using a `mainnet` in order to keep the wallet which holds the `Capacity Credi To decrypt use the following functions depending on the function used to encrypt: -- [decryptToString()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToString.html) for [encryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptString.html) -- [decryptToZip()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v3.api-docs.getlit.dev/functions/encryption_src.zipAndEncryptFiles.html) -- [decryptToFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFile.html) -- [decryptZipFileWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptFileAndZipWithMetadata.html) -- [decryptFromJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v3.api-docs.getlit.dev/functions/encryption_src.encryptToJson.html) +- [decryptToString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToString.html) for [encryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptString.html) +- [decryptToZip()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToZip.html) for [zipAndEncryptString()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptString.html) & [zipAndEncryptFiles()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.zipAndEncryptFiles.html) +- [decryptToFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptToFile.html) for [encryptFile()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFile.html) +- [decryptZipFileWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptZipFileWithMetadata.html) for [encryptFileAndZipWithMetadata()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptFileAndZipWithMetadata.html) +- [decryptFromJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.decryptFromJson.html) for [encryptToJson()](https://v6-api-doc-lit-js-sdk.vercel.app/functions/encryption_src.encryptToJson.html) In the example, we used `encryptString()` to encrypt so we will use `decryptToString()` to decrypt. Pass in the data `accessControlConditions`, `ciphertext`, `dataToEncryptHash`, and `authSig`. @@ -561,4 +561,4 @@ By now you should have successfully created an Access Control Condition and perf 3. [Off-Chain Conditions](../access-control/lit-action-conditions.md). 4. [Custom Contract Calls](../access-control/evm/custom-contract-calls.md). - + \ No newline at end of file diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index 54fc4fc6..f62be070 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -15,22 +15,9 @@ This guide uses Lit's [Datil-dev Network](../../connecting-to-a-lit-network/test For developers looking to explore beyond the basics, check out the [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) for more developed uses of Lit Actions. -## Install and Import the Lit SDK +## Installing the Lit SDK -To get started with Lit Actions and the Lit SDK, you'll need to have the following: - -1. Operating System: Linux, Mac OS, or Windows. -2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. -3. Languages: The Lit SDK supports JavaScript. Make sure you have the appropriate language environment set up. -4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. - -You should use **at least Node v19.9.0** for -- **crypto** support. -- **webcrypto** library support if targeting `web`. - -If you're just getting started with Lit or development in general, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an environment for getting started with the Lit SDK. - -For Lit Actions specifically, you'll also need these packages: +To get started with Lit Actions and the Lit SDK, you'll need to install these packages: +If you're just getting started with Lit or development in general, we recommend taking a look at our [Starter Guides](https://github.com/LIT-Protocol/developer-guides-code/tree/master/starter-guides). These guides provide an environment for getting started with the Lit SDK. + +:::info +You should use **at least Node v19.9.0** for +- **crypto** support. +- **webcrypto** library support if targeting `web`. +::: + ## Walkthrough ### Connecting to the Lit Network From 6000829c08454234cd7427fbb73a4c411ecc0bf0 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 30 Aug 2024 16:54:06 -0700 Subject: [PATCH 590/627] Changed Lit Action formatting --- docs/sdk/serverless-signing/quick-start.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index f62be070..fcdb52d8 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -147,13 +147,15 @@ There are two ways to store a Lit Action. You can either write the code inline,

    ```ts -const litActionCode = `(() => { +const _litActionCode = async () => { if (magicNumber >= 42) { LitActions.setResponse({ response:"The number is greater than or equal to 42!" }); } else { LitActions.setResponse({ response: "The number is less than 42!" }); } -})();`; +} + +const litActionCode = `(${_litActionCode.toString()})();`; ```

    From 71b1721df1e0df2fefb08f37f080c5ac0bcdd105 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 30 Aug 2024 16:58:21 -0700 Subject: [PATCH 591/627] Another lit action formatting fix(es) --- docs/sdk/serverless-signing/combining-signatures.md | 8 ++++---- docs/sdk/serverless-signing/conditional-signing.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-signatures.md b/docs/sdk/serverless-signing/combining-signatures.md index 4c2ace6a..31ec7c07 100644 --- a/docs/sdk/serverless-signing/combining-signatures.md +++ b/docs/sdk/serverless-signing/combining-signatures.md @@ -25,8 +25,7 @@ The complete code example is available in the [Lit Developer Guides Code Reposit The following Lit Action uses `signAndCombineEcdsa` to combine partial signatures provided by each Lit node, each of which signs a share of the `toSign` variable — this variable contains the hash of the serialized transaction. After combining these shares into a complete signature, we use `ethers.js` to serialize the transaction again, this time including the signature, to finalize it for submission. ```jsx -const litActionCode = ` -(async () => { +const _litActionCode = async () => { const signature = await Lit.Actions.signAndCombineEcdsa({ toSign, publicKey, @@ -62,8 +61,9 @@ const litActionCode = ` ); Lit.Actions.setResponse({ response }); -})(); -` +}; + +const litActionCode = `(${_litActionCode.toString()})();`; ``` ## Summary diff --git a/docs/sdk/serverless-signing/conditional-signing.md b/docs/sdk/serverless-signing/conditional-signing.md index 9bf4d52f..3a47d6fd 100644 --- a/docs/sdk/serverless-signing/conditional-signing.md +++ b/docs/sdk/serverless-signing/conditional-signing.md @@ -39,8 +39,7 @@ In the below code example, `sigShare` is a magic value within a Lit Action that ::: ```jsx -const litActionCode = ` -(async () => { +const _litActionCode = async () => { try { // test an access control condition const testResult = await Lit.Actions.checkConditions({ @@ -62,8 +61,9 @@ const litActionCode = ` } catch (error) { LitActions.setResponse({ response: error.message }); } -})(); -`; +}; + +const litActionCode = `(${_litActionCode.toString()})();`; ``` ## Summary From c5e420a2c8a51950d82a4783b99a0aebea6bd448 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Fri, 30 Aug 2024 16:59:53 -0700 Subject: [PATCH 592/627] JSX looks better --- docs/sdk/serverless-signing/quick-start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/quick-start.md b/docs/sdk/serverless-signing/quick-start.md index fcdb52d8..7d47a6bf 100644 --- a/docs/sdk/serverless-signing/quick-start.md +++ b/docs/sdk/serverless-signing/quick-start.md @@ -146,7 +146,7 @@ There are two ways to store a Lit Action. You can either write the code inline, Click here to see how this is done

    -```ts +```jsx const _litActionCode = async () => { if (magicNumber >= 42) { LitActions.setResponse({ response:"The number is greater than or equal to 42!" }); From 8f0f981e4d93f60d1f0b999dfc6970de64994658 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Mon, 2 Sep 2024 11:24:10 -0700 Subject: [PATCH 593/627] Button Fix --- src/components/AddRollupButtonYellowstone.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/AddRollupButtonYellowstone.jsx b/src/components/AddRollupButtonYellowstone.jsx index 33c2ee77..6605a1e6 100644 --- a/src/components/AddRollupButtonYellowstone.jsx +++ b/src/components/AddRollupButtonYellowstone.jsx @@ -4,7 +4,7 @@ export default function AddRollupButton() { const addNetwork = () => { const params = [ { - chainId: '175188', + chainId: '0x2AC54', chainName: 'Chronicle Yellowstone - Lit Protocol Testnet', nativeCurrency: { name: 'Lit Protocol - Chronicle Yellowstone Testnet Token (tstLPX)', From 45a17dac122dd14bc1c2d5cfffcb0e9310907b1a Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 11 Sep 2024 17:04:06 -0700 Subject: [PATCH 594/627] First commit, checking deployment --- .../combining-decryption-shares.md | 95 ++++++++++++------- 1 file changed, 60 insertions(+), 35 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index afccfd6e..b847341c 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -2,48 +2,73 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decrypting within a Lit Action + ## Overview -Decryption with Lit is typically performed client-side by an authorized user at the time of access. This process is documented [here](../access-control/quick-start.md). However, an alternative method of decryption is supported using Lit Actions. Specifically, the `decryptAndCombine` function can be used to decrypt data within a Lit Action. This is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). You can learn more about Lit's architecture [here](../../resources/how-it-works#sealed-and-confidential-hardware.md). +Decryption with Lit can be performed client-side by an authorized user, but it can also be performed within a Lit Action. -When you call `decryptAndCombine`, each Lit node's decryption shares are collected and combined on a single node and used to decrypt the given content. +Lit Actions have two methods for decrypting data: `decryptToSingleNode` and `decryptAndCombine`. The former reduces the execution scope of the Lit Action to a single node and decypts the data there. The latter collects each Lit node's decryption share, combines them, and then decrypts the data. -The following doc will provide a complete walkthrough of using `decryptAndCombine`. We'll start by encrypting a string client-side before using a Lit Action to decrypt it. At the bottom of the page you'll find a complete example that demonstrates how you can use this functionality to decrypt an API key and perform a remote API call from within an Action. +When `decryptToSingleNode` is used, the execution scope being reduced to a single Lit node means that any behavior that requires multiple nodes (i.e. console logs, `signAndCombineEcdsa`, etc...) will encounter a timeout error. -# Encrypting content -The first step is to encrypt your data. The encryption operation will be performed client-side *outside* of your Lit Action using the `LitNodeClient`: +Using decryption within a Lit Action is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). You can learn more about Lit's architecture [here](../../resources/how-it-works#sealed-and-confidential-hardware.md). -```js - const chain = 'ethereum'; - const accessControlConditions = [ - { - contractAddress: '', - standardContractType: '', - chain, - method: 'eth_getBalance', - parameters: [':userAddress', 'latest'], - returnValueTest: { - comparator: '>=', - value: '0', - }, - }, - ]; - const message = 'Hello world'; - const client = new LitNodeClient({ - litNetwork: "datil-dev" - }); - await client.connect(); - const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( - { +The below example will demonstrate encrypting an API key client-side, decrypting it within a Lit Action, and using the decrypted API key to query the blocknumber on Base. + +## Prerequsites +- Knowledge of [SessionSigs](../authentication/session-sigs/intro) +- Basic understanding of [Lit Actions](../serverless-signing/quick-start) +- Intermediate understanding of Lit [Encryption and Decryption](../access-control/quick-start) + +## Complete Code Example +The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action/nodejs). + +### Example Lit Action + +The `decryptAndCombine` function uses the `accessControlConditions` to specify who and under what conditions the data can be decrypted. The `ciphertext` and `dataToEncryptHash` are the encrypted data and the hash of the data that was encrypted. + +We set the `authSig` to null as a way to tell the Lit Action runtime to use the `authSig` which was provided to the node when you call `executeJs`. It will use the AuthSig within the session signatures. + +```tsx +const _litActionCode = async () => { + try { + const apiKey = await Lit.Actions.decryptAndCombine({ accessControlConditions, - sessionSigs: {}, // your session - chain, - dataToEncrypt: message, - }, - client - ); - - console.log("cipher text:", ciphertext, "hash:", dataToEncryptHash); + ciphertext, + dataToEncryptHash, + authSig: null, + chain: "ethereum", + }); + + const fullUrl = url + apiKey; + + const resp = await fetch(fullUrl, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + jsonrpc: "2.0", + id: 1, + method: "eth_blockNumber", + params: [], + }), + }); + + let data = await resp.json(); + + if (data.result) { + data.result = parseInt(data.result, 16); + } + + Lit.Actions.setResponse({ response: JSON.stringify(data) }); + } catch (e) { + Lit.Actions.setResponse({ response: e.message }); + } +}; + +export const litActionCode = `(${_litActionCode.toString()})();`; + ``` Let's break this down. The first step was creating your Access Control Condition (ACC), which is used to specify who or under what conditions your data should be able to be decrypted. From dff914edae695f8b4ad76ab9c939b3a2781ceaab Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 11 Sep 2024 17:07:51 -0700 Subject: [PATCH 595/627] Revert changes --- .../combining-decryption-shares.md | 95 +++++++------------ 1 file changed, 35 insertions(+), 60 deletions(-) diff --git a/docs/sdk/serverless-signing/combining-decryption-shares.md b/docs/sdk/serverless-signing/combining-decryption-shares.md index b847341c..afccfd6e 100644 --- a/docs/sdk/serverless-signing/combining-decryption-shares.md +++ b/docs/sdk/serverless-signing/combining-decryption-shares.md @@ -2,73 +2,48 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; # Decrypting within a Lit Action - ## Overview -Decryption with Lit can be performed client-side by an authorized user, but it can also be performed within a Lit Action. - -Lit Actions have two methods for decrypting data: `decryptToSingleNode` and `decryptAndCombine`. The former reduces the execution scope of the Lit Action to a single node and decypts the data there. The latter collects each Lit node's decryption share, combines them, and then decrypts the data. - -When `decryptToSingleNode` is used, the execution scope being reduced to a single Lit node means that any behavior that requires multiple nodes (i.e. console logs, `signAndCombineEcdsa`, etc...) will encounter a timeout error. - -Using decryption within a Lit Action is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). You can learn more about Lit's architecture [here](../../resources/how-it-works#sealed-and-confidential-hardware.md). +Decryption with Lit is typically performed client-side by an authorized user at the time of access. This process is documented [here](../access-control/quick-start.md). However, an alternative method of decryption is supported using Lit Actions. Specifically, the `decryptAndCombine` function can be used to decrypt data within a Lit Action. This is useful for performing operations over sensitive data, where the data itself remains private within the confines of each Lit node's Trusted Execution Environment (TEE). You can learn more about Lit's architecture [here](../../resources/how-it-works#sealed-and-confidential-hardware.md). -The below example will demonstrate encrypting an API key client-side, decrypting it within a Lit Action, and using the decrypted API key to query the blocknumber on Base. +When you call `decryptAndCombine`, each Lit node's decryption shares are collected and combined on a single node and used to decrypt the given content. -## Prerequsites -- Knowledge of [SessionSigs](../authentication/session-sigs/intro) -- Basic understanding of [Lit Actions](../serverless-signing/quick-start) -- Intermediate understanding of Lit [Encryption and Decryption](../access-control/quick-start) +The following doc will provide a complete walkthrough of using `decryptAndCombine`. We'll start by encrypting a string client-side before using a Lit Action to decrypt it. At the bottom of the page you'll find a complete example that demonstrates how you can use this functionality to decrypt an API key and perform a remote API call from within an Action. -## Complete Code Example -The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/decrypt-api-key-in-action/nodejs). +# Encrypting content +The first step is to encrypt your data. The encryption operation will be performed client-side *outside* of your Lit Action using the `LitNodeClient`: -### Example Lit Action - -The `decryptAndCombine` function uses the `accessControlConditions` to specify who and under what conditions the data can be decrypted. The `ciphertext` and `dataToEncryptHash` are the encrypted data and the hash of the data that was encrypted. - -We set the `authSig` to null as a way to tell the Lit Action runtime to use the `authSig` which was provided to the node when you call `executeJs`. It will use the AuthSig within the session signatures. - -```tsx -const _litActionCode = async () => { - try { - const apiKey = await Lit.Actions.decryptAndCombine({ - accessControlConditions, - ciphertext, - dataToEncryptHash, - authSig: null, - chain: "ethereum", - }); - - const fullUrl = url + apiKey; - - const resp = await fetch(fullUrl, { - method: "POST", - headers: { - "Content-Type": "application/json", +```js + const chain = 'ethereum'; + const accessControlConditions = [ + { + contractAddress: '', + standardContractType: '', + chain, + method: 'eth_getBalance', + parameters: [':userAddress', 'latest'], + returnValueTest: { + comparator: '>=', + value: '0', }, - body: JSON.stringify({ - jsonrpc: "2.0", - id: 1, - method: "eth_blockNumber", - params: [], - }), - }); - - let data = await resp.json(); - - if (data.result) { - data.result = parseInt(data.result, 16); - } - - Lit.Actions.setResponse({ response: JSON.stringify(data) }); - } catch (e) { - Lit.Actions.setResponse({ response: e.message }); - } -}; - -export const litActionCode = `(${_litActionCode.toString()})();`; - + }, + ]; + const message = 'Hello world'; + const client = new LitNodeClient({ + litNetwork: "datil-dev" + }); + await client.connect(); + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + sessionSigs: {}, // your session + chain, + dataToEncrypt: message, + }, + client + ); + + console.log("cipher text:", ciphertext, "hash:", dataToEncryptHash); ``` Let's break this down. The first step was creating your Access Control Condition (ACC), which is used to specify who or under what conditions your data should be able to be decrypted. From f98b21229d370f91300ad759c460aefd8f1c24c7 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 17 Sep 2024 16:55:37 -0700 Subject: [PATCH 596/627] First rework --- docs/sdk/serverless-signing/eip191.md | 83 ++++++++++++--------------- 1 file changed, 37 insertions(+), 46 deletions(-) diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index 7e17d04f..f86b476a 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -1,58 +1,49 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; +import FeedbackComponent from "@site/src/pages/feedback.md"; -# Signing with EIP191 +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; -Use EIP191 `eth_personal_sign` to sign a message instead of a transaction or raw signature. +# Signing within a Lit Action using EIP-191 -This can be done with +## Overview -```js -LitActions.ethPersonalSignMessageEcdsa({ message, publicKey , sigName });  -``` +Lit Actions offer the ability to use [EIP-191](https://eips.ethereum.org/EIPS/eip-191?ref=blog.spruceid.com) `eth_personal_sign` to sign a message instead of a transaction or raw signature. This is done with [LitActions.ethPersonalSignMessageEcdsa](https://actions-docs.litprotocol.com/#ethpersonalsignmessageecdsa). It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash and sign it according to the EIP-191 standard. -It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash and sign it according to https://eips.ethereum.org/EIPS/eip-191. +## Prerequisites -Lit Action code: +- Basic understanding of [Lit Actions](../serverless-signing/quick-start) -```js -export const litActionCode = ` -(async () => { - const sigShare = await LitActions.ethPersonalSignMessageEcdsa({ - message: dataToSign, - publicKey, - sigName, - }); -})(); -`; -``` +## Complete Code Example + +The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/eip-191-signing). There you can find a Node.js and browser implementation of the code. + +### Example Lit Action -Lit SDK code: - -```js -const litActionSignatures = await litNodeClient.executeJs({ - sessionSigs, - code: litActionCode, - jsParams: { - dataToSign: ethersUtils.arrayify( - ethersUtils.keccak256([1, 2, 3, 4, 5]) - ), - publicKey: pkpPublicKey, - sigName: "sig", - }, -}); - -const dataSigned = `0x${signature.dataSigned}`; -const encodedSig = ethersUtils.joinSignature({ - v: signature.recid, - r: `0x${signature.r}`, - s: `0x${signature.s}`, -}); - -const recoveredPubkey = ethersUtils.recoverPublicKey(dataSigned, encodedSig); -console.log("Recovered uncompressed public key: ", recoveredPubkey); - -const recoveredAddress = ethersUtils.recoverAddress(dataSigned, encodedSig); -console.log("Recovered address from signature: ", recoveredAddress); +The following Lit Action uses `signAndCombineEcdsa` to combine partial signatures provided by each Lit node, each of which signs a share of the `toSign` variable — this variable contains the hash of the serialized transaction. After combining these shares into a complete signature, we use `ethers.js` to serialize the transaction again, this time including the signature, to finalize it for submission. + +The following Lit Action uses `ethPersonalSignMessageEcdsa` to append `"\x19Ethereum Signed Message:\n"` to the given message and then hash and sign it according to the EIP-191 standard. The `sigShare` variable is set to a boolean value of `true` if the signature was successfully generated, and `false` otherwise. The Lit Action will also return the complete signature as an object under the `sigName` key. + +```jsx +const _litActionCode = async () => { + try { + const sigShare = await LitActions.ethPersonalSignMessageEcdsa({ + message: dataToSign, + publicKey, + sigName, + }); + LitActions.setResponse({ response: sigShare }); + } catch (error) { + LitActions.setResponse({ response: error.message }); + } +}; + +export const litActionCode = `(${_litActionCode.toString()})();`; ``` +## Summary +This guide demonstrates how to sign an EIP-191 message using Lit Actions. + +If you'd like to learn more about Lit Actions, check out the [Lit Actions SDK](https://actions-docs.litprotocol.com/), or our [Advanced Topics](https://developer.litprotocol.com/category/advanced-topics-1) section on Lit Actions. + From 3590657d8fb7cd4c88119160d8cc171308982198 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 17 Sep 2024 17:01:54 -0700 Subject: [PATCH 597/627] Double import mistake --- docs/sdk/serverless-signing/eip191.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index f86b476a..2eea642b 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -1,5 +1,4 @@ import FeedbackComponent from "@site/src/pages/feedback.md"; -import FeedbackComponent from "@site/src/pages/feedback.md"; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; From c66c1497bec3b68dd9d6e9d37fa7ae5c6364a7fc Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Tue, 17 Sep 2024 17:04:59 -0700 Subject: [PATCH 598/627] Fixes --- docs/sdk/serverless-signing/eip191.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index 2eea642b..fc85a191 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -7,7 +7,9 @@ import TabItem from '@theme/TabItem'; ## Overview -Lit Actions offer the ability to use [EIP-191](https://eips.ethereum.org/EIPS/eip-191?ref=blog.spruceid.com) `eth_personal_sign` to sign a message instead of a transaction or raw signature. This is done with [LitActions.ethPersonalSignMessageEcdsa](https://actions-docs.litprotocol.com/#ethpersonalsignmessageecdsa). It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash and sign it according to the EIP-191 standard. +Lit Actions offer the ability to use [EIP-191](https://eips.ethereum.org/EIPS/eip-191?ref=blog.spruceid.com) to sign a message instead of a transaction or raw signature. This is done with the Lit Actions method [ethPersonalSignMessageEcdsa](https://actions-docs.litprotocol.com/#ethpersonalsignmessageecdsa). + +It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash and sign it according to the EIP-191 standard. ## Prerequisites @@ -19,8 +21,6 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The following Lit Action uses `signAndCombineEcdsa` to combine partial signatures provided by each Lit node, each of which signs a share of the `toSign` variable — this variable contains the hash of the serialized transaction. After combining these shares into a complete signature, we use `ethers.js` to serialize the transaction again, this time including the signature, to finalize it for submission. - The following Lit Action uses `ethPersonalSignMessageEcdsa` to append `"\x19Ethereum Signed Message:\n"` to the given message and then hash and sign it according to the EIP-191 standard. The `sigShare` variable is set to a boolean value of `true` if the signature was successfully generated, and `false` otherwise. The Lit Action will also return the complete signature as an object under the `sigName` key. ```jsx From 0b455f33ebf716d003804062b3df0c3320d518a2 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 17 Sep 2024 14:15:28 -1000 Subject: [PATCH 599/627] Update docs/sdk/serverless-signing/eip191.md --- docs/sdk/serverless-signing/eip191.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index fc85a191..dc2380bf 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -17,7 +17,7 @@ It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash ## Complete Code Example -The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/eip-191-signing). There you can find a Node.js and browser implementation of the code. +The complete code example is available in the [Lit Developer Guides Code Repository](https://github.com/LIT-Protocol/developer-guides-code/tree/master/eip-191-signing). There you can find a Node.js and browser implementation of this example code. ### Example Lit Action From b6356a38f129d007a6ed8b2cc6f5fc713b055791 Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Tue, 17 Sep 2024 14:17:18 -1000 Subject: [PATCH 600/627] Apply suggestions from code review --- docs/sdk/serverless-signing/eip191.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/sdk/serverless-signing/eip191.md b/docs/sdk/serverless-signing/eip191.md index dc2380bf..842eeeed 100644 --- a/docs/sdk/serverless-signing/eip191.md +++ b/docs/sdk/serverless-signing/eip191.md @@ -9,10 +9,11 @@ import TabItem from '@theme/TabItem'; Lit Actions offer the ability to use [EIP-191](https://eips.ethereum.org/EIPS/eip-191?ref=blog.spruceid.com) to sign a message instead of a transaction or raw signature. This is done with the Lit Actions method [ethPersonalSignMessageEcdsa](https://actions-docs.litprotocol.com/#ethpersonalsignmessageecdsa). -It will prepend `"\x19Ethereum Signed Message:\n"` to the message and then hash and sign it according to the EIP-191 standard. +It will prepend to your message: `"\x19Ethereum Signed Message:\n"` and the length of the message, then hash and sign it according to the EIP-191 standard. ## Prerequisites +- Basic understanding of [PKPs](../../../user-wallets/pkps/overview) - Basic understanding of [Lit Actions](../serverless-signing/quick-start) ## Complete Code Example @@ -21,7 +22,7 @@ The complete code example is available in the [Lit Developer Guides Code Reposit ### Example Lit Action -The following Lit Action uses `ethPersonalSignMessageEcdsa` to append `"\x19Ethereum Signed Message:\n"` to the given message and then hash and sign it according to the EIP-191 standard. The `sigShare` variable is set to a boolean value of `true` if the signature was successfully generated, and `false` otherwise. The Lit Action will also return the complete signature as an object under the `sigName` key. +The return value of `ethPersonalSignMessageEcdsa` (the `sigShare` variable in this example) is set to a boolean value of `true` if the signature was successfully generated, and `false` otherwise. The Lit Action will also return the complete signature as an object under the `sigName` key. ```jsx const _litActionCode = async () => { From d517867bc3417525197b3904386ed6f3cce3771d Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 18 Sep 2024 10:03:30 -0700 Subject: [PATCH 601/627] First commit --- docs/integrations/aa/candide.md | 323 +++++++++++++++++++++++++++++++ docs/integrations/aa/overview.md | 4 +- sidebars.js | 1 + 3 files changed, 326 insertions(+), 2 deletions(-) create mode 100644 docs/integrations/aa/candide.md diff --git a/docs/integrations/aa/candide.md b/docs/integrations/aa/candide.md new file mode 100644 index 00000000..230a42fd --- /dev/null +++ b/docs/integrations/aa/candide.md @@ -0,0 +1,323 @@ +# Recover a Safe Account with Google using AbstractionKit (Guide 2/2) + +This is the second of two guides on how to recovery a Safe Account using Google. In the first guide, we show the steps on how to add the recovery method. We recommend starting with the first guide here. + +## What is AbstractionKit? +AbstractionKit is a Typescript Library to easily build on Account Abstraction, with first class support for Safe Accounts. One of their usecases is to enable users to add recovery methods as a backup in case their use their main signer. + +To leverage the full potential of Account Abstraction, you can combine Lit with AbstractionKit to enable email / social recovery experience, while using a Smart Account as the smart wallet to sponsor gas for users, batch transactions, and more. + +### Relevant Links +For additional information during this guide: + +- [How on-chain guardian recovery works](https://docs.candide.dev/wallet/plugins/recovery-with-guardians/) +- [Guardian Recovery SDK Reference](https://docs.candide.dev/blog/making-accounts-recoverable/) +- [Simple Recovery example on GitHub](https://github.com/candidelabs/abstractionkit/tree/experimental/examples/SafeAccountExamples/SocialRecovery) +- [Lit Documentation Website](https://developer.litprotocol.com/) + +### Complete Code Example +If you would like to see the complete code example, you can find it [here](https://github.com/LIT-Protocol/lit-candide). + +### Installation +Install required dependencies +``` +npm i abstractionkit@0.1.12 @lit-protocol/lit-node-client @lit-protocol/lit-auth-client @lit-protocol/constants +``` + +### Configure .env file +Configure the following values within the repository `.env` file: + +```jsx +// Lit +LIT_API_KEY= // Request Relay Server API Key from Lit at https://forms.gle/RNZYtGYTY9BcD9MEA + +// Candide +BUNDLER_URL="https://sepolia.voltaire.candidewallet.com/rpc" // Other networks are found here: https://docs.candide.dev/wallet/bundler/rpc-endpoints +PAYMASTER_URL= // Request an API key from Candide on Discord + +// Generate a Public/Private Key +OWNER_PUBLIC_ADDRESS= +OWNER_PRIVATE_KEY= +NEW_OWNER_PUBLIC_ADDRESS= + +// Network Info +VITE_CHAIN_ID= +JSON_RPC_NODE_PROVIDER= // Get an RPC from a Node provider +``` + +### Sign in with Google using Lit + +#### Initialize the Lit Network Connection and GoogleProvider + +- Connect to the Lit Network using LitNodeClient. +- Set up the LitAuthClient for authentication. +- Initialize a GoogleProvider for Google sign-in. + +```jsx +import { LitNodeClient } from "@lit-protocol/lit-node-client"; +import { LitAuthClient, GoogleProvider } from "@lit-protocol/lit-auth-client"; +import { ProviderType } from "@lit-protocol/constants"; + +const initalizeClientsAndProvider = async () => { + const litNodeClient = new LitNodeClient({ + litNetwork: "datil-dev", + debug: true, + }); + await litNodeClient.connect(); + + const litAuthClient = new LitAuthClient({ + litRelayConfig: { + relayApiKey: process.env.LIT_API_KEY, + }, + litNodeClient, + }); + + console.log("Connected to Lit Node and Lit Auth Clients ✔️"); + + const provider = litAuthClient.initProvider( + ProviderType.Google, + { + // redirectUri: The redirect URI Lit's login server should redirect to after a successful login + } + ); + return { litNodeClient, litAuthClient, provider }; +}; +``` + +#### Authentication with Gmail + +- Generate an AuthMethod using the GoogleProvider +- Check if the user is already authenticated. If not, redirect to Google sign-in + +```jsx +import { AuthMethod } from "@lit-protocol/types"; + +const generateAuthMethod = async () => { + const url = new URL(window.location.href); + if (!url.searchParams.get("provider")) { + console.log("Signing in with Google..."); + provider.signIn((url) => { + window.location.href = url; + }); + } else if (url.searchParams.get("provider") === "google") { + const authMethod = await provider.authenticate(); + return authMethod; + } +}; + +const authMethod = await generateAuthMethod(); +if (!authMethod) { + return; +} +Mint PKP (Programmable Key Pair) +import { LitAuthClient } from "@lit-protocol/lit-auth-client"; + +const mintWithGoogle = async (authMethod) => { + const pkp = await litAuthClient.mintPKPWithAuthMethods([authMethod], { + addPkpEthAddressAsPermittedAddress: true + }); + console.log("Fetched PKP", pkp); + return pkp; +}; + +const pkp = await mintWithGoogle(authMethod); +console.log("Minted PKP ✔️"); +``` + +#### Get the Google Guardian Signer + +```jsx +import { PKPEthersWallet } from "@lit-protocol/pkp-ethers"; +import { LitAbility, LitPKPResource } from "@lit-protocol/auth-helpers"; +import { AuthCallbackParams } from "@lit-protocol/types"; +import { LIT_RPC } from "@lit-protocol/constants"; + +const authNeededCallback = async (params: AuthCallbackParams) => { +console.log(`auth needed callback params`, JSON.stringify(params, null, 2)); +const response = await litNodeClient.signSessionKey({ + statement: params.statement, + authMethods: [authMethod], + resourceAbilityRequests: [ + { + resource: new LitPKPResource("*"), + ability: LitAbility.PKPSigning, + }, + ], + expiration: params.expiration, + resources: params.resources, + chainId: 1, + pkpPublicKey: pkp.pkpPublicKey, +}); +return response.authSig; +}; + +const guardianSigner = new PKPEthersWallet({ + litNodeClient, + authContext: { + getSessionSigsProps: { + chain: "ethereum", + expiration: new Date(Date.now() + 60_000 * 60).toISOString(), + resourceAbilityRequests: [ + { + resource: new LitPKPResource("*"), + ability: LitAbility.PKPSigning, + }, + ], + authNeededCallback: authNeededCallback, + }, + }, + pkpPubKey: pkp.pkpPublicKey, + rpc: LIT_RPC.CHRONICLE_YELLOWSTONE, +}); +console.log("Created PKPEthersWallet using the PKP ✔️"); +``` + +### Start the Recovery Process + +#### Initilize the Safe Account Class + +```jsx +import { SafeAccountV0_2_0 as SafeAccount } from "abstractionkit"; + +const smartAccount = SafeAccount.initializeNewAccount([ownerPublicAddress]); +console.log("Smart Account Address: ", smartAccount.accountAddress); +Repare The Recovery Transaction +import { SocialRecoveryModule } from "abstractionkit"; + +const srm = new SocialRecoveryModule(); + +const initiateRecoveryMetaTx = srm.createConfirmRecoveryMetaTransaction( + smartAccount.accountAddress, + [newOwnerPublicAddress], + 1, // new threshold + true // whether to auto-start execution of recovery +); + +let userOperationRecovery = await guardianSmartAccount.createUserOperation( + [initiateRecoveryMetaTx], + process.env.JSON_RPC_NODE_PROVIDER, + process.env.BUNDLER_URL +); +``` + +#### Sponsor the Gas + +```jsx +import { CandidePaymaster } from "abstractionkit"; +import ethers from "ethers" + +// Sponsor the recovery transaction using the paymaster +const paymasterUrl = process.env.PAYMASTER_URL; +const paymaster = new CandidePaymaster(paymasterUrl); + +userOperationRecovery = await paymaster.createSponsorPaymasterUserOperation( + userOperationRecovery, + process.env.BUNDLER_URL +); +``` + +#### Sign and Submit UserOperation +```jsx +// Sign +const domain = { + chainId: process.env.CHAIN_ID, + verifyingContract: smartAccount.safe4337ModuleAddress, +}; +const types = SafeAccount.EIP712_SAFE_OPERATION_TYPE; +// formate according to EIP712 Safe Operation Type +const { sender, ...userOp } = userOperation; +const safeUserOperation = { + ...userOp, + safe: userOperation.sender, + validUntil: BigInt(0), + validAfter: BigInt(0), + entryPoint: smartAccount.entrypointAddress, +}; +const signature = await guardianSigner.signTypedData(domain, types, safeUserOperation); +const formatedSig = SafeAccount.formatEip712SignaturesToUseroperationSignature([ownerPublicAddress], [signature]); +userOperationRecovery.signature = signature; + +// Submit +const sendUserOpResponseRecovery = + await guardianSmartAccount.sendUserOperation( + userOperationRecovery, + process.env.BUNDLER_URL +); +``` + +#### Monitor UserOp +```jsx +// Wait for receipt +const userOpReceiptResultRecovery = await sendUserOpResponseRecovery.included(); + +console.log(userOpReceiptResultRecovery); +``` + +### Finalize the Recovery +After the grace period is over, you can finilize the recovery + +#### Prepare the Finilization UserOp +```jsx +const finalizeRecoveryMetaTx = srm.createFinalizeRecoveryMetaTransaction( + smartAccount.accountAddress +); + +let userOperationFinalizeRecovery = await guardianSmartAccount.createUserOperation( + [finalizeRecoveryMetaTx], + process.env.JSON_RPC_NODE_PROVIDER, + process.env.BUNDLER_URL +); +``` + +#### Sponsor the Gas +```jsx +// Add gas sponsorship info using paymaster +userOperationFinalizeRecovery = await paymaster.createSponsorPaymasterUserOperation( + userOperationRecovery, + process.env.BUNDLER_URL +); +``` + +#### Sign and Submit +```jsx +// Sign userOperation +const domain = { + chainId: process.env.CHAIN_ID, + verifyingContract: smartAccount.safe4337ModuleAddress, +}; + +const types = SafeAccount.EIP712_SAFE_OPERATION_TYPE; + +// formate according to EIP712 Safe Operation Type +const { sender, ...userOp } = userOperation; +const safeUserOperation = { + ...userOp, + safe: userOperation.sender, + validUntil: BigInt(0), + validAfter: BigInt(0), + entryPoint: smartAccount.entrypointAddress, +}; + +const signature = await guardianSigner.signTypedData(domain, types, safeUserOperation); +const formatedSig = SafeAccount.formatEip712SignaturesToUseroperationSignature([ownerPublicAddress], [signature]); + +userOperationRecovery.signature = signature; + + +// Submit userOperation +const sendUserOperationResponseRecovery = await guardianSmartAccount.sendUserOperation( + userOperationRecovery, + process.env.BUNDLER_URL +); +``` + +#### Monitor UserOperation + +```jsx +const userOperationReceiptResultRecovery = await sendUserOperationResponseRecovery.included(); + +console.log(userOperationReceiptResultRecovery); +``` +That's it! You've successfully added a Guardian capable of recovering an account with a Google Account using Lit. + +Find here the complete [doc page for Account Recovery](https://docs.candide.dev/wallet/plugins/recovery-with-guardians/). \ No newline at end of file diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md index 67a71026..e1fb3cc9 100644 --- a/docs/integrations/aa/overview.md +++ b/docs/integrations/aa/overview.md @@ -51,8 +51,8 @@ AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account te | Provider | Description | Link to Guide | | --- | --- | --- | -| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](../aa/alchemy-account-kit.md) | -| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](../aa/pimlico.md) | +| [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](./alchemy-account-kit.md) | +| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](./pimlico.md) | [Candide Account Abstraction](https://www.candide.dev/) | This guide will walk you through the steps to integrate Lit Protocol's Google OAuth to mint a Programmable Key Pair (PKP) and use it to enable an email/social recovery flow with Candide's account abstraction provider. | [guide](./candide.md) | - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform) | diff --git a/sidebars.js b/sidebars.js index 6f4e9f28..87dfb6ab 100644 --- a/sidebars.js +++ b/sidebars.js @@ -450,6 +450,7 @@ const sidebars = { 'integrations/aa/alchemy-account-kit', 'integrations/aa/pimlico', 'integrations/aa/openfort', + 'integrations/aa/candide', ], }, { From 1547dc4cf69e84a7a53648bc86c1e6bd5e2aacab Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 18 Sep 2024 10:10:39 -0700 Subject: [PATCH 602/627] Fixes --- docs/integrations/aa/candide.md | 10 ++++++---- docs/integrations/aa/overview.md | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/integrations/aa/candide.md b/docs/integrations/aa/candide.md index 230a42fd..639d76c2 100644 --- a/docs/integrations/aa/candide.md +++ b/docs/integrations/aa/candide.md @@ -1,9 +1,11 @@ +# Candide + # Recover a Safe Account with Google using AbstractionKit (Guide 2/2) -This is the second of two guides on how to recovery a Safe Account using Google. In the first guide, we show the steps on how to add the recovery method. We recommend starting with the first guide here. +This is the second of two guides on how to recovery a Safe Account using Google. In the first guide, we show the steps on how to add the recovery method. We recommend starting with the first guide [here](https://docs.candide.dev/wallet/guides/recovery-with-google-using-lit/). ## What is AbstractionKit? -AbstractionKit is a Typescript Library to easily build on Account Abstraction, with first class support for Safe Accounts. One of their usecases is to enable users to add recovery methods as a backup in case their use their main signer. +AbstractionKit is a Typescript Library to easily build on Account Abstraction, with first class support for Safe Accounts. One of their use cases is to enable users to add recovery methods as a backup in case their use their main signer. To leverage the full potential of Account Abstraction, you can combine Lit with AbstractionKit to enable email / social recovery experience, while using a Smart Account as the smart wallet to sponsor gas for users, batch transactions, and more. @@ -254,9 +256,9 @@ console.log(userOpReceiptResultRecovery); ``` ### Finalize the Recovery -After the grace period is over, you can finilize the recovery +After the grace period is over, you can finalize the recovery -#### Prepare the Finilization UserOp +#### Prepare the Finalization UserOp ```jsx const finalizeRecoveryMetaTx = srm.createFinalizeRecoveryMetaTransaction( smartAccount.accountAddress diff --git a/docs/integrations/aa/overview.md b/docs/integrations/aa/overview.md index e1fb3cc9..972d30cf 100644 --- a/docs/integrations/aa/overview.md +++ b/docs/integrations/aa/overview.md @@ -52,7 +52,8 @@ AA providers like Alchemy, Biconomy, and Pimlico are pioneering smart account te | Provider | Description | Link to Guide | | --- | --- | --- | | [Account Kit by Alchemy](https://accountkit.alchemy.com/) | Combining Lit Protocol's pkp wallet with Account Kit allows you to use your Programmable Key Pairs (PKPs) as a smart account for your users. | [guide](./alchemy-account-kit.md) | -| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](./pimlico.md) | [Candide Account Abstraction](https://www.candide.dev/) | This guide will walk you through the steps to integrate Lit Protocol's Google OAuth to mint a Programmable Key Pair (PKP) and use it to enable an email/social recovery flow with Candide's account abstraction provider. | [guide](./candide.md) +| [Pimlico](https://www.pimlico.io/) | This how-to guide will walk you through the steps to integrate Lit Protocol's OTP sign-in with email, SMS, and Whatsapp with a smart account whose user operations are relayed and sponsored by Pimlico. | [guide](./pimlico.md) | +| [Candide Account Abstraction](https://www.candide.dev/) | This guide will walk you through the steps to integrate Lit Protocol's Google OAuth to mint a Programmable Key Pair (PKP) and use it to enable an email/social recovery flow with Candide's account abstraction provider. | [guide](./candide.md) | - | If you are an AA provider, reach out to the Lit developement team to be included! | [Reach out to the team](https://docs.google.com/forms/d/e/1FAIpQLScBVsg-NhdMIC1H1mozh2zaVX0V4WtmEPSPrtmqVtnj_3qqNw/viewform) | From 84b25889c1aaa62cee19608b9f757e9035fd9f71 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 18 Sep 2024 10:23:52 -0700 Subject: [PATCH 603/627] Fixes --- docs/integrations/aa/candide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/integrations/aa/candide.md b/docs/integrations/aa/candide.md index 639d76c2..4727b25b 100644 --- a/docs/integrations/aa/candide.md +++ b/docs/integrations/aa/candide.md @@ -1,6 +1,6 @@ # Candide -# Recover a Safe Account with Google using AbstractionKit (Guide 2/2) +# Recover a Safe Account with Google using AbstractionKit This is the second of two guides on how to recovery a Safe Account using Google. In the first guide, we show the steps on how to add the recovery method. We recommend starting with the first guide [here](https://docs.candide.dev/wallet/guides/recovery-with-google-using-lit/). @@ -58,11 +58,11 @@ JSON_RPC_NODE_PROVIDER= // Get an RPC from a Node provider ```jsx import { LitNodeClient } from "@lit-protocol/lit-node-client"; import { LitAuthClient, GoogleProvider } from "@lit-protocol/lit-auth-client"; -import { ProviderType } from "@lit-protocol/constants"; +import { ProviderType, LitNetwork } from "@lit-protocol/constants"; const initalizeClientsAndProvider = async () => { const litNodeClient = new LitNodeClient({ - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, debug: true, }); await litNodeClient.connect(); From ded63d6ffcbc0493edb12bfbf732705107122247 Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 18 Sep 2024 13:20:29 -0700 Subject: [PATCH 604/627] Fixing PR --- docs/integrations/aa/candide.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/integrations/aa/candide.md b/docs/integrations/aa/candide.md index 4727b25b..530236f3 100644 --- a/docs/integrations/aa/candide.md +++ b/docs/integrations/aa/candide.md @@ -2,12 +2,12 @@ # Recover a Safe Account with Google using AbstractionKit -This is the second of two guides on how to recovery a Safe Account using Google. In the first guide, we show the steps on how to add the recovery method. We recommend starting with the first guide [here](https://docs.candide.dev/wallet/guides/recovery-with-google-using-lit/). +This is the second of two guides that demonstrate how to recover a Safe smart wallet using a Google account. The first guide focuses on adding the recovery method, while this guide focuses on executing the actual recovery process. We recommend starting with guide number one which can be found [here](https://docs.candide.dev/wallet/guides/recovery-with-google-using-lit/). ## What is AbstractionKit? -AbstractionKit is a Typescript Library to easily build on Account Abstraction, with first class support for Safe Accounts. One of their use cases is to enable users to add recovery methods as a backup in case their use their main signer. +AbstractionKit is a Typescript Library that enables developers to easily build on Account Abstraction, with first class support for Safe Accounts. One of the unique use cases enabled by AbstractionKit is the ability for users to add a recovery method(s) as a backup to their account in the case that they lose access to their main signing key. -To leverage the full potential of Account Abstraction, you can combine Lit with AbstractionKit to enable email / social recovery experience, while using a Smart Account as the smart wallet to sponsor gas for users, batch transactions, and more. +You can combine Lit with AbstractionKit to enable a powerful social recovery experience for your users while using Smart Accounts for gas sponsorship, transaction batching, and more. ### Relevant Links For additional information during this guide: @@ -15,7 +15,6 @@ For additional information during this guide: - [How on-chain guardian recovery works](https://docs.candide.dev/wallet/plugins/recovery-with-guardians/) - [Guardian Recovery SDK Reference](https://docs.candide.dev/blog/making-accounts-recoverable/) - [Simple Recovery example on GitHub](https://github.com/candidelabs/abstractionkit/tree/experimental/examples/SafeAccountExamples/SocialRecovery) -- [Lit Documentation Website](https://developer.litprotocol.com/) ### Complete Code Example If you would like to see the complete code example, you can find it [here](https://github.com/LIT-Protocol/lit-candide). @@ -320,6 +319,6 @@ const userOperationReceiptResultRecovery = await sendUserOperationResponseRecove console.log(userOperationReceiptResultRecovery); ``` -That's it! You've successfully added a Guardian capable of recovering an account with a Google Account using Lit. +That's it! You've successfully recovered an account with a Google Account using Lit. Find here the complete [doc page for Account Recovery](https://docs.candide.dev/wallet/plugins/recovery-with-guardians/). \ No newline at end of file From f29413af3938be916228514b0fdf51cd4fad0d8c Mon Sep 17 00:00:00 2001 From: awisniew207 Date: Wed, 18 Sep 2024 13:49:32 -0700 Subject: [PATCH 605/627] Changing sidebars --- docs/integrations/aa/candide.md | 2 -- sidebars.js | 6 +++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/integrations/aa/candide.md b/docs/integrations/aa/candide.md index 530236f3..b12aab06 100644 --- a/docs/integrations/aa/candide.md +++ b/docs/integrations/aa/candide.md @@ -1,5 +1,3 @@ -# Candide - # Recover a Safe Account with Google using AbstractionKit This is the second of two guides that demonstrate how to recover a Safe smart wallet using a Google account. The first guide focuses on adding the recovery method, while this guide focuses on executing the actual recovery process. We recommend starting with guide number one which can be found [here](https://docs.candide.dev/wallet/guides/recovery-with-google-using-lit/). diff --git a/sidebars.js b/sidebars.js index 87dfb6ab..95c2e860 100644 --- a/sidebars.js +++ b/sidebars.js @@ -450,7 +450,11 @@ const sidebars = { 'integrations/aa/alchemy-account-kit', 'integrations/aa/pimlico', 'integrations/aa/openfort', - 'integrations/aa/candide', + { + type: 'doc', + id: 'integrations/aa/candide', + label: 'Candide' + } ], }, { From dde24ec01eb7c5e95bef285521330714be7eb96d Mon Sep 17 00:00:00 2001 From: Wyatt Barnes Date: Thu, 19 Sep 2024 08:38:04 -1000 Subject: [PATCH 606/627] Remove blank page --- docs/user-wallets/pkps/advanced-topics/overview.md | 0 sidebars.js | 8 ++------ 2 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 docs/user-wallets/pkps/advanced-topics/overview.md diff --git a/docs/user-wallets/pkps/advanced-topics/overview.md b/docs/user-wallets/pkps/advanced-topics/overview.md deleted file mode 100644 index e69de29b..00000000 diff --git a/sidebars.js b/sidebars.js index 95c2e860..cdaf760f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -221,10 +221,6 @@ const sidebars = { { type: 'category', label: 'Advanced Topics', - link: { - type: 'doc', - id: 'user-wallets/pkps/advanced-topics/overview', - }, collapsed: true, items: [ { @@ -453,8 +449,8 @@ const sidebars = { { type: 'doc', id: 'integrations/aa/candide', - label: 'Candide' - } + label: 'Candide', + }, ], }, { From 942e724b4442a9c6095fe002c31d139119d202b9 Mon Sep 17 00:00:00 2001 From: Luke Cassady-Dorion Date: Fri, 27 Sep 2024 15:57:47 +0700 Subject: [PATCH 607/627] Updated Irys guide to use latest SDK --- docs/integrations/storage/irys.md | 679 +- docs/sdk/access-control/intro.md | 2 +- package-lock.json | 16863 ++++++++++++++++++++++++ static/img/irys-images/decrypting.png | Bin 103871 -> 384725 bytes static/img/irys-images/encrypting.png | Bin 133333 -> 480826 bytes yarn.lock | 3417 ++--- 6 files changed, 19112 insertions(+), 1849 deletions(-) create mode 100644 package-lock.json diff --git a/docs/integrations/storage/irys.md b/docs/integrations/storage/irys.md index ddce0c02..304acc5b 100644 --- a/docs/integrations/storage/irys.md +++ b/docs/integrations/storage/irys.md @@ -1,102 +1,123 @@ -# Irys +import FeedbackComponent from "@site/src/pages/feedback.md"; -## Encrypting on-chain data (server-side) +# Irys -Learn how to encrypt data before storing on-chain on [Irys](https://irys.xyz/). +## Encrypting onchain storage ---- - -import FeedbackComponent from "@site/src/pages/feedback.md"; +Use [**Irys**](https://irys.xyz) with **Lit Protocol** to store your encrypted data onchain. ## Objectives -At completion of this reading you should be able to: +When you finish this guide, you should be able to: - Encrypt data using Lit Protocol. - Establish a set of rules determining who can decrypt the data. -- Store encrypted data on Arweave using Irys. +- Store encrypted data onchain using Irys. - Decrypt data using Lit Protocol. ---- +## Why This Matters -## What is [Irys](https://irys.xyz/)? +Using Lit with Irys empowers developers with the ability to create innovative applications by combining secure, encrypted data with the power of data storage and execution. -Irys is a provenance layer that enables users to scale permanent data and precisely attribute its origin. By tracing and verifying where data comes from, Irys paves the way to incorporate accountability into all information. +## What is Irys? -Data uploaded to Irys is stored permanently on Arweave. Once on Arweave, this data becomes publicly accessible, anyone can view it. For projects where privacy is a concern, you can use Lit to encrypt your data before storing it on Irys. +[Irys](https://irys.xyz) is a programmable L1 datachain that powers both data storage and execution. Irys is built to store, retrieve, and process datasets of any size with minimal latency. -All of the code from this guide is also contained in [GitHub repository](https://github.com/irys-xyz/irys-lit). +Irys makes it easy to store your data onchain by supporting payments with [most popular tokens](https://docs.irys.xyz/build/d/features/supported-tokens). With a single upfront payment, you can upload data, which is guaranteed to be retrievable for a duration you set at the upload time—whether temporary or permanent. -## Dependencies +Data on Irys is fully [verifiable](https://docs.irys.xyz/learn/why-build-on-irys/verifiability); you can inspect the blockchain at any time and verify what data was posted, when, and where it's located in Irys’s data ledgers. -To follow along with this guide, you will need to install the following using npm: +Once encrypted, [data can be uploaded onchain](https://docs.irys.xyz/build/d/quickstart) to Irys. Only users who meet the defined decryption rules can access the data, making it ideal for secure and private use cases. -```bash -npm install @irys/sdk @lit-protocol/lit-node-client-nodejs@^3 dotenv ethers@^5 siwe@^2.1.4 -``` +## Unlocking New Possibilities For Developers -or yarn: +This opens up new use cases for builders, such as: -```bash -yarn add @irys/sdk @lit-protocol/lit-node-client-nodejs@^3 dotenv ethers@^5 siwe@^2.1.4 -``` +- Gating access to content +- Storing and securing private [DePIN data](/build/d/guides/depin-data) +- Securely archiving sensitive [AI data](/build/d/guides/ai-prompts) +- Encrypted content for decentralized social apps +- Decentralized identity verification +- Creating private data marketplaces +- Creating exclusive NFTs -## Imports +## Encrypting Data -To run the code in this project, you'll need to import the following: +![Encrypting data with Irys and Lit](/img/irys-images/encrypting.png) -```js -import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; -import Irys from "@irys/sdk"; -import ethers from "ethers"; -import siwe from "siwe"; -import dotenv from "dotenv"; -dotenv.config(); -``` +There are three steps to encrypting data: -## Encrypting data +1. Obtain a wallet signature (AuthSig), which proves you own a wallet +2. Define access control conditions for who can decrypt your data +3. Connect to a Lit node and request that it encrypt your data -![Encrypting data with Irys and Lit](/img/irys-images/encrypting.png) +## Decrypting Data -There are three steps to encrypting data +![Decrypting data with Irys and Lit](/img/irys-images/decrypting.png) -- Connect to Lit nodes -- Define [access control conditions](../../sdk/access-control/intro.md) for who can decrypt your data -- Request Lit nodes to encrypt your data +There are three steps to decrypting data: -### Connecting to Lit nodes +1. Obtain a wallet signature (AuthSig), which proves you own a wallet +2. Retrieve data stored on Irys +3. Connect to a Lit node and request that it decrypt your data -Write a helper function to connect to a Lit node: -```js -async function getLitNodeClient() { - // Initialize LitNodeClient - const litNodeClient = new LitJsSdk.LitNodeClientNodeJs({ +## Examples + +This guide covers integrating Lit with Irys, both with [Node.js](#nodejs) on the server and [React/Next.js](#nextjs) in the browser. + +## Node.js + +When working with Node.js, provide a private key when encrypting and decrypting data. + +> The full code for this example is available in the [GitHub repository](https://github.com/irys-xyz/irys-lit). Users who prefer learning by example can start there. + +### Installing + +```bash +npm install \ + @lit-protocol/lit-node-client-nodejs \ + @lit-protocol/constants \ + @irys/upload \ + @irys/upload-ethereum \ + ethers \ + siwe \ + dotenv +``` + +### Connecting to Lit Protocol + +Connect to a Lit node on one of our [active networks](https://developer.litprotocol.com/connecting-to-a-lit-network/connecting). Choose between Datil (mainnet), Datil-test (testnet), and Datil-dev (development). For this example, we'll use DatilDev as use is free and not rate-limited. + +```ts +import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; +import { LitNetwork } from "@lit-protocol/constants"; + +let litNodeClientInstance: LitJsSdk.LitNodeClientNodeJs | null = null; + +async function getLitNodeClient(): Promise { + if (litNodeClientInstance) return litNodeClientInstance; + + litNodeClientInstance = new LitJsSdk.LitNodeClientNodeJs({ alertWhenUnauthorized: false, - litNetwork: "datil-dev", + litNetwork: LitNetwork.DatilDev, // DatilDev network for free usage + debug: false, }); - await litNodeClient.connect(); - return litNodeClient; + await litNodeClientInstance.connect(); + return litNodeClientInstance; } ``` -### Access control conditions - -Lit Protocol enables users to set [access control conditions](../../sdk/access-control/intro.md) specifying who can decrypt data. This provides builders with the flexibility to designate data decryption permissions, including: +### Setting Access Control Rules -- A single wallet address -- DAO membership -- Owners of an ERC20 or ERC721 -- Outcomes from a smart contract call -- Outcomes from an API call +Access control rules determine who can decrypt your data. Set conditions based on criteria like ETH or ERC20 balance, NFT ownership, or custom logic. -To ensure anyone can run the code in this repository, it uses the following for access control, allowing anyone with an ETH balance `>=` 0 to decrypt. More details on the different types of [access control conditions supported](../../sdk/access-control/intro.md). ```ts -// This defines who can decrypt the data -function getAccessControlConditions() { - const accessControlConditions = [ +// Allow users with ≥ 0 ETH: +function getAccessControlConditions(): object[] { + return [ { contractAddress: "", standardContractType: "", @@ -105,226 +126,472 @@ function getAccessControlConditions() { parameters: [":userAddress", "latest"], returnValueTest: { comparator: ">=", - value: "0", // 0 ETH, so anyone can open + value: "000000000000000000", // 0 ETH in wei }, }, ]; - - return accessControlConditions; } ``` -:::info -Using Lit, the access control conditions provide near infinite flexibility. Imagine a system for government -bid management: bids are required to be submitted by a specific deadline, tracked using Irys' millisecond-accurate -timestamps. The bids remain encrypted up to this deadline, aiding in preventing corruption by ensuring the bids are -inaccessible to all parties until the designated time. -::: -### Encrypt data +```ts +// Allow users with ≥ 100 DAI: +function getAccessControlConditions(): object[] { + return [ + { + contractAddress: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI contract + standardContractType: "ERC20", + chain: "ethereum", + method: "balanceOf", + parameters: [":userAddress"], + returnValueTest: { + comparator: ">=", + value: "100000000000000000000", // 100 DAI in wei + }, + }, + ]; +} +``` + + ```ts +// Allow users owning any NFT from a contract +function getAccessControlConditions(): object[] { + return [ + { + contractAddress: "0xABC123...XYZ", // ERC721 contract address + standardContractType: "ERC721", + chain: "ethereum", + method: "balanceOf", + parameters: [":userAddress"], + returnValueTest: { + comparator: ">", + value: "0", + }, + }, + ]; +} +``` + + +For more advanced examples, see [unified access control conditions](https://developer.litprotocol.com/sdk/access-control/condition-types/unified-access-control-conditions). + +### Encrypting Data + +We provide multiple methods to encrypt data, including strings, files, zip files. -Finally, write a function that accepts a string and uses the code we wrote earlier to encrypt it. In this guide we're using the Lit function [`encryptString()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptString.html) which encrypts a string and returns both the encrypted string and a hash of the original string. Lit also has[`encryptFile()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptFile.html) for encrypting files directly. +- `encryptString():` Encrypts a string. +- `encryptToJson()`: Encrypts a string or file and serializes the result to JSON. +- `zipAndEncryptString()`: Encrypts and compresses a string into a zip file. Useful for bundling multiple pieces of data. +- `encryptFile()` and `zipAndEncryptFiles()`: Encrypt a single file or multiple files. -```js -async function encryptData(dataToEncrypt) { +We will use `encryptString()` to encrypt a simple string: + +```ts +async function encryptData(dataToEncrypt: string): Promise<[string, string]> { + const authSig = await getAuthSig(); const accessControlConditions = getAccessControlConditions(); const litNodeClient = await getLitNodeClient(); - // 1. Encryption - // encryptedString - // dataToEncryptHash const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( - { - accessControlConditions, - dataToEncrypt: dataToEncrypt, - chain: "ethereum", - }, + { accessControlConditions, dataToEncrypt }, litNodeClient ); + return [ciphertext, dataToEncryptHash]; } ``` -## Storing on Arweave via Irys +The `encryptString()` function encrypts your data according to the specified access control conditions, and returns: -To use Irys to store data on Arweave, first connect to an [Irys node](https://arweave-tools.irys.xyz/irys-sdk/irys-in-the-browser#connecting-to-a-node). This function uses the same private key from our `.env` file and connects to the Irys Devnet where uploads are stored for 60 days. In a production environment, you would change this to use Irys' [Node 1 or 2](https://arweave-tools.irys.xyz/irys-sdk/irys-in-the-browser#connecting-to-a-node) where uploads are permanent. +- `ciphertext`: The encrypted string. +- `dataToEncryptHash`: The hash of the original string, ensuring data integrity. -:::info -This code is configured to MATIC to pay for uploads, and while working with the Irys Devnet, you need to fund your -wallet with [free MUMBAI MATIC Devnet](https://www.alchemy.com/dapps/mumbai-faucet) tokens. Alternatively, you could use [any other -Devnet token](../../resources/supported-chains) supported by Irys. -::: -```js -async function getIrys() { - const url = "https://devnet.irys.xyz"; - const providerUrl = "https://rpc-mumbai.maticvigil.com"; - const token = "matic"; +### Storing Data on Irys - const irys = new Irys({ - url, // URL of the node you want to connect to - token, // Token used for payment - key: process.env.PRIVATE_KEY, // Private key - config: { providerUrl }, // Optional provider URL, only required when using Devnet - }); - return irys; -} -``` +When storing encrypted data on Irys, store it as a JSON object with three components: -Then write a function that takes the encrypted data, the original data hash, the access control conditions, and stores it all on Arweave using Irys. +- `ciphertext`: The encrypted version of your data. +- `dataToEncryptHash`: A hash of the original data, which helps verify its integrity during decryption. +- `accessControlConditions`: The rules governing who can decrypt the data. -Irys' upload function returns [a signed receipt](https://arweave-tools.irys.xyz/overview/receipts) containing the exact time (in milliseconds) of the upload and also a transaction ID, which can then be used to [download the data from a gateway](https://arweave-tools.irys.xyz/overview/downloading). +Start by connecting to Irys: + +> The following code is for using Ethereum only, Irys also [has examples covering all supported tokens](https://docs.irys.xyz/build/d/sdk/setup). + +```ts +import { Uploader } from "@irys/upload"; +import { Ethereum } from "@irys/upload-ethereum"; + +const getIrysUploader = async () => { + const irysUploader = await Uploader(Ethereum).withWallet(process.env.PRIVATE_KEY); + return irysUploader; +}; +``` -:::info -For simplicity, we'll consolidate all three values into a JSON object and upload it to Irys in one transaction. This -is a design choice; you have the flexibility to store these values as you see fit in your own implementation. -::: +Then upload your JSON object: -```js -async function storeOnIrys(cipherText, dataToEncryptHash) { - const irys = await getIrys(); +```ts +async function storeOnIrys(cipherText: string, dataToEncryptHash: string): Promise { + const irysUploader = await getIrysUploader(); const dataToUpload = { - cipherText: cipherText, - dataToEncryptHash: dataToEncryptHash, + cipherText, + dataToEncryptHash, accessControlConditions: getAccessControlConditions(), }; - let receipt; try { const tags = [{ name: "Content-Type", value: "application/json" }]; - receipt = await irys.upload(JSON.stringify(dataToUpload), { tags }); - } catch (e) { - console.log("Error uploading data ", e); + const receipt = await irysUploader.upload(JSON.stringify(dataToUpload), { tags }); + return receipt?.id || ""; + } catch (error) { + console.error("Error uploading data: ", error); + return ""; } - - return receipt?.id; } ``` -## Decrypting data +### Downloading Data from Irys -![Decrypting data with Irys and Lit](/img/irys-images/decrypting.png) +To retrieve your stored data, use the transaction ID returned at upload. -There are four steps to decrypting data: +```ts +async function retrieveFromIrys(id: string): Promise<[string, string, object[]]> { + const gatewayAddress = "https://gateway.irys.xyz/"; + const url = `${gatewayAddress}${id}`; -- Retrieve data stored on Arweave -- Connect to Lit nodes -- Obtain [Session signatures](../../sdk/authentication/session-sigs/intro), which authenticates you with the Lit network -- Request Lit nodes to decrypt your data + try { + const response = await fetch(url); + if (!response.ok) throw new Error(`Failed to retrieve data for ID: ${id}`); + const data = await response.json(); -### Retrieving data from Arweave using the Irys gateway + return [data.cipherText, data.dataToEncryptHash, data.accessControlConditions]; + } catch (error) { + console.error("Error retrieving data: ", error); + return ["", "", []]; + } +} +``` -To download data stored on Arweave, the easiest way is to connect to a [gateway](https://docs.irys.xyz/overview/gateways) and request the data using your transaction ID. In this example, we'll use the Irys gateway. +### Decrypting Data -This function downloads the data JSON object, parses out the three values and returns them as an array of strings. +Use the `decryptToString()` function to decrypt the data. This requires the ciphertext, its hash, access control conditions, and session signatures. -```js -async function retrieveFromIrys(id) { - const gatewayAddress = "https://gateway.irys.xyz/"; - const url = `${gatewayAddress}${id}`; +```ts +async function decryptData( + ciphertext: string, + dataToEncryptHash: string, + accessControlConditions: object[] +): Promise { + const litNodeClient = await getLitNodeClient(); - try { - const response = await fetch(url); + const sessionSigs = await litNodeClient.getSessionSigs({ + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: new LitAccessControlConditionResource("*"), + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback: async (params: any) => { + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: await (await new ethers.Wallet(process.env.PRIVATE_KEY!)).getAddress(), + nonce: await litNodeClient.getLatestBlockhash(), + litNodeClient, + }); + + return await generateAuthSig({ + signer: new ethers.Wallet(process.env.PRIVATE_KEY!), + toSign, + }); + }, + }); - if (!response.ok) { - throw new Error(`Failed to retrieve data for ID: ${id}`); - } + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions, + chain: "ethereum", + ciphertext, + dataToEncryptHash, + sessionSigs, + }, + litNodeClient + ); - const data = await response.json(); - return [ - data.cipherText, - data.dataToEncryptHash, - data.accessControlConditions, - ]; - } catch (e) { - console.log("Error retrieving data ", e); - } + return decryptedString; } ``` -### Obtain a Session Sigs +## Next.js -In order to interact with the nodes in the Lit Network, you will need to generate and present session signatures. The easiest way to do this is to generate a `SessionSigs`. +When working with Lit in the browser, the private key will be linked via the user's wallet extension. -`SessionSigs` are produced by a ed25519 keypair that is generated randomly on the browser and stored in local storage. We need to obtain an `AuthSig` through an authentication method like Ethereum wallet in order to get a `SessionSigs` from Lit Nodes. +> The full code for this example, including a complete UI, is available in the [GitHub repository](https://github.com/irys-xyz/irys-lit). This guide focuses on the functions which handle interactions with Lit Protocol and Irys, but does not cover how to build and setup a UI. -The session keypair is used to sign all requests to the Lit Nodes, and the user's `AuthSig` is sent along with the request, attached as a "capability" to the session signature. Each node in the Lit Network receives a unique signature for each request, and can verify that the user owns the wallet address that signed the capability. +### Installing -Please refer to the [Get Session Sigs](../../sdk/authentication/session-sigs/get-session-sigs.md) documentation to see how to obtain a Session Sig. +```bash +npm install \ + @lit-protocol/lit-node-client \ + @irys/web-upload \ + @irys/web-upload-ethereum \ + @irys/web-upload-ethereum-ethers-v6 \ + ethers +``` -### Decrypting data -Finally, we decrypt the data using Lit's [`decryptString()`](https://lit-js-sdk-v3-api-docs.vercel.app/functions/encryption_src.encryptString.html) function. +### Connecting to Lit Protocol -```js -async function decryptData( - ciphertext, - dataToEncryptHash, - accessControlConditions -) { - const sessionSigs = await getSessionSignatures(); - const litNodeClient = await getLitNodeClient(); +Connect to a Lit node on one of our [active networks](https://developer.litprotocol.com/connecting-to-a-lit-network/connecting). Choose between Datil (mainnet), Datil-test (testnet), and Datil-dev (development). For this example, we'll use DatilDev as use is free and not rate-limited. - let decryptedString; - try { - decryptedString = await LitJsSdk.decryptToString( - { - sessionSigs, - accessControlConditions, - ciphertext, - dataToEncryptHash, - chain: "ethereum", - }, - litNodeClient - ); - } catch (e) { - console.log(e); - } +```ts +import * as LitJsSdk from "@lit-protocol/lit-node-client"; +import { LitNodeClient } from "@lit-protocol/lit-node-client"; - return decryptedString; +const litClient = new LitNodeClient({ + litNetwork: "datil-dev", +}); +``` + +### Setting Access Control Rules + +[Access control](https://developer.litprotocol.com/sdk/access-control/condition-types/unified-access-control-conditions) rules determine who can decrypt your data. Set conditions based on criteria like ETH or ERC20 balance, NFT ownership, or custom logic. + +```ts +// Allow users with ≥ 0 ETH: +function getAccessControlConditions(): object[] { + return [ + { + contractAddress: "", + standardContractType: "", + chain: "ethereum", + method: "eth_getBalance", + parameters: [":userAddress", "latest"], + returnValueTest: { + comparator: ">=", + value: "000000000000000000", // 0 ETH in wei + }, + }, + ]; } ``` -## Main function +```ts +// Allow users with ≥ 100 DAI: +function getAccessControlConditions(): object[] { + return [ + { + contractAddress: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI contract + standardContractType: "ERC20", + chain: "ethereum", + method: "balanceOf", + parameters: [":userAddress"], + returnValueTest: { + comparator: ">=", + value: "100000000000000000000", // 100 DAI in wei + }, + }, + ]; +} +``` + + + ```ts +// Allow users owning any NFT from a contract +function getAccessControlConditions(): object[] { + return [ + { + contractAddress: "0xABC123...XYZ", // ERC721 contract address + standardContractType: "ERC721", + chain: "ethereum", + method: "balanceOf", + parameters: [":userAddress"], + returnValueTest: { + comparator: ">", + value: "0", + }, + }, + ]; +} +``` + +For more advanced examples, see [unified access control conditions](https://developer.litprotocol.com/sdk/access-control/condition-types/unified-access-control-conditions). -Finally, write a `main()` function that calls the calls our encrypt, store and decrypt code. +### Encrypting Data -```js -async function main() { - const messageToEncrypt = "Irys + Lit is 🔥x2"; +We provide multiple methods to encrypt data, including strings, files, zip files. - // 1. Encrypt data - const [cipherText, dataToEncryptHash] = await encryptData(messageToEncrypt); +- `encryptString()`: Encrypts a string. +- `encryptToJson()`: Encrypts a string or file and serializes the result to JSON. +- `zipAndEncryptString()`: Encrypts and compresses a string into a zip file. Useful for bundling multiple pieces of data. +- `encryptFile()` and `zipAndEncryptFiles()`: Encrypt a single file or multiple files. - // 2. Store cipherText and dataToEncryptHash on Irys - const encryptedDataID = await storeOnIrys(cipherText, dataToEncryptHash); +We will use `encryptString()` to encrypt a string: - console.log(`Data stored at https://gateway.irys.xyz/${encryptedDataID}`); +```ts +export const encryptString = async (text: string): Promise<{ ciphertext: string; dataToEncryptHash: string }> => { + await litClient.connect(); - // 3. Retrieve data stored on Irys - // In real world applications, you could wait any amount of time before retrieving and decrypting - const [ - cipherTextRetrieved, - dataToEncryptHashRetrieved, - accessControlConditions, - ] = await retrieveFromIrys(encryptedDataID); - // 4. Decrypt data - const decryptedString = await decryptData( - cipherTextRetrieved, - dataToEncryptHashRetrieved, - accessControlConditions + const accessControlConditions = getAccessControlConditions(); + + const { ciphertext, dataToEncryptHash } = await LitJsSdk.encryptString( + { + accessControlConditions, + dataToEncrypt: text, + }, + litClient ); - console.log("decryptedString:", decryptedString); -} -main(); + console.log({ ciphertext, dataToEncryptHash }); + return { ciphertext, dataToEncryptHash }; +}; +``` + +The `encryptString()` function encrypts your data according to the specified access control conditions, and returns: + +- `ciphertext`: The encrypted string. +- `dataToEncryptHash`: The hash of the original string, ensuring data integrity. + + +### Storing Data on Irys + +When storing encrypted data on Irys, store it as JSON objet with three components: + +- `ciphertext`: The encrypted version of your data. +- `dataToEncryptHash`: A hash of the original data, which helps verify its integrity during decryption. +- `accessControlConditions`: The rules governing who can decrypt the data. + +Start by connecting to Irys: + +> The following code is for using Ethereum only, Irys also [has examples covering all supported tokens](https://docs.irys.xyz/build/d/sdk/setup). + +```ts +import { Uploader } from "@irys/upload"; +import { Ethereum } from "@irys/upload-ethereum"; + +const getIrysUploader = async () => { + const irysUploader = await Uploader(Ethereum).withWallet(process.env.PRIVATE_KEY); + return irysUploader; +}; +``` + +Then upload your the JSON object: + +```ts +export const uploadToIrys = async (cipherText: string, dataToEncryptHash: string): Promise => { + const irysUploader = await getIrysUploader(); + + const dataToUpload = { + cipherText: cipherText, + dataToEncryptHash: dataToEncryptHash, + accessControlConditions: getAccessControlConditions(), + }; + + try { + const tags = [{ name: "Content-Type", value: "application/json" }]; + const receipt = await irysUploader.upload(JSON.stringify(dataToUpload), { tags }); + return receipt?.id ? `${gatewayAddress}${receipt.id}` : ""; + } catch (error) { + console.error("Error uploading data: ", error); + throw error; + } +}; +``` + +### Downloading Data from Irys + +To retrieve your stored data, you can use the transaction ID returned during the upload. + +```ts +export const downloadFromIrys = async (id: string): Promise<[string, string, object[]]> => { + const url = `${gatewayAddress}${id}`; + + try { + const response = await fetch(url); + if (!response.ok) throw new Error(`Failed to retrieve data for ID: ${id}`); + const data = await response.json(); + + const ciphertext = data.cipherText; + const dataToEncryptHash = data.dataToEncryptHash; + + return [ciphertext, dataToEncryptHash, data.accessControlConditions]; + } catch (error) { + console.error("Error retrieving data: ", error); + return ["", "", []]; + } +}; ``` -## Getting support +### Decrypting Data + +Use the `decryptToString()` function to decrypt the data. This requires the ciphertext, its hash, access control conditions, and session signatures. + +```ts +export const decryptData = async (encryptedText: string, dataToEncryptHash: string): Promise => { + await litClient.connect(); + + const provider = new ethers.BrowserProvider(window.ethereum); + const signer = await provider.getSigner(); + const walletAddress = await signer.getAddress(); + + const latestBlockhash = await litClient.getLatestBlockhash(); + + const authNeededCallback = async (params: any) => { + if (!params.uri) throw new Error("uri is required"); + if (!params.expiration) throw new Error("expiration is required"); + if (!params.resourceAbilityRequests) throw new Error("resourceAbilityRequests is required"); + + const toSign = await createSiweMessageWithRecaps({ + uri: params.uri, + expiration: params.expiration, + resources: params.resourceAbilityRequests, + walletAddress: walletAddress, + nonce: latestBlockhash, + litNodeClient: litClient, + }); + + const authSig = await generateAuthSig({ + signer: signer, + toSign, + }); + + return authSig; + }; + + const litResource = new LitAccessControlConditionResource("*"); + + const sessionSigs = await litClient.getSessionSigs({ + chain: "ethereum", + resourceAbilityRequests: [ + { + resource: litResource, + ability: LitAbility.AccessControlConditionDecryption, + }, + ], + authNeededCallback, + }); + + const decryptedString = await LitJsSdk.decryptToString( + { + accessControlConditions: getAccessControlConditions(), + chain: "ethereum", + ciphertext: encryptedText, + dataToEncryptHash, + sessionSigs, + }, + litClient + ); + + return decryptedString; +}; +``` -If you have questions while building, make sure to reach out to the Lit development team on [Discord](https://litgateway.com/discord). +## Getting Help -Questions about Irys? Go to the [Irys Discord](https://discord.irys.xyz) to get in touch. +Any questions? Reach out the Irys team in their [Discord](https://discord.gg/irys). - + \ No newline at end of file diff --git a/docs/sdk/access-control/intro.md b/docs/sdk/access-control/intro.md index 7b3b6897..20e7e73c 100644 --- a/docs/sdk/access-control/intro.md +++ b/docs/sdk/access-control/intro.md @@ -56,7 +56,7 @@ Lit supports the use of both on and [off-chain data](../access-control/lit-actio You can get started with encryption following this [quick start](../access-control/quick-start.md) guide. Below, you'll find some additional resources and example implementations: 1. [Storing Private Data on ComposeDB](../../integrations/storage/ceramic-example.md) -2. [Encrypting Data on Arweave Using Lit and Irys](../../integrations/storage/irys.md) +2. [Encrypting Onchain Storage Using Lit and Irys](../../integrations/storage/irys.md) 3. [Basic EVM Conditions](../access-control/evm/basic-examples) 4. [Access Control Using Off-Chain Inputs](../access-control/lit-action-conditions) diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..f0c2e587 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,16863 @@ +{ + "name": "lit-docs", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "lit-docs", + "version": "0.0.0", + "dependencies": { + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@docusaurus/core": "2.1.0", + "@docusaurus/plugin-google-analytics": "^2.1.0", + "@docusaurus/preset-classic": "2.1.0", + "@lit-protocol/constants": "^5.0.0", + "@mdx-js/react": "^1.6.21", + "@svgr/webpack": "^5.5.0", + "clsx": "^1.1.1", + "file-loader": "^6.2.0", + "node-fetch": "^3.3.1", + "prism-react-renderer": "^1.2.1", + "react": "^17.0.1", + "react-dom": "^17.0.1", + "url-loader": "^4.1.1" + }, + "devDependencies": { + "dotenv": "^16.0.3", + "husky": "^7.0.4" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.20.0.tgz", + "integrity": "sha512-uujahcBt4DxduBTvYdwO3sBfHuJvJokiC3BP1+O70fglmE1ShkH8lpXqZBac1rrU3FnNYSUs4pL9lBdTKeRPOQ==", + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.20.0.tgz", + "integrity": "sha512-vCfxauaZutL3NImzB2G9LjLt36vKAckc6DhMp05An14kVo8F1Yofb6SIl6U3SaEz8pG2QOB9ptwM5c+zGevwIQ==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.20.0.tgz", + "integrity": "sha512-Wm9ak/IaacAZXS4mB3+qF/KCoVSBV6aLgIGFEtQtJwjv64g4ePMapORGmCyulCFwfePaRAtcaTbMcJF+voc/bg==", + "dependencies": { + "@algolia/cache-common": "4.20.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.20.0.tgz", + "integrity": "sha512-GGToLQvrwo7am4zVkZTnKa72pheQeez/16sURDWm7Seyz+HUxKi3BM6fthVVPUEBhtJ0reyVtuK9ArmnaKl10Q==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/client-search": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.20.0.tgz", + "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" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.6.1.tgz", + "integrity": "sha512-4MGqXqiAyqsUJw+KamKWZO2Gxn9iMpc05vC0vy8+iQRjKRZEDB1a+3Da6CnkWzXa162pJb7a/chDAAKA9rye8A==", + "peer": true, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.20.0.tgz", + "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" + } + }, + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.6.1.tgz", + "integrity": "sha512-HloeR0Ef29vf2yJc1lhjw1OYial3YgB0f3TQaqqMlSnM/IkAw9TnX1IOYLurnI91apMKggFpA9t8lRp7TGEKEg==", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1", + "@algolia/requester-browser-xhr": "5.6.1", + "@algolia/requester-fetch": "5.6.1", + "@algolia/requester-node-http": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "node_modules/@algolia/logger-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.20.0.tgz", + "integrity": "sha512-xouigCMB5WJYEwvoWW5XDv7Z9f0A8VoXJc3VKwlHJw/je+3p2RcDXfksLI4G4lIVncFUYMZx30tP/rsdlvvzHQ==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.20.0.tgz", + "integrity": "sha512-THlIGG1g/FS63z0StQqDhT6bprUczBI8wnLT3JWvfAQDZX5P6fCg7dG+pIrUBpDIHGszgkqYEqECaKKsdNKOUA==", + "dependencies": { + "@algolia/logger-common": "4.20.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.6.1.tgz", + "integrity": "sha512-tY1RW60sGF9sMpxbd8j53IqLLwnkNhrAarVhFfNZzDZNvI8WyzG78W5ZD/SFvtkgNPPSav3T/3LpBT8xBpzbGw==", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.20.0.tgz", + "integrity": "sha512-9h6ye6RY/BkfmeJp7Z8gyyeMrmmWsMOCRBXQDs4mZKKsyVlfIVICpcSibbeYcuUdurLhIlrOUkH3rQEgZzonng==" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.6.1.tgz", + "integrity": "sha512-4TvR5IodrH+o+ji4ka+VBufWY0GfHr43nFqnDTStabtjspfo4rlcV16x534vvnbfp694oBxrz0SO/Ny8VemvXg==", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.6.1.tgz", + "integrity": "sha512-K7tlss87aq6UnWnU8+fPIe+Is9Mvyqwzysp6Ty/HpQ7YNKUU7opgkMOVKxzTwt3fm40NfNX4ENvVKHoYABL6vw==", + "peer": true, + "dependencies": { + "@algolia/client-common": "5.6.1" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.20.0.tgz", + "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" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "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" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz", + "integrity": "sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz", + "integrity": "sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz", + "integrity": "sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz", + "integrity": "sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz", + "integrity": "sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@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.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz", + "integrity": "sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.22.5.tgz", + "integrity": "sha512-BF5SXoO+nX3h5OhlN78XbbDrBOffv+AxPP2ENaJOVqjWCgBDeOY3WcaUcddutGSfoap+5NEQ/q/4I3WZIvgkXA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.22.5.tgz", + "integrity": "sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz", + "integrity": "sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==", + "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.22.5", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.22.5.tgz", + "integrity": "sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz", + "integrity": "sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA==", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "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.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", + "dependencies": { + "@babel/compat-data": "^7.23.2", + "@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.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@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.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@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.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.23.0", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.23.0", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.22.15.tgz", + "integrity": "sha512-Csy1IJ2uEh/PecCBXXoZGAZBeCATTuePzCSB7dLYWS0vOEj6CNpjxIhW4duWwZodBNueH7QO14WbGn8YyeuN9w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.22.5", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", + "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-typescript": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz", + "integrity": "sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + }, + "node_modules/@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "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" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.1.0.tgz", + "integrity": "sha512-/ZJ6xmm+VB9Izbn0/s6h6289cbPy2k4iYFwWDhjiLsVqwa/Y0YBBcXvStfaHccudUC3OfP+26hMk7UCjc50J6Q==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^1.12.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@docusaurus/core/node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@docusaurus/core/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@docusaurus/core/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@docusaurus/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/core/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/core/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@docusaurus/core/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/core/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@docusaurus/core/node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@docusaurus/core/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.1.0.tgz", + "integrity": "sha512-pRLewcgGhOies6pzsUROfmPStDRdFw+FgV5sMtLr5+4Luv2rty5+b/eSIMMetqUsmg3A9r9bcxHk9bKAKvx3zQ==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/logger": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.1.0.tgz", + "integrity": "sha512-uuJx2T6hDBg82joFeyobywPjSOIfeq05GfyKGHThVoXuXsu1KAzMDYcjoDxarb9CoHCI/Dor8R2MoL6zII8x1Q==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/logger/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/logger/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/logger/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/logger/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@docusaurus/logger/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/logger/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.1.0.tgz", + "integrity": "sha512-i97hi7hbQjsD3/8OSFhLy7dbKGH8ryjEzOfyhQIn2CFBYOY3ko0vMVEf3IY9nD3Ld7amYzsZ8153RPkcnXA+Lg==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-2.1.0.tgz", + "integrity": "sha512-Z8WZaK5cis3xEtyfOT817u9xgGUauT0PuuVo85ysnFRX8n7qLN1lTPCkC+aCmFm/UcV8h/W5T4NtIsst94UntQ==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "2.1.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/module-type-aliases/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.1.0.tgz", + "integrity": "sha512-xEp6jlu92HMNUmyRBEeJ4mCW1s77aAEQO4Keez94cUY/Ap7G/r0Awa6xSLff7HL0Fjg8KK1bEbDy7q9voIavdg==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "tslib": "^2.4.0", + "unist-util-visit": "^2.0.3", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-blog/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.1.0.tgz", + "integrity": "sha512-Rup5pqXrXlKGIC4VgwvioIhGWF7E/NNSlxv+JAxRYpik8VKlWsk9ysrdHIlpX+KJUCO9irnY21kQh2814mlp/Q==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@types/react-router-config": "^5.0.6", + "combine-promises": "^1.1.0", + "fs-extra": "^10.1.0", + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.1.0.tgz", + "integrity": "sha512-SwZdDZRlObHNKXTnFo7W2aF6U5ZqNVI55Nw2GCBryL7oKQSLeI0lsrMlMXdzn+fS7OuBTd3MJBO1T4Zpz0i/+g==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "fs-extra": "^10.1.0", + "tslib": "^2.4.0", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.1.0.tgz", + "integrity": "sha512-8wsDq3OIfiy6440KLlp/qT5uk+WRHQXIXklNHEeZcar+Of0TZxCNe2FBpv+bzb/0qcdP45ia5i5WmR5OjN6DPw==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "fs-extra": "^10.1.0", + "react-json-view": "^1.21.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.4.3.tgz", + "integrity": "sha512-KzBV3k8lDkWOhg/oYGxlK5o9bOwX7KpPc/FTWoB+SfKhlHfhq7qcQdMi1elAaVEIop8tgK6gD1E58Q+XC6otSQ==", + "dependencies": { + "@docusaurus/core": "2.4.3", + "@docusaurus/types": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.4.3.tgz", + "integrity": "sha512-dWH5P7cgeNSIg9ufReX6gaCl/TmrGKD38Orbwuz05WPhAQtFXHd5B8Qym1TiXfvUNvwoYKkAJOJuGe8ou0Z7PA==", + "dependencies": { + "@babel/core": "^7.18.6", + "@babel/generator": "^7.18.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.18.6", + "@babel/preset-env": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@babel/runtime": "^7.18.6", + "@babel/runtime-corejs3": "^7.18.6", + "@babel/traverse": "^7.18.8", + "@docusaurus/cssnano-preset": "2.4.3", + "@docusaurus/logger": "2.4.3", + "@docusaurus/mdx-loader": "2.4.3", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "2.4.3", + "@docusaurus/utils-common": "2.4.3", + "@docusaurus/utils-validation": "2.4.3", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.2.1", + "autoprefixer": "^10.4.7", + "babel-loader": "^8.2.5", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.0", + "cli-table3": "^0.6.2", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.23.3", + "css-loader": "^6.7.1", + "css-minimizer-webpack-plugin": "^4.0.0", + "cssnano": "^5.1.12", + "del": "^6.1.1", + "detect-port": "^1.3.0", + "escape-html": "^1.0.3", + "eta": "^2.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "html-minifier-terser": "^6.1.0", + "html-tags": "^3.2.0", + "html-webpack-plugin": "^5.5.0", + "import-fresh": "^3.3.0", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.6.1", + "postcss": "^8.4.14", + "postcss-loader": "^7.0.0", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.3", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.3", + "rtl-detect": "^1.0.4", + "semver": "^7.3.7", + "serve-handler": "^6.1.3", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.3", + "tslib": "^2.4.0", + "update-notifier": "^5.1.0", + "url-loader": "^4.1.1", + "wait-on": "^6.0.1", + "webpack": "^5.73.0", + "webpack-bundle-analyzer": "^4.5.0", + "webpack-dev-server": "^4.9.3", + "webpack-merge": "^5.8.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core/node_modules/@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/core/node_modules/@docusaurus/utils-common": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.4.3.tgz", + "integrity": "sha512-/jascp4GbLQCPVmcGkPzEQjNaAk3ADVfMtudk49Ggb+131B1WDD6HqlSmDf8MxGdy7Dja2gc+StHf01kiWoTDQ==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/cssnano-preset": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.4.3.tgz", + "integrity": "sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.8", + "postcss": "^8.4.14", + "postcss-sort-media-queries": "^4.2.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/logger": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-2.4.3.tgz", + "integrity": "sha512-Zxws7r3yLufk9xM1zq9ged0YHs65mlRmtsobnFkdZTxWXdTYlWWLWdKyNKAsVC+D7zg+pv2fGbyabdOnyZOM3w==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.4.3.tgz", + "integrity": "sha512-b1+fDnWtl3GiqkL0BRjYtc94FZrcDDBV1j8446+4tptB9BAOlePwG2p/pK6vGvfL53lkOsszXMghr2g67M0vCw==", + "dependencies": { + "@babel/parser": "^7.18.8", + "@babel/traverse": "^7.18.8", + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", + "@mdx-js/mdx": "^1.6.22", + "escape-html": "^1.0.3", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "image-size": "^1.0.1", + "mdast-util-to-string": "^2.0.0", + "remark-emoji": "^2.2.0", + "stringify-object": "^3.3.0", + "tslib": "^2.4.0", + "unified": "^9.2.2", + "unist-util-visit": "^2.0.3", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/mdx-loader/node_modules/@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.4.3.tgz", + "integrity": "sha512-G2+Vt3WR5E/9drAobP+hhZQMaswRwDlp6qOMi7o7ZypB+VO7N//DZWhZEwhcRGepMDJGQEwtPv7UxtYwPL9PBw==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@docusaurus/utils": "2.4.3", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@docusaurus/utils-validation/node_modules/@docusaurus/utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.4.3.tgz", + "integrity": "sha512-fKcXsjrD86Smxv8Pt0TBFqYieZZCPh4cbf9oszUq/AMhZn3ujwpKaVYZACPX8mmjtYx0JOgNx52CREBfiGQB4A==", + "dependencies": { + "@docusaurus/logger": "2.4.3", + "@svgr/webpack": "^6.2.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@docusaurus/plugin-google-analytics/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.1.0.tgz", + "integrity": "sha512-/3aDlv2dMoCeiX2e+DTGvvrdTA+v3cKQV3DbmfsF4ENhvc5nKV23nth04Z3Vq0Ci1ui6Sn80TkhGk/tiCMW2AA==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.1.0.tgz", + "integrity": "sha512-2Y6Br8drlrZ/jN9MwMBl0aoi9GAjpfyfMBYpaQZXimbK+e9VjYnujXlvQ4SxtM60ASDgtHIAzfVFBkSR/MwRUw==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "fs-extra": "^10.1.0", + "sitemap": "^7.1.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.1.0.tgz", + "integrity": "sha512-NQMnaq974K4BcSMXFSJBQ5itniw6RSyW+VT+6i90kGZzTwiuKZmsp0r9lC6BYAvvVMQUNJQwrETmlu7y2XKW7w==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/plugin-debug": "2.1.0", + "@docusaurus/plugin-google-analytics": "2.1.0", + "@docusaurus/plugin-google-gtag": "2.1.0", + "@docusaurus/plugin-sitemap": "2.1.0", + "@docusaurus/theme-classic": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-search-algolia": "2.1.0", + "@docusaurus/types": "2.1.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/plugin-google-analytics": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.1.0.tgz", + "integrity": "sha512-4cgeqIly/wcFVbbWP03y1QJJBgH8W+Bv6AVbWnsXNOZa1yB3AO6hf3ZdeQH9x20v9T2pREogVgAH0rSoVnNsgg==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/preset-classic/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/react-loadable": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.1.0.tgz", + "integrity": "sha512-xn8ZfNMsf7gaSy9+ClFnUu71o7oKgMo5noYSS1hy3svNifRTkrBp6+MReLDsmIaj3mLf2e7+JCBYKBFbaGzQng==", + "dependencies": { + "@docusaurus/core": "2.1.0", + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-translations": "2.1.0", + "@docusaurus/types": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-common": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "@mdx-js/react": "^1.6.22", + "clsx": "^1.2.1", + "copy-text-to-clipboard": "^3.0.1", + "infima": "0.2.0-alpha.42", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.14", + "prism-react-renderer": "^1.3.5", + "prismjs": "^1.28.0", + "react-router-dom": "^5.3.3", + "rtlcss": "^3.5.0", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/@docusaurus/types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.1.0.tgz", + "integrity": "sha512-BS1ebpJZnGG6esKqsjtEC9U9qSaPylPwlO7cQ1GaIE7J/kMZI3FITnNn0otXXu7c7ZTqhb6+8dOrG6fZn6fqzQ==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.1.0.tgz", + "integrity": "sha512-vT1otpVPbKux90YpZUnvknsn5zvpLf+AW1W0EDcpE9up4cDrPqfsh0QoxGHFJnobE2/qftsBFC19BneN4BH8Ag==", + "dependencies": { + "@docusaurus/mdx-loader": "2.1.0", + "@docusaurus/module-type-aliases": "2.1.0", + "@docusaurus/plugin-content-blog": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/plugin-content-pages": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^1.2.1", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^1.3.5", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.1.0.tgz", + "integrity": "sha512-rNBvi35VvENhucslEeVPOtbAzBdZY/9j55gdsweGV5bYoAXy4mHB6zTGjealcB4pJ6lJY4a5g75fXXMOlUqPfg==", + "dependencies": { + "@docsearch/react": "^3.1.1", + "@docusaurus/core": "2.1.0", + "@docusaurus/logger": "2.1.0", + "@docusaurus/plugin-content-docs": "2.1.0", + "@docusaurus/theme-common": "2.1.0", + "@docusaurus/theme-translations": "2.1.0", + "@docusaurus/utils": "2.1.0", + "@docusaurus/utils-validation": "2.1.0", + "algoliasearch": "^4.13.1", + "algoliasearch-helper": "^3.10.0", + "clsx": "^1.2.1", + "eta": "^1.12.3", + "fs-extra": "^10.1.0", + "lodash": "^4.17.21", + "tslib": "^2.4.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-2.1.0.tgz", + "integrity": "sha512-07n2akf2nqWvtJeMy3A+7oSGMuu5F673AovXVwY0aGAux1afzGCiqIFlYW3EP0CujvDJAEFSQi/Tetfh+95JNg==", + "dependencies": { + "fs-extra": "^10.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/types": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.4.3.tgz", + "integrity": "sha512-W6zNLGQqfrp/EoPD0bhb9n7OobP+RHpmvVzpA+Z/IuU3Q63njJM24hmT0GYboovWcDtFmnIJC9wcyx4RVPQscw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.6.0", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.73.0", + "webpack-merge": "^5.8.0" + }, + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0", + "react-dom": "^16.8.4 || ^17.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.1.0.tgz", + "integrity": "sha512-fPvrfmAuC54n8MjZuG4IysaMdmvN5A/qr7iFLbSGSyDrsbP4fnui6KdZZIa/YOLIPLec8vjZ8RIITJqF18mx4A==", + "dependencies": { + "@docusaurus/logger": "2.1.0", + "@svgr/webpack": "^6.2.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.1.0", + "github-slugger": "^1.4.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.4.0", + "url-loader": "^4.1.1", + "webpack": "^5.73.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.1.0.tgz", + "integrity": "sha512-F2vgmt4yRFgRQR2vyEFGTWeyAdmgKbtmu3sjHObF0tjjx/pN0Iw/c6eCopaH34E6tc9nO0nvp01pwW+/86d1fg==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.1.0.tgz", + "integrity": "sha512-AMJzWYKL3b7FLltKtDXNLO9Y649V2BXvrnRdnW2AA+PpBnYV78zKLSCz135cuWwRj1ajNtP4onbXdlnyvCijGQ==", + "dependencies": { + "@docusaurus/logger": "2.1.0", + "@docusaurus/utils": "2.1.0", + "joi": "^17.6.0", + "js-yaml": "^4.1.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=16.14" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@docusaurus/utils/node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@docusaurus/utils/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@docusaurus/utils/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/@docusaurus/utils/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@docusaurus/utils/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/@docusaurus/utils/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/@docusaurus/utils/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@ethersproject/abi": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", + "integrity": "sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-provider": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz", + "integrity": "sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0" + } + }, + "node_modules/@ethersproject/abstract-signer": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz", + "integrity": "sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/address": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.7.0.tgz", + "integrity": "sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/rlp": "^5.7.0" + } + }, + "node_modules/@ethersproject/base64": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.7.0.tgz", + "integrity": "sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0" + } + }, + "node_modules/@ethersproject/basex": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.7.0.tgz", + "integrity": "sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/properties": "^5.7.0" + } + }, + "node_modules/@ethersproject/bignumber": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.7.0.tgz", + "integrity": "sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "bn.js": "^5.2.1" + } + }, + "node_modules/@ethersproject/bytes": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.7.0.tgz", + "integrity": "sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/constants": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.7.0.tgz", + "integrity": "sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0" + } + }, + "node_modules/@ethersproject/contracts": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.7.0.tgz", + "integrity": "sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "^5.7.0", + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/transactions": "^5.7.0" + } + }, + "node_modules/@ethersproject/hash": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.7.0.tgz", + "integrity": "sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/hdnode": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.7.0.tgz", + "integrity": "sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/json-wallets": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz", + "integrity": "sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/pbkdf2": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "aes-js": "3.0.0", + "scrypt-js": "3.0.1" + } + }, + "node_modules/@ethersproject/keccak256": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.7.0.tgz", + "integrity": "sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "js-sha3": "0.8.0" + } + }, + "node_modules/@ethersproject/logger": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.7.0.tgz", + "integrity": "sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ] + }, + "node_modules/@ethersproject/networks": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/pbkdf2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz", + "integrity": "sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/sha2": "^5.7.0" + } + }, + "node_modules/@ethersproject/properties": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.7.0.tgz", + "integrity": "sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/providers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/base64": "^5.7.0", + "@ethersproject/basex": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/networks": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/web": "^5.7.0", + "bech32": "1.1.4", + "ws": "7.4.6" + } + }, + "node_modules/@ethersproject/random": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.7.0.tgz", + "integrity": "sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/rlp": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.7.0.tgz", + "integrity": "sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/sha2": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.7.0.tgz", + "integrity": "sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/signing-key": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.7.0.tgz", + "integrity": "sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "bn.js": "^5.2.1", + "elliptic": "6.5.4", + "hash.js": "1.1.7" + } + }, + "node_modules/@ethersproject/solidity": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.7.0.tgz", + "integrity": "sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/sha2": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/strings": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.7.0.tgz", + "integrity": "sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/transactions": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.7.0.tgz", + "integrity": "sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/rlp": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0" + } + }, + "node_modules/@ethersproject/units": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.7.0.tgz", + "integrity": "sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/constants": "^5.7.0", + "@ethersproject/logger": "^5.7.0" + } + }, + "node_modules/@ethersproject/wallet": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.7.0.tgz", + "integrity": "sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abstract-provider": "^5.7.0", + "@ethersproject/abstract-signer": "^5.7.0", + "@ethersproject/address": "^5.7.0", + "@ethersproject/bignumber": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/hdnode": "^5.7.0", + "@ethersproject/json-wallets": "^5.7.0", + "@ethersproject/keccak256": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/random": "^5.7.0", + "@ethersproject/signing-key": "^5.7.0", + "@ethersproject/transactions": "^5.7.0", + "@ethersproject/wordlists": "^5.7.0" + } + }, + "node_modules/@ethersproject/web": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/base64": "^5.7.0", + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@ethersproject/wordlists": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.7.0.tgz", + "integrity": "sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/bytes": "^5.7.0", + "@ethersproject/hash": "^5.7.0", + "@ethersproject/logger": "^5.7.0", + "@ethersproject/properties": "^5.7.0", + "@ethersproject/strings": "^5.7.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "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" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@lit-protocol/accs-schemas": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@lit-protocol/accs-schemas/-/accs-schemas-0.0.7.tgz", + "integrity": "sha512-n8fJ6NMh2T3KgSKe0CRB0Uam6ZwxUTQV0oQXY0vEmSL+Q2a1PsM2FX42szOM+O7LgY+Bko7AiCjjDHbqQoJydg==", + "dependencies": { + "ajv": "^8.12.0" + } + }, + "node_modules/@lit-protocol/auth-helpers": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-helpers/-/auth-helpers-5.0.0.tgz", + "integrity": "sha512-uiTUwhxyzUe7h57i4KhJjL96XP0PcxSufpBq2Z2XjEzWD3ns6ruyy7fWpB7wseR0ePzW3kegEz8fuzhl/HtTfQ==", + "dependencies": { + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0" + } + }, + "node_modules/@lit-protocol/constants": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-5.0.0.tgz", + "integrity": "sha512-6zVezFFD/1DhcJn+0xsvEnV4Grpy6GFM3klD3TZInvue10WYJsrSqSfagNraaemfMwf1DDOpdC8jG2J/4Rl78g==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "0.0.7", + "@lit-protocol/auth-helpers": "5.0.0", + "@lit-protocol/types": "5.0.0", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/types": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@lit-protocol/types/-/types-5.0.0.tgz", + "integrity": "sha512-6r4LCxEe0QiZxFWYQHkTRwedypcEm98kcvBdiGmaoPj8pnbHtjuGOAveG9HumAUvs85rd8psmVh9cl3yLFQYkw==", + "dependencies": { + "@ethersproject/abstract-provider": "5.7.0", + "@lit-protocol/accs-schemas": "0.0.7", + "@lit-protocol/auth-helpers": "5.0.0", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "siwe": "^2.0.5", + "siwe-recap": "0.0.2-alpha.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", + "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/plugin-syntax-jsx": "7.12.1", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "1.6.22", + "babel-plugin-apply-mdx-type-prop": "1.6.22", + "babel-plugin-extract-import-names": "1.6.22", + "camelcase-css": "2.0.1", + "detab": "2.0.4", + "hast-util-raw": "6.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "10.0.1", + "remark-footnotes": "2.0.0", + "remark-mdx": "1.6.22", + "remark-parse": "8.0.3", + "remark-squeeze-paragraphs": "4.0.0", + "style-to-object": "0.3.0", + "unified": "9.2.0", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@mdx-js/mdx/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/@mdx-js/mdx/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0" + } + }, + "node_modules/@mdx-js/util": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==" + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", + "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "dependencies": { + "eval": "^0.1.8", + "p-map": "^4.0.0", + "webpack-sources": "^3.2.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@spruceid/siwe-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-2.0.2.tgz", + "integrity": "sha512-9WuA0ios2537cWYu39MMeH0O2KdrMKgKlOBUTWRTXQjCYu5B+mHCA0JkCbFaJ/0EjxoVIcYCXIW/DoPEpw+PqA==", + "dependencies": { + "@noble/hashes": "^1.1.2", + "apg-js": "^4.1.1", + "uri-js": "^4.4.1", + "valid-url": "^1.0.9" + } + }, + "node_modules/@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "dependencies": { + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "node_modules/@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dependencies": { + "defer-to-connect": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", + "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz", + "integrity": "sha512-gX2j9x+NzSh4zOhnRPSdPPmTepS4DfxES0AvIFv3jGv5QyeAJf6u6dY5/BAoAJU9Qq1uTvwOku8SSC2GnCRl6Q==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + }, + "node_modules/@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/hast": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.7.tgz", + "integrity": "sha512-EVLigw5zInURhzfXUM65eixfadfsHKomGKUakToXo84t8gGIJuTcD2xooM2See7GyQ7DRtYjhCHnSUQez8JaLw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.13", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.13.tgz", + "integrity": "sha512-GkhdWcMNiR5QSQRYnJ+/oXzu0+7JJEPC8vkWXK351BkhjraZF+1W13CUYARUvX9+NqIU2n6YHA4iwywsc/M6Sw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz", + "integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz", + "integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + }, + "node_modules/@types/mdast": { + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.14.tgz", + "integrity": "sha512-gVZ04PGgw1qLZKsnWnyFv4ORnaJ+DXLdHTVSFbU8yX6xZ34Bjg4Q32yPkmveUP1yItXReKfB0Aknlh/3zxTKAw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + }, + "node_modules/@types/node": { + "version": "20.8.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", + "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", + "integrity": "sha512-vGXshY9vim9CJjrpcS5raqSjEfKlJcWy2HNdgUasR66fAnVEYarrf1ULV4nfvpC1nZq/moA9qyqBcu83x+Jlrg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", + "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==" + }, + "node_modules/@types/parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", + "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.9", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", + "integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==" + }, + "node_modules/@types/q": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.7.tgz", + "integrity": "sha512-HBPgtzp44867rkL+IzQ3560/E/BlobwCjeXsuKqogrcE99SKgZR4tvBBCuNJZMhUFMz26M7cjKWZg785lllwpA==" + }, + "node_modules/@types/qs": { + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + }, + "node_modules/@types/react": { + "version": "18.2.33", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.33.tgz", + "integrity": "sha512-v+I7S+hu3PIBoVkKGpSYYpiBT1ijqEzWpzQD62/jm4K74hPpSP7FF9BnKG6+fg2+62weJYkkBWDJlZt5JO/9hg==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.9.tgz", + "integrity": "sha512-a7zOj9yVUtM3Ns5stoseQAAsmppNxZpXDv6tZiFV5qlRmV4W96u53on1vApBX1eRSc8mrFOiB54Hc0Pk1J8GFg==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.6.tgz", + "integrity": "sha512-A1mpYCYu1aHFayy8XKN57ebXeAbh9oQIZ1wXcno6b1ESUAfMBDMx7mf/QGlYwcMRaFryh9YBuH03i/3FlPGDkQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz", + "integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==" + }, + "node_modules/@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.3.tgz", + "integrity": "sha512-4KG+yMEuvDPRrYq5fyVm/I2uqAJSAwZK9VSa+Zf+zUq9/oxSSvy3kkIqyL+jjStv6UCVi8/Aho0NHtB1Fwosrg==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.35", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.35.tgz", + "integrity": "sha512-tIF57KB+ZvOBpAQwSaACfEu7htponHXaFzP7RfKYgsOS0NoYnn+9+jzp7bbq4fWerizI3dTB4NfAZoyeQKWJLw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.9.tgz", + "integrity": "sha512-zC0iXxAv1C1ERURduJueYzkzZ2zaGyc+P2c95hgkikHPr3z8EdUZOlgEQ5X0DRmwDZn+hekycQnoeiiRVrmilQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", + "integrity": "sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", + "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.2", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz", + "integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", + "dependencies": { + "@webassemblyjs/ast": "1.12.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aes-js": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", + "integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==" + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.20.0.tgz", + "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" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.15.0.tgz", + "integrity": "sha512-DGUnK3TGtDQsaUE4ayF/LjSN0DGsuYThB8WBgnnDY0Wq04K6lNVruO3LfqJOgSfDiezp+Iyt8Tj4YKHi+/ivSA==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.20.0.tgz", + "integrity": "sha512-P3WgMdEss915p+knMMSd/fwiHRHKvDu4DYRrCRaBrsfFw7EQHon+EbRSm4QisS9NYdxbS04kcvNoavVGthyfqQ==", + "dependencies": { + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.20.0.tgz", + "integrity": "sha512-zgwqnMvhWLdpzKTpd3sGmMlr4c+iS7eyyLGiaO51zDZWGMkpgoNVmltkzdBwxOVXz0RsFMznIxB9zuarUv4TZg==", + "dependencies": { + "@algolia/client-common": "4.20.0", + "@algolia/requester-common": "4.20.0", + "@algolia/transporter": "4.20.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.20.0.tgz", + "integrity": "sha512-HbzoSjcjuUmYOkcHECkVTwAelmvTlgs48N6Owt4FnTOQdwn0b8pdht9eMgishvk8+F8bal354nhx/xOoTfwiAw==", + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.20.0.tgz", + "integrity": "sha512-ocJ66L60ABSSTRFnCHIEZpNHv6qTxsBwJEPfYaSBsLQodm0F9ptvalFkHMpvj5DfE22oZrcrLbOYM2bdPJRHng==", + "dependencies": { + "@algolia/requester-common": "4.20.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/apg-js": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.2.1.tgz", + "integrity": "sha512-S3unf9jb9XrhmZYC27L5yits1p/+HqN6lksrkqKEv1U0Ytu+ENkIkOMV5+iutFjBaY9JTUCDQFS1svHsy3uNZA==" + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "dependencies": { + "follow-redirects": "^1.14.7" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", + "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4", + "@mdx-js/util": "1.6.22" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@babel/core": "^7.11.6" + } + }, + "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-extract-import-names": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", + "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", + "dependencies": { + "@babel/helper-plugin-utils": "7.10.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base16": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", + "integrity": "sha512-pNdYkNPiJUnEhnfXV56+sQy8+AaPcG3POZAUnwr4EeqCUZFz4u2PePbo3e5Gj4ziYPCWGUZT9RHisvJKnwFuBQ==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/bech32": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", + "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "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" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "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" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cacheable-request/node_modules/lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", + "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "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" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001664", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz", + "integrity": "sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/canonicalize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-2.0.0.tgz", + "integrity": "sha512-ulDEYPv7asdKvqahuAY35c1selLdzDwHqugK92hfkzvlDCwXRRelDkR+Er33md/PtnpqHemgkuDPanZ4fiYZ8w==" + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/cheerio": { + "version": "1.0.0-rc.12", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", + "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" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cli-table3/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clone-response": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", + "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dependencies": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "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" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "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" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", + "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.1.tgz", + "integrity": "sha512-6pYKNOgD/j/bkC5xS5IIg6bncid3rfrI42oBH1SQJbsmYPKF7rhzcFzYCcxYMmNQQ0rCEB8WqpW7QHndOggaeQ==", + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.33.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.1.tgz", + "integrity": "sha512-wCXGbLjnsP10PlK/thHSQlOLlLKNEkaWbTzVvHHZ79fZNeN1gUmw2gBlpItxPv/pvqldevEXFh/d5stdNvl6EQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", + "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "dependencies": { + "node-fetch": "^2.6.12" + } + }, + "node_modules/cross-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", + "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "dependencies": { + "cssnano": "^5.1.8", + "jest-worker": "^29.1.2", + "postcss": "^8.4.17", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", + "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", + "dependencies": { + "autoprefixer": "^10.4.12", + "cssnano-preset-default": "^5.2.14", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detab": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", + "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", + "dependencies": { + "repeat-string": "^1.5.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/duplexer3": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.5.tgz", + "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.29", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz", + "integrity": "sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==" + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", + "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-module-lexer": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/eta/-/eta-1.14.2.tgz", + "integrity": "sha512-wZmJAV7EFUG5W8XNXSazIdichnWEhGB1OWg4tnXWPj0CPNUcFdgorGNO6N9p6WBUgoUe4P0OziJYn1+6zxP2aQ==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ethers": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", + "funding": [ + { + "type": "individual", + "url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "dependencies": { + "@ethersproject/abi": "5.7.0", + "@ethersproject/abstract-provider": "5.7.0", + "@ethersproject/abstract-signer": "5.7.0", + "@ethersproject/address": "5.7.0", + "@ethersproject/base64": "5.7.0", + "@ethersproject/basex": "5.7.0", + "@ethersproject/bignumber": "5.7.0", + "@ethersproject/bytes": "5.7.0", + "@ethersproject/constants": "5.7.0", + "@ethersproject/contracts": "5.7.0", + "@ethersproject/hash": "5.7.0", + "@ethersproject/hdnode": "5.7.0", + "@ethersproject/json-wallets": "5.7.0", + "@ethersproject/keccak256": "5.7.0", + "@ethersproject/logger": "5.7.0", + "@ethersproject/networks": "5.7.1", + "@ethersproject/pbkdf2": "5.7.0", + "@ethersproject/properties": "5.7.0", + "@ethersproject/providers": "5.7.2", + "@ethersproject/random": "5.7.0", + "@ethersproject/rlp": "5.7.0", + "@ethersproject/sha2": "5.7.0", + "@ethersproject/signing-key": "5.7.0", + "@ethersproject/solidity": "5.7.0", + "@ethersproject/strings": "5.7.0", + "@ethersproject/transactions": "5.7.0", + "@ethersproject/units": "5.7.0", + "@ethersproject/wallet": "5.7.0", + "@ethersproject/web": "5.7.1", + "@ethersproject/wordlists": "5.7.0" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fbemitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", + "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", + "dependencies": { + "fbjs": "^3.0.0" + } + }, + "node_modules/fbjs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.5.tgz", + "integrity": "sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^1.0.35" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flux": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.4.tgz", + "integrity": "sha512-NCj3XlayA2UsapRpM7va6wU1+9rE5FIL7qoMcmxWHRzbp0yujihMBm9BBHZ1MDIk5h5o2Bl6eGiCe8rYELAmYw==", + "dependencies": { + "fbemitter": "^3.0.0", + "fbjs": "^3.0.1" + }, + "peerDependencies": { + "react": "^15.0.2 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "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" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "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" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dependencies": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "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" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-to-hyperscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", + "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", + "dependencies": { + "@types/unist": "^2.0.3", + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.3.0", + "unist-util-is": "^4.0.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", + "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", + "dependencies": { + "@types/parse5": "^5.0.0", + "hastscript": "^6.0.0", + "property-information": "^5.0.0", + "vfile": "^4.0.0", + "vfile-location": "^3.2.0", + "web-namespaces": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", + "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^6.0.0", + "hast-util-to-parse5": "^6.0.0", + "html-void-elements": "^1.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^3.0.0", + "vfile": "^4.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/hast-util-to-parse5": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", + "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", + "dependencies": { + "hast-to-hyperscript": "^9.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "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" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "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" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "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" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "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" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==", + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.42", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.42.tgz", + "integrity": "sha512-ift8OXNbQQwtbIt6z16KnSWP7uJ/SysSMFI4F87MNRTicypfl4Pv3E2OGVv6N3nSZFJvA8imYulCBS64iyHYww==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/internal-slot": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", + "dependencies": { + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-npm": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", + "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "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" + } + }, + "node_modules/js-sha3": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", + "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dependencies": { + "json-buffer": "3.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dependencies": { + "package-json": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.curry": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", + "integrity": "sha512-/u14pXGviLaweY5JI0IUzgzF2J6Ne8INyzAZjImcryjgkZ+ebruBxy2/JaOOkTqScddcYtakjhSaeemV8lR0tA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.escape": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", + "integrity": "sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==" + }, + "node_modules/lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==" + }, + "node_modules/lodash.flow": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", + "integrity": "sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==" + }, + "node_modules/lodash.invokemap": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.invokemap/-/lodash.invokemap-4.6.0.tgz", + "integrity": "sha512-CfkycNtMqgUlfjfdh2BhKO/ZXrP8ePOX5lEU/g0R3ItJcnuxWDwokMGKx1hWcfOikmyOVx6X9IwWnDGlgKl61w==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.pullall": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.pullall/-/lodash.pullall-4.2.0.tgz", + "integrity": "sha512-VhqxBKH0ZxPpLhiu68YD1KnHmbhQJQctcipvmFnqIBDYzcIHzf3Zpu0tpeOKtR4x76p9yohc506eGdOjTmyIBg==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", + "dependencies": { + "unist-util-remove": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", + "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", + "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^4.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.6.0.tgz", + "integrity": "sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ==", + "deprecated": "this will be v4", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multiformats": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-11.0.2.tgz", + "integrity": "sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==", + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "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" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dependencies": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.3.tgz", + "integrity": "sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==", + "dependencies": { + "cosmiconfig": "^8.2.0", + "jiti": "^1.18.2", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", + "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", + "dependencies": { + "sort-css-media-queries": "2.1.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.16" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "peerDependencies": { + "react": ">=0.14.9" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pupa": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", + "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", + "dependencies": { + "escape-goat": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pure-color": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", + "integrity": "sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA==" + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-base16-styling": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", + "integrity": "sha512-yvh/7CArceR/jNATXOKDlvTnPKPmGZz7zsenQ3jUwLzHkNUR0CvY3yGYJbWJ/nnxsL8Sgmt5cO3/SILVuPO6TQ==", + "dependencies": { + "base16": "^1.0.0", + "lodash.curry": "^4.0.1", + "lodash.flow": "^3.3.0", + "pure-color": "^1.2.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "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" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "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" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view": { + "version": "1.21.3", + "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", + "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", + "dependencies": { + "flux": "^4.0.1", + "react-base16-styling": "^0.6.0", + "react-lifecycles-compat": "^3.0.4", + "react-textarea-autosize": "^8.3.2" + }, + "peerDependencies": { + "react": "^17.0.0 || ^16.3.0 || ^15.5.4", + "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" + } + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "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" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "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" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-textarea-autosize": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.5.3.tgz", + "integrity": "sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "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" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dependencies": { + "rc": "^1.2.8" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-emoji": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", + "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", + "dependencies": { + "emoticon": "^3.2.0", + "node-emoji": "^1.10.0", + "unist-util-visit": "^2.0.3" + } + }, + "node_modules/remark-footnotes": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "1.6.22", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", + "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", + "dependencies": { + "@babel/core": "7.12.9", + "@babel/helper-plugin-utils": "7.10.4", + "@babel/plugin-proposal-object-rest-spread": "7.12.1", + "@babel/plugin-syntax-jsx": "7.12.1", + "@mdx-js/util": "1.6.22", + "is-alphabetical": "1.0.4", + "remark-parse": "8.0.3", + "unified": "9.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx/node_modules/@babel/core": { + "version": "7.12.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", + "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.5", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.7", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.9", + "@babel/types": "^7.12.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" + }, + "node_modules/remark-mdx/node_modules/@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/remark-mdx/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/remark-mdx/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/remark-mdx/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remark-mdx/node_modules/unified": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", + "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "dependencies": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-squeeze-paragraphs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", + "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", + "dependencies": { + "mdast-squeeze-paragraphs": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "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" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==", + "dependencies": { + "lowercase-keys": "^1.0.0" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "node_modules/rtlcss": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.5.0.tgz", + "integrity": "sha512-wzgMaMFHQTnyi9YOwsx9LjOxYXJPzS8sYnFaKm6R5ysvTkwzHiB0vxnbHwchHQT65PTdBjDG21/kQBWI7q9O7A==", + "dependencies": { + "find-up": "^5.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.3.11", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + } + }, + "node_modules/rtlcss/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/rtlcss/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/scrypt-js": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", + "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" + }, + "node_modules/search-insights": { + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz", + "integrity": "sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dependencies": { + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "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" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/siwe": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/siwe/-/siwe-2.1.4.tgz", + "integrity": "sha512-Dke1Qqa3mgiLm3vjqw/+SQ7dl8WV/Pfk3AlQBF94cBFydTYhztngqYrikzE3X5UTsJ6565dfVbQptszsuYZNYg==", + "dependencies": { + "@spruceid/siwe-parser": "*", + "@stablelib/random": "^1.0.1", + "uri-js": "^4.4.1", + "valid-url": "^1.0.9" + }, + "peerDependencies": { + "ethers": "^5.6.8 || ^6.0.8" + } + }, + "node_modules/siwe-recap": { + "version": "0.0.2-alpha.0", + "resolved": "https://registry.npmjs.org/siwe-recap/-/siwe-recap-0.0.2-alpha.0.tgz", + "integrity": "sha512-xqFUnvrACWW/Q4s5HQ02avg8IyH2RcgkUzfvN4scYaaHErotLVtTGDZkSS0sn/oNK4MXRt83lTqredsvXgt8iA==", + "dependencies": { + "canonicalize": "^2.0.0", + "multiformats": "^11.0.2", + "siwe": "^2.1.4" + }, + "peerDependencies": { + "ethers": "^5.5.1" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", + "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "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" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "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" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", + "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/svgo/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.34.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.0.tgz", + "integrity": "sha512-y5NUX+U9HhVsK/zihZwoq4r9dICLyV2jXGOriDAVOeKhq3LKVjgJbGO90FisozXLlJfvjHqgckGmJFBb9KYoWQ==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", + "deprecated": "Use String.prototype.trim() instead" + }, + "node_modules/trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.37.tgz", + "integrity": "sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", + "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", + "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", + "dependencies": { + "boxen": "^5.0.0", + "chalk": "^4.1.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.4.0", + "is-npm": "^5.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.1.0", + "pupa": "^2.1.1", + "semver": "^7.3.4", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.1.2.tgz", + "integrity": "sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^6.2.0", + "chalk": "^4.1.0", + "cli-boxes": "^2.2.1", + "string-width": "^4.2.2", + "type-fest": "^0.20.2", + "widest-line": "^3.1.0", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/update-notifier/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/update-notifier/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/update-notifier/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-notifier/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/update-notifier/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/url-loader/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==", + "dependencies": { + "prepend-http": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==" + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/wait-on": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-6.0.1.tgz", + "integrity": "sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==", + "dependencies": { + "axios": "^0.25.0", + "joi": "^17.6.0", + "lodash": "^4.17.21", + "minimist": "^1.2.5", + "rxjs": "^7.5.4" + }, + "bin": { + "wait-on": "bin/wait-on" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz", + "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/webpack": { + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", + "dependencies": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "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.11", + "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.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.1.tgz", + "integrity": "sha512-jnd6EoYrf9yMxCyYDPj8eutJvtjQNp8PHmni/e/ulydHBWhT5J3menXt3HEkScsu9YqMAcG4CfFjs3rj5pVU1w==", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "is-plain-object": "^5.0.0", + "lodash.debounce": "^4.0.8", + "lodash.escape": "^4.0.1", + "lodash.flatten": "^4.4.0", + "lodash.invokemap": "^4.6.0", + "lodash.pullall": "^4.2.0", + "lodash.uniqby": "^4.7.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "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" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "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" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/webpackbar/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/webpackbar/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/webpackbar/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/webpackbar/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/webpackbar/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "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" + } + }, + "node_modules/ws": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/static/img/irys-images/decrypting.png b/static/img/irys-images/decrypting.png index 5d2b84cbe53bf929c7ad480c49ef836d3d1fec79..1f5445bfaeaae76a1e7934f28fc8198602ea351f 100644 GIT binary patch literal 384725 zcmeFZV|Zmt*ESm4wr$(!SRLE8?G@YXu%nLEvF)UTj@>a;wuOUbPxy#1P=_@XNqOL2FB+F)b*>B z7)Z@D!SUx0WpgbV3k3xby3aTa2pA|D2>4$jpI?v&YY>Qk#X&%*KCd7k;02)nC$|9X ze{!LN3c&v-4#D#;NnO(E&qB1V)wJBS6y*6#9qpNn%^Xe4nY`?s{v{yb#rGMtH+M58 z@v^sbaOLw7B>R^H-)H=Xnbg^V+<>lpNW?^GyV`Kc3V086%a5MH|bZ{mA zuR{K(90_w*Qx|I|H)}@+lE2C|HgR-!6C@-1tD^t?{8u~OtS$aeO%AUA-L20KGXIss z%*w>V{J&*?-YW1{DxZ>zwfSewf0Zx9D)2AK|4-U~*CW9ESLOe&#{5@L|CRdLRUtS5 z=KmcwAvj!v9cT~`5fB*(Q8h2nvv1J3>Wj@Ej<{rt6kn@Q!$DQDy*++Nb1Icg1~Jl2 z1`(o2Vtilrt(EzXkSS5ztIQEa<_}fZ`Jg0Gr)<%SmS$p*YO*`o^|9qx?Ru%_;HBe%_wpvda>KtLe<=|4D;g*&%D)N0(NriER-p~lU}Pl!E>Mtw>YR!| zNc@{X!U#bjQU+NW8yy4_`F{`6K}&f5u0^1z((s_Lv(|ld#s9uZXa&ts|E@hE5WmDk zz}$4|#>@X*dm@7%tg8Rb2z_P+H=!hge8Z|@qx*M5MD{sEw*O{)KC}KaME@D0|2#$i zcZKwyiS{2|^dEKoZ;aZ1EZTpJ{(sg*|M%6}f0mB_|65%jy>&v3lND;w5Jdxaqy&ft z`Us;V#MeHsqrKWR;UfmFyk;rfDGcIGZ3?fU;e&Co!kA;7IIxgkVqL#!$!deFWj%+Q z$NC;p4+Lz&eFfMyWJS!0IFr?xYM|+U9HdB%aK5EwMtY%-#2C#^<_N zj{IIP>H>;?+Q`%~2D|LItl847Ktr&xvB}Dj5~wh{cJUZs#fT(CMf`lJMKD2hvnf|9 zT~#&+g$XOJAhEM7in1h;JP#!;kBO$(Zm5_NGLRF296+rl$dsXpV(K($7V)bZtwDy; z)!JmL0~6E6-B+OM!CrqelTo%pc$=10w?GcBzv!3h=>QGB>t{VG;USv{L#>w@t+}1o zcT+~q7$`k7`D%o~E_R1YSKa04`k@kEdEqMQ)|$Zu`~}v%t9O?F>C* zoVq6(=NZxcIx7%9dn_UFZopS)@ednGr%1F>9*Gh6Sp@iJm8P#yskjfBvWNhLVJ?S2 z7}SJ`&|k)Q9BydRB<0cfENKgF>qfuM?(HjXgD8SHMUvtt3jEYt#Ujx3B=Xb?5>@V= zohhrFidbN9c#HZ;Ekd9;6flZN!XLP?IO20)AXK0Wlo@G#*hsR)j{3f_z{SSyfx+R! zVGSxNo56#F3y6eEDV==-eGQhKfX1+Zt5vHr4(k#Y;XNrJkg{MYdP{Eg3(1eA$nCQ! zn(oy1Yz1Zl#S*7o4Jo8gy)?i7^Phk(wO%eOLs z38+De8XTgM@L7$A*c>%a+WvKaR({q?u{}<+&zR2-H$^MkBohzgg`AO=_NDmGB_q;g z{r3U-SrGJ-kQ)9RzbLSa?5WO6gOHd+$T(vGyphe$1;L6{UqU<{BZ}3o;{A?WWsQ+* zm_2ILLzKtYYNWrcR6tn%q=3zM`h^(NcxBgNoS#0@7vJ#iw z@^;ar;(Aa&=omRWd*g|5n!-yE%Gft2eQ0NGh$-jnrcQL*b~g~TUc5RMgJ}|QebU)5 zvPO%k=c8it5dzoAm1^C^AO3?0-T{R-#(l2vNV`#f4;wvOzL#Cd8Q6QReoxm=VUmyD zAYv+wCzd~Le=}7EbbX1#YqoN>SR5BNj%@1M=EZP`<572q$%j-moS5oB!@n}36yNf< zeV;5<$Z`3z%pNRUS9dtTM9gs9fjY~{-3k+CF`a$0BSjxCcu>AntxKfcK_xIqIcc$6 zy!voM9wX~IcCxr-w~i90c70@L6nnu#hL5~sv-pD*L^v7rc*W#bGqlw6QW8VV-@q4w z!B1%B@^EYbdyr&cJ4I7T_#tP`bYvih5U_54ZmD6>bw;#NQ1#Z}J-^y)D^4#Ok_WC0 zmm@3gUi8y7F~ZwH@PK%V_aOe7pgVI!CQj&O(zPY76TEmtEVxDoI4(D?%kTx>y7U731kjMCv&d_4Jo#!&*Jw1cZ=*whw&_YH5(COW zb^+S;nj6J9#^2(V@ylSLiP@hQ+F}xwxa->h8HCy453(K0yf;FN@j~wMd|vb2{FBAX zk>1;{7siM!DeTRLudyaK>C(5ymR}NxxTn7j)|}RVyQlyyMQk|nyqs$u%Ch8i+`Jvt zX~uQ!>6p2EW0Q6NCmiP`0wfTnx@im6sYT}q7YoUXZLbEhcvroWIN)sT%pk*p)8>7j zeI_F{Rarys3<8l8dQ9&AJQl;;6XGN{I^T^v zK!hv2Oz&%SIUI+7+4Zmq6_+iR5pjao!o0D9L~zdq?TPNWUyukBB>ngT97y=-u;DP8 zsQbG{8@V5vA6keharY6SI1aLJTMG@NFtnP~X%1>yXAD8<-u}8qP9xCf5*8Tfz=KU6 zE%*L7BHWLPJgex_MEtgoMCDf!nt{C^mY>Mdy_r`o^YE2@2c;-)U_vup;B^#zrHjd7 zx%^nQ=V>Zhy;Aj*hWVe2!uG$OoHXTO++Lw()+6cC7*UX`z%?EV8yF6}agI{S_OBtU zYXE7puRfgfZ5Uamdlz6x4Mo<_c~N>1@ih0{oY!t~Kn@?~zA))}Mou**C=~&>IXQ z$&-%7GbY8ejU&sTmhOqr8RuTmLn3g`adVouDGc>Y?!4ek^m%1Mzn~-35Y_sP9-AR80wI__zh&YYvN^2#D+Y%l zGSvgJ;?UgQp6{GbWYY=7v$EX%hj9;I$P+V3rf*bZU-c}lhR?hOeGPKiG)4OFkd<38 zYbGZe1zPezvRU`8&lO=EQ1+cwF|cdLFTCfvJhxc4+imOB*&bHnC0dK!v~jtkG=3<9 zakuCK5-2d9ci-`^tLt@o`+W+J-Kno}-(}y0CUgaOR>0@}oJ6?) zq~8tydIp)VJB}Wzy&bt6)-(CC{pAsUM8uF7R)0KCF!$(n`~86?_5+R^w>N#Na0)RXm|QBPBD689e}x$2-E8{!f%lz9!VWM*;6J zdCUOu^T@GhAq|}}#cG+_&V`$PIUpDa`)aXoOSivEvDVc6H9{aynb%>6CE*tNS;Sz? zRd;-gI@?f8^g*8AS90dTq*@xgq$=H(3u4=)8ZDLA_g|C=Le~%u2JsZL72-EBSmuX% z9QN1rcPH;5FZSjm7LH*Z_@-WFgbV2ODd+7v4l#u0x&v#Vba`f0;d}iGUW3fO;mQ)S!X_K zbnfU{&60nU!lTS>;p808pcK&ptDkS#C78tj3@rOE({wf%=BE)ew(Yc^P7Ayt*f^Ce z{|e7Z*_Ljt=K)iJzVA7hP?B?Kd-|f)w1H-Yi2btVG|=C&wetm*ijb&*=Haw=9LNUQ zDQ^Ca|EKQzRWfagfeuID{bPMkg-$gab)OKV_WLTyo38p93RHVI`$59*9UImzf*FG| z^pHU1ls6T74rMvqb@t#LJ^Y_fH+*uOzY6iIcb6JhRUyNmk<4PLFu`Fl` zJwK)?;{Yna4>;gPD)Sv-ye9TP>@JLm(Go$rkc}^8G-ny=Ix30hkX$JCAp65pF)#lFVgRMS&=Is_~pMh zM_`dZu)1mu5Ki-UXwMI;=(dAgfDUz!?qJE@SGe+DBEZ$0E5+#qbUY!(bY_TT47XQm zl*rDUUAP`jw!4o``KegJ)<$Tg`>{D~Z!6?*6&7%)Txia_-R6|6^B5Qp%T6ezq5p#h zeUlOayL~t9na|UQms24@2JQmf90 zv}J`85*O^i-!lQv>1`1O6fxU61Lh+Za5W$NA%fc^u>8pVOhXuM%DXWwh0#X8=uvAV ze3XoB7yx;X3YdsTq5-`{$ z21rmPPNVC1f2H)q<-=nBgJ-%c7muf28HdBS|L*G`)iKz^!X<&negWBy2Wz8q*F>0{ zR}B4*L_$=H;f_4NRD$sLsT&{ zJRhJsDnl~|{%q)ash=oZKIr{auHxDKX>GyX{e*pb$|+o*N$}fT%x=Em#tYwjhE1C= zqJIyuu|l;ne(dU+sEopkST>BdO1%-=a#;7f^hX9!5c5ZRm^u}#`*42;l5x|`;0|KJ zlka)|xVeHMAp zyDsuNF62@D2ekArnctk`QmlCgd=6$zo>Nu+$+YN$p%r*$EC|&^ zFw2T!3<%#&d=q3;A>aE_B2X9tH5J-nw=IyTqTyq{wP~;0vWpq>!T=vOtne7hy>JCW zA+oaoL2f1KS8cS#EvMd>C}l!OS5H+&Wx#7hDdPWy4`f80l_|^RETJrm-ICc*I~Rum za>7{Lao8F+oOlQ67^)1x6a3xT6u@&+1A9%Ee10Coqqop`Tq=rq@>@Y?;LmRZUqp2~ zrtiz@lV@qVed#niUL1I|^m`sCnV_8_pf(iP@+wDo9PBTSf&;`nAPT%dQi4~*FS*Yp z-yM0(g}ewyl|GEOoO`_M_iHB4=i3*xS;FR)S=k(30TP>Vzg&ZIZb<=ULQWj}toFE$F~K$4$^c=tWCjfj!;0h!q_oD``shpCcAIKnzg`bzoEDf7x-KM*EL3S% zYB0Y3B;JE;x>N`+95n~g54=4n2WdPT`o7sqMaEo6Ng9wYK>KIj8@(TeCk7j&N-z8} z;fkz;gMJXfZoTg54LSXNkJwO$fRTz`r_1LqC5MamFNef})MYAp>c7O7Sqq9v(cnLj=*AM{z1CA5k9X`rX4@LXIptUDBj@M4|4aPDJ@(-Tfs= zYC#OC%hkG%jZBD@|G@i)ajI615erY4>vF?E{Ej&DsV`ym${$vAgU+4j)4CmIs+^nN zTXAof0ORoswoKQ~Ts(~M;!Kj6Vkp0UAA{zG#~jD*oyhI4G`I67oF|rxm4-b+5k^Ew z9BfG}w|6l8_H7z1DLh{kOY{*fw^P1v6*B!x8bh9Dk)k-U8s$vH#7Aw_7H__;!dDjfUm(IBk`~h()EGl}> zT12gl$|-VO1oCWPrahNFTJ(G+n&Qe)Q5fs)n^{DhsNR;sIleGQ-1%3j;ovzxI4n^>7I0B=R*jF z5qexMC(#9vn33#bcfUCtx-zqbrh4XipIl8acMWo6Kc~%KJR(L<{UvWwa@x7z?2lg>8e(G+&IIcoLlbnG z1)&$l=zy4vG?K=pOfwx^7$J1ggO%{uleWJeAyP;B>nr9<@20!b#aXr;v8SznwX!x_ zofu$X^|cv|FLZYQR^EaSd+u9{xU@W%-oN9v6ui4_yn)AtLJtxfT~n(x)xKkwif?7? z(A7Nh#{n4;NsGRT>E0Hm!bm1C7yIsH^{M}uy98JRUx_uaGQR7urxZ4>HBC>QZZzt0 zKLSV<^4J(#E;(BP*_wB!FUz41Ud3&0#3iR%<%0YWbWH(LMWjPzHe|D7TBkg5}0s`o4g6-^;s>( z<#2Uf9aK4+8fLZ_fv&8<%udsHd2g!ULc>!%TuTvo18U8R=Car=1fTZjU9nf^$23ZR2csjNSjOW7 z*v=5Glt;A<*3I#wZEPyR>U$n}DXwuP2E>Vcv~ie5ny?`{@9if zozAFgw8jD)O1vy;Xb6N7HuKZb?u5_7vG3Gtk>vV3s14+l$VA`VV6IcE(Mjbe64QN^ zuDewAg6DyQY6m-2_)|nLlnAUI&3m+yW%)E&?qy$JF!0?^RZDr|_J>3Qi*Bot@nt8y zuf89yr<9~seFY!{nsdJ<{} zmQJLWH~?iAt%!B65J7@ypbM6{(@!JEb$Gw0SI%nhgguwbCoy!#b)u0Uq5U{r0lx=4 z^-{dvssv%sx8HOjBqcHRttQko6CwxNHMl&n3MFt{wvbs0=q&(<7@6g+%Zbs5B6L9q zxlafNh~p+c;oR9gTFlV*ciOE!z7^m{+;<-Re#FUE;)T^_dt+-bS+tRt$nSmwPWNI? zxvlFq7$^)m4!n4+bRhq-(N)ws`0YSlE-!c&s_!(qlb+k}fw=W~CxTd) z6VDjrHjjD_{o`c|tC;rMBhoY_3o7f5rQUs#C;Ybc=vN#3 zR{t5rNdsj~zYK$9r(0W*qv7Lm>7=XPy5rc!(IUGS%z$R=*H$Og;YmoNkIWX!gHO;4 z-*2Lvspo{xViG<)qnL~s2_^Co`46)2v(_os`S8a(a;Eooyh(;Dc%&~@0u|ZM)W=;C zx+`20UG^O?LYN;~j{<&mIb9|PzdM#x{((#Ap-4h2f7Y2@Lv#c|@+{)lch#i&4&P0d z06}Uxz5bM#n%GAR$)n1Y7yC_aW==Z1EN-+fUEww8^56X%& z*Joo**@!zi8bf>|F~f+{ta`ppFClQ6Oq%N3_fQQBO%Y!~+!e8vGcJ&2h5-0LAZFliwbcflgd6f*0Xw_IS*J2(yXA zH&?iUBNR=I@CMWu(K2N=VU!g_!6jnz@|~f8W#MPcjw1~X4dHV+bO&q)vF?rJ7;+q3 z=joOXSXtXzTrX(W67rzXEYl0PHRI5wSwGN-Zj|M}>0b)H)ycp|j0k0|N2DTjA}VBY zz4ga1t+XC@1is(om!mLzM|t?zmVa-A<#fH1!>&cL7K84f|ap?n>l)Q$|xHw0jV{|u^fRJ(uX zY5e)#O%qGZQE;8ZZt032w-3?Qu|~k{*HIDp5j>MH{g7uBjXvsbNy+7&y9@kIJO6@= zcNXwVJmDHix^;l8v*Zil6|JoIQn^V zoF~kgf@{YDvnd5Q(zUD8fEi~{w=mE;?|i8j_!e}v_a5n@Cw^mwZkD(lD)-diNVEMvOsH*s6-r$MgbD!(Y^9Kd7#8Btq?xWdy?c#~G7!i8=@%vuD zfjf56+$c6eIIq*}c3J)l;ugDT#24BvToBIlYYZhZ+sL1O9_(OvVHQ#9>vVyB#uVDk zVh6w5XGQ;MB8dKl6obw7xvX%&43k?f)xz(PR=AN!qpX^w4bX|2hJZxmx0^~Rvux%H za+m!cinQe7h53pUFk|33TOf*vZ?W_6UjBMDLd^UIES4hn?k78@ajIg_PMg2!FY5PJ zr!VHF8Yd7HaWfmP(iUXy1oT7g5*H>rp{p-Xj!$1~wmO>*G6y^#mpM*nauWB*m$8KW zR2yRIJZcboW$CnL=Q}g5{wWH8tu2Q{Ovc*?0tHXcNOfW=XdOg*E~Yg>X(C}ay^Qxb zUu~Zqwke$Lxa?j#nPlHB*@|E;3k7n@b02?zNpTAEkK@*!)p?`M|6^xAi0>us)Aj8clU=*|js znZM3ET|3-Q!|e@{#ifQb&DQ-+mA`Z}QmHiA&o?+47z|XkYinz((`)txFi=ubvTx?z z&6+CpVF-liSEZmU2^5;Xc!*3!S>j^xQd+Naw}kdAkFHW!--dm9wEDWDHDy`6{69n= z&mkQ_a>K<1eQ$ed*x1?YRjzY+T_;&rTMVHFOXa+rJ_6v-IaXo#CLymT~q4 zL*1Pg!c)UaIdzC0)qbs}gKNX-r6B75lV0eRKT<|GqP1GOsNL(^4~uxR^di}8v$$0I zf_)#F$7y*ljx4Om@6ofxbse9gXtPiu&VO|ESVIoVMuP{9CP$Gh1(ydOfY#YjhZ$d4 zPF$1u6m}~64;+Cyxxdh%sH5$2k))60s^fkJR%RnevNB;fvV0Hqyh3Iy(8w!K*`YpUhu7zsFiY)mQgp@zZgT@h_e zcRa-NU*FtB#J9sQp@1kJxP^bfKf6bGyuj=&x9{g0eoW}hV*PTKA~xj(bbs}6H7$?g zJa{@M+5m;~_?hdZQ|$xX5MU0r!q@9BpbI(Nc-TllT&aBOz?+BLq3{a0yAzIB=Zi)A z&WPrfoTh!b6LC>&g&!Ld{fPM6u+eQSqGgk-s_w{sU2t8ToS^45S||qYP_yC{o#}-z zHsgeynm#XIxLvL+K0>pSi2h|W%2@!Kl*<&VJ)Ni`sPe+x66`1n{zzT;#zx*x3#N6$2BS?=?;w=7LhmfjeYhVX&z2Qlt`kq^H`qlM8 z8!1NS%ZvWr+ld2(;}Pm%;N2%j20XD3G@qdTkfSo4WE<(sZe!;vGnqBUNjCM1Oc3lz}7?J8BsI9>u&%u8G3gDMV)}G8Y_w?Z2YpZli$1 zPE~gLR6bTYi!~BE65lj>vyir~<@M{k47~=HDwTM&DRWFsnCqe2#Vjg52elebv}}?z z2HVwOhQZ|VoZyZQj$xDU-c(jo7&1izK2AY{jB1nw`3`V4$I*Z%Q1POc+1h*9S|OXm z*oeL5YuIFjw8D+SYac_6;#K2& zT**WU&pMlqrC)d>?Jj?0t@u_}^bNhQ9tc;z#R+DTQY3-&a}VH_2Re)(N!}cIoFZu~ z^~OJJ_eOpYk~X;v8umaik^p)mg_%~WzAqw zGhi61bgs4(j*9g1#2lg79Vp>Ap7Z$A^bRWc9V1U==Ss`K>yC$j47$T#R)4*#dw+XT z%6o*#FP!3^uuh$bTJ_gUn};5bt^2 zm0J;fgjA77`4Z%bALza3UPF$r`0Koy?U7?E+yCp-I zQ9VEmcvJ29L2b>F<$bvEp`aGM<#H1z=se(JPA1fbAmtTFo`;jxU$1!BG}M9a7FOu!mtx4yqD;X zp6+~81SKesTslKAVM|tB(}Zi{A>4L$Drx{ntnL^?$8FMJh|VM}ZA#UA`*J^Jr)J;= z8rrj26^BbMzmVn`E)J6V!mAE5-#;A6>ScnlBfU8C`l#1-fPiD*c%w^ zn<#l{1^5__BUI7^lYzv8UBKZN#k9!m@dhFeIO6Lyk1HL)kWrFi>SFpR9#cVNLFSX) zI?qigA0-6(jlG&nIczA6k)q|@pSV>@(m&R&Jspa^8M900-wX0NqQO+u!K~1Cytpa} z8Z_&eYpQ93*7T#oi7cd6E|g!dvnz2=+60|!I%zw@3W{lYXg5|%CG9AQC%q&;#@EF6ZLZCYGKg&GS&2#3%5YP8NG5~^! zi>m_rb3o3r?Foy0r*9fCC!EKyVD0LpXndAma;Tl4@PBZO`aM^SpqP!%t@Ma+HSdu2 zdc_DeCI{L5x|KC@Bu96NO?Jnh*7r^R^{yJFj6%~}_>2R2-v zQm0tZ`en`YRbK?LC}FoVTo}-A8?MoHTb%ZtbWR9j)~U)pC;b3_fY0kpq z2}o$MS%fPVhkT8A(992f;?g6S{KY)y>^N`wIl>#en`Hq2D}x> zh@}}3*p?$0w|+OCYo!6$1*>%^PLYN}i=NhD;MvmQ;O7*nsNHI``C!1swVy8)+bo)~ z%awy?v>Hapq|f#%`>CDtvB2Dnin9*I6Z~APb%%OOJ%J5V^BNs4^cr~XY4x538D%y8 z!s9Zx+vp%##DSTsR{8aAvm+u$Ud9|M|M!c@1|Bh(t#hXXf${bZ>|P);JXN1@%>KnE z=c6CNMKh*+EV~{@_#1RsBs994L$@m@aYQcsw7u zIJz{}(1q+4`8upvE`sUl<4uxEqMBlqyt*QPuEeYjB?3GJi^Z8HO~m1Os%+b|x4HB_ z0C(T`%96ln0h4Wikfgoujfq1~j2Qihlfvb2N%Vf3SG{%B0myH|mE5A1De=bvYy@(t zbq}@bRi{|nd9-gFnyh>u5xU5rqiP=ZNf=CCm0pXMLPZ5r>4B?1`N+#`HHDz8qEbJR zdMY->z1aBx?P&@OpO3Dg)_s>cO{jAE8>XHgj`{R21|IGPL>^_N?JOawZ3{B|TDAl* z?~4`cIe|QI_w5B%sL+3i3UpJ1&_#iwycd`#Fi_KL&~X#kn2Iw8VDFB#;h1sF6TYBt zYq}f)5Zi-UW$(#vl)rX|X9?5DNuLC;K&tm|I9wNRf(Hx z9_l;0U;O#Kf7eFGTq|nf4>wgHaS4n4fl@QgE_Bu}we&-#DOa$xs3^<;`mp?x8~aCp ztN2fIc^1DK@|D#3(haIJGNK>lPbL18|KxAN1U(1sq8Ec6b1%nF#VKbUzA6+(H=*Gr zA%%%|j$U?dMsQ9<9T#Vk1mc@xFVrByPWI!|B4)MkPyH15^y6V@cIm?|>?SYXu?Oz- zABITwDPqrxlSF*N$60tWQG~jyb?h|$ooXKLJ>AOEa#K=XFx*ZIajXdQ1oiMN0HOY! z^>sbJ2L#+#9>Qn@G$y+dFB-Q`_(9bW7BGY&bl@>$p3#1|Zwf`aKAFu4ts4kTUE0lf ze>Pc_kQ>*Gln+lR;MR-SS1T>vCfGPG3fH?tCBHL3&st0NICPLLx&LMc62b)vKX)&7Ne45_1ezl zx9m2&wpm_Su5mGS(AY2#Q}7c*yx~L;z2eU-K5t%YM|dwlp495_IM={9q-Nfmuv5s% z1#CzI6{apHXnv8NH;}7|aB_zTkj+$6v_<~Zcud)#WcTeu7Yq>q=vUb=ttz|ih@EkK zJHt5rPEN36(G9zm{3)T;^xGgSW23s#u?G!tD51t*LhM6fiEifhd<~mghDz(?2rpF9 zBJsjpYwP=Y^8>DC2NDD# z??m#i9Kt71Yr}XnYXlo}xp4>bdF}m_J#*OXeRe0KJuZ8Fg?W31r`FC#o;CzW)aCxR zUf)jqJR|*#lBM{AO)cBRb}3L{iVTG*5s}+reHn5^nt~kbIp8+4J~c{yd31c-=OeU4 zS(o%HMPO);KH0Kpx=(a-|4ya5?WsA@NMeWd(NjIkC;&KkcCi86;gn_JUs#w_g%Bmy zei`L!4hgS=KNbM4nAJ+So^k}NT9@^SN7AY_l0=EBvocQRlo9FXI$PvuSduDZEY05k z(WKIMUZJ!bU|9vsVntIu7=_I*v+q}7m5F+Cndj0hM^!}R^`R~?wQhG}5UakJ<=xr) zLQ7i!YvszO!@}UJNNdwmQ;p_r4(`=$mRTk`$V4EvOvsTaCNo4mc$SrTkC9|MQ5b2^g6tPF}Dg=LpC4^h+^G4>Pct78=q$$#g3K0 z=67fIZo~#%dK!eA2NaZiUR|DWG27o&FD~bJ7&Ur73D%xTZa&{=0Lpv<&Kz4{riAX` z!*N@2g}^YI`qmU8T)2FA(@`d_?Eg1q7AzhV1aTy8gvJXok5QmwR;8z%%=i6gweDA} zU8S~q#4pDOms~2~_4yUzXabd&1j9)~5L^KA2e<^Px=*we>=yDww>JE6U||*O zLYkAzCdynkSXhiY4Q8}tlu4e2h?w149ZUlxCC(n7-+EZ2hIGw7Q1 zq{s6=XPRxweNAZHU!`b2!6+4NXzH(g-%uF?XD(UU#`x6Y>s--aU==H8w5uMyOcDS2ctxl#x>{| z-b0qSw1@${arH5RN7-q$APu3#_FFT?ZEg8}Y;{ z#90LoZ+tx+du=Cw-x3kXev*xe$r@qJK@CYHfE)am?~W$Yi40ns|jj!2%a8RPBL>P{e zzry#k@5mGxdXns@d#f&pyWl3-E0EClRUi>Miol{XJ->PBRt|c zpm=w%c9^WwA$Gm+q+l2J3t+s02Q+no2^NkLg*@#ufZhJpes`J@ZH{mC_GJSQNVre1dx|6pTXWPha`StTS z0`45Q#Uw{%AK-#d$bZJ$#hbi;B^_hQ&)J#PN8Si_v0MewyA^t*^%q);NZV=pfG)(v zq>;NaF)Zs(KX4;iphlXvtnaHoh|M!bAv_kf1#gy8It9DI)&oMY@Q!qeCKdMWxhLW! zcVjO$PE%;3nJm*`0n)R3sQJ$~7%anvlROKfGKPD>*I=t?fo$;9;%$;|Yk7DIuKr$; zgqoZF)K@56XN)0Av<;5a1%hE@JF&E?rFxr}tAh*B6s%0dRhq-CyeYb-TcO4U_CKaR zsUz!PPG&tbmqf9m>XLtZj|Y;=Cl-u+4J+TOltzlNTKCj}TI?W|1&@WoKh5{Xk()&a zAe5X?r7?93x4=CIN4@vUdP?WJA8EKfGIMm` z#47R#0t@UN{6b(@4VQ>T-N@*xS&p#DIGl_n2OBOYbG5riI!bKY814uGECTVAl18%4 ziSeEMp^EQLdChtcsNtCRIDqCL>h)$F)$CSbP435edE%|H zWGEd7{oL792QiHXO-^%dgfo4+&UI08YnMT3@;w6pmnV_;7!954cQn5TG(-Y;wzAww z1COlx*fRTTIgFo>;~Mg4WsgPVW=n()wBXpmYmnwVGiwpWMmru|e?aON;aY+VZ(~&5 znr^(M6gWf`xR1&{k2kS6^)9BAby|dVZk-vjpz`tx#y_siT;)VhPEMM}^TO43e>v<4 z@)p%ycu+*VS9CZ%Z=dO4@CF?~(6H|3Zkg1Cxp$#Cc5N67nAsj$JO~UF-o0Pja0SN} zK8>B zLVF2j1u@vlQ@fp5#xM*Y`I(8%`i>SL8Ukm}Cm(SN1wbk5*d{4#sl%$1p)8so%W6 zDphoY!Mcq@rIf{#WIpXuF?r(v*i0S7i@sMIXULabO@EAa9i~}w5(V$rM68u^E!jU#=swb~M zY8h2yOVBtRg%Q)HF=!nK^b2=&g^b_DBUK4pqX&OBM@92XF_R4ICo8zfy1{|<<<+%j z(|lJg4P&vn8fwpB@~|3am5D z(C|kuA~d$Jm`!Je{KE?tfgQ%-%8vZ6Wgwoa71dw4kCJPkfu$O2{(CP4793xXYimCs zJyW*~f#}FP8kTv%H7dK@NEgNRd(`q=cevsMlxp~X^Sz4S_&DsB9)ULN4m6Y8ep-Td zA>Mj*R)u>TF{EDDM}$XCZf-BO0T2CwoTz_ey7NH5K+MHQ^h$F8b{8u@c|%fT^nFE2 z7nq+c$e5uzcIX9!AJXpe2;DE(4Zz76;Wq}j`sirPkff_DAuDp_w3Zv>X0c9(tNJ>O zk;`4uBnjK!eEq&ROu%{uO@q(f)eZNjzj4?BrBudOEngqKZ;o9?g=!^pH4f6cXzb#9 z<1|mTLXJjM_Rep^zzxPd9^Xy91{PzE$^ebZ#%VDk!6JAJUG!(uvS85K*Q@A1c`}(B z&&;u@0ZO7sdceE7YNq09daLp}SAJd2^$yj?OCR*?VnYIdZLi-z&@sm1L3s2Bv;>7$S!NDIbw7xAV_C!`lm{r+t$*KVYAf>4+kX*YaX#r@)up0r}a1r7uq1*aCzY zQ+OYI%?U0YG@=KNfiJo|Imk9CSHVLIP6gr~G>{FDboG zD96OioM_t)>T9QgsGiC~E#ZmE*cemY{*U&Iio$XDbG?LBV3G3&*aOvj=EVNDs0)#CA7h%98B;W-D=sqd{5hx(l}g5R15eHD5?GR3+m%y#q` zMTDiWKSV5|r=?vs*9y%*?! z!vaWC5E|Y>Z#dCkt;7~8hZdy!GKMV+!C4aE@7tK26<|7yaP%ux{#*z5p4kFOIQ6ym zK2VvZkW-X3-YLf#;%YS*uR+e3ccZY#HuY)Z(Ct8p#Jyca7h(Xz8v$EsA6 znC~c4!ZAcWS0%F12oIsY^^-6F(St3hysaw{hFHhluL9aM6T?t_0?y!1m)?n=!yWgi zI*$~#0~{`f7JsPi(MU%P@4$|3_eh(3Kw#`)jA$CZv5$y(ZitYat*YAqSW-X*3YD#! zk{wy?;4mt=?N?LnS#qd~EzkTAs-DHs2}<*h#u*Nx0j${HN2aUIPK7}F2tqaf%>RBr zV>gB#v+d?_CgW5NC{9YJja@y37%eh$SX6!;(meft*n6ia&9-H0G;O2OMx|}rwr$(C zjY>PS(zb0?+ICjjyt($-Ywdl{Ug!Vs%Y8eKUu(0qZ_Y6yV)W<{(Ffj6DmC(tvDB+Y zoQpebTH(GY8`2j`_n}hL<{_0sx*$GhmNw(#FlNioa3A_A7#fYGb2r%R_S*}1uzd^} z8@4Z7$E5E%vwGxt1UPkuGLN@#Ut!R!y&h*qKKvbvg|4>2v0O_vtYVmgp@xmH+kVdV-L?f17C7Nr zuD=2-_3nIh^10Saz-vTLd`~-O8V|xiJqFueb8hIn+K3~HU@`FZc0mRHI7O`;Vt3hC zhTD;jwP!LJz2(CM?2Nt-T1O+^k*nr+Wy1d$G_@N+Ue4Qg7>RuYz{6kQCL_STGGhph z#6d{R8{^xeXYO@6Fe`LZzIJ{GpVIBgBKet*zfO&U$>W8-n^ijB1E)-=7;A8?`*D+s z-k!t1q}JgSp6563?~8B~U=g*~_`@uzA3|t!6tudF;rD{LqAvB1m(^EEUMIhn`7S|C zOd;0AhkK0r(kVVpdz?Ar204^`RO589c`ziO^VTgKo!8}4(Rq%JMfn9w+^n}B1buhM zjNDGG^Q1_B9MNg_VOHzK!w!2zMbafjo*5yHrKTymh*}u z|H0sWod8cqbT`eEr6;r;>et`A)nwRwAoupW8Lj9;ho@ciu@DDO34h;u4 z>Z=WSBt`s4G^XRW^O3i3Q!IGvk!Xk#WbAQfNiG1RziG4I25aXfJ=Qdqnb8s~suX(r z1Oop+L?)uw)BKB)24;ftU1PrL{t(JDm{rku#K9%2^QSFPfjxqLb}^{NP@P`LQmm z;_I^E=Z}yI2v?4VPye>lyrEV8fT-U=vSVQ=fP4-V1S26O7vp^KiwAhMi`&Xt`lblF znsl*}Hy;^nVhk5oZw%I>`zdQI*45_`A*<{^N2Zh@098#W29lzb=m39$eH56ReWUwL z7%;4q4iu)xJunnZiYhgI;%we~cQV7JHXPLG%$E;&2MY;;leVyoWjl4c@i?~Wu6lpsshrb6S*}_w1C1zh+-SXl z)QDd!R}K?=(RI`Xo6%LT!Zc#wI)Q@Xr3x4PMTmr^L%LqU^E6wpv3xZ^J;V(+b&t%1 z4B0?JyQ&s*7gBmB0dWMnek^rAuB zwDjb<+#C=MdJc{+#Ob~xO4|Z<-Wa9*?`+jm?U%Box8GDlIq*C;b+61h%k-J&{mrgyE|D9una~RNRQGGlnzVg!!tSY{L#F6bsrMzfYwo&aHeMpH z@k@DJ8<|TD3xiFR0r+^|PISh{`#|EfLgAhX^ejuIrZKKAn(BtwM%(b??^GloyAPB9GAzZ8cuLjq3-=64OC^U_3;w`#zom3ed?T$cLDMFgObsWx_7&~}?4Q^dq zRxMvtE*H2fmxI%U!;!jCerO?%$7kgEj#43o8ex{v!vCu3%wf8}s2QU6#!SsUD^V2XV zgOYj>2l`-kvmmHeba=9P-DHFBjA{@b<>lZ5lZk?^HPmPB8PO;=pa8lXL{>sVA}qR| zZ}>_mOo+h_wOTXxgVyV4Bfj85g2s&LC}H`Qvl$4y5v_P#AA865mwV>#k)*BOEw6U_ z!}Y$~_M`2_^{=71+@Ke153cOQjr$8u(R601?~}ihxYKLQVQzZ`0o+vg>KLbM9uag_ zbi|CPJYIc8ue5QNtbft7Y;`7a5Oz0C!flbXG~$iEUEoqL{HH9e7@Gf0PE|=c_{s() zQ2il_Pea9W2H0+}I9Ob53YEG-N14&hzBwexm@?8B@`$l3@8yXpZneTQUC53+j6||h z1@X7`pQ_Vu_T68tAxIAdnS}YzYqogfqbKs663SzPU7fV3%2uq1IyWES&9HbnY7H}O z1rM&TS9wt%dm*J%kwW=Px}KBAv(KacGBiKBY$jL1aouu9!=uTX)Fh8pAt2w!C)Ar^ z+O3TRD*U}XT{2R#+MR+-AwC1g=eb*NtKlik9b6gBbWH5GX2v;O&Au$_<0g5K2{%^P zQ`>h=%M9ayT2oJR2Zz+MFWrt9kIpY_BFiSom@C zkx&2mqwJWP=dCGExePbuJmhporChDoPx$IVS7H*MQI#%eO% zK8w=vY^UZVkxz&NRnpOL6!T-W8rj_hqpa4}r-+We7cKN76R1++q``GrsB)M0z}4sD zX2Pz4)X!1Voso#-@|zc(4E4t+%GU>;>jC6?Oryne)oH9sis$_=m4mmO?)UE6y`gF{ z9qCVG3f%mxJRUSDk5-9;obBkaPW!yxPJ5=49XN)?>J0#xdN}x&kG3~^Wc&?*anPf$ z?ANE!WHJz*Yo zJYyG4i{vhl*dA~>5J-i+{ahEwYLkX=hk)QbCB~fBpI;F$)vx*I!j9 zx=?z*4g7f5afNiORRgOHvNh$gJ6iI(uVb%JfE>f~VwOt5^WpYwHuTL{drS{XU3PSrA7}Z!+F;>slPdEiK7>N}mO`V= zQKYwelb~!h3{pfA@-WSH?G{bJoZBIkhvUczG!$r4$*U2#!QKOu?kKB$6&?fz*W%NY z+dF^&g_`PRa7t@`@X(qsk=)->S^2xGz0x?e?wU1*R0u@_`Q_0Iyc$Q}Oa=lv{0ML)#eBDai1Q=Z$q#O3jT*?F(aUQc4@n2u+7 zt~UNEqYgKEFg6q8MI6=#SMQsu!(W8ycC&rW_9YG08~Kt)Q^Po}*c{p~y`rF?pkc91 zi@a`~1ZfCx9pJBPmGbg02Bmj@&cf|{8FHLghsCU? z=c_R<(Q@&H{m`{P1h(h(<*YgugA*5iprWE8QI-co(!f;ad>a#6vMp4KuDjCL>9!r1 zi{jgVutUqDf9RnQ&3LX#D=>>mV1*+=1R>Os&F_W@h)q9XIIpo#+qPSqMKa2k%m+u3 zzRS1lhEx_|tg9w*lJLRlC#rQg4!b0N{~-Sw9GJ7v+NLUf5WDVg)9#X&*ZQ5s z0g6>sdjsB+tK}}76kT;}rfGhKPUsD+`xSJW=NhD*93RKoA!_Znhc9ZI?Y;>Xs9bqp z^Wl|F0n=jZJA35ebeHq8nAh>Iqf|ArXi}3koglxbL|LwM&u8OIIY}8#b?e7auve{G zH>~*H(jbZRFPZq)wC_27#E(}*vc!|=wEnz0VPhlsX-;R&kQMeiAuza1PeXum4z&vm zCOI#euppgAg<^5-m!~lneKjkG0Yv19K=x-lGS7z@uv#f%E}#pCXw(AdT&IO<{RnnL zpLM58-WMw+c|VB6nqV}$uI5}znH4dAyDw%9T=DmF4{mPl-HIL^>ZH+$JYG%9h*PS^ ze7kzi3%z*Wz4avqF>{NCuztfG%+FbR7b48(Q%8bEzxm>skDRe$lAqs)F zv_CAZfD(f+YC3jUSMc)}g=*`uY|>!%{iBIk7Km0yVB1++e^#@_8=EGk&=jZdT<~%0 z_N%5Tm7&nn^UN*FgTOZW9wQZ4rC2f*Ywh!houTocl`th@z#-H>G+-1O;l~8Rg_H+C zOy212spqS8bHtH9pH3S_<#MED4l)UIf9%Z8@V!0WLmu>@enaV#DuFYlCCgkZR<!oxE47-K z9wWxDE&Q=;3ky5Z-F~(BhR!kDGh$T9cb;D93r0Yh-k)JjP$6O+8Rf7w%hXbwgnLGi z?XiAvc<*0nVu-?U$DA^1s_8Cgb#MW&m>+?g9H){j+e2^-?RwL6pGS9hg?Q`PA(F6> zu0xcmcas^p%fw!QChFSQACkvqvGZe~E3mtlKL^6qgg;#1GW>9r8$EIP;C9^%m#SN5 zcp3yk2J@E$SjMmaND`-YW-qah#$=Ye=&z;FnS3IhhChb^J0?>oF;u1D%(Lt6SQkgu zeY?FA|DqcQaYL8yF{JmFFEF6dc{z5%JC7Xqp4bPqT{rZH0@WXmfK`Ak!A>2~X*Hm9 zo)uH!e*0*2rf)?o8coBEJ_|32eYm|LPF-fpD_Z~eBnQDCiX<1}7;3Q9bqK))jkR^I z5PaDW1*iz$eBw6T5TbjV=OpNhUX5jc5qo3$>Y_=vGF|u$?--|_NQeqG?u-xdRaFXg z`{}+X;_L3bJHcxD`627uH#E6P^u=lc)HeFOPw;rZXt~I{d^NEUl*aokjfURqL?T z!SnKf|d1*h`3{9e9{a zg05uWg3|N58kGqoLY0#N)2T9>kiQ zSxqIlUhZ!rlN7PTdR8k$S|!Fd^dy!+h}n@7o~+JT_}i&h0sIdAcQnq{3ds{vfII-m zF<@mt$)s=NZ;ZP9;-`3Im@x8ELH(^^h8BVrl^c`&Nu?Ug%Rn1Mni!CAzHrC>O^g5bbpU}oG&J%zwX-uSSQobJVvJVSyQ-M|3H zibrG3Vg&XlsYH!5C1=z$|82nPsexWF zf;J4pTY@Cb``Zz(?}~9Mpz5jUxr}Su-0w@fb@K07BXxrWlw6Ey9LyCO2`}(~*?@y_ z`lslWA`Bd;;Rz2QORw*v6|N^mInPhSpSXrhjV*o8lI*|d6V)jQWFQvkM`zS0Y3y1~ z&i5~&56~x^?MIDMb)05NbYFg@-nA=6c|Oivcno2fN|_oiZuT}o4SmGn17g!pqTj<=eyS~iZPS&C?D_0cV z@bh(iF5lhC{Gk^r)J~D|65fp{5&?2#rEB`VGF=7}Ex!#wX<^Sg4Nb@48m;?@gu+ap z#T;4SfI>#X^G+it4SK(RuuFDBX1mIKT}CnxcdYB#?JBalcB z1Uev*9!QiQBHcfK)bN620(SBS+3Y^R_#&y|?;;~Y5f%#>EDp(v2%+tEx<^PLU}M6P zQuRu8U9IA7Amd;0I|*L1Sw{flxvpvQ?pjW(Z0E-$2XX&E0-WR+z_?jmsEjBhBV|x> zOJc|XvhG|l|DNNdYT#R2L?;}aVu}<=Mpla@oEc9$`z@_dY*I@8NzAV>)#>nb;l4%L ziM6r$0V>a6!b%{*c;S=hk$tZ(l2)Qr*JE}Xr~Z}92%R3r)_L=ipE;hL*5U1Duj|4} zCWUG^z32Np6h<#r-jOpPIVro5xXoldqeQMWIt9xrjNG9R;idEZ*)6Gf@P-IbIG( zbE7=k#I>UWi|hK*ziU){=i{5Dn9=x4vXm|8RO=Jko%zq=VL#Y2qy>1pPv$>=3gblF1Gz>mC4#Wj=_!OecfovQn+S8;JnuP@-?OEGI%1Ub!dj5(dC&hEQZ`PW}M}$+02Fr`)6jWhG0d^{C>>k(Mms)t_-v z`?GxN97HG?;pOhX+)K4ZkQ7Duubzwpu%~0apNP8O%B#m9zOiJvAF4NZZ&Zf2&JD0n zTnL$`)p-mec+m&?K84B-$g3@1ZtcLi=HACyNr^HVlm@qWfZ~YnPEgN`sC0g{;8>ud z!_pCN-=8HW3^SPQDsg5&{n3ovhwQFk$MpUFX!O2xlj%UG%@8I#Tr{h z$i92f)37=(@BrCF2>&>*pri{<+3h&*H_3Ewv%j@0RDb7>ld?if8zc}mzyYKuvs&%C zQ;`8)QVpJDF`=dJyNQKou-_5uBbw;O4tZi9zPxdK0sX&bU^LaZo9Xh+BnA-RjQ*XW0xYqvjfb z$b_V{fyF-yJr{fT?HC5v5@8PV+{=-bh)5%T@0V$WXEj*PYL3HBctCr^qSz?^_j`7%vCmm{J=wvdW!#D*ki$8)JY-2c` zoKh0VjS#qG_cP8(V~Pj%tl>y*M|}sG7g~AmbXr|CpKtHws5-JdSgo~Z{@aq5^S7Ef z-ccbo%)Q~jnoPl@^?4TqKdFeEVlrX_d@YPp#@w;GBioFez9+}H!e0qzXV&lc>Q|!S zV*^?DmjETH!X`?IFM_FdXX||N(8<0m_nvURa(DY>$0!?h3_eqa4vOb+B*{)X%jKR~ z{O{1E-2v-FiJvjfG5r;Hw!*N`q2waEGEVG5Sa?adejuOoetv|{wNNa^+f%i~$i5}3 zN6v%Yopbc{+s#E^EiyVWb#1a%wr|hc3+I^s?*sCmVX7Qr9YEDvIo#3)1}GvIK?ENx z?}>Vximd6UpT<$>Hr6b-@x($e{#P}^iR~#Gk=aa$4`R?nEWi#d9$%P+aq4GoC{UIa zJ5Xquxz(Mr6m^r8w0_Y_0=1-z3(7CC-7IpdS0d7uLTdPx0wMMCZ3L`S#)tGy%)RCa zb|&T1`Acoj_f6fWXWa=eqY9swM{eqLlyj4DHktCz4>%OfaWRbXC5n@Hz4)1*DJTFP zVR+0$LRl2O+>Q>6RuM3v=t4;p{ksgjd?OgOcTnY^M`0ZNPz%aBU zuo9W;K^(ArSfEo75=wZ8j>7!m!4yrjElAeUSO&Vcap1Fp8~q8oUe~nRZztmr^bRP_ z9n=np%gN}PzE7UjzI&cqkNkQ9@N2YP$HC1lgVc4`ap%q^z}O9dsZ~463hw4(5LV-EZ=c>Kp~)F$)-rP5VBl;mHH{lU@$84rSX#b zNQ|B(PF*)+D_$%gbf>)4kMd>%L@vG^H3&NSDuXURd55x}09AdEseCdQ%g1IZeO}RM z2bBvRV6TM6D`Yd^Pn6`2iBI>xX)0UrLMZvJCaW-^97jx29Wv}L@sP}0LI|l?n=S6A zO>!5M079Th!acpQG`3m&T_DQE@*nfPuyOh=9qWhtPP$h;tkE`*6dEC8UI_pS#K8-~ z#&|3zfR4zyDch3gh>I~jHUhDV&Spph!6-Du4-tkCIdNgE1!d(VCB8^HC9r6ekM|rG zVfFy=3*opjUu*&b159Ex>X%6?I|#ECyAVC3r;#{Uc1~Z`>v>TpPrswi;~JXwjky3D z#MXUMBJT737GENV2tuV||6($vXG}uEn;GAHI`0xs9l`r9 zrwJ*{g+3;|5e4C`(LMwGvZg#Elg^Cv8?t8P3tKrHGfRuMJXZs=-9WCsimT z);*M@M0=2ZD5YQ0k-ECJ7j&rlknkld94aV)RK6 zgatv&@{JGng$|0-$A|`tZADS>A@Pc(HDL+;_a59QkV#}tw)jhzz84XcJWiXUKIfvk zSAA$*Kf}B)=dxYyE((~SSIX6sih*g31{fJ<9BI7-P&p!T$HI+D)hR}R7JYDJ8T86V zL&Sd!BMq?+SB%CC6c1;ny!3unz|gy-i@}Aus|^kcksJk6`@+ZZW%4}CQU*w8qT^mK zam>eCX&P9oB>*1qe`3hKX3xp6lZ4Ej({w!jdfoW+|GZ`OIr}Balcm4TbklZL^*ZkQ zIceDaY%lxTRe}uMPk0*td9T{J%k$WgD)U0H;V?DV&GkaV2CWWo^FgpIJAR3g)@2G-8ETa zWT_}AGm|};vD^XPMAD9I_;@-z5t=_RZ6Wu_Tt?av``DR(B`yjy+)kuJj0Xwq32*#a5-q4C|aV%C5}f}#8R$n`gX z&7aBLzu6EV(F|X%?_~1lCY#eN#JUth7^rEoc-fsraGlNlfh+O3c&ijXFbBpN`|qT^ zt=G**T<^PC4NCl9lBk@KdW!M3-^3)n#@9CAxMh96ofew%d}*-zI$wHb=Z);ktU^R< zJB=2}dfYT8e!w8nJD-9;_3)fP#&+LV+P-H$b{yqL(u%J$f}}ujUte$CXm)>$ZHQh* zxamD?h%dWW{Y_r_&sXPKw?c^OnM4BomWdPH;1#sn|E|XDLLUngXmZRx-u;}>oi=M4 zG*6JI0I5~29!>BIsnIJ8iJ4J3F^Ino%vI%0eI>Uf+v!Gg^R4(h*Yzlx@5`^C0PY&U zea+1Wmj{lDW-4SWpP@(Z=}4c8U{O3rXp5j5fx>V1&41^J|Hz$t;Q07t@4vEXR!$HI z(8SlwS<~Gd>_v8IBKXTc5o^+&g@SoYEp_#M#5Z&n(C90+nhOLD?j^ zbY)F4J47uB%Va-L?7ZZ3l@3@CpxmB@~le$TmU@AjUm?%e&lK*d`r zJ6ua9kNmLi|L{`$J(70kamd~SGKpa&`JAaordJnf=dK|THe)_{h${Vw&^1H*~etun*ae;+*e=N#-^R1obm^7|& zm&Gy*MxF6dEO_LW;qR!2e{AtG5FmJNGr+KPC@m03*mw%RerK88O!w~Cw6@RlflzcT z=S7QQEVoM9tOjcVh&ZZDQNe>|6`=NAK}2*jV_nIT3^X5dF*uD*@X&fVDRST;0-4*{ z_E&8tv&7Hi+g{f&_XRHGNdiireE^y1R?^+(e=s0_I*DEh!8X914CkKch?k__54~fn zA&Hql7zE_!c^Gi0K#CW3YzoNK5p!K24aW4K^@&rGGAX0h80qTm0NlocpyK7n6HHOc zI#Cp}%Uv%dM-5%HnNQl%It^-*GFH`~7h3IE_`Y77ysFlRUq zmGJD5C*#b7(nQZ!AW+~N_^$PMqC1R*GrvpdlF~^0OsiPm@tZap;)E{!Me*xQK5q^o z%PdmN3AYN3*FiHVJAdl7)FBsj3{Rv5@2)4VJ{Q4PF9^WRm|YgoIPUwg?|$E28peO4 zg8p2H9tf*oKVU)4yuGIWZ~he3EI=b5e4|dJDpDv;BDt+P4nohQQILifM^p=V042kCgOkJcGk{?89uK?A|@*+Ng?4*ZV>{a*%ki(m)fag^maz5IW9kopfA z=6@IQ@0Pvhe;4szHvgA9{nO(A*AoBdwfSFn{yTU2XMp_wAtr{UST+Bt1@QklKBE8b zAjdOd#J%&Zcds?yq#e8v@FiG7TDBcdX@HOFp#Z9P@9uth$(Tl~l-K#4!<-ya1nscl z+%6M&_Gi?`o`R49@6@lZ#xjteXt}n>niM=;Kv}C`&3QP4aFr=>(zVcTi>7IOnSnS5 z_s4f`BR%TuKv^0+N?z=M8*daH=J(!6k+`$dX3a`21qsBQwW->jHuKx5AGB1>gtmu!EAxxM5!!uiT*bS5(z>!X=(Ixy-dSDq$iHx`5+h_=5orCX!8wx3##pXbfeU-)-ir(JTQcZ3!f2 z{CU=5(?FnzF&y27aCdQDsYASlR!za75t#%4MKgdxvbN z@VSnyICoa6$+!(ruFI_ueEZ9KPIgTKYZ3(Z-R0QuB0KBsb>zJ#r3sHI-Z?>@liD{{fuKhx__vx_h(4a5aKw8?8 z!nQK@DDaq9w;3`9ilH4@@MbvVxYDc_c=PJE8|Tx_bzM}Ucxe7B2=yR_@U;#rH+MXH zv0)1wsZ~j+&pciKfO6fT4mKwfr5DZdqsrA?RWHc)V zOGXM%z$9sEG#@`c(KwZYI1C4OoV?W@JrDE=W4#X*46=0m%ETqHw&p`+H3xQji&^8| z=Y`M-4Rh6>bxAulBDviuwKVxwCRfGyZZWUJ7&S*mo5*z?cncostjU;roF?_7n<-&@ z_odUf(j$c(ic|RHplOoQj)0S-a>iiQ6gTtuhI|%W2TSHzZW@`}HsyJ3!@schAE

    IbXw8VR@mLz2eUEz{zlBBO0=*q5$CMjZ) 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⋘RU?n9o6%@SrZ&q43)iXG$>g24s7J+IH-$i@Zbtvfl%Bo$` zthrNjjOzv|%y%skJ83vw({xayq{LWB#;cG6mtAG(HX~Z-+ZfVxCSur?AR!V_&JD}T zVS}0|ESc{`?8?1n=s2IpVL@}@7)WbXjYQSVf9Rr0cf4Kw^gT3eT@Vx4F8b*jsvK&8 zLgMnc)|c`}+fM;=wHW1QtF~2Lv}P0eM^s{-Hv|p&T9D;qs7h@2vg~fb?+6oa* z<1zg+27p`|I3lTYF9rWRJS)*O{pKLvJI6y1}P3+2T+HjWS{LOSfg3&O=xR zYPy>C!F|P>v7-kz1tu_xy{@e2CQ!p_bE#KhPLJ0q1&PMEi|$DaADWKgIDtnkm%iIr zF=h&TB1Q~amf*%qUX^&;r}pi9%QME(QIcbXu3kF`anrA zM`Bc#E=gtOMCB3}syz|X=wzSw+t&cyI#t)mvL@ygGcxy1K(@o)CO48nSVYZ7AhJ%o z9Nf-U7rUn%SsVf1QOE6m-%G3mCaE7QKM|;#PesjK1Io_)7~v2Y7lO6?u$0qZcKvy7 z1;I@HT_^E1QmhYbYC?80=OtxHqrzczO}$7S`)Yst6}{SMl=yRbpY6A_uA{6z!z~Cs z-+4%S$^w#Qmm<)6NU?BdTr9j+yn0h2x*LS9y&a7IFegC21M1t(l?C>ZlB^iU@2&aF zX}iiSyZ3|hKd)A1;xOhT3QhTtU}RpHb@q1=16T=*Akx8auyS-cfu$+|w0xPMaFBxL z7uYqybT1=hQeDT9P>Ll*d%yZVq2A{TY-snNvmH7{lFD-**?xw$#Ga^aXWWf)tb9U7 z`CSD22GP6UPq*nHEaEJdFQVf^`+l4gcOr1D-V8l$@x88<=Y75(zl;*a4OIVnJxI<; zaY|IkX-_ntR7{Co~oMLFg7u3eOo&i=FADcb$tMA`vg7F5#MxQaoq8 ziBz$Q-HNurfY1r@uA7GoE?~-ukpi7Iy9j0!*@%RgPmz$MOx1)0#<@s$@j<9*1*C)C zVAaw|o#W<_3OavrU(Re|&e6~IC%($HqPPrwB_fVb8SC2ht5W-5eU_6LXWn<;ea5=} z`s+)#X^KG*VkW}K%PhO>YdJ9ua6i1n2osB^im;cVLH>^yUjm|g)YDEo%@z?3T4c~7 z3pW#~eq9%m<&FR^P2l(CfG>Z!IEl!qr*h+Y4?D5I3KYzr`bGmU#)F0DWcCM-&5GSe z#*A5W&9#h!5O3Z&BZy;u1h+GgL_drW&#NqU+Nq}@2}7o1`%KgE#1ZuT9qCnhU>7nY z_=~hpkpPFaV}VLYbnz5}K&@a}y9+8HMYS{1g#dv$ZeyvO=Nh~hjo7t};)Q}p#A{NQ zd?BP1&lztbRjg<*QY1~yB=el{jI_I;r1D%OD`=8M4`!4iK-xlWyA_X7$`%krLf5BA zNJa6QAgY5RUGeLQhD4Pu%Cs8|L8OVGLLk{k-9D@iy1SCQ@44F-Lz!s6x^ZxQk>lDZ zkF~$6Emgt#`OnX?%J$oBZ+v_V#uSVZ$BcR8g%>8^#mmj}ZWE7iA@<~xPhwb8K2E#K zF1w%yx&Hd=z`E(Co1yMa5D~$C5coj%TJK*2EG&gxd6gKqahbgicPk$E3?DH9clcLc z^_MSxaX)t!Kp1@=zmbdM&zD__{T)ETfYlV|y3Cavr$=F!D8*2<__o__yPkaVi5FaO zAyi&{bz*tyb>vas#rO=btCe9K6b*~8Y>}%)n%x8b_qV=f-4i_pOT=6`fDTcQoAA~Hej6<2sp!V(g5E1qb``<^6x}i2s=(r8 z<7~hECyT~@`|S^+?_1Vi|05S(_&ap><&(BpGWWz2PgwZxdV3JUSZRW1cQ@aB^GPS2 z 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 BI8^`u literal 0 HcmV?d00001 From 7c8ee1dcb29aabe0d42e0e20f83903071f9bc277 Mon Sep 17 00:00:00 2001 From: deb Date: Thu, 21 Sep 2023 17:40:43 -0400 Subject: [PATCH 024/627] Update installation.md (#136) Update with latest on V3 --- docs/sdk/installation.md | 115 ++++++++++----------------------------- 1 file changed, 28 insertions(+), 87 deletions(-) diff --git a/docs/sdk/installation.md b/docs/sdk/installation.md index f1bee992..1b2f1bfe 100644 --- a/docs/sdk/installation.md +++ b/docs/sdk/installation.md @@ -1,55 +1,48 @@ ---- -sidebar_position: 1 ---- - import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; # Installation +Ensure you have the following requirements in place: + +1. Operating System: Linux, Mac OS, or Windows. +2. Development Environment: You'll need an Integrated Development Environment (IDE) installed. We recommend Visual Studio Code. +3. Languages: THe Lit JS SDK V3 supports JavaScript. Make sure you have the appropriate language environment set up. +4. Internet Connection: A stable internet connection is required for installation, updates, and interacting with the Lit nodes. + ## Installing And Importing The SDK - + Install the `@lit-protocol/lit-node-client` package, which can be used in both browser and Node environments: ```sh -yarn add @lit-protocol/lit-node-client +yarn add @lit-protocol/lit-node-client@^3.0.2 ``` -Use the **Lit JS SDK**: +Use the **Lit JS SDK V3**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client"; ``` - - - -```js - -``` - -If you decide to import the SDK with the script tag, we provide a web-ready package with the dependencies you need. You can use the SDK functions via `LitJsSdk_litNodeClient`, for example `LitJsSdk_litNodeClient.encryptString()` - Install the `@lit-protocol/lit-node-client-nodejs`, which is for Node environments only: ```sh -yarn add @lit-protocol/lit-node-client-nodejs +yarn add @lit-protocol/lit-node-client-nodejs@^3.0.2 ``` -Use the **Lit JS SDK**: +Use the **Lit JS SDK V3**: ```js import * as LitJsSdk from "@lit-protocol/lit-node-client-nodejs"; @@ -64,73 +57,36 @@ You should use **at least Node v16.16.0** because of the need for the **webcrypt ## Connection to the Lit Network -The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. - -### SDK installed via yarn or the script tag (browser usage) - - - - -```js -const client = new LitJsSdk.LitNodeClient(); -await client.connect(); -window.litNodeClient = client; -``` - -In the **yarn / NPM** example: - -:::note - -`client.connect()` will return a promise that resolves when you are connected to the Lit Network. You may also listen for the `lit-ready` event. +The SDK requires an active connection to the Lit nodes to perform most functions (notably, a connection to the Lit nodes is not required if you are just verifying a JWT). -In the code examples we make the `litNodeClient` available as a global variable so that it can be used throughout the web app. +In web apps, this is typically done on first page load and can be shared between all your pages. In NodeJS apps, this is done when when the server starts. -::: - - - - -```js -function litJsSdkLoaded() { - var litNodeClient = new LitJsSdk_litNodeClient(); - litNodeClient.connect(); - window.litNodeClient = litNodeClient; -} -``` - -In the **script tag** example: +Calling `connect()` on the `litNodeClient`` returns a promise that resolves when you are connected to the Lit network. -If you're using the script tag, you can put your own connection code in a `litJsSdkLoaded()` function and call it yourself with `onload=litJsSdkLoaded()`. - - - +### SDK installed via NodeJS / serverside usage -### SDK installed via yarn / NPM (NodeJS / serverside usage) +In this example stub, the litNodeClient is stored in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by [Express](https://expressjs.com/) for this purpose. You may have to use what your own server framework provides for this purpose, instead. -In this example, we store the litNodeClient in a global variable `app.locals.litNodeClient` so that it can be used throughout the server. `app.locals` is provided by Express for this purpose. You may have to use what your own server framework provides for this purpose, instead. +`client.connect()` returns a promise that resolves when you are connected to the Lit network. ```js app.locals.litNodeClient = new LitJsSdk.LitNodeClient({ alertWhenUnauthorized: false, + litNetwork: 'cayenne', }); await app.locals.litNodeClient.connect(); ``` -:::note -`client.connect()` will return a promise that resolves when you are connected to the Lit Network. -::: +### SDK installed for client side usage -### SDK installed via yarn / NPM (client side usage) +Within a file (in the Lit example repos it will likely be called `lit.js`), set up your Lit object. -Within a file (we like to call ours `lit.js`), set up your Lit object. +`client.connect()` will return a promise that resolves when you are connected to the Lit Network. ```js -const client = new LitJsSdk.LitNodeClient() +const client = new LitJsSdk.LitNodeClient({ + litNetwork: 'cayenne', +}) class Lit { private litNodeClient @@ -142,23 +98,8 @@ class Lit { export default new Lit() ``` -## Listening for the lit-ready event - -To listen for the "lit-ready" event which is fired when the network is fully connected: - -```js -document.addEventListener( - "lit-ready", - function (e) { - console.log("LIT network is ready"); - setNetworkLoading(false); // replace this line with your own code that tells your app the network is ready - }, - false -); -``` - ## Debug Logging and Lit Node Client configuration -The `LitNodeClient` object has a number of config params you can pass, documented here: https://js-sdk.litprotocol.com/classes/lit_node_client_src.LitNodeClientNodeJs.html#config +The `LitNodeClient` object has a number of config params you can pass, documented here: https://lit-js-sdk-v3-api-docs.vercel.app/interfaces/types_src.LitNodeClientConfig.html For example, to turn off logging, you could set `debug` to `false` like this: `const client = new LitJsSdk.LitNodeClient({debug: false})` From d568274579c3e95a8ee086621cc4adc9673553e8 Mon Sep 17 00:00:00 2001 From: deb Date: Fri, 22 Sep 2023 09:27:09 -0400 Subject: [PATCH 025/627] Add in event listener documentation (#134) * Add in event listener documentation from grant project --- docs/resources/glossary.md | 2 ++ docs/tools/event-listener.md | 33 ++++++++++++++++++ sidebars.js | 1 + static/img/event_listener_no_code.png | Bin 0 -> 613045 bytes .../workingWithActions/singleExecution.md | 14 ++------ 5 files changed, 38 insertions(+), 12 deletions(-) create mode 100644 docs/tools/event-listener.md create mode 100644 static/img/event_listener_no_code.png diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md index 6e2da9a5..bfe0c0ea 100644 --- a/docs/resources/glossary.md +++ b/docs/resources/glossary.md @@ -66,6 +66,8 @@ When the user sends a request, the session key signs it and sends the signature Sign-In with Ethereum (SIWE) allows users to sign into off-chain platforms using their Ethereum wallet as a method of authentication. Lit supports the use of EIP-4631 compliant SIWE messages as a method of auth when communicating with the Lit nodes. ### **[Threshold Cryptography](../resources/how-it-works.md)** A subfield of cryptography, where cryptographic processes -- such as key generation -- get distributed among a set of nodes. +### **[Webhooks](../tools/event-listener.md)** +Webhooks are one way that apps can send automated messages or information to other apps. Generally, it is user defined behavior executing when a predefined condition is met. ### **[Zero-Knowledge Proof (ZKP)](https://ethereum.org/en/zero-knowledge-proofs/)** A zero-knowledge proof is a cryptographic method that allows an individual to prove that an arbitrary statement is true without requiring that they disclose any of the underlying data that the proof was generated against. diff --git a/docs/tools/event-listener.md b/docs/tools/event-listener.md new file mode 100644 index 00000000..100d2fca --- /dev/null +++ b/docs/tools/event-listener.md @@ -0,0 +1,33 @@ +# Event Listener + + + + +The [Lit event listener](https://github.com/DIGITALAX/LitListenerSDK) allows you to create specific event-based triggers for executing Lit Actions. + +The SDK is designed around the principle of conditionally pre-approved chain reactions with account abstraction. This series of actions encrypted, conditional, often on-chain, can be chained together to trigger complex strategies. + +With the SDK, you'll be able to set three core condition functions: webhooks, on-chain events, and intervals. + +1. Webhooks +Webhooks are automated messages sent from apps triggered by user defined behavior. The event listener SDK is designed to query (request) and monitor information from specific APIs. In a blockchain context, this might include tracking price changes of a specific cryptocurrency or updates from a decentralized app. + +2. On-Chain Events +The SDK allows you to set up listeners for specific events occurring on the blockchain, like a contract being executed or a new block being added. By subscribing to these events, you're telling the SDK to keep an eye on particular occurrences within blockchain networks. + +3. Intervals +Intervals within the SDK act as the timing mechanism that governs how frequently the SDK checks the webhooks and on-chain events. By setting intervals, you determine how often the SDK will check for updates in the specified webhooks or on-chain events. If you need real-time reaction, you might set a short interval, whereas a less time-sensitive circuit might have longer intervals. + +## Node Code Platform +![No Code Platform image](/img/event_listener_no_code.png) +Looking to automate signing with Lit Actions, without minimal code? Check out [this platform](https://listener.irrevocable.dev/) that utilizes the event listener SDK. + + +Event listener SDK brought to you by [DIGITALAX](https://github.com/DIGITALAX). Read the [documentation](https://docs.irrevocable.dev/) to learn more. diff --git a/sidebars.js b/sidebars.js index b952c3cb..00d137c3 100644 --- a/sidebars.js +++ b/sidebars.js @@ -184,6 +184,7 @@ const sidebars = { items: [ "tools/access-control", "tools/getlit-cli", + "tools/event-listener", "tools/share-modal", "tools/pkpexplorer", ], diff --git a/static/img/event_listener_no_code.png b/static/img/event_listener_no_code.png new file mode 100644 index 0000000000000000000000000000000000000000..76c322fcf434a92bdb7109be044cda04004c9cb6 GIT binary patch literal 613045 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